/** * El nodo de Microsoft To Do como AI toolkit: sus operaciones como * herramientas que un AI Node, un servidor MCP o un agente de voz pueden * llamar. * * ## Lo decidido (2026-10-12) * * - **Dieciséis herramientas** para dieciocho operaciones: todas menos las * dos de ficheros del flujo. «Add attachment» adjunta un fichero DEL FLUJO * (un modelo no tiene ninguno que pasar) y «Download attachment» guarda * uno para el nodo SIGUIENTE (a un modelo no le sirve). Van con su motivo * en `MICROSOFT_TODO_OPERACIONES_SIN_HERRAMIENTA`, como el «Download file» * de OneDrive. `list_microsoft_todo_attachments` sí está: el modelo sabe * qué hay adjunto. * - **Nacen bloqueadas las que borran** (lo que eligió Ariel): una tarea, * una lista entera o un paso. Lo borrado en To Do no vuelve por la API. * El dueño las desbloquea en el nodo. * - **La lista es opcional**: vacía = la lista por defecto de la cuenta * («Tasks»). `list_microsoft_todo_lists` da los ids. * * ## El esquema * * Sólo `string`, `number` y `boolean` (lo que admite MCP): las categorías, * separadas por comas. Los argumentos son LITERALES: un `{{payload…}}` del * modelo no se resuelve. */ import type { CampoDeToolkit } from './argumentos-de-toolkit.js'; import type { MicrosoftTodoOperation } from './microsoft-todo-operations.js'; /** Las operaciones que NO son herramienta, cada una con su motivo. */ export declare const MICROSOFT_TODO_OPERACIONES_SIN_HERRAMIENTA: Readonly<{ readonly addAttachment: "Adjunta un fichero del flujo; un modelo no tiene ninguno que pasar, y un nombre inventado no sube nada."; readonly downloadAttachment: "Guarda el fichero para el nodo siguiente del flujo; a un modelo no le sirve."; }>; export type MicrosoftTodoToolkitOperation = Exclude; export interface MicrosoftTodoToolkitParameter { name: string; type: 'string' | 'number' | 'boolean'; description: string; required: boolean; } export interface MicrosoftTodoToolkitSpec { operation: MicrosoftTodoToolkitOperation; label: string; toolName: string; description: string; parameters: MicrosoftTodoToolkitParameter[]; destructive?: boolean; /** Nace bloqueada en el nodo; el dueño la desbloquea. Ver `toolkits.ts`. */ bloqueadaPorDefecto?: boolean; } export declare const MICROSOFT_TODO_TOOLKIT_SPECS: MicrosoftTodoToolkitSpec[]; export declare const MICROSOFT_TODO_TOOLKIT_SPECS_BY_TOOL_NAME: Readonly>; export declare const MICROSOFT_TODO_TOOLKIT_CAMPOS: Readonly>>>; /** Los campos de single operation que el toolkit NO expone, y por qué. El * test de paridad los salta con nombre, no en silencio. Hoy, ninguno. */ export declare const MICROSOFT_TODO_TOOLKIT_FUERA: Readonly>;