VoiceBooker

Motor Node.js

O código JavaScript de um bot pode ser executado em um de dois modos. Selecione o modo nas configurações do motor NodeJS do bot. O interruptor Use extended NodeJS engine alterna entre o modo simples e o estendido.

Modo simples

O modo simples é o modo leve padrão. As funções JavaScript são executadas de forma síncrona no ambiente incorporado.

Defina funções normais e retorne o resultado diretamente:

function collectData(params) {
    return { name: params.name };
}

Não use async, await nem APIs assíncronas que retornem Promises neste modo. A função é chamada de forma síncrona, portanto uma Promise não será aguardada.

Modo Node.js estendido

Ative o modo estendido com Use extended NodeJS engine. O editor package.json dependencies será exibido para que você declare os pacotes npm necessários:

{
    "dependencies": {
        "node-fetch": "^3.3.2"
    }
}

As dependências são instaladas para o bot e o código é executado no motor Node.js isolado. Este modo permite módulos Node.js (require e imports) e operações assíncronas, como solicitações de rede.

As funções executadas pelo motor estendido precisam ser compatíveis com Promises. Declare-as como async quando aguardarem operações assíncronas:

async function collectData(params) {
    const response = await fetch("https://example.com/customer/" + params.id);
    const customer = await response.json();
    return { name: customer.name };
}

Isso se aplica às funções de prompt/pré-processamento, ferramentas e manipuladores de ferramentas. Um valor síncrono causa um erro, pois o motor exige uma Promise.

Limites de recursos

O motor Node.js pode usar até 250 MB de memória e executar por no máximo 10 segundos por execução. Esses limites podem ser ajustados dentro do intervalo permitido nas configurações do motor NodeJS.

Use o modo simples para transformações síncronas e o modo estendido quando precisar de dependências npm, imports ou código assíncrono.

Nesta página