/** * El nodo de WooCommerce como AI toolkit: sus operaciones como herramientas * que un AI Node, un servidor MCP o un agente de voz pueden llamar. * * ## Qué decidió Ariel (2026-09-28) * * - **Las 16**, una herramienta por operación: pedidos, productos, * clientes y cupones, con sus búsquedas — sin ellas el modelo no sabe qué * `product_id` poner en un pedido ni qué pedido reembolsar. * - **Nacen bloqueadas** cancelar y reembolsar un pedido: las dos mueven * dinero o stock y ninguna se deshace repitiéndola. El dueño las * desbloquea en el nodo. * - **Lo decide el dueño, no el modelo**: si una nota le llega al cliente * por correo (`toolkitNotifyCustomer`, apagado) y en qué estado nace un * producto nuevo (`toolkitProductStatus`, borrador). El resto lo elige el * modelo, con los valores del nodo como defecto. * * ## El esquema * * Sólo `string`, `number` y `boolean` (lo que admite MCP): las líneas de un * pedido y las direcciones van como JSON en un `string`; las categorías, las * imágenes y los correos, separados por comas. */ import type { CampoDeToolkit } from './argumentos-de-toolkit.js'; import type { WoocommerceOperation } from './woocommerce-operations.js'; export type WoocommerceToolkitOperation = WoocommerceOperation; export interface WoocommerceToolkitParameter { name: string; type: 'string' | 'number' | 'boolean'; description: string; required: boolean; } export interface WoocommerceToolkitSpec { operation: WoocommerceToolkitOperation; label: string; toolName: string; description: string; parameters: WoocommerceToolkitParameter[]; destructive?: boolean; /** Nace bloqueada en el nodo; el dueño la desbloquea. Ver `toolkits.ts`. */ bloqueadaPorDefecto?: boolean; } export declare const WOOCOMMERCE_TOOLKIT_SPECS: WoocommerceToolkitSpec[]; export declare const WOOCOMMERCE_TOOLKIT_SPECS_BY_TOOL_NAME: Readonly>; export declare const WOOCOMMERCE_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 WOOCOMMERCE_TOOLKIT_FUERA: Readonly>; /** El estado de un producto que crea el modelo, si el dueño no dice otro. */ export declare const WOOCOMMERCE_TOOLKIT_ESTADO_DE_PRODUCTO_POR_DEFECTO = "draft"; /** Lo que el dueño puede elegir para un producto nuevo del toolkit. */ export declare const WOOCOMMERCE_TOOLKIT_ESTADOS_DE_PRODUCTO: readonly ["draft", "pending", "private", "publish"];