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.