@hostwebhook/node-types 1.10.13 → 1.10.15
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 +5 -4
- package/dist/dispatch.js +1 -0
- package/dist/registry.js +7 -1
- package/dist/types.d.ts +1 -1
- package/dist/ui.js +2 -0
- package/package.json +1 -1
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',
|
|
21
|
-
'emailAction', 'httpAction', 'mongoAction', 'notificationAction', 'sheetsAction', 'loop',
|
|
21
|
+
'emailAction', 'httpAction', 'mongoAction', 'notificationAction', 'sheetsAction', 'calendarAction', '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',
|
|
27
27
|
];
|
|
28
28
|
/** Action nodes that can chain (non-terminal) */
|
|
29
|
-
const CHAINABLE_ACTIONS = ['httpAction', 'mongoAction', 'sheetsAction'];
|
|
29
|
+
const CHAINABLE_ACTIONS = ['httpAction', 'mongoAction', 'sheetsAction', 'calendarAction'];
|
|
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 = {
|
|
@@ -47,16 +47,17 @@ exports.NODE_CONNECTIONS = {
|
|
|
47
47
|
// ── Flow control nodes ──
|
|
48
48
|
split: { acceptsInputFrom: STANDARD_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
49
49
|
merge: { acceptsInputFrom: ['endpoint', 'filter', 'transform', 'cache', 'rateLimiter', 'aggregator', 'conditional', 'delay', 'schemaValidator', 'split'], canOutputTo: PROCESSING_OUTPUTS },
|
|
50
|
-
approval: { acceptsInputFrom: ['endpoint', 'filter', 'transform'], canOutputTo: ['endpoint', 'filter', 'transform', 'emailAction', 'httpAction', 'mongoAction', 'notificationAction', 'sheetsAction'], special: { hasRejectionOutputNodes: true } },
|
|
50
|
+
approval: { acceptsInputFrom: ['endpoint', 'filter', 'transform'], canOutputTo: ['endpoint', 'filter', 'transform', 'emailAction', 'httpAction', 'mongoAction', 'notificationAction', 'sheetsAction', 'calendarAction'], special: { hasRejectionOutputNodes: true } },
|
|
51
51
|
loop: { acceptsInputFrom: STANDARD_INPUTS, canOutputTo: PROCESSING_OUTPUTS, special: { hasLoopBack: true } },
|
|
52
52
|
// ── Routing nodes ──
|
|
53
|
-
router: { acceptsInputFrom: ['endpoint', 'scheduledWebhook', 'filter', 'transform'], canOutputTo: ['endpoint', 'notificationAction', 'filter', 'transform', 'emailAction', 'httpAction', 'mongoAction', 'sheetsAction'] },
|
|
53
|
+
router: { acceptsInputFrom: ['endpoint', 'scheduledWebhook', 'filter', 'transform'], canOutputTo: ['endpoint', 'notificationAction', 'filter', 'transform', 'emailAction', 'httpAction', 'mongoAction', 'sheetsAction', 'calendarAction'] },
|
|
54
54
|
// ── Action nodes ──
|
|
55
55
|
emailAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: [], special: { isTerminal: true } },
|
|
56
56
|
httpAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
57
57
|
mongoAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
58
58
|
notificationAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: [], special: { isTerminal: true } },
|
|
59
59
|
sheetsAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
60
|
+
calendarAction: { acceptsInputFrom: ACTION_INPUTS, canOutputTo: PROCESSING_OUTPUTS },
|
|
60
61
|
// ── Monitoring ──
|
|
61
62
|
alert: { acceptsInputFrom: ['endpoint', 'scheduledWebhook'], canOutputTo: [], special: { isTerminal: true } },
|
|
62
63
|
// ── Annotations (visual only, no pipeline processing) ──
|
package/dist/dispatch.js
CHANGED
|
@@ -32,6 +32,7 @@ exports.NODE_DISPATCH = {
|
|
|
32
32
|
mongoAction: { service: 'mongoActionsService', collection: 'mongoactions', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
33
33
|
notificationAction: { service: 'notificationActionsService', collection: 'notificationactions', hasFilters: true, outputFields: [], customDispatch: true },
|
|
34
34
|
sheetsAction: { service: 'sheetsActionsService', collection: 'sheetsactions', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
35
|
+
calendarAction: { service: 'calendarActionsService', collection: 'calendaractions', hasFilters: true, outputFields: ['outputNodes'], customDispatch: true },
|
|
35
36
|
// ── Source + monitoring ──
|
|
36
37
|
alert: { service: 'alertService', collection: 'alerts', hasFilters: false, outputFields: [], customDispatch: true },
|
|
37
38
|
endpoint: { service: 'endpointsService', collection: 'endpoints', hasFilters: false, outputFields: ['outputNodes'], customDispatch: true },
|
package/dist/registry.js
CHANGED
|
@@ -100,7 +100,7 @@ exports.NODE_REGISTRY = {
|
|
|
100
100
|
type: 'approval', prefix: 'appr', label: 'Approval',
|
|
101
101
|
group: 'Flow Control', detailPath: '/dashboard/approval-nodes', apiPath: '/approval-nodes',
|
|
102
102
|
stateKey: 'approvalNodes', allStateKey: 'allApprovalNodes',
|
|
103
|
-
color: '#94a3b8', testable:
|
|
103
|
+
color: '#94a3b8', testable: true,
|
|
104
104
|
},
|
|
105
105
|
loop: {
|
|
106
106
|
type: 'loop', prefix: 'loop', label: 'Loop',
|
|
@@ -146,6 +146,12 @@ exports.NODE_REGISTRY = {
|
|
|
146
146
|
stateKey: 'sheetsActions', allStateKey: 'allSheetsActions',
|
|
147
147
|
color: '#34d399', testable: true,
|
|
148
148
|
},
|
|
149
|
+
calendarAction: {
|
|
150
|
+
type: 'calendarAction', prefix: 'cal', label: 'Google Calendar Action',
|
|
151
|
+
group: 'Actions', detailPath: '/dashboard/calendar-actions', apiPath: '/calendar-actions',
|
|
152
|
+
stateKey: 'calendarActions', allStateKey: 'allCalendarActions',
|
|
153
|
+
color: '#60a5fa', testable: true,
|
|
154
|
+
},
|
|
149
155
|
// ── Monitoring ──
|
|
150
156
|
alert: {
|
|
151
157
|
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' | 'filter' | 'transform' | 'schemaValidator' | 'conditional' | 'delay' | 'rateLimiter' | 'aggregator' | 'cache' | 'code' | 'ai' | 'merge' | 'approval' | 'split' | 'loop' | 'router' | 'emailAction' | 'httpAction' | 'mongoAction' | 'notificationAction' | 'sheetsAction' | 'alert' | 'stickyNote';
|
|
2
|
+
export type NodeType = 'endpoint' | 'scheduledWebhook' | 'filter' | 'transform' | 'schemaValidator' | 'conditional' | 'delay' | 'rateLimiter' | 'aggregator' | 'cache' | 'code' | 'ai' | 'merge' | 'approval' | 'split' | 'loop' | 'router' | 'emailAction' | 'httpAction' | 'mongoAction' | 'notificationAction' | 'sheetsAction' | 'calendarAction' | '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
|
@@ -34,6 +34,7 @@ exports.NODE_UI = {
|
|
|
34
34
|
mongoAction: { fromNodes: true, toNodes: true, inputHandles: ['left'], dotHandles: { input: ['left-in'], output: ['right-out'] }, special: { loopBackAllowed: true } },
|
|
35
35
|
notificationAction: { fromNodes: true, toNodes: false, inputHandles: ['left', 'top'], dotHandles: { input: ['left-in', 'top-in'] }, special: { isTerminal: true, routerTargetLabel: 'notification' } },
|
|
36
36
|
sheetsAction: { fromNodes: true, toNodes: true, inputHandles: ['left'], dotHandles: { input: ['left-in'], output: ['right-out'] }, special: { loopBackAllowed: true } },
|
|
37
|
+
calendarAction: { fromNodes: true, toNodes: true, inputHandles: ['left'], dotHandles: { input: ['left-in'], output: ['right-out'] }, special: { loopBackAllowed: true } },
|
|
37
38
|
// ── Monitoring ──
|
|
38
39
|
alert: { fromNodes: true, toNodes: false, inputHandles: ['bottom'], special: { isTerminal: true } },
|
|
39
40
|
// ── Annotations ──
|
|
@@ -54,6 +55,7 @@ exports.PREFIX_TO_TYPE = [
|
|
|
54
55
|
{ prefix: 'sv-', type: 'schemaValidator', canvasType: 'schema-validator' },
|
|
55
56
|
{ prefix: 'delay-', type: 'delay', canvasType: 'delay-node' },
|
|
56
57
|
{ prefix: 'sheet-', type: 'sheetsAction', canvasType: 'sheets-action' },
|
|
58
|
+
{ prefix: 'cal-', type: 'calendarAction', canvasType: 'calendarAction' },
|
|
57
59
|
{ prefix: 'appr-', type: 'approval', canvasType: 'approval-node' },
|
|
58
60
|
{ prefix: 'merge-', type: 'merge', canvasType: 'merge' },
|
|
59
61
|
{ prefix: 'cond-', type: 'conditional', canvasType: 'conditional' },
|
package/package.json
CHANGED