@hostwebhook/node-types 1.52.18 → 1.53.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/connections.js +2 -2
- package/dist/dispatch.js +1 -1
- package/dist/docs-operations.d.ts +14 -7
- package/dist/docs-operations.js +14 -7
- package/dist/gmail-operations.d.ts +1 -1
- package/dist/gmail-operations.js +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.js +4 -4
- package/dist/telegram-operations.js +1 -1
- package/dist/telegram-toolkit.js +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/ui.js +2 -2
- package/package.json +1 -1
package/dist/connections.js
CHANGED
|
@@ -22,7 +22,7 @@ const PROCESSING_OUTPUTS = [
|
|
|
22
22
|
];
|
|
23
23
|
/** Standard processing input sources */
|
|
24
24
|
const STANDARD_INPUTS = [
|
|
25
|
-
'webhook', 'scheduledWorkflow', '
|
|
25
|
+
'webhook', 'scheduledWorkflow', 'trigger', 'voiceAgent', 'router', 'filter', 'transform',
|
|
26
26
|
'cache', 'code', 'rateLimiter', 'aggregator', 'conditional', 'delay', 'schemaValidator', 'split', 'loop', 'markdown', 'fileTransform', 'limit',
|
|
27
27
|
];
|
|
28
28
|
/** Action nodes that can chain (non-terminal) */
|
|
@@ -34,7 +34,7 @@ exports.NODE_CONNECTIONS = {
|
|
|
34
34
|
webhook: { acceptsInputFrom: [], canOutputTo: PROCESSING_OUTPUTS },
|
|
35
35
|
scheduledWorkflow: { acceptsInputFrom: [], canOutputTo: PROCESSING_OUTPUTS },
|
|
36
36
|
chatTrigger: { acceptsInputFrom: [], canOutputTo: PROCESSING_OUTPUTS },
|
|
37
|
-
|
|
37
|
+
trigger: { acceptsInputFrom: [], canOutputTo: PROCESSING_OUTPUTS },
|
|
38
38
|
voiceAgent: { acceptsInputFrom: [], canOutputTo: PROCESSING_OUTPUTS },
|
|
39
39
|
// ── Pipeline processing nodes ──
|
|
40
40
|
filter: { acceptsInputFrom: STANDARD_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
package/dist/dispatch.js
CHANGED
|
@@ -59,7 +59,7 @@ exports.NODE_DISPATCH = {
|
|
|
59
59
|
webhook: { service: 'webhooksService', collection: 'webhooks', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true, pipelineDispatch: 'excluded' },
|
|
60
60
|
scheduledWorkflow: { service: 'scheduledWorkflowsService', collection: 'scheduledworkflows', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true, pipelineDispatch: 'excluded' },
|
|
61
61
|
chatTrigger: { service: 'chatTriggersService', collection: 'chattriggers', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true, pipelineDispatch: 'excluded' },
|
|
62
|
-
|
|
62
|
+
trigger: { service: 'triggersService', collection: 'triggers', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true, pipelineDispatch: 'excluded' },
|
|
63
63
|
voiceAgent: { service: 'voiceAgentsService', collection: 'voiceagents', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true, pipelineDispatch: 'excluded' },
|
|
64
64
|
// ── Annotation — never executed in pipeline ──
|
|
65
65
|
stickyNote: { service: 'stickyNotesService', collection: 'stickynotes', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true, pipelineDispatch: 'excluded' },
|
|
@@ -15,17 +15,24 @@
|
|
|
15
15
|
* ejecutor lee `entity.documentId`, `entity.contentTemplate`… con esos mismos
|
|
16
16
|
* nombres.
|
|
17
17
|
*
|
|
18
|
-
* ──
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* ── El orden de pantalla, y por qué cambió ──
|
|
19
|
+
* Hoy es el mismo que en Sheets, Drive, Telegram, Mongo y Postgres — primero
|
|
20
|
+
* qué hacer, luego sobre qué:
|
|
21
21
|
*
|
|
22
|
-
* DocumentPicker + pegar ID (o el título, si es createDoc)
|
|
23
22
|
* ── selector de operación ──
|
|
23
|
+
* DocumentPicker + pegar ID (o el título, si es createDoc)
|
|
24
24
|
* Content / Search+Replace / Rows+Columns
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* Estuvo al revés, con el desplegable EN MEDIO y el razonamiento «qué documento
|
|
27
|
+
* → qué hacer → con qué», y este comentario decía que un refactor no debía
|
|
28
|
+
* tocarlo. Se cambió a propósito el 2026-08-12 (dashboard#128) por dos motivos:
|
|
29
|
+
* la operación es la que decide QUÉ CAMPOS aparecen —`createDoc` ni siquiera
|
|
30
|
+
* pide documento, pide título—, y ser el único nodo con otro orden es una
|
|
31
|
+
* sorpresa por nodo.
|
|
32
|
+
*
|
|
33
|
+
* Los `slot` siguen haciendo falta: separan la identidad del documento de los
|
|
34
|
+
* campos de la operación, aunque ahora las dos vayan debajo del selector. Un
|
|
35
|
+
* bucle único ordenaría por el array de params y no por ese criterio.
|
|
29
36
|
*/
|
|
30
37
|
export declare const DOCS_OPERATIONS: readonly ["readDoc", "createDoc", "appendText", "replaceText", "insertTable"];
|
|
31
38
|
export type DocsOperation = (typeof DOCS_OPERATIONS)[number];
|
package/dist/docs-operations.js
CHANGED
|
@@ -16,17 +16,24 @@
|
|
|
16
16
|
* ejecutor lee `entity.documentId`, `entity.contentTemplate`… con esos mismos
|
|
17
17
|
* nombres.
|
|
18
18
|
*
|
|
19
|
-
* ──
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* ── El orden de pantalla, y por qué cambió ──
|
|
20
|
+
* Hoy es el mismo que en Sheets, Drive, Telegram, Mongo y Postgres — primero
|
|
21
|
+
* qué hacer, luego sobre qué:
|
|
22
22
|
*
|
|
23
|
-
* DocumentPicker + pegar ID (o el título, si es createDoc)
|
|
24
23
|
* ── selector de operación ──
|
|
24
|
+
* DocumentPicker + pegar ID (o el título, si es createDoc)
|
|
25
25
|
* Content / Search+Replace / Rows+Columns
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
27
|
+
* Estuvo al revés, con el desplegable EN MEDIO y el razonamiento «qué documento
|
|
28
|
+
* → qué hacer → con qué», y este comentario decía que un refactor no debía
|
|
29
|
+
* tocarlo. Se cambió a propósito el 2026-08-12 (dashboard#128) por dos motivos:
|
|
30
|
+
* la operación es la que decide QUÉ CAMPOS aparecen —`createDoc` ni siquiera
|
|
31
|
+
* pide documento, pide título—, y ser el único nodo con otro orden es una
|
|
32
|
+
* sorpresa por nodo.
|
|
33
|
+
*
|
|
34
|
+
* Los `slot` siguen haciendo falta: separan la identidad del documento de los
|
|
35
|
+
* campos de la operación, aunque ahora las dos vayan debajo del selector. Un
|
|
36
|
+
* bucle único ordenaría por el array de params y no por ese criterio.
|
|
30
37
|
*/
|
|
31
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
39
|
exports.DOCS_OPERATION_SPECS = exports.DOCS_OPERATIONS = void 0;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* - emailAction entity / DTO (api): operation field + validation
|
|
5
5
|
* - dashboard EmailActionGmailOperation type
|
|
6
6
|
* - broker hostwebhook types + tool schemas
|
|
7
|
-
* -
|
|
7
|
+
* - trigger / future Gmail-related nodes
|
|
8
8
|
*
|
|
9
9
|
* Adding a new Gmail operation = add it here, bump this package's
|
|
10
10
|
* version, publish to npm, and re-install in the consuming repos.
|
package/dist/gmail-operations.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.resolveGmailSendFields = resolveGmailSendFields;
|
|
|
9
9
|
* - emailAction entity / DTO (api): operation field + validation
|
|
10
10
|
* - dashboard EmailActionGmailOperation type
|
|
11
11
|
* - broker hostwebhook types + tool schemas
|
|
12
|
-
* -
|
|
12
|
+
* - trigger / future Gmail-related nodes
|
|
13
13
|
*
|
|
14
14
|
* Adding a new Gmail operation = add it here, bump this package's
|
|
15
15
|
* version, publish to npm, and re-install in the consuming repos.
|
package/dist/registry.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export interface NodeRegistryEntry {
|
|
|
36
36
|
*
|
|
37
37
|
* Lets new toolkit-style nodes opt-in without per-component hardcoding
|
|
38
38
|
* in the dashboard. Currently only emailAction(aiEnabled=true) uses
|
|
39
|
-
* this;
|
|
39
|
+
* this; trigger or future Slack/Discord toolkits could too.
|
|
40
40
|
*
|
|
41
41
|
* Predicate must be pure (no side effects) — called on every render.
|
|
42
42
|
*/
|
package/dist/registry.js
CHANGED
|
@@ -29,10 +29,10 @@ exports.NODE_REGISTRY = {
|
|
|
29
29
|
stateKey: 'chatTriggers', allStateKey: 'allChatTriggers',
|
|
30
30
|
color: '#06b6d4', testable: false,
|
|
31
31
|
},
|
|
32
|
-
|
|
33
|
-
type: '
|
|
34
|
-
group: 'Sources', detailPath: '/dashboard/
|
|
35
|
-
stateKey: '
|
|
32
|
+
trigger: {
|
|
33
|
+
type: 'trigger', prefix: 'trg', label: 'Trigger',
|
|
34
|
+
group: 'Sources', detailPath: '/dashboard/triggers', apiPath: '/triggers',
|
|
35
|
+
stateKey: 'triggers', allStateKey: 'allTriggers',
|
|
36
36
|
color: '#ef4444', testable: false,
|
|
37
37
|
},
|
|
38
38
|
voiceAgent: {
|
|
@@ -26,7 +26,7 @@ exports.TELEGRAM_OPERATIONS = [
|
|
|
26
26
|
// tap one. When `allowFreeText` is on, a text reply in the same chat
|
|
27
27
|
// also resolves the wait. Backed by the same shared PendingApproval +
|
|
28
28
|
// send-and-wait infra emailAction uses, with a Telegram-specific
|
|
29
|
-
// resume path through
|
|
29
|
+
// resume path through triggers.processTelegramPush (intercepts
|
|
30
30
|
// callback_query.data === "swat:{token}:a|r" before normal dispatch).
|
|
31
31
|
// Output of the node carries `payload._waitResponse = { approved,
|
|
32
32
|
// decidedAt, ipAddress, comment?, responseText?, timedOut? }` for
|
package/dist/telegram-toolkit.js
CHANGED
|
@@ -29,7 +29,7 @@ const p = (name, description, required = true, type = 'string') => ({ name, type
|
|
|
29
29
|
* y por la vía de una herramienta no espera — el modelo recibe algo inmediato y
|
|
30
30
|
* acaba diciendo que ya se aprobó. Se usa en modo single-op, con un Conditional
|
|
31
31
|
* detrás leyendo `_waitResponse.approved`. La espera se resuelve por
|
|
32
|
-
* `
|
|
32
|
+
* `triggers.processTelegramPush`, donde el LLM no participa.
|
|
33
33
|
*
|
|
34
34
|
* Ninguna lleva `destructive`. `delete_telegram_message` lo merecería —el
|
|
35
35
|
* toolkit de Drive marca sus borrados— pero hoy la spec de Telegram no tiene ese
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** All valid node type identifiers */
|
|
2
|
-
export type NodeType = 'webhook' | 'scheduledWorkflow' | 'chatTrigger' | '
|
|
2
|
+
export type NodeType = 'webhook' | 'scheduledWorkflow' | 'chatTrigger' | 'trigger' | 'voiceAgent' | 'filter' | 'transform' | 'schemaValidator' | 'conditional' | 'delay' | 'rateLimiter' | 'aggregator' | 'cache' | 'code' | 'ai' | 'merge' | 'approval' | 'split' | 'loop' | 'markdown' | 'fileTransform' | 'limit' | 'router' | 'emailAction' | 'httpAction' | 'mongoAction' | 'postgresAction' | 'notificationAction' | 'sheetsAction' | 'calendarAction' | 'docsAction' | 'driveAction' | 'firecrawlAction' | 'telegramAction' | 'whatsappAction' | 'discordAction' | 'slackAction' | 'googleContactsAction' | 'vectorStore' | 'rssAction' | 'socialMediaAction' | 'stickyNote';
|
|
3
3
|
/** Node role in the pipeline */
|
|
4
4
|
export type NodeRole = 'source' | 'processing' | 'flowControl' | 'routing' | 'action' | 'monitoring';
|
|
5
5
|
/** Handle positions on the canvas node */
|
|
@@ -113,7 +113,7 @@ export interface NodeUIConfig {
|
|
|
113
113
|
* nodes (email/http/mongo/notification/sheets/calendar/docs/
|
|
114
114
|
* firecrawl) are fired post-delivery in onDeliveryResult with
|
|
115
115
|
* their own loops; ingress nodes (webhook/scheduledWorkflow/
|
|
116
|
-
* chatTrigger/
|
|
116
|
+
* chatTrigger/trigger) start the flow themselves;
|
|
117
117
|
* stickyNote is purely visual.
|
|
118
118
|
*/
|
|
119
119
|
export type PipelineDispatchKind = 'generic' | 'custom' | 'excluded';
|
package/dist/ui.js
CHANGED
|
@@ -11,7 +11,7 @@ exports.NODE_UI = {
|
|
|
11
11
|
webhook: { fromNodes: true, toNodes: true, isSource: true },
|
|
12
12
|
scheduledWorkflow: { fromNodes: false, toNodes: true, isSource: true, outputHandles: ['right', 'bottom'], dotHandles: { output: ['right-out', 'bottom-out'] } },
|
|
13
13
|
chatTrigger: { fromNodes: false, toNodes: true, isSource: true, outputHandles: ['right'], dotHandles: { output: ['right-out'] } },
|
|
14
|
-
|
|
14
|
+
trigger: { fromNodes: false, toNodes: true, isSource: true, outputHandles: ['right', 'bottom'], dotHandles: { output: ['right-out', 'bottom-out'] } },
|
|
15
15
|
// Voice Agent: dynamicOutputs=true tells NodeShell to derive ONE
|
|
16
16
|
// output handle per non-disabled `entity.tools[i].name`. The
|
|
17
17
|
// `right-out` fallback handle is rendered when the agent has zero
|
|
@@ -75,7 +75,7 @@ exports.PREFIX_TO_TYPE = [
|
|
|
75
75
|
{ prefix: 'wh-', type: 'webhook', canvasType: 'webhook' },
|
|
76
76
|
{ prefix: 'swf-', type: 'scheduledWorkflow', canvasType: 'scheduledWorkflow' },
|
|
77
77
|
{ prefix: 'chat-', type: 'chatTrigger', canvasType: 'chatTrigger' },
|
|
78
|
-
{ prefix: '
|
|
78
|
+
{ prefix: 'trg-', type: 'trigger', canvasType: 'trigger' },
|
|
79
79
|
{ prefix: 'va-', type: 'voiceAgent', canvasType: 'voiceAgent' },
|
|
80
80
|
{ prefix: 'ea-', type: 'emailAction', canvasType: 'emailAction' },
|
|
81
81
|
{ prefix: 'tg-', type: 'telegramAction', canvasType: 'telegramAction' },
|
package/package.json
CHANGED