@hostwebhook/node-types 1.18.0 → 1.20.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/calendar-operations.d.ts +1 -1
- package/dist/calendar-operations.js +13 -0
- package/dist/connections.js +3 -2
- package/dist/dispatch.js +1 -0
- package/dist/registry.js +6 -0
- package/dist/types.d.ts +1 -1
- package/dist/ui.js +2 -0
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* dashboard owns the UI form schema, the api owns the dispatch logic),
|
|
13
13
|
* but the canonical list of valid operation strings lives here.
|
|
14
14
|
*/
|
|
15
|
-
export declare const GOOGLE_CALENDAR_OPERATIONS: readonly ["createEvent", "updateEvent", "deleteEvent", "listEvents", "getEvent"];
|
|
15
|
+
export declare const GOOGLE_CALENDAR_OPERATIONS: readonly ["createEvent", "updateEvent", "deleteEvent", "listEvents", "getEvent", "listCalendars", "findFreeSlots", "proposeEvent", "confirmEvent"];
|
|
16
16
|
export type GoogleCalendarOperation = (typeof GOOGLE_CALENDAR_OPERATIONS)[number];
|
|
17
17
|
/** Type guard — useful when validating untrusted input (DTOs, tool calls). */
|
|
18
18
|
export declare function isGoogleCalendarOperation(value: unknown): value is GoogleCalendarOperation;
|
|
@@ -22,6 +22,19 @@ exports.GOOGLE_CALENDAR_OPERATIONS = [
|
|
|
22
22
|
'deleteEvent',
|
|
23
23
|
'listEvents',
|
|
24
24
|
'getEvent',
|
|
25
|
+
/** List all calendars the user can write to. Lets the LLM discover
|
|
26
|
+
* ids before passing `calendarId` to other ops. */
|
|
27
|
+
'listCalendars',
|
|
28
|
+
/** freebusy.query — returns free windows in a date range. Optionally
|
|
29
|
+
* combine across attendees to find common availability. */
|
|
30
|
+
'findFreeSlots',
|
|
31
|
+
/** Create a tentative event (status: tentative, no invites sent). The
|
|
32
|
+
* user sees it greyed out in their calendar; LLM follows up with
|
|
33
|
+
* confirmEvent to promote. Mirrors emailAction's createDraft → sendDraft. */
|
|
34
|
+
'proposeEvent',
|
|
35
|
+
/** Promote a tentative event to confirmed + send invites. Mirrors
|
|
36
|
+
* emailAction's sendDraft. */
|
|
37
|
+
'confirmEvent',
|
|
25
38
|
];
|
|
26
39
|
/** Type guard — useful when validating untrusted input (DTOs, tool calls). */
|
|
27
40
|
function isGoogleCalendarOperation(value) {
|
package/dist/connections.js
CHANGED
|
@@ -18,7 +18,7 @@ exports.isNodeType = isNodeType;
|
|
|
18
18
|
const PROCESSING_OUTPUTS = [
|
|
19
19
|
'endpoint', 'router', 'filter', 'transform', 'cache', 'code', 'rateLimiter',
|
|
20
20
|
'aggregator', 'conditional', 'delay', 'schemaValidator', 'split', 'markdown', 'fileTransform',
|
|
21
|
-
'emailAction', 'httpAction', 'mongoAction', 'notificationAction', 'sheetsAction', 'calendarAction', 'docsAction', 'firecrawlAction', 'loop',
|
|
21
|
+
'emailAction', 'httpAction', 'mongoAction', 'notificationAction', 'sheetsAction', 'calendarAction', 'docsAction', 'firecrawlAction', 'vectorStore', 'loop',
|
|
22
22
|
];
|
|
23
23
|
/** Standard processing input sources */
|
|
24
24
|
const STANDARD_INPUTS = [
|
|
@@ -26,7 +26,7 @@ const STANDARD_INPUTS = [
|
|
|
26
26
|
'cache', 'code', 'rateLimiter', 'aggregator', 'conditional', 'delay', 'schemaValidator', 'split', 'loop', 'markdown', 'fileTransform',
|
|
27
27
|
];
|
|
28
28
|
/** Action nodes that can chain (non-terminal) */
|
|
29
|
-
const CHAINABLE_ACTIONS = ['httpAction', 'mongoAction', 'sheetsAction', 'calendarAction', 'docsAction', 'firecrawlAction'];
|
|
29
|
+
const CHAINABLE_ACTIONS = ['httpAction', 'mongoAction', 'sheetsAction', 'calendarAction', 'docsAction', 'firecrawlAction', 'vectorStore'];
|
|
30
30
|
/** Full input list for action nodes (standard + chainable actions) */
|
|
31
31
|
const ACTION_INPUTS = [...STANDARD_INPUTS, ...CHAINABLE_ACTIONS];
|
|
32
32
|
exports.NODE_CONNECTIONS = {
|
|
@@ -62,6 +62,7 @@ exports.NODE_CONNECTIONS = {
|
|
|
62
62
|
calendarAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
63
63
|
docsAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
64
64
|
firecrawlAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
65
|
+
vectorStore: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
65
66
|
// ── Processing (transform-like) ──
|
|
66
67
|
markdown: { acceptsInputFrom: STANDARD_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
67
68
|
fileTransform: { acceptsInputFrom: STANDARD_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
package/dist/dispatch.js
CHANGED
|
@@ -35,6 +35,7 @@ exports.NODE_DISPATCH = {
|
|
|
35
35
|
calendarAction: { service: 'calendarActionsService', collection: 'calendaractions', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
36
36
|
docsAction: { service: 'docsActionsService', collection: 'docsactions', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
37
37
|
firecrawlAction: { service: 'firecrawlActionsService', collection: 'firecrawlactions', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
38
|
+
vectorStore: { service: 'vectorStoreNodesService', collection: 'vectorstorenodes', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
38
39
|
markdown: { service: 'markdownNodesService', collection: 'markdownnodes', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true },
|
|
39
40
|
fileTransform: { service: 'fileTransformNodesService', collection: 'filetransformnodes', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
40
41
|
// ── Source + monitoring ──
|
package/dist/registry.js
CHANGED
|
@@ -195,6 +195,12 @@ exports.NODE_REGISTRY = {
|
|
|
195
195
|
stateKey: 'firecrawlActions', allStateKey: 'allFirecrawlActions',
|
|
196
196
|
color: '#f97316', testable: true,
|
|
197
197
|
},
|
|
198
|
+
vectorStore: {
|
|
199
|
+
type: 'vectorStore', prefix: 'vs', label: 'Vector Store',
|
|
200
|
+
group: 'Actions', detailPath: '/dashboard/vector-store-nodes', apiPath: '/vector-store-nodes',
|
|
201
|
+
stateKey: 'vectorStoreNodes', allStateKey: 'allVectorStoreNodes',
|
|
202
|
+
color: '#06b6d4', testable: true,
|
|
203
|
+
},
|
|
198
204
|
// ── Monitoring ──
|
|
199
205
|
alert: {
|
|
200
206
|
type: 'alert', prefix: 'al', label: 'Alert',
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** All valid node type identifiers */
|
|
2
|
-
export type NodeType = 'endpoint' | 'scheduledWebhook' | 'chatTrigger' | 'serviceTrigger' | 'filter' | 'transform' | 'schemaValidator' | 'conditional' | 'delay' | 'rateLimiter' | 'aggregator' | 'cache' | 'code' | 'ai' | 'merge' | 'approval' | 'split' | 'loop' | 'markdown' | 'fileTransform' | 'router' | 'emailAction' | 'httpAction' | 'mongoAction' | 'notificationAction' | 'sheetsAction' | 'calendarAction' | 'docsAction' | 'firecrawlAction' | 'alert' | 'stickyNote';
|
|
2
|
+
export type NodeType = 'endpoint' | 'scheduledWebhook' | 'chatTrigger' | 'serviceTrigger' | 'filter' | 'transform' | 'schemaValidator' | 'conditional' | 'delay' | 'rateLimiter' | 'aggregator' | 'cache' | 'code' | 'ai' | 'merge' | 'approval' | 'split' | 'loop' | 'markdown' | 'fileTransform' | 'router' | 'emailAction' | 'httpAction' | 'mongoAction' | 'notificationAction' | 'sheetsAction' | 'calendarAction' | 'docsAction' | 'firecrawlAction' | 'vectorStore' | 'alert' | '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 */
|
package/dist/ui.js
CHANGED
|
@@ -41,6 +41,7 @@ exports.NODE_UI = {
|
|
|
41
41
|
calendarAction: { fromNodes: true, toNodes: true, inputHandles: ['left'], dotHandles: { input: ['left-in'], output: ['right-out'] }, special: { loopBackAllowed: true } },
|
|
42
42
|
docsAction: { fromNodes: true, toNodes: true, inputHandles: ['left'], dotHandles: { input: ['left-in'], output: ['right-out'] }, special: { loopBackAllowed: true } },
|
|
43
43
|
firecrawlAction: { fromNodes: true, toNodes: true, inputHandles: ['left'], dotHandles: { input: ['left-in'], output: ['right-out'] }, special: { loopBackAllowed: true } },
|
|
44
|
+
vectorStore: { fromNodes: true, toNodes: true, inputHandles: ['left'], dotHandles: { input: ['left-in'], output: ['right-out'] }, special: { loopBackAllowed: true } },
|
|
44
45
|
// ── Monitoring ──
|
|
45
46
|
alert: { fromNodes: true, toNodes: false, inputHandles: ['bottom'], special: { isTerminal: true } },
|
|
46
47
|
// ── Annotations ──
|
|
@@ -78,6 +79,7 @@ exports.PREFIX_TO_TYPE = [
|
|
|
78
79
|
{ prefix: 'ft-', type: 'fileTransform', canvasType: 'fileTransform' },
|
|
79
80
|
{ prefix: 'doc-', type: 'docsAction', canvasType: 'docsAction' },
|
|
80
81
|
{ prefix: 'fc-', type: 'firecrawlAction', canvasType: 'firecrawlAction' },
|
|
82
|
+
{ prefix: 'vs-', type: 'vectorStore', canvasType: 'vectorStore' },
|
|
81
83
|
{ prefix: 'note-', type: 'stickyNote', canvasType: 'stickyNote' },
|
|
82
84
|
];
|
|
83
85
|
/** Resolve canvas node ID to { type, entityId } */
|
package/package.json
CHANGED