/** * El nodo de HubSpot como AI toolkit: sus operaciones como herramientas que un * AI Node, un servidor MCP o un agente de voz pueden llamar. * * ## Qué pidió Ariel (2026-10-10) * * Trigger y acción de HubSpot por OAuth, con el toolkit del AI Node como el * resto de nodos: las mismas operaciones que single operation, con TODOS sus * campos (`HUBSPOT_OPERATION_SPECS`). * * ## Lo que nace bloqueado * * Los borrados (`HUBSPOT_OPERACIONES_SENSIBLES`): los cuatro del CRM, el de * productos, el de partidas y el borrado para siempre (GDPR). Un agente que * decide solo no borra nada hasta que el dueño lo desbloquea, herramienta a * herramienta. * * ## Los ids que el modelo no sabe * * Pipelines, etapas, owners, listas, etiquetas de asociación y formularios * son ids de la cuenta. Sus consultas (`list_hubspot_pipelines`, * `list_hubspot_owners`, `list_hubspot_lists`, * `list_hubspot_association_labels`, `list_hubspot_forms`) están para eso, y * las descripciones de los parámetros mandan allí. * * ## La segunda tanda llega sola (2026-10-11) * * Las herramientas de {@link NUEVAS} llevan `desde`: un AI Node que ya usaba * un nodo de HubSpot las recibe sin que nadie las añada (decisión de Ariel), * salvo las bloqueadas en el nodo. */ import type { CampoDeToolkit } from './argumentos-de-toolkit.js'; import { type HubspotOperation } from './hubspot-operations.js'; export type HubspotToolkitOperation = HubspotOperation; export interface HubspotToolkitParameter { name: string; type: 'string' | 'number' | 'boolean'; description: string; required: boolean; } export interface HubspotToolkitSpec { operation: HubspotToolkitOperation; label: string; toolName: string; description: string; parameters: HubspotToolkitParameter[]; destructive?: boolean; /** Nace bloqueada en el nodo; el dueño la desbloquea. Ver `toolkits.ts`. */ bloqueadaPorDefecto?: boolean; /** * El día en que la herramienta llegó al toolkit (YYYY-MM-DD). Los AI Nodes * que ya usaban este nodo la reciben solos: ver * `herramientasQueLlegaronDespues` en `toolkits.ts`. */ desde?: string; } /** El día en que llegó la segunda tanda de HubSpot (Ariel, 2026-10-10). */ export declare const HUBSPOT_TOOLKIT_SEGUNDA_TANDA = "2026-10-11"; /** Cuántos resultados devuelve una búsqueda si el modelo no dice otra cosa. */ export declare const HUBSPOT_TOOLKIT_LIMITE_POR_DEFECTO = 20; /** Lo más que puede pedir el modelo en una búsqueda. */ export declare const HUBSPOT_TOOLKIT_TOPES: Readonly>; export declare const HUBSPOT_TOOLKIT_SPECS: HubspotToolkitSpec[]; export declare const HUBSPOT_TOOLKIT_SPECS_BY_TOOL_NAME: Readonly>; export declare const HUBSPOT_TOOLKIT_CAMPOS: Readonly>>>;