@hostwebhook/node-types 1.69.0 → 1.71.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.
- package/dist/bucket-operations.d.ts +88 -0
- package/dist/bucket-operations.js +140 -0
- package/dist/calendar-toolkit.d.ts +1 -1
- package/dist/connections.d.ts +1 -1
- package/dist/connections.js +1 -0
- package/dist/discord-operations.d.ts +1 -1
- package/dist/discord-operations.js +4 -4
- package/dist/discord-toolkit.d.ts +1 -1
- package/dist/discord-toolkit.js +3 -3
- package/dist/dispatch.d.ts +1 -1
- package/dist/dispatch.js +1 -0
- package/dist/docs-toolkit.d.ts +1 -1
- package/dist/drive-toolkit.d.ts +1 -1
- package/dist/esm/bucket-operations.d.ts +88 -0
- package/dist/esm/bucket-operations.js +136 -0
- package/dist/esm/calendar-operations.d.ts +67 -0
- package/dist/esm/calendar-operations.js +176 -0
- package/dist/esm/calendar-toolkit.d.ts +50 -0
- package/dist/esm/calendar-toolkit.js +152 -0
- package/dist/esm/capacidad-de-credencial.d.ts +75 -0
- package/dist/esm/capacidad-de-credencial.js +68 -0
- package/dist/esm/connections.d.ts +17 -0
- package/dist/esm/connections.js +107 -0
- package/dist/esm/credentials.d.ts +144 -0
- package/dist/esm/credentials.js +199 -0
- package/dist/esm/discord-operations.d.ts +104 -0
- package/dist/esm/discord-operations.js +407 -0
- package/dist/esm/discord-toolkit.d.ts +64 -0
- package/dist/esm/discord-toolkit.js +260 -0
- package/dist/esm/dispatch.d.ts +16 -0
- package/dist/esm/dispatch.js +77 -0
- package/dist/esm/docs-operations.d.ts +99 -0
- package/dist/esm/docs-operations.js +127 -0
- package/dist/esm/docs-toolkit.d.ts +42 -0
- package/dist/esm/docs-toolkit.js +97 -0
- package/dist/esm/drive-operations.d.ts +103 -0
- package/dist/esm/drive-operations.js +319 -0
- package/dist/esm/drive-toolkit.d.ts +54 -0
- package/dist/esm/drive-toolkit.js +177 -0
- package/dist/esm/github-operations.d.ts +147 -0
- package/dist/esm/github-operations.js +551 -0
- package/dist/esm/gmail-operations.d.ts +190 -0
- package/dist/esm/gmail-operations.js +560 -0
- package/dist/esm/google-analytics-operations.d.ts +99 -0
- package/dist/esm/google-analytics-operations.js +222 -0
- package/dist/esm/google-contacts-operations.d.ts +93 -0
- package/dist/esm/google-contacts-operations.js +363 -0
- package/dist/esm/index.d.ts +68 -0
- package/dist/esm/index.js +51 -0
- package/dist/esm/jira-operations.d.ts +164 -0
- package/dist/esm/jira-operations.js +470 -0
- package/dist/esm/llm-models.d.ts +101 -0
- package/dist/esm/llm-models.js +230 -0
- package/dist/esm/mailchimp-operations.d.ts +56 -0
- package/dist/esm/mailchimp-operations.js +155 -0
- package/dist/esm/mongo-operations.d.ts +61 -0
- package/dist/esm/mongo-operations.js +120 -0
- package/dist/esm/notion-operations.d.ts +125 -0
- package/dist/esm/notion-operations.js +511 -0
- package/dist/esm/openrouter.d.ts +142 -0
- package/dist/esm/openrouter.js +99 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/postgres-operations.d.ts +60 -0
- package/dist/esm/postgres-operations.js +75 -0
- package/dist/esm/registry.d.ts +160 -0
- package/dist/esm/registry.js +885 -0
- package/dist/esm/sheets-operations.d.ts +78 -0
- package/dist/esm/sheets-operations.js +150 -0
- package/dist/esm/sheets-toolkit.d.ts +49 -0
- package/dist/esm/sheets-toolkit.js +127 -0
- package/dist/esm/shopify-operations.d.ts +95 -0
- package/dist/esm/shopify-operations.js +259 -0
- package/dist/esm/slack-operations.d.ts +81 -0
- package/dist/esm/slack-operations.js +244 -0
- package/dist/esm/slack-toolkit.d.ts +60 -0
- package/dist/esm/slack-toolkit.js +235 -0
- package/dist/esm/telegram-operations.d.ts +104 -0
- package/dist/esm/telegram-operations.js +351 -0
- package/dist/esm/telegram-toolkit.d.ts +52 -0
- package/dist/esm/telegram-toolkit.js +183 -0
- package/dist/esm/types.d.ts +149 -0
- package/dist/esm/types.js +8 -0
- package/dist/esm/ui.d.ts +13 -0
- package/dist/esm/ui.js +152 -0
- package/dist/esm/whatsapp-operations.d.ts +23 -0
- package/dist/esm/whatsapp-operations.js +36 -0
- package/dist/index.d.ts +68 -66
- package/dist/index.js +193 -187
- package/dist/openrouter.d.ts +1 -1
- package/dist/registry.d.ts +4 -4
- package/dist/registry.js +540 -210
- package/dist/sheets-toolkit.d.ts +1 -1
- package/dist/slack-operations.d.ts +1 -1
- package/dist/slack-operations.js +4 -4
- package/dist/slack-toolkit.d.ts +1 -1
- package/dist/slack-toolkit.js +3 -3
- package/dist/telegram-toolkit.d.ts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +2 -0
- 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;
|