WU / DOCSMICROFRONTENDS UNIVERSAIS
PT

Referência de IA, contexto e workflows

Provedores, conversas, ações, orquestração, permissões e liberação do subsistema de IA.

Preparar uma instância de IA

Obtenha const ai = await wu.aiReady() antes de configurar o subsistema. Apenas WuAI é um export público do subpath wu-framework/ai; os objetos context, conversation e permissions expõem métodos concretos, não acesso irrestrito a suas classes internas.

Nos exemplos de conversa, configure primeiro um provedor demo com transporte próprio ou um proxy de servidor. Uma resposta de ação com success:false deve ser tratada mesmo que a promessa tenha sido resolvida. Os nomes de resultados nas assinaturas descrevem estruturas de dados e não prometem exports TypeScript adicionais.

A política de IA e os grants do core têm propósitos diferentes. Os workflows deterministas executam primitivas do host diretamente; não são uma API para conceder execução a código alheio. Consulte a receita de IA e MCP para uma integração guiada.

wu.aiReady

Carrega o subsistema opcional e fornece uma instância pronta para configurar.

wu.aiReady(): Promise<WuAI>

  • Parâmetros: Não exige importar wu-framework/ai se a facade do core for usada.
  • Retorno: Promessa da instância WuAI.
  • Erros: Rejeita se não conseguir importar o módulo opcional.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
const ai = await wu.aiReady();
ai.init({ permissions: { executeActions: false } });

Para operações imediatas de leitura, aguarde aiReady: a facade lazy pode retornar valores iniciais antes de concluir o carregamento.

Referência: src/index.js.

WuAI

Cria o coordenador de IA com dependências explícitas.

new WuAI({ eventBus, store, core?, token? })

  • Parâmetros: eventBus e store compartilhados com o host; core permite consultar apps.
  • Retorno: Instância ainda não inicializada.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
import { WuAI } from 'wu-framework/ai';
const ai = new WuAI({ eventBus: wu.eventBus, store: wu.store, core: wu });
ai.init();

Referência: src/ai/wu-ai.js.

ai.init

Inicializa provedores, conversas, ações, contexto e proteção de execução.

ai.init(config?): WuAI

  • Parâmetros: permissions, context, conversation, triggers, agent, orchestrate, rateLimit, circuitBreaker, loopProtection, allowedDomains e browser. O provedor é registrado separadamente com ai.provider(name, config).
  • Retorno: A mesma instância; chamadas posteriores reconfiguram as opções compatíveis.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
const ai = await wu.aiReady();
ai.init({ permissions: { executeActions: true, network: false }, allowedDomains: [] });

A autorização declarada não isola JavaScript capturado por um handler próprio: o código do host continua sendo confiável.

Referência: src/ai/wu-ai.js.

ai.provider

Registra um provedor integrado ou funções de transporte próprias.

ai.provider(name, config): WuAI

  • Parâmetros: name; adapter, endpoint, model, active; ou send/stream próprios. Use um proxy de servidor para as credenciais.
  • Retorno: A mesma instância.
  • Erros: Lança se não reconhecer o adapter e não houver send/stream. Uma API key direta é removida por padrão ao detectar produção.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
ai.provider('demo', {
  send: async () => ({ content: 'Respuesta determinista', usage: {} }),
});
const result = await ai.send('Hola', { provider: 'demo' });

Um transporte personalizado é código privilegiado do host, não uma forma de testar o isolamento de rede.

Referência: src/ai/wu-ai.js.

ai.send

Envia uma mensagem e processa as ferramentas solicitadas pelo provedor.

ai.send(message, options?): Promise<ConversationResponse>

  • Parâmetros: message string; namespace, provider, systemPrompt, templateVars, temperature, maxTokens, responseFormat e signal.
  • Retorno: Resposta com content, namespace e resultados/uso disponíveis. Um preflight negado resolve content:“[blocked] …”; um cancelamento resolve content:“[aborted]”.
  • Erros: Os erros do provedor normalmente rejeitam a promessa; bloqueio de preflight e AbortError são representados como respostas resolvidas com um marcador em content.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: ai.abort(namespace) interrompe essa conversa; clear remove o histórico, deleteNamespace remove e aborta.
const response = await ai.send('Resume el estado', { namespace: 'help', provider: 'demo' });
console.log(response.content);

Referência: src/ai/wu-ai.js.

ai.stream

Fornece texto e eventos de ferramentas de forma incremental.

ai.stream(message, options?): AsyncGenerator<StreamChunk>

  • Parâmetros: As mesmas opções de conversa de send; o provedor deve oferecer suporte a streaming.
  • Retorno: Iterador assíncrono com chunks tipados por type.
  • Erros: Erros do provedor e abort são emitidos como chunks type:“error”. A construção de systemPrompt ocorre antes do try e pode rejeitar a iteração.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
for await (const chunk of ai.stream('Explica el estado', { namespace: 'help' })) {
  if (chunk.type === 'text') console.log(chunk.content);
}

Não presuma que cada chunk contém texto: há resultados de ferramentas, finalização e erros.

Referência: src/ai/wu-ai.js.

ai.json

Solicita uma saída JSON e separa o texto recebido do resultado do parsing.

ai.json(message, options?): Promise<JsonResponse>

  • Parâmetros: schema/schemaName opcionais, além das opções de send.
  • Retorno: {data, raw, error, usage, namespace}.
  • Erros: JSON inválido é informado em error com data:null; as falhas do provedor podem rejeitar a promessa.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
const result = await ai.json('Devuelve {"ready":true}', { provider: 'demo' });
if (result.error) console.error(result.error);
else console.log(result.data);

A disponibilidade de schema no provedor não substitui a validação de negócio do resultado.

Referência: src/ai/wu-ai.js.

ai.abort

Cancela solicitações ativas de uma conversa ou de todas.

ai.abort(namespace?): void

  • Parâmetros: Namespace opcional; omiti-lo aborta todos.
  • Retorno: void.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Abortar não apaga as mensagens anteriores; use conversation.clear se também quiser esvaziar o histórico.
ai.abort('help');

Referência: src/ai/wu-ai.js.

ai.action

Registra uma operação executável com descrição, parâmetros e handler.

ai.action(name, config): WuAI

  • Parâmetros: description, parameters, handler; confirm, permissions, permissionsWhen e dangerous opcionais.
  • Retorno: A mesma instância.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: executeActions autoriza a execução; permissions/permissionsWhen podem exigir flags adicionais de IA.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
ai.action('math.double', {
  description: 'Duplica un número',
  parameters: { type: 'object', properties: { value: { type: 'number' } }, required: ['value'] },
  handler: ({ value }) => value * 2,
});

Referência: src/ai/wu-ai.js.

ai.execute

Executa uma ação registrada passando pela política e pelos controles do subsistema.

ai.execute(actionName, params?): Promise<ActionResult>

  • Parâmetros: Nome exato e objeto de argumentos.
  • Retorno: {success, result?, reason?}; success:false também é uma resposta resolvida.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: Exige executeActions e as permissões específicas da ação; pode exigir confirmação.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
const result = await ai.execute('math.double', { value: 21 });
if (!result.success) throw new Error(result.reason);
console.log(result.result);

Referência: src/ai/wu-ai.js.

ai.trigger

Conecta um padrão de eventos a uma solicitação ao assistente.

ai.trigger(name, config): WuAI

  • Parâmetros: pattern, prompt; condition, debounce, priority e onResult opcionais.
  • Retorno: A mesma instância.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: ai.destroy() remove as inscrições criadas pelos triggers.
ai.trigger('cart-help', {
  pattern: 'cart:help',
  prompt: 'Explica cómo revisar este carrito',
  debounce: 500,
  onResult: (response) => console.log(response.content),
});

Use condition e debounce para limitar ativações; não publique dados sensíveis em eventos destinados ao contexto.

Referência: src/ai/wu-ai.js.

ai.fireTrigger

Solicita explicitamente a execução de um trigger registrado.

ai.fireTrigger(name, data?): Promise<unknown>

  • Parâmetros: Nome e dados recebidos por sua configuração de prompt/condition.
  • Retorno: Resultado assíncrono da execução ou ausência de resultado quando ela é omitida.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
await ai.fireTrigger('cart-help', { itemCount: 2 });

Referência: src/ai/wu-ai.js.

ai.agent

Executa um loop de etapas que pode consultar o contexto e chamar ações.

ai.agent(goal, options?): AsyncGenerator<AgentStep>

  • Parâmetros: goal string; opções do agente, como maxSteps, namespace, provider e signal.
  • Retorno: Iterador de etapas, não um texto único.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: As ações continuam sujeitas a executeActions e suas flags. Limitar maxSteps não concede permissões.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
for await (const step of ai.agent('Explica las acciones disponibles', { maxSteps: 3 })) {
  console.log(step);
}

Referência: src/ai/wu-ai.js.

ai.capability

Registra uma ação sob a identidade funcional de uma aplicação para orquestração.

ai.capability(appName, actionName, config): WuAI

  • Parâmetros: appName, actionName e configuração de ação com description, parameters e handler.
  • Retorno: A mesma instância.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
ai.capability('calculator', 'double', {
  description: 'Duplica un número',
  parameters: { value: { type: 'number', required: true } },
  handler: ({ value }) => value * 2,
});

Aqui, capability significa uma ação publicada para o orquestrador. Não cria um grant events.emit/rpc.call/store.write do core.

Referência: src/ai/wu-ai.js.

ai.intent

Resolve uma intenção usando as capacidades registradas pelas aplicações.

ai.intent(description, options?): Promise<IntentResult>

  • Parâmetros: Descrição e opções de orquestração/provedor.
  • Retorno: Resultado com content, tool_results, usage, resolved e appsInvolved.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
const result = await ai.intent('Duplica 7 usando calculator');
console.log(result.resolved, result.appsInvolved);

Referência: src/ai/wu-ai.js.

ai.removeApp

Remove as capacidades de IA associadas a uma aplicação.

ai.removeApp(appName): WuAI

  • Parâmetros: Nome usado ao registrar capability.
  • Retorno: A mesma instância.
  • Erros: Propaga erros de configuração ou execução; capture rejeições e revise os resultados das ações.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Não desmonta a aplicação do core nem apaga seu estado global.
ai.removeApp('calculator');

Referência: src/ai/wu-ai.js.

ai.workflow

Registra uma sequência determinista de ações ou etapas interpretadas por um agente.

ai.workflow(name, config): WuAI

  • Parâmetros: steps não vazio; o modo deterministic aceita click, type, navigate, wait, emit e setState. O modo ai aceita descrições. parameters, maxSteps, provider e temperature opcionais.
  • Retorno: A mesma instância.
  • Erros: Nome ausente ou steps vazio/inválido lançam um erro ao registrar.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
ai.workflow('mark-ready', {
  mode: 'deterministic',
  steps: [{ action: 'setState', path: 'workflow.ready', value: true }],
});

As etapas deterministas são primitivas do host e não chamam ações registradas com ai.action. São executadas diretamente, sem passar por ai.execute nem por suas verificações de permissões.

Referência: src/ai/wu-ai.js.

ai.runWorkflow

Executa um workflow e emite o progresso de suas etapas.

ai.runWorkflow(name, params?, options?): AsyncGenerator<WorkflowStep>

  • Parâmetros: Nome registrado, parâmetros exigidos por workflow.parameters e opções de execução.
  • Retorno: Iterador assíncrono de resultados.
  • Erros: Workflow desconhecido ou parâmetro obrigatório ausente produzem uma rejeição durante a iteração.
  • Permissões: O modo AI controla suas chamadas de ferramentas; o modo deterministic executa primitivas do host diretamente e não aplica as flags de ai.permissions. Aceite apenas workflows e parâmetros confiáveis.
  • Limpeza: Chame ai.destroy() quando o runtime proprietário terminar.
for await (const step of ai.runWorkflow('mark-ready')) console.log(step);

Referência: src/ai/wu-ai.js.

ai.context.configure

Configura a seleção e o orçamento do contexto.

ai.context.configure(config): void

  • Parâmetros: budget, charRatio e sources com store, events e custom.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.context.configure({ budget: 1500, sources: { store: { include: ['cart'] } } });

Referência: src/ai/wu-ai.js.

ai.context.register

Adiciona um coletor de contexto próprio.

ai.context.register(name, config): void

  • Parâmetros: Nome e {collector,priority}; collector pode ser assíncrono.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.context.register('build', { collector: () => ({ release: 'demo' }), priority: 'high' });

Referência: src/ai/wu-ai.js.

ai.context.collect

Coleta apps, estado, eventos e coletores configurados.

ai.context.collect(): Promise<ContextSnapshot>

  • Parâmetros: Sem parâmetros.
  • Retorno: Promise
  • Erros: As falhas de coletores individuais são registradas e não interrompem os demais.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
await ai.context.collect();

Referência: src/ai/wu-ai.js.

ai.context.getSnapshot

Retorna o último contexto coletado sem consultar as fontes novamente.

ai.context.getSnapshot(): ContextSnapshot | null

  • Parâmetros: Sem parâmetros.
  • Retorno: ContextSnapshot | null
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.context.getSnapshot();

Referência: src/ai/wu-ai.js.

ai.conversation.getHistory

Lê o histórico de uma conversa.

ai.conversation.getHistory(namespace?): Message[]

  • Parâmetros: Namespace; default quando omitido.
  • Retorno: Message[]
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.conversation.getHistory('help');

Referência: src/ai/wu-ai.js.

ai.conversation.clear

Esvazia as mensagens de uma conversa.

ai.conversation.clear(namespace?): void

  • Parâmetros: Namespace; não equivale a abortar uma solicitação ativa.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.conversation.clear('help');

Referência: src/ai/wu-ai.js.

ai.conversation.clearAll

Esvazia as mensagens de todos os namespaces existentes.

ai.conversation.clearAll(): void

  • Parâmetros: Sem parâmetros.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.conversation.clearAll();

Referência: src/ai/wu-ai.js.

ai.conversation.inject

Adiciona uma mensagem ao histórico sem enviá-la ao provedor.

ai.conversation.inject(role, content, options?): void

  • Parâmetros: role, content e {namespace}.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.conversation.inject('user', 'Necesito ayuda con el catálogo', { namespace: 'help' });

Referência: src/ai/wu-ai.js.

ai.conversation.getNamespaces

Enumera as conversas criadas.

ai.conversation.getNamespaces(): string[]

  • Parâmetros: Sem parâmetros.
  • Retorno: string[]
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.conversation.getNamespaces();

Referência: src/ai/wu-ai.js.

ai.conversation.deleteNamespace

Aborta e remove um namespace.

ai.conversation.deleteNamespace(namespace): void

  • Parâmetros: Nome exato.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.conversation.deleteNamespace('help');

Referência: src/ai/wu-ai.js.

ai.permissions.configure

Atualiza flags booleanas reconhecidas de IA.

ai.permissions.configure(flags): void

  • Parâmetros: Objeto de flags; ignora nomes desconhecidos e valores que não sejam booleanos.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.permissions.configure({ executeActions: true, network: false });

Referência: src/ai/wu-ai.js.

ai.permissions.check

Verifica se uma flag de IA está habilitada.

ai.permissions.check(permission): boolean

  • Parâmetros: Nome da permissão; desconhecido produz false.
  • Retorno: boolean
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.permissions.check('executeActions');

Referência: src/ai/wu-ai.js.

ai.permissions.getPermissions

Fornece uma cópia das flags de IA.

ai.permissions.getPermissions(): Record<string, boolean>

  • Parâmetros: Sem parâmetros.
  • Retorno: Record<string, boolean>
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.permissions.getPermissions();

Uma cópia de flags não concede autorização a uma aplicação com escopo.

Referência: src/ai/wu-ai.js.

ai.permissions.setAllowedDomains

Substitui os domínios permitidos para o transporte controlado por IA.

ai.permissions.setAllowedDomains(domains): void

  • Parâmetros: Lista de strings; filtra entradas inválidas.
  • Retorno: void
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.permissions.setAllowedDomains(["api.example.com"]);

Referência: src/ai/wu-ai.js.

ai.tools

Descreve as ações no formato de ferramentas.

ai.tools(): ToolSchema[]

  • Parâmetros: Sem parâmetros.
  • Retorno: ToolSchema[]
  • Erros: Pode inicializar o subsistema se ele ainda não estiver pronto; os métodos que apenas leem não fazem solicitações ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.tools();

Referência: src/ai/wu-ai.js.

ai.expose

Registra as ações em navigator.modelContext quando o navegador o oferece.

ai.expose(): Promise<boolean>

  • Parâmetros: Sem parâmetros; integração experimental de WebMCP.
  • Retorno: Promise
  • Erros: Retorna false sem navigator.modelContext; captura erros individuais de registro. true não garante que todas as ferramentas tenham sido registradas.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
await ai.expose();

Referência: src/ai/wu-ai.js.

ai.confirmTool

Aceita uma confirmação pendente de ferramenta.

ai.confirmTool(confirmationId): void

  • Parâmetros: Identificador emitido pelo fluxo de confirmação.
  • Retorno: void
  • Erros: Se a instância não estiver inicializada, retorna sem inicializá-la; não faz uma solicitação ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.confirmTool(confirmationId);

Referência: src/ai/wu-ai.js.

ai.rejectTool

Rejeita uma confirmação pendente de ferramenta.

ai.rejectTool(confirmationId): void

  • Parâmetros: Identificador emitido pelo fluxo de confirmação.
  • Retorno: void
  • Erros: Se a instância não estiver inicializada, retorna sem inicializá-la; não faz uma solicitação ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.rejectTool(confirmationId);

Referência: src/ai/wu-ai.js.

ai.getStats

Resume os módulos e contadores do coordenador de IA.

ai.getStats(): object

  • Parâmetros: Sem parâmetros.
  • Retorno: {initialized:false} ou um objeto com initialized:true e estatísticas dos módulos.
  • Erros: Sem inicialização, retorna {initialized:false}; não inicializa módulos.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O proprietário do coordenador chama ai.destroy() ao encerrar.
ai.getStats();

Referência: src/ai/wu-ai.js.

ai.destroy

Aborta conversas, remove triggers e libera os módulos do coordenador.

ai.destroy(): void

  • Parâmetros: Sem parâmetros.
  • Retorno: void
  • Erros: Se a instância não estiver inicializada, retorna sem inicializá-la; não faz uma solicitação ao provedor.
  • Permissões: A política de IA é independente dos grants de microfrontends. Configure apenas as operações necessárias.
  • Limpeza: O objeto pode ser inicializado novamente; os recursos da execução anterior são liberados.
ai.destroy();

Referência: src/ai/wu-ai.js.

Nos fluxos deterministas do 4.0, passos emit exigem emitEvents e não podem atingir eventos wu:, system: ou app:. Passos setState exigem writeStore. Esses flags continuam sendo controles IA do host, independentes dos grants técnicos das apps.

CONSTRUA O WU CONOSCO

Encontrou um bug? Tem uma ideia?

Sua experiência melhora o WU. Conte o que falhou ou ajude a manter seu desenvolvimento.