/** * El nodo de SharePoint 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) * * - **Dieciocho herramientas** para veinte operaciones: todas menos las dos * de ficheros del flujo. «Upload file» sube un fichero DEL FLUJO (un * modelo no tiene ninguno que pasar) y «Download file» guarda uno para el * nodo SIGUIENTE (a un modelo no le sirve). Van con su motivo en * `SHAREPOINT_OPERACIONES_SIN_HERRAMIENTA`, como en OneDrive y To Do. * - **Nacen bloqueadas las que borran** (lo que eligió Ariel): un elemento * de una lista y un fichero o carpeta. Van a la papelera del sitio, pero * ni un flujo ni un modelo los sacan de ahí. El dueño las desbloquea. * - **El sitio es obligatorio**: `search_sharepoint_sites` da los ids, y * también vale la URL del sitio. La biblioteca es opcional: vacía = la de * por defecto del sitio («Documents»). * * ## El esquema * * Sólo `string`, `number` y `boolean` (lo que admite MCP): los campos de un * elemento van como un objeto JSON en texto (`{"Title":"…"}`). Los argumentos * son LITERALES: un `{{payload…}}` del modelo no se resuelve. */ import type { CampoDeToolkit } from './argumentos-de-toolkit.js'; import type { SharepointOperation } from './sharepoint-operations.js'; /** Las operaciones que NO son herramienta, cada una con su motivo. */ export declare const SHAREPOINT_OPERACIONES_SIN_HERRAMIENTA: Readonly<{ readonly uploadFile: "Sube un fichero del flujo; un modelo no tiene ninguno que pasar, y un nombre inventado no sube nada."; readonly downloadFile: "Guarda el fichero para el nodo siguiente del flujo; a un modelo no le sirve."; }>; export type SharepointToolkitOperation = Exclude; export interface SharepointToolkitParameter { name: string; type: 'string' | 'number' | 'boolean'; description: string; required: boolean; } export interface SharepointToolkitSpec { operation: SharepointToolkitOperation; label: string; toolName: string; description: string; parameters: SharepointToolkitParameter[]; destructive?: boolean; /** Nace bloqueada en el nodo; el dueño la desbloquea. Ver `toolkits.ts`. */ bloqueadaPorDefecto?: boolean; } export declare const SHAREPOINT_TOOLKIT_SPECS: SharepointToolkitSpec[]; export declare const SHAREPOINT_TOOLKIT_SPECS_BY_TOOL_NAME: Readonly>; export declare const SHAREPOINT_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. */ export declare const SHAREPOINT_TOOLKIT_FUERA: Readonly>;