@hostwebhook/node-types 1.69.0 → 1.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/calendar-toolkit.d.ts +1 -1
  2. package/dist/connections.d.ts +1 -1
  3. package/dist/discord-operations.d.ts +1 -1
  4. package/dist/discord-operations.js +4 -4
  5. package/dist/discord-toolkit.d.ts +1 -1
  6. package/dist/discord-toolkit.js +3 -3
  7. package/dist/dispatch.d.ts +1 -1
  8. package/dist/docs-toolkit.d.ts +1 -1
  9. package/dist/drive-toolkit.d.ts +1 -1
  10. package/dist/esm/calendar-operations.d.ts +67 -0
  11. package/dist/esm/calendar-operations.js +176 -0
  12. package/dist/esm/calendar-toolkit.d.ts +50 -0
  13. package/dist/esm/calendar-toolkit.js +152 -0
  14. package/dist/esm/capacidad-de-credencial.d.ts +75 -0
  15. package/dist/esm/capacidad-de-credencial.js +68 -0
  16. package/dist/esm/connections.d.ts +17 -0
  17. package/dist/esm/connections.js +106 -0
  18. package/dist/esm/credentials.d.ts +144 -0
  19. package/dist/esm/credentials.js +199 -0
  20. package/dist/esm/discord-operations.d.ts +104 -0
  21. package/dist/esm/discord-operations.js +407 -0
  22. package/dist/esm/discord-toolkit.d.ts +64 -0
  23. package/dist/esm/discord-toolkit.js +260 -0
  24. package/dist/esm/dispatch.d.ts +16 -0
  25. package/dist/esm/dispatch.js +76 -0
  26. package/dist/esm/docs-operations.d.ts +99 -0
  27. package/dist/esm/docs-operations.js +127 -0
  28. package/dist/esm/docs-toolkit.d.ts +42 -0
  29. package/dist/esm/docs-toolkit.js +97 -0
  30. package/dist/esm/drive-operations.d.ts +103 -0
  31. package/dist/esm/drive-operations.js +319 -0
  32. package/dist/esm/drive-toolkit.d.ts +54 -0
  33. package/dist/esm/drive-toolkit.js +177 -0
  34. package/dist/esm/github-operations.d.ts +147 -0
  35. package/dist/esm/github-operations.js +551 -0
  36. package/dist/esm/gmail-operations.d.ts +190 -0
  37. package/dist/esm/gmail-operations.js +560 -0
  38. package/dist/esm/google-analytics-operations.d.ts +99 -0
  39. package/dist/esm/google-analytics-operations.js +222 -0
  40. package/dist/esm/google-contacts-operations.d.ts +93 -0
  41. package/dist/esm/google-contacts-operations.js +363 -0
  42. package/dist/esm/index.d.ts +66 -0
  43. package/dist/esm/index.js +50 -0
  44. package/dist/esm/jira-operations.d.ts +164 -0
  45. package/dist/esm/jira-operations.js +470 -0
  46. package/dist/esm/llm-models.d.ts +101 -0
  47. package/dist/esm/llm-models.js +230 -0
  48. package/dist/esm/mailchimp-operations.d.ts +56 -0
  49. package/dist/esm/mailchimp-operations.js +155 -0
  50. package/dist/esm/mongo-operations.d.ts +61 -0
  51. package/dist/esm/mongo-operations.js +120 -0
  52. package/dist/esm/notion-operations.d.ts +125 -0
  53. package/dist/esm/notion-operations.js +511 -0
  54. package/dist/esm/openrouter.d.ts +142 -0
  55. package/dist/esm/openrouter.js +99 -0
  56. package/dist/esm/package.json +4 -0
  57. package/dist/esm/postgres-operations.d.ts +60 -0
  58. package/dist/esm/postgres-operations.js +75 -0
  59. package/dist/esm/registry.d.ts +160 -0
  60. package/dist/esm/registry.js +555 -0
  61. package/dist/esm/sheets-operations.d.ts +78 -0
  62. package/dist/esm/sheets-operations.js +150 -0
  63. package/dist/esm/sheets-toolkit.d.ts +49 -0
  64. package/dist/esm/sheets-toolkit.js +127 -0
  65. package/dist/esm/shopify-operations.d.ts +95 -0
  66. package/dist/esm/shopify-operations.js +259 -0
  67. package/dist/esm/slack-operations.d.ts +81 -0
  68. package/dist/esm/slack-operations.js +244 -0
  69. package/dist/esm/slack-toolkit.d.ts +60 -0
  70. package/dist/esm/slack-toolkit.js +235 -0
  71. package/dist/esm/telegram-operations.d.ts +104 -0
  72. package/dist/esm/telegram-operations.js +351 -0
  73. package/dist/esm/telegram-toolkit.d.ts +52 -0
  74. package/dist/esm/telegram-toolkit.js +183 -0
  75. package/dist/esm/types.d.ts +149 -0
  76. package/dist/esm/types.js +8 -0
  77. package/dist/esm/ui.d.ts +13 -0
  78. package/dist/esm/ui.js +150 -0
  79. package/dist/esm/whatsapp-operations.d.ts +23 -0
  80. package/dist/esm/whatsapp-operations.js +36 -0
  81. package/dist/index.d.ts +66 -66
  82. package/dist/index.js +185 -185
  83. package/dist/openrouter.d.ts +1 -1
  84. package/dist/registry.d.ts +1 -1
  85. package/dist/sheets-toolkit.d.ts +1 -1
  86. package/dist/slack-operations.d.ts +1 -1
  87. package/dist/slack-operations.js +4 -4
  88. package/dist/slack-toolkit.d.ts +1 -1
  89. package/dist/slack-toolkit.js +3 -3
  90. package/dist/telegram-toolkit.d.ts +1 -1
  91. package/dist/ui.d.ts +1 -1
  92. package/package.json +21 -3
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Gmail operation enum — single source of truth across the API, Dashboard,
3
+ * and Message Broker. Used by:
4
+ * - emailAction entity / DTO (api): operation field + validation
5
+ * - dashboard EmailActionGmailOperation type
6
+ * - broker hostwebhook types + tool schemas
7
+ * - trigger / future Gmail-related nodes
8
+ *
9
+ * Adding a new Gmail operation = add it here, bump this package's
10
+ * version, publish to npm, and re-install in the consuming repos.
11
+ * Each consumer still owns its operation-specific config schema (the
12
+ * dashboard owns the UI form schema, the api owns the dispatch logic),
13
+ * but the canonical list of valid operation strings lives here.
14
+ */
15
+ export declare const GMAIL_OPERATIONS: readonly ["send", "sendAndWaitForResponse", "createDraft", "sendDraft", "replyToThread", "getMessage", "listMessages", "deleteMessage", "markRead", "markUnread", "addLabel", "removeLabel", "listLabels", "createLabel", "getThread", "trashThread", "untrashThread"];
16
+ export type GmailOperation = (typeof GMAIL_OPERATIONS)[number];
17
+ /** Type guard — useful when validating untrusted input (DTOs, tool calls). */
18
+ export declare function isGmailOperation(value: unknown): value is GmailOperation;
19
+ /**
20
+ * Esquema de formulario, grupos del desplegable y toolkits de Gmail.
21
+ *
22
+ * El enum de arriba ya estaba aquí y ya lo importaban la api (DTO + entidad) y
23
+ * el dashboard. Lo que baja ahora es todo lo demás, que vivía escrito a mano en
24
+ * cuatro sitios:
25
+ *
26
+ * - `OP_SCHEMA` de `OperationFieldsRenderer.tsx` — 17 ops, 53 campos
27
+ * - `OPERATION_GROUPS` de `OperationSelector.tsx` — 16 ops con etiqueta,
28
+ * descripción y grupo
29
+ * - `GMAIL_OPERATION_SPECS` del dashboard y **la misma lista otra vez** en
30
+ * `api/src/mcp-servers/toolkit-specs.ts` — 16 herramientas cada una
31
+ * - `NATIVE_EMAIL_OPERATION_SPECS`, igual, por duplicado
32
+ *
33
+ * Las dos copias del toolkit estaban idénticas el día de la mudanza (0
34
+ * divergencias medidas), lo cual es suerte y no diseño: viven en repos
35
+ * distintos, así que **ningún test podía compararlas**. Por eso bajan.
36
+ *
37
+ * OJO CON EL NOMBRE. En el dashboard `GMAIL_OPERATION_SPECS` eran las specs del
38
+ * *toolkit*, al revés que en los otros diez nodos. Aquí se respeta la convención
39
+ * del paquete: `*_OPERATION_SPECS` es el **formulario** y `*_TOOLKIT_SPECS` son
40
+ * las **herramientas**.
41
+ */
42
+ /** Encabezados del desplegable, en orden de aparición. */
43
+ export declare const GMAIL_OPERATION_GROUPS: readonly ["Messages", "Drafts", "Labels", "Threads"];
44
+ export type GmailOperationGroup = (typeof GMAIL_OPERATION_GROUPS)[number];
45
+ /**
46
+ * Tipo de control del formulario. Todos tienen precedente en el paquete salvo
47
+ * `emails`, que es propio de este nodo (el `EmailChipsInput` con
48
+ * autocompletado), como el `docPicker` de Docs.
49
+ *
50
+ * - `string` — `TemplateInput` de una línea
51
+ * - `htmlTemplate` — cuerpo con el interruptor Plain <-> Advanced (HTML).
52
+ * Igual que en Docs.
53
+ * - `emails` — `EmailChipsInput`; se guarda como **array**
54
+ * - `csvList` — se guarda como array y se edita como texto separado por
55
+ * comas. El mismo de Contacts; perder el array al guardar
56
+ * rompe el nodo en ejecución
57
+ * - `select` — `<select>`; las etiquetas no son los valores, así que
58
+ * `options` es obligatorio
59
+ * - `number`, `boolean` — lo que parecen
60
+ *
61
+ * No hay `min`/`max`: hoy ningún campo numérico de este nodo los usa, y
62
+ * añadirlos sin que nadie los lea es el `color` que nadie leía en Postgres.
63
+ */
64
+ export type GmailParamType = 'string' | 'htmlTemplate' | 'emails' | 'csvList' | 'select' | 'number' | 'boolean';
65
+ export interface GmailParamSpec {
66
+ /** Clave dentro de `operationConfig`. */
67
+ name: string;
68
+ /** Etiqueta encima del control. */
69
+ label: string;
70
+ type: GmailParamType;
71
+ /** Lo exige la operación. Metadato: el formulario no bloquea el guardado. */
72
+ required?: boolean;
73
+ /** Texto de ayuda debajo del control (el `help` de antes). */
74
+ description?: string;
75
+ placeholder?: string;
76
+ /** Sólo `htmlTemplate`: lenguaje del editor cuando está en modo Advanced. */
77
+ language?: string;
78
+ /** Sólo `select`. */
79
+ options?: ReadonlyArray<{
80
+ value: string;
81
+ label: string;
82
+ }>;
83
+ }
84
+ export interface GmailOperationSpec {
85
+ /** Etiqueta del desplegable y de la página. */
86
+ label: string;
87
+ /**
88
+ * Etiqueta corta para la píldora del lienzo, que va en `uppercase` sobre una
89
+ * tarjeta de 260px. Sin esto la tarjeta pintaba el `operation` crudo y decía
90
+ * `SENDANDWAITFORRESPONSE`; es el mismo defecto que tenía Mongo.
91
+ */
92
+ labelShort: string;
93
+ /** Línea debajo de la etiqueta en el desplegable. */
94
+ description?: string;
95
+ /**
96
+ * Grupo del desplegable. **Ausente = no se ofrece en modo de una sola op**,
97
+ * que hoy es el caso de `sendDraft` y sólo de él.
98
+ */
99
+ group?: GmailOperationGroup;
100
+ /** Campos, en orden de pantalla. */
101
+ params: GmailParamSpec[];
102
+ }
103
+ /**
104
+ * El orden de las claves dentro de cada grupo **es** el orden del desplegable,
105
+ * igual que en Contacts: mover una clave mueve la pantalla.
106
+ *
107
+ * `send` ya no lleva `cc` ni `bcc`. Estaban declaradas y no se pintaban nunca —el
108
+ * renderizador se invocaba tras `operation !== "send"`— y la ruta determinista no
109
+ * las sabe mandar: `emailSender.send` recibe to/subject/html y nada más. Darles
110
+ * soporte es una función nueva, no una mudanza.
111
+ */
112
+ export declare const GMAIL_OPERATION_SPECS: Record<GmailOperation, GmailOperationSpec>;
113
+ export declare const GMAIL_DROPDOWN_OPERATIONS: readonly GmailOperation[];
114
+ export declare const GMAIL_TOOLKIT_OPERATIONS: readonly GmailOperation[];
115
+ /**
116
+ * Las herramientas que un emailAction con Gmail expone cuando `aiEnabled` está
117
+ * encendido. La forma es la que ya consume `toolkitSpecToMcpTool` en la api,
118
+ * para que pueda usarse sin adaptador. Los textos van en inglés porque los lee
119
+ * el modelo y quien mire la lista del servidor MCP.
120
+ *
121
+ * Ninguna lleva `destructive`, ni `delete_gmail_message` ni `trash_thread`.
122
+ * Lo merecerían —el toolkit de Drive marca sus borrados— pero hoy ninguna de las
123
+ * dos copias lo tenía y esto es una mudanza, no un cambio de comportamiento.
124
+ */
125
+ export interface GmailToolkitParameter {
126
+ name: string;
127
+ type: 'string' | 'number' | 'boolean';
128
+ description: string;
129
+ required: boolean;
130
+ }
131
+ export interface GmailToolkitSpec {
132
+ operation: GmailOperation;
133
+ label: string;
134
+ /**
135
+ * Nombre con el que lo llama el LLM. Lleva `_gmail_` o `_email` para no
136
+ * chocar con el `send_telegram_message` ni el `create_event` de Calendar
137
+ * cuando un mismo AI Node tiene varios toolkits encendidos.
138
+ */
139
+ toolName: string;
140
+ description: string;
141
+ parameters: GmailToolkitParameter[];
142
+ destructive?: boolean;
143
+ }
144
+ export declare const GMAIL_TOOLKIT_SPECS: GmailToolkitSpec[];
145
+ /**
146
+ * La op que espera, **fuera** del toolkit y aparte a propósito. Sigue haciendo
147
+ * falta para dos cosas que no son el toolkit: reconocer la operación de una
148
+ * herramienta ya guardada (si desapareciera, un `send_email_and_wait` creado antes
149
+ * se quedaría sin etiqueta) y el modo de una sola op elegido como herramienta
150
+ * suelta, donde el pipeline sí espera el clic.
151
+ */
152
+ export declare const GMAIL_SEND_AND_WAIT_TOOL_SPEC: GmailToolkitSpec;
153
+ /** Todo lo que el nodo sabe ejecutar, se ofrezca o no como herramienta. */
154
+ export declare const GMAIL_ALL_TOOLKIT_SPECS: GmailToolkitSpec[];
155
+ /** El toolkit del proveedor nativo (Resend): una sola herramienta. */
156
+ export declare const NATIVE_EMAIL_TOOLKIT_SPECS: GmailToolkitSpec[];
157
+ export declare const GMAIL_TOOLKIT_BY_TOOL_NAME: Record<string, GmailToolkitSpec>;
158
+ export declare const NATIVE_EMAIL_TOOLKIT_BY_TOOL_NAME: Record<string, GmailToolkitSpec>;
159
+ /**
160
+ * De dónde salen `to` / `subject` / `body` de un `send`.
161
+ *
162
+ * Los tres se guardaban planos en la raíz de la entidad mientras las otras 16
163
+ * operaciones usaban `operationConfig`. Desde la unificación **se escribe
164
+ * siempre en `operationConfig`**, y esto resuelve la lectura para que ninguna
165
+ * fila anterior se rompa: primero `operationConfig`, y si no está, el campo
166
+ * plano.
167
+ *
168
+ * Vive en el paquete a propósito. Si cada repo se escribiera su propio helper
169
+ * volveríamos a tener dos copias de la misma regla, que es justo lo que esta
170
+ * mudanza viene a quitar. Lo usan los 8 sitios que leían los campos planos: el
171
+ * envío, el send-and-wait, las entregas, la página, la tarjeta del lienzo, el
172
+ * resumen del panel y la validación.
173
+ *
174
+ * `??` y no `||`: si el usuario **vacía** los destinatarios, `operationConfig.to`
175
+ * es `[]` y tiene que ganar. Con `||` resucitaría el valor viejo del campo plano.
176
+ */
177
+ export interface GmailSendFieldSource {
178
+ to?: unknown;
179
+ subject?: unknown;
180
+ body?: unknown;
181
+ operationConfig?: Record<string, unknown> | null;
182
+ }
183
+ export interface GmailSendFields {
184
+ to: string[];
185
+ subject: string;
186
+ body: string;
187
+ }
188
+ /** Los tres campos que un día vivieron en la raíz. */
189
+ export declare const GMAIL_SEND_LEGACY_FIELDS: readonly ["to", "subject", "body"];
190
+ export declare function resolveGmailSendFields(entity: GmailSendFieldSource | null | undefined): GmailSendFields;