WU / DOCSUNIVERSAL MICROFRONTENDS
ES

Referencia de IA, contexto y workflows

Proveedores, conversaciones, acciones, orquestación, permisos y liberación del subsistema de IA.

Preparar una instancia de IA

Obtén const ai = await wu.aiReady() antes de configurar el subsistema. Solo WuAI es un export público del subpath wu-framework/ai; los objetos context, conversation y permissions exponen métodos concretos, no acceso irrestricto a sus clases internas.

En ejemplos de conversación configura primero un proveedor demo con transporte propio o un proxy de servidor. Una respuesta de acción con success:false debe manejarse aunque la promesa se haya resuelto. Los nombres de resultados en las firmas describen estructuras de datos y no prometen exports TypeScript adicionales.

La política de IA y los grants del core tienen propósitos diferentes. Los workflows deterministas ejecutan primitivas del host directamente; no son una API para conceder ejecución a código ajeno. Consulta la receta de IA y MCP para una integración guiada.

wu.aiReady

Carga el subsistema opcional y entrega una instancia lista para configurar.

wu.aiReady(): Promise<WuAI>

  • Parámetros: No requiere importar wu-framework/ai si se utiliza la fachada del core.
  • Retorno: Promesa de la instancia WuAI.
  • Errores: Rechaza si no puede importar el módulo opcional.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
const ai = await wu.aiReady();
ai.init({ permissions: { executeActions: false } });

Para operaciones inmediatas de lectura, espera aiReady: la fachada lazy puede devolver valores iniciales antes de finalizar la carga.

Referencia: src/index.js.

WuAI

Crea el coordinador de IA con dependencias explícitas.

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

  • Parámetros: eventBus y store compartidos con el host; core permite consultar apps.
  • Retorno: Instancia aún sin inicializar.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
import { WuAI } from 'wu-framework/ai';
const ai = new WuAI({ eventBus: wu.eventBus, store: wu.store, core: wu });
ai.init();

Referencia: src/ai/wu-ai.js.

ai.init

Inicializa proveedores, conversaciones, acciones, contexto y protección de ejecución.

ai.init(config?): WuAI

  • Parámetros: permissions, context, conversation, triggers, agent, orchestrate, rateLimit, circuitBreaker, loopProtection, allowedDomains y browser. El proveedor se registra por separado con ai.provider(name, config).
  • Retorno: La misma instancia; posteriores llamadas reconfiguran opciones soportadas.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
const ai = await wu.aiReady();
ai.init({ permissions: { executeActions: true, network: false }, allowedDomains: [] });

La autorización declarada no aísla JavaScript capturado por un handler propio: el código del host continúa siendo confiable.

Referencia: src/ai/wu-ai.js.

ai.provider

Registra un proveedor integrado o funciones de transporte propias.

ai.provider(name, config): WuAI

  • Parámetros: name; adapter, endpoint, model, active; o send/stream propios. Usa un proxy de servidor para credenciales.
  • Retorno: La misma instancia.
  • Errores: Lanza si no reconoce el adapter y no hay send/stream. Una API key directa se elimina por defecto al detectar producción.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
ai.provider('demo', {
  send: async () => ({ content: 'Respuesta determinista', usage: {} }),
});
const result = await ai.send('Hola', { provider: 'demo' });

Un transporte personalizado es código privilegiado del host, no una forma de probar el aislamiento de red.

Referencia: src/ai/wu-ai.js.

ai.send

Envía un mensaje y procesa las herramientas que solicite el proveedor.

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

  • Parámetros: message string; namespace, provider, systemPrompt, templateVars, temperature, maxTokens, responseFormat y signal.
  • Retorno: Respuesta con content, namespace y resultados/uso disponibles. Preflight denegado resuelve content:“[blocked] …”; una cancelación resuelve content:“[aborted]”.
  • Errores: Los errores del proveedor normalmente rechazan; bloqueo de preflight y AbortError se representan como respuestas resueltas con marcador en content.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: ai.abort(namespace) interrumpe esa conversación; clear elimina historial, deleteNamespace elimina y aborta.
const response = await ai.send('Resume el estado', { namespace: 'help', provider: 'demo' });
console.log(response.content);

Referencia: src/ai/wu-ai.js.

ai.stream

Entrega texto y eventos de herramientas incrementalmente.

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

  • Parámetros: Mismas opciones de conversación que send; el proveedor debe soportar streaming.
  • Retorno: Iterador asíncrono con chunks tipados por type.
  • Errores: Errores del proveedor y abort se emiten como chunks type:“error”. Construir el systemPrompt ocurre antes del try y sí puede rechazar la iteración.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
for await (const chunk of ai.stream('Explica el estado', { namespace: 'help' })) {
  if (chunk.type === 'text') console.log(chunk.content);
}

No presupongas que cada chunk contiene texto: hay resultados de herramientas, finalización y errores.

Referencia: src/ai/wu-ai.js.

ai.json

Solicita salida JSON y separa el texto recibido del resultado parseado.

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

  • Parámetros: schema/schemaName opcionales, además de opciones de send.
  • Retorno: {data, raw, error, usage, namespace}.
  • Errores: El JSON inválido se informa en error con data:null; los fallos del proveedor sí pueden rechazar.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
const result = await ai.json('Devuelve {"ready":true}', { provider: 'demo' });
if (result.error) console.error(result.error);
else console.log(result.data);

La disponibilidad de schema en el proveedor no sustituye la validación de negocio del resultado.

Referencia: src/ai/wu-ai.js.

ai.abort

Cancela peticiones activas de una conversación o de todas.

ai.abort(namespace?): void

  • Parámetros: Namespace opcional; omitirlo aborta todos.
  • Retorno: void.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Abortar no borra mensajes anteriores; utiliza conversation.clear si también deseas vaciar el historial.
ai.abort('help');

Referencia: src/ai/wu-ai.js.

ai.action

Registra una operación ejecutable con descripción, parámetros y handler.

ai.action(name, config): WuAI

  • Parámetros: description, parameters, handler; confirm, permissions, permissionsWhen y dangerous opcionales.
  • Retorno: La misma instancia.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: executeActions autoriza la ejecución; permissions/permissionsWhen pueden exigir flags adicionales de IA.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
ai.action('math.double', {
  description: 'Duplica un número',
  parameters: { type: 'object', properties: { value: { type: 'number' } }, required: ['value'] },
  handler: ({ value }) => value * 2,
});

Referencia: src/ai/wu-ai.js.

ai.execute

Ejecuta una acción registrada pasando por la política y los controles del subsistema.

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

  • Parámetros: Nombre exacto y objeto de argumentos.
  • Retorno: {success, result?, reason?}; success:false también es una respuesta resuelta.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: Requiere executeActions y los permisos específicos de la acción; puede requerir confirmación.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
const result = await ai.execute('math.double', { value: 21 });
if (!result.success) throw new Error(result.reason);
console.log(result.result);

Referencia: src/ai/wu-ai.js.

ai.trigger

Conecta un patrón de eventos con una petición al asistente.

ai.trigger(name, config): WuAI

  • Parámetros: pattern, prompt; condition, debounce, priority y onResult opcionales.
  • Retorno: La misma instancia.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: ai.destroy() retira las suscripciones creadas por triggers.
ai.trigger('cart-help', {
  pattern: 'cart:help',
  prompt: 'Explica cómo revisar este carrito',
  debounce: 500,
  onResult: (response) => console.log(response.content),
});

Usa condition y debounce para limitar activaciones; no publiques datos sensibles en eventos destinados a contexto.

Referencia: src/ai/wu-ai.js.

ai.fireTrigger

Solicita explícitamente la ejecución de un trigger registrado.

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

  • Parámetros: Nombre y datos que recibe su configuración de prompt/condition.
  • Retorno: Resultado asíncrono de la ejecución o ausencia de resultado cuando se omite.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
await ai.fireTrigger('cart-help', { itemCount: 2 });

Referencia: src/ai/wu-ai.js.

ai.agent

Ejecuta un bucle de pasos que puede consultar contexto y llamar acciones.

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

  • Parámetros: goal string; opciones del agente, como maxSteps, namespace, provider y signal.
  • Retorno: Iterador de pasos, no un texto único.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: Las acciones siguen sujetas a executeActions y sus flags. Limitar maxSteps no concede permisos.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
for await (const step of ai.agent('Explica las acciones disponibles', { maxSteps: 3 })) {
  console.log(step);
}

Referencia: src/ai/wu-ai.js.

ai.capability

Registra una acción bajo la identidad funcional de una aplicación para orquestación.

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

  • Parámetros: appName, actionName y configuración de acción con description, parameters y handler.
  • Retorno: La misma instancia.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
ai.capability('calculator', 'double', {
  description: 'Duplica un número',
  parameters: { value: { type: 'number', required: true } },
  handler: ({ value }) => value * 2,
});

Aquí capability significa acción publicada al orquestador. No crea un grant events.emit/rpc.call/store.write del core.

Referencia: src/ai/wu-ai.js.

ai.intent

Resuelve una intención utilizando las capacidades registradas por las aplicaciones.

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

  • Parámetros: Descripción y opciones de orquestación/proveedor.
  • Retorno: Resultado con content, tool_results, usage, resolved y appsInvolved.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
const result = await ai.intent('Duplica 7 usando calculator');
console.log(result.resolved, result.appsInvolved);

Referencia: src/ai/wu-ai.js.

ai.removeApp

Retira las capacidades de IA asociadas con una aplicación.

ai.removeApp(appName): WuAI

  • Parámetros: Nombre utilizado al registrar capability.
  • Retorno: La misma instancia.
  • Errores: Propaga errores de configuración o ejecución; captura rechazos y revisa los resultados de acciones.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: No desmonta la aplicación del core ni borra su estado global.
ai.removeApp('calculator');

Referencia: src/ai/wu-ai.js.

ai.workflow

Registra una secuencia de acciones determinista o pasos interpretados por un agente.

ai.workflow(name, config): WuAI

  • Parámetros: steps no vacío; modo deterministic admite click, type, navigate, wait, emit y setState. Modo ai admite descripciones. parameters, maxSteps, provider y temperature opcionales.
  • Retorno: La misma instancia.
  • Errores: Nombre ausente o steps vacío/inválido lanzan al registrar.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
ai.workflow('mark-ready', {
  mode: 'deterministic',
  steps: [{ action: 'setState', path: 'workflow.ready', value: true }],
});

Los pasos deterministas son primitivas del host y no llaman a acciones registradas con ai.action. Se ejecutan directamente, sin pasar por ai.execute ni sus comprobaciones de permisos.

Referencia: src/ai/wu-ai.js.

ai.runWorkflow

Ejecuta un workflow y emite el progreso de sus pasos.

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

  • Parámetros: Nombre registrado, parámetros requeridos por workflow.parameters y opciones de ejecución.
  • Retorno: Iterador asíncrono de resultados.
  • Errores: Workflow desconocido o parámetro requerido ausente producen un rechazo durante iteración.
  • Permisos: El modo AI controla sus llamadas de herramientas; el modo deterministic ejecuta primitivas del host directamente y no aplica los flags de ai.permissions. Acepta únicamente workflows y parámetros de confianza.
  • Limpieza: Llama ai.destroy() cuando finalice el runtime propietario.
for await (const step of ai.runWorkflow('mark-ready')) console.log(step);

Referencia: src/ai/wu-ai.js.

ai.context.configure

Configura selección y presupuesto del contexto.

ai.context.configure(config): void

  • Parámetros: budget, charRatio y sources con store, events y custom.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.context.configure({ budget: 1500, sources: { store: { include: ['cart'] } } });

Referencia: src/ai/wu-ai.js.

ai.context.register

Añade un colector de contexto propio.

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

  • Parámetros: Nombre y {collector,priority}; collector puede ser asíncrono.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.context.register('build', { collector: () => ({ release: 'demo' }), priority: 'high' });

Referencia: src/ai/wu-ai.js.

ai.context.collect

Recoge apps, estado, eventos y colectores configurados.

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

  • Parámetros: Sin parámetros.
  • Retorno: Promise
  • Errores: Los fallos de colectores individuales se registran y no detienen los restantes.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
await ai.context.collect();

Referencia: src/ai/wu-ai.js.

ai.context.getSnapshot

Devuelve el último contexto recogido sin volver a consultar fuentes.

ai.context.getSnapshot(): ContextSnapshot | null

  • Parámetros: Sin parámetros.
  • Retorno: ContextSnapshot | null
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.context.getSnapshot();

Referencia: src/ai/wu-ai.js.

ai.conversation.getHistory

Lee el historial de una conversación.

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

  • Parámetros: Namespace; default cuando se omite.
  • Retorno: Message[]
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.conversation.getHistory('help');

Referencia: src/ai/wu-ai.js.

ai.conversation.clear

Vacía mensajes de una conversación.

ai.conversation.clear(namespace?): void

  • Parámetros: Namespace; no equivale a abortar una petición activa.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.conversation.clear('help');

Referencia: src/ai/wu-ai.js.

ai.conversation.clearAll

Vacía los mensajes de todos los namespaces existentes.

ai.conversation.clearAll(): void

  • Parámetros: Sin parámetros.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.conversation.clearAll();

Referencia: src/ai/wu-ai.js.

ai.conversation.inject

Añade un mensaje al historial sin enviarlo al proveedor.

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

  • Parámetros: role, content y {namespace}.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.conversation.inject('user', 'Necesito ayuda con el catálogo', { namespace: 'help' });

Referencia: src/ai/wu-ai.js.

ai.conversation.getNamespaces

Enumera conversaciones creadas.

ai.conversation.getNamespaces(): string[]

  • Parámetros: Sin parámetros.
  • Retorno: string[]
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.conversation.getNamespaces();

Referencia: src/ai/wu-ai.js.

ai.conversation.deleteNamespace

Aborta y elimina un namespace.

ai.conversation.deleteNamespace(namespace): void

  • Parámetros: Nombre exacto.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.conversation.deleteNamespace('help');

Referencia: src/ai/wu-ai.js.

ai.permissions.configure

Actualiza flags booleanos reconocidos de IA.

ai.permissions.configure(flags): void

  • Parámetros: Objeto de flags; ignora nombres desconocidos y valores que no sean booleanos.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.permissions.configure({ executeActions: true, network: false });

Referencia: src/ai/wu-ai.js.

ai.permissions.check

Comprueba si un flag de IA está habilitado.

ai.permissions.check(permission): boolean

  • Parámetros: Nombre del permiso; desconocido produce false.
  • Retorno: boolean
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.permissions.check('executeActions');

Referencia: src/ai/wu-ai.js.

ai.permissions.getPermissions

Entrega una copia de los flags de IA.

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

  • Parámetros: Sin parámetros.
  • Retorno: Record<string, boolean>
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.permissions.getPermissions();

Una copia de flags no concede autorización a una aplicación scoped.

Referencia: src/ai/wu-ai.js.

ai.permissions.setAllowedDomains

Reemplaza los dominios permitidos para transporte controlado por IA.

ai.permissions.setAllowedDomains(domains): void

  • Parámetros: Lista de strings; filtra entradas inválidas.
  • Retorno: void
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.permissions.setAllowedDomains(["api.example.com"]);

Referencia: src/ai/wu-ai.js.

ai.tools

Describe las acciones en formato de herramientas.

ai.tools(): ToolSchema[]

  • Parámetros: Sin parámetros.
  • Retorno: ToolSchema[]
  • Errores: Puede inicializar el subsistema si todavía no está listo; los métodos que solo leen no realizan solicitudes al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.tools();

Referencia: src/ai/wu-ai.js.

ai.expose

Registra las acciones en navigator.modelContext cuando el navegador lo ofrece.

ai.expose(): Promise<boolean>

  • Parámetros: Sin parámetros; integración experimental de WebMCP.
  • Retorno: Promise
  • Errores: Devuelve false sin navigator.modelContext; captura errores de registro individuales. true no garantiza que todas las herramientas quedaran registradas.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
await ai.expose();

Referencia: src/ai/wu-ai.js.

ai.confirmTool

Acepta una confirmación pendiente de herramienta.

ai.confirmTool(confirmationId): void

  • Parámetros: Identificador emitido por el flujo de confirmación.
  • Retorno: void
  • Errores: Si la instancia no está inicializada retorna sin inicializarla; no ejecuta una solicitud al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.confirmTool(confirmationId);

Referencia: src/ai/wu-ai.js.

ai.rejectTool

Rechaza una confirmación pendiente de herramienta.

ai.rejectTool(confirmationId): void

  • Parámetros: Identificador emitido por el flujo de confirmación.
  • Retorno: void
  • Errores: Si la instancia no está inicializada retorna sin inicializarla; no ejecuta una solicitud al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.rejectTool(confirmationId);

Referencia: src/ai/wu-ai.js.

ai.getStats

Resume los módulos y contadores del coordinador de IA.

ai.getStats(): object

  • Parámetros: Sin parámetros.
  • Retorno: {initialized:false} o un objeto con initialized:true y estadísticas de los módulos.
  • Errores: Sin inicializar devuelve {initialized:false}; no inicializa módulos.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El propietario del coordinador llama ai.destroy() al cerrar.
ai.getStats();

Referencia: src/ai/wu-ai.js.

ai.destroy

Aborta conversaciones, retira triggers y libera módulos del coordinador.

ai.destroy(): void

  • Parámetros: Sin parámetros.
  • Retorno: void
  • Errores: Si la instancia no está inicializada retorna sin inicializarla; no ejecuta una solicitud al proveedor.
  • Permisos: La política de IA es independiente de los grants de microfrontends. Configura solo las operaciones necesarias.
  • Limpieza: El objeto puede volver a inicializarse; los recursos de la ejecución anterior se liberan.
ai.destroy();

Referencia: src/ai/wu-ai.js.

En flujos deterministas de 4.0, los pasos emit requieren emitEvents y no pueden dirigirse a eventos wu:, system: o app:. Los pasos setState requieren writeStore. Estos flags siguen siendo controles IA del host, independientes de los grants técnicos de las apps.

WU SE CONSTRUYE CONTIGO

¿Encontraste un bug? ¿Tienes una idea?

Tu experiencia mejora WU. Cuéntanos qué falla o ayuda a sostener su desarrollo.