@teleporthq/teleport-plugin-next-workflows 0.43.37 → 0.43.39
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/__tests__/global-workflows-handler-map-integrity.test.ts +15 -2
- package/__tests__/resolve-handler-entry-name.test.ts +130 -0
- package/dist/cjs/api-route-generator.d.ts.map +1 -1
- package/dist/cjs/api-route-generator.js +73 -47
- package/dist/cjs/api-route-generator.js.map +1 -1
- package/dist/cjs/nodes/types.d.ts +1 -0
- package/dist/cjs/nodes/types.d.ts.map +1 -1
- package/dist/cjs/nodes/types.js +81 -1
- package/dist/cjs/nodes/types.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/workflow-project-plugin.d.ts +0 -1
- package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-project-plugin.js +26 -31
- package/dist/cjs/workflow-project-plugin.js.map +1 -1
- package/dist/esm/api-route-generator.d.ts.map +1 -1
- package/dist/esm/api-route-generator.js +73 -47
- package/dist/esm/api-route-generator.js.map +1 -1
- package/dist/esm/nodes/types.d.ts +1 -0
- package/dist/esm/nodes/types.d.ts.map +1 -1
- package/dist/esm/nodes/types.js +79 -0
- package/dist/esm/nodes/types.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/workflow-project-plugin.d.ts +0 -1
- package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-project-plugin.js +26 -31
- package/dist/esm/workflow-project-plugin.js.map +1 -1
- package/package.json +2 -2
- package/src/api-route-generator.ts +85 -64
- package/src/nodes/types.ts +83 -0
- package/src/workflow-project-plugin.ts +26 -36
|
@@ -4,6 +4,7 @@ import { generateServerSegmentAPIRoute, generateStreamingServerSegmentAPIRoute,
|
|
|
4
4
|
import { collectSecrets, collectSecretReferenceEnvNames } from './secret-collector';
|
|
5
5
|
import { collectUsedNodeTypes, projectUsesRealtime, collectUsedRealtimeActionTypes, } from './graph-utils';
|
|
6
6
|
import { nodeRegistry } from './nodes';
|
|
7
|
+
import { resolveHandlerEntryName } from './nodes/types';
|
|
7
8
|
import { generateClientRuntimeCode, generateServerRuntimeCode, generateSharedRuntimeUtilsCode, } from './executor-generator';
|
|
8
9
|
import { generateRealtimeServerHelperCode, generateRealtimeClientCode, generateRealtimeTokenRoute, generateRealtimeJoinRoute, generateRealtimeLeaveRoute, generateRealtimeMessageRoute, generateRealtimeEventRoute, generateRealtimeChannelsListRoute, generateRealtimeChannelsMembersRoute, } from './realtime-generator';
|
|
9
10
|
import { generateAuthOptionsFile, generateHashPasswordFile, generateNextAuthRouteFile, generateSignupRouteFile, generateMiddlewareFile, generateSessionProviderWrapper, getDatabaseDriverDependencies, } from './auth-generator';
|
|
@@ -778,7 +779,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
778
779
|
const entries = exportNames
|
|
779
780
|
.map((t, index) => {
|
|
780
781
|
const source = handlers[index].trim();
|
|
781
|
-
const entryFn =
|
|
782
|
+
const entryFn = resolveHandlerEntryName(source, t);
|
|
782
783
|
return ` '${t}': (function () {\n${source}\nreturn ${entryFn};\n})()`;
|
|
783
784
|
})
|
|
784
785
|
.join(',\n');
|
|
@@ -789,33 +790,6 @@ ${entries}
|
|
|
789
790
|
};
|
|
790
791
|
`;
|
|
791
792
|
}
|
|
792
|
-
// Resolves the name a handler's entry function is ACTUALLY declared with in
|
|
793
|
-
// `source`, rather than assuming it always equals the
|
|
794
|
-
// `nodeType.replace(/-/g, '_')` convention name (see the comment above
|
|
795
|
-
// `generateNodeHandlerFile`'s `entries` for why that assumption can break
|
|
796
|
-
// under minification).
|
|
797
|
-
//
|
|
798
|
-
// Handlers composed from string-literal templates (not `fn.toString()`) are
|
|
799
|
-
// immune to that class of breakage — a minifier never rewrites the contents
|
|
800
|
-
// of a string literal — so the convention name is still correct for those;
|
|
801
|
-
// this only needs to look further when it's genuinely absent from `source`.
|
|
802
|
-
resolveHandlerEntryName(source, nodeType) {
|
|
803
|
-
const conventionName = nodeType.replace(/-/g, '_');
|
|
804
|
-
const conventionNameUsed = new RegExp(`(?:^|[^\\w$])${conventionName}\\s*\\(`).test(source);
|
|
805
|
-
if (conventionNameUsed) {
|
|
806
|
-
return conventionName;
|
|
807
|
-
}
|
|
808
|
-
// `source` came from `handlerToString(fn)` on a real, possibly-minified
|
|
809
|
-
// function — its ENTIRE text is that one function's declaration, so
|
|
810
|
-
// whatever name follows the leading `function`/`async function` keyword
|
|
811
|
-
// is the name it was actually assigned at runtime.
|
|
812
|
-
const leadingDeclaration = source.match(/^(?:async\s+)?function\s*([A-Za-z0-9_$]+)\s*\(/);
|
|
813
|
-
if (leadingDeclaration) {
|
|
814
|
-
return leadingDeclaration[1];
|
|
815
|
-
}
|
|
816
|
-
throw new Error(`generateNodeHandlerFile: could not resolve the entry function for workflow node type "${nodeType}" — ` +
|
|
817
|
-
`expected a "${conventionName}" declaration or a single toString()'d function, found neither.`);
|
|
818
|
-
}
|
|
819
793
|
getDefaultRouteUrl(uidl, strategy) {
|
|
820
794
|
var _a, _b, _c;
|
|
821
795
|
const routeDef = (_b = (_a = uidl.root) === null || _a === void 0 ? void 0 : _a.stateDefinitions) === null || _b === void 0 ? void 0 : _b.route;
|
|
@@ -1362,8 +1336,31 @@ module.exports = __customNodeRegistry;
|
|
|
1362
1336
|
emittedHandlerTypes.push(t);
|
|
1363
1337
|
}
|
|
1364
1338
|
});
|
|
1339
|
+
// See resolveHandlerEntryName: handlers built from `handlerToString(fn)`
|
|
1340
|
+
// on a real function (e.g. general-if-statement) can have `fn` renamed by
|
|
1341
|
+
// a consumer's own minifier (nothing in the bundle calls it by name, only
|
|
1342
|
+
// this runtime `.toString()` read does) — so the reference below must
|
|
1343
|
+
// match whatever `handlers[index]` actually declares, not the
|
|
1344
|
+
// `t.replace(/-/g, '_')` convention name.
|
|
1345
|
+
//
|
|
1346
|
+
// Each entry is ALSO isolated in its own IIFE, rather than declaring every
|
|
1347
|
+
// handler as a bare sibling statement inside `useGlobalWorkflows()`. Two
|
|
1348
|
+
// DIFFERENT node types are minified independently (each in its own
|
|
1349
|
+
// source file), so their real declared names can coincidentally collide —
|
|
1350
|
+
// e.g. state-update-local-state and payment-cancel-plan can both
|
|
1351
|
+
// legitimately mangle down to the same short name. Declared as siblings
|
|
1352
|
+
// in one shared function body, the second declaration would silently
|
|
1353
|
+
// shadow the first, so BOTH map entries end up pointing at the SAME
|
|
1354
|
+
// (wrong-for-one-of-them) function — a silent wrong-handler-executes bug,
|
|
1355
|
+
// not even a crash. An IIFE per entry gives every handler its own scope,
|
|
1356
|
+
// exactly like generateNodeHandlerFile already does, so a same-named
|
|
1357
|
+
// collision between two unrelated handlers can never shadow each other.
|
|
1365
1358
|
const handlerEntries = emittedHandlerTypes
|
|
1366
|
-
.map((t) =>
|
|
1359
|
+
.map((t, index) => {
|
|
1360
|
+
const source = handlers[index].trim();
|
|
1361
|
+
const entryFn = resolveHandlerEntryName(source, t);
|
|
1362
|
+
return ` '${t}': (function () {\n${source}\nreturn ${entryFn};\n})()`;
|
|
1363
|
+
})
|
|
1367
1364
|
.join(',\n');
|
|
1368
1365
|
// NOTE: this module is pulled into the GLOBAL client bundle (every page,
|
|
1369
1366
|
// via `useGlobalWorkflows()` in _app). It must use a single module system.
|
|
@@ -1380,8 +1377,6 @@ import workflowRuntime from './runtime';
|
|
|
1380
1377
|
const executeWorkflowWithSegments = workflowRuntime.executeWorkflowWithSegments;
|
|
1381
1378
|
|
|
1382
1379
|
export function useGlobalWorkflows() {
|
|
1383
|
-
${handlers.join('\n')}
|
|
1384
|
-
|
|
1385
1380
|
const clientNodeHandlers = {
|
|
1386
1381
|
${handlerEntries}
|
|
1387
1382
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-project-plugin.js","sourceRoot":"","sources":["../../src/workflow-project-plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-project-plugin.js","sourceRoot":"","sources":["../../src/workflow-project-plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teleporthq/teleport-plugin-next-workflows",
|
|
3
|
-
"version": "0.43.
|
|
3
|
+
"version": "0.43.39",
|
|
4
4
|
"description": "A plugin for workflow code generation in Next.js projects.",
|
|
5
5
|
"author": "teleportHQ",
|
|
6
6
|
"license": "MIT",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"@teleporthq/teleport-shared": "^0.43.34",
|
|
70
70
|
"@teleporthq/teleport-types": "^0.43.34"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "9fb9d5b663e48253aee9e56e8415d52864c30e34"
|
|
73
73
|
}
|
|
@@ -7,18 +7,30 @@ import {
|
|
|
7
7
|
} from '@teleporthq/teleport-types'
|
|
8
8
|
import { WorkflowSegment } from './types'
|
|
9
9
|
import { nodeRegistry } from './nodes'
|
|
10
|
+
import { resolveHandlerEntryName } from './nodes/types'
|
|
10
11
|
import { AI_NODE_TYPES } from './graph-utils'
|
|
11
12
|
import {
|
|
12
13
|
generateGetRawBodyCode,
|
|
13
14
|
generateAllSignatureVerificationCode,
|
|
14
15
|
} from './webhook-signature-verification'
|
|
15
16
|
|
|
17
|
+
// Workflow/segment names, cron schedules, and webhook paths are free-form
|
|
18
|
+
// UIDL data — never guaranteed not to contain `*/`. Every generated route
|
|
19
|
+
// file opens with a `/** ... */` JSDoc header interpolating these values
|
|
20
|
+
// directly; an ORDINARY cron schedule like `*/5 * * * *` contains `*/` and
|
|
21
|
+
// would prematurely close that comment block, corrupting the rest of the
|
|
22
|
+
// generated file's syntax (the very first statement after the header would
|
|
23
|
+
// silently become live code instead of a comment, or a dangling `*` token
|
|
24
|
+
// breaks parsing outright). Breaking up any `*/` sequence keeps the comment
|
|
25
|
+
// intact; this is purely cosmetic (header text only, never evaluated).
|
|
26
|
+
const sanitizeForBlockComment = (value: string): string => value.replace(/\*\//g, '* /')
|
|
27
|
+
|
|
16
28
|
export const generateServerSegmentAPIRoute = (
|
|
17
29
|
segment: WorkflowSegment,
|
|
18
30
|
workflowName?: string
|
|
19
31
|
): string => {
|
|
20
32
|
const usedNodeTypes = new Set(segment.nodes.map((n) => n.type))
|
|
21
|
-
const
|
|
33
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(usedNodeTypes, true)
|
|
22
34
|
const hasRateLimiter = usedNodeTypes.has('general-rate-limiter')
|
|
23
35
|
|
|
24
36
|
const segmentConfig = JSON.stringify(
|
|
@@ -46,13 +58,13 @@ export const generateServerSegmentAPIRoute = (
|
|
|
46
58
|
const header = workflowName
|
|
47
59
|
? `/**
|
|
48
60
|
* Workflow Server Segment API Route
|
|
49
|
-
* Workflow: ${workflowName}
|
|
50
|
-
* Segment ID: ${segment.id}
|
|
61
|
+
* Workflow: ${sanitizeForBlockComment(workflowName)}
|
|
62
|
+
* Segment ID: ${sanitizeForBlockComment(segment.id)}
|
|
51
63
|
*/
|
|
52
64
|
`
|
|
53
65
|
: `/**
|
|
54
66
|
* Workflow Server Segment API Route
|
|
55
|
-
* Segment ID: ${segment.id}
|
|
67
|
+
* Segment ID: ${sanitizeForBlockComment(segment.id)}
|
|
56
68
|
*/
|
|
57
69
|
`
|
|
58
70
|
|
|
@@ -64,16 +76,10 @@ export const generateServerSegmentAPIRoute = (
|
|
|
64
76
|
const utils = require('../../../utils/workflows/server-runtime');
|
|
65
77
|
const resolveConfig = utils.resolveConfig;
|
|
66
78
|
|
|
67
|
-
${handlerCode}
|
|
68
|
-
|
|
69
79
|
const SEGMENT_CONFIG = ${segmentConfig};
|
|
70
80
|
|
|
71
|
-
const nodeHandlers = {
|
|
72
|
-
|
|
73
|
-
(nt: string) => `
|
|
74
|
-
'${nt}': ${nt.replace(/-/g, '_')}`
|
|
75
|
-
)
|
|
76
|
-
.join(',')}
|
|
81
|
+
const nodeHandlers = {
|
|
82
|
+
${nodeHandlersEntries}
|
|
77
83
|
};
|
|
78
84
|
|
|
79
85
|
module.exports = async function handler(req, res) {
|
|
@@ -357,7 +363,7 @@ export const generateStreamingServerSegmentAPIRoute = (
|
|
|
357
363
|
workflowName?: string
|
|
358
364
|
): string => {
|
|
359
365
|
const usedNodeTypes = new Set(segment.nodes.map((n) => n.type))
|
|
360
|
-
const
|
|
366
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(usedNodeTypes, true)
|
|
361
367
|
const hasRateLimiter = usedNodeTypes.has('general-rate-limiter')
|
|
362
368
|
|
|
363
369
|
const segmentConfig = JSON.stringify(
|
|
@@ -385,8 +391,12 @@ export const generateStreamingServerSegmentAPIRoute = (
|
|
|
385
391
|
const aiNodeTypes = JSON.stringify(Array.from(AI_NODE_TYPES))
|
|
386
392
|
|
|
387
393
|
const header = workflowName
|
|
388
|
-
? `/**\n * Workflow Streaming Server Segment API Route\n * Workflow: ${
|
|
389
|
-
|
|
394
|
+
? `/**\n * Workflow Streaming Server Segment API Route\n * Workflow: ${sanitizeForBlockComment(
|
|
395
|
+
workflowName
|
|
396
|
+
)}\n * Segment ID: ${sanitizeForBlockComment(segment.id)}\n */\n`
|
|
397
|
+
: `/**\n * Workflow Streaming Server Segment API Route\n * Segment ID: ${sanitizeForBlockComment(
|
|
398
|
+
segment.id
|
|
399
|
+
)}\n */\n`
|
|
390
400
|
|
|
391
401
|
const requestInjection = hasRateLimiter
|
|
392
402
|
? `\n context.__request = { ip: __getClientIp(req), headers: req.headers || {} };`
|
|
@@ -396,16 +406,10 @@ export const generateStreamingServerSegmentAPIRoute = (
|
|
|
396
406
|
const utils = require('../../../utils/workflows/server-runtime');
|
|
397
407
|
const resolveConfig = utils.resolveConfig;
|
|
398
408
|
|
|
399
|
-
${handlerCode}
|
|
400
|
-
|
|
401
409
|
const SEGMENT_CONFIG = ${segmentConfig};
|
|
402
410
|
|
|
403
|
-
const nodeHandlers = {
|
|
404
|
-
|
|
405
|
-
(nt: string) => `
|
|
406
|
-
'${nt}': ${nt.replace(/-/g, '_')}`
|
|
407
|
-
)
|
|
408
|
-
.join(',')}
|
|
411
|
+
const nodeHandlers = {
|
|
412
|
+
${nodeHandlersEntries}
|
|
409
413
|
};
|
|
410
414
|
|
|
411
415
|
const __streamingAITypes = ${aiNodeTypes};
|
|
@@ -760,28 +764,57 @@ const generateClientOnlyServerStub = (nodeType: string): string => {
|
|
|
760
764
|
}`
|
|
761
765
|
}
|
|
762
766
|
|
|
767
|
+
// Returns the BODY of a `nodeHandlers = {...}` object literal — one entry per
|
|
768
|
+
// used node type, e.g. ` 'general-if-statement': (function () { ... })()`.
|
|
769
|
+
//
|
|
770
|
+
// Each handler is isolated in its own IIFE rather than declared as a bare
|
|
771
|
+
// sibling statement in a shared scope (which is what this used to do, joined
|
|
772
|
+
// with the outer `nodeHandlers` map built separately from a statically
|
|
773
|
+
// computed `nodeType.replace(/-/g, '_')` name). Two problems, both closed by
|
|
774
|
+
// this shape:
|
|
775
|
+
// 1. A handler built from `handlerToString(fn)` on a real function embeds
|
|
776
|
+
// `fn.toString()` — a snapshot of whatever `fn` was actually named at
|
|
777
|
+
// that moment. When this package is bundled/minified by a consumer
|
|
778
|
+
// (e.g. teleport-gui's browser packer worker), the minifier freely
|
|
779
|
+
// renames `fn`'s declaration, since nothing in the bundle calls it by
|
|
780
|
+
// name — only this runtime `.toString()` read does, which is invisible
|
|
781
|
+
// to the minifier. A statically computed reference name would then be
|
|
782
|
+
// undefined — resolveHandlerEntryName reads the name the source
|
|
783
|
+
// ACTUALLY declares instead.
|
|
784
|
+
// 2. Two DIFFERENT node types are minified independently (each in its own
|
|
785
|
+
// source file), so their real declared names can coincidentally
|
|
786
|
+
// collide — e.g. state-update-local-state and payment-cancel-plan can
|
|
787
|
+
// both legitimately mangle down to the same short name. Declared as
|
|
788
|
+
// bare siblings in one shared scope, the second declaration would
|
|
789
|
+
// silently shadow the first, so BOTH map entries end up pointing at the
|
|
790
|
+
// SAME (wrong-for-one-of-them) function — a silent wrong-handler-
|
|
791
|
+
// executes bug, not even a crash. An IIFE per entry gives every handler
|
|
792
|
+
// its own scope, so a same-named collision between two unrelated
|
|
793
|
+
// handlers can never shadow each other.
|
|
763
794
|
const generateNodeHandlersForSegment = (usedNodeTypes: Set<string>, forServer = false): string => {
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
795
|
+
return Array.from(usedNodeTypes)
|
|
796
|
+
.map((nodeType) => {
|
|
797
|
+
const generator = nodeRegistry[nodeType]
|
|
798
|
+
let source: string
|
|
799
|
+
if (generator) {
|
|
800
|
+
if (forServer && generator.generateServerHandler) {
|
|
801
|
+
source = generator.generateServerHandler()
|
|
802
|
+
} else if (forServer && generator.executionEnv === 'client') {
|
|
803
|
+
source = generateClientOnlyServerStub(nodeType)
|
|
804
|
+
} else {
|
|
805
|
+
source = generator.generateHandler()
|
|
806
|
+
}
|
|
773
807
|
} else {
|
|
774
|
-
|
|
775
|
-
}
|
|
776
|
-
} else {
|
|
777
|
-
handlers.push(`
|
|
808
|
+
source = `
|
|
778
809
|
async function ${nodeType.replace(/-/g, '_')}(config, context) {
|
|
779
810
|
throw new Error('No implementation for node type: ${nodeType}');
|
|
780
|
-
}`
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
811
|
+
}`
|
|
812
|
+
}
|
|
813
|
+
const trimmed = source.trim()
|
|
814
|
+
const entryFn = resolveHandlerEntryName(trimmed, nodeType)
|
|
815
|
+
return ` '${nodeType}': (function () {\n${trimmed}\nreturn ${entryFn};\n})()`
|
|
816
|
+
})
|
|
817
|
+
.join(',\n')
|
|
785
818
|
}
|
|
786
819
|
|
|
787
820
|
const CLIENT_ONLY_NODES = new Set([
|
|
@@ -845,7 +878,7 @@ const CLIENT_ONLY_NODES = new Set([
|
|
|
845
878
|
export const generateCronAPIRoute = (workflow: UIDLWorkflow): string => {
|
|
846
879
|
const serverNodes = workflow.nodes.filter((n: UIDLWorkflowNode) => !CLIENT_ONLY_NODES.has(n.type))
|
|
847
880
|
const allNodeTypes = new Set<string>(serverNodes.map((n: UIDLWorkflowNode) => n.type))
|
|
848
|
-
const
|
|
881
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(allNodeTypes, true)
|
|
849
882
|
const hasRateLimiter = allNodeTypes.has('general-rate-limiter')
|
|
850
883
|
|
|
851
884
|
const serverNodeIds = new Set<string>(serverNodes.map((n: UIDLWorkflowNode) => n.id))
|
|
@@ -875,23 +908,17 @@ export const generateCronAPIRoute = (workflow: UIDLWorkflow): string => {
|
|
|
875
908
|
|
|
876
909
|
return `/**
|
|
877
910
|
* Workflow Cron API Route
|
|
878
|
-
* Workflow: ${workflow.name || workflow.id}
|
|
879
|
-
* Trigger: ${workflow.trigger.config.schedule || 'cron'}
|
|
911
|
+
* Workflow: ${sanitizeForBlockComment(workflow.name || workflow.id)}
|
|
912
|
+
* Trigger: ${sanitizeForBlockComment(String(workflow.trigger.config.schedule || 'cron'))}
|
|
880
913
|
*/
|
|
881
914
|
|
|
882
915
|
const utils = require('../../../utils/workflows/server-runtime');
|
|
883
916
|
const resolveConfig = utils.resolveConfig;
|
|
884
917
|
|
|
885
|
-
${handlerCode}
|
|
886
|
-
|
|
887
918
|
const WORKFLOW_CONFIG = ${workflowConfig};
|
|
888
919
|
|
|
889
|
-
const nodeHandlers = {
|
|
890
|
-
|
|
891
|
-
(nt: string) => `
|
|
892
|
-
'${nt}': ${nt.replace(/-/g, '_')}`
|
|
893
|
-
)
|
|
894
|
-
.join(',')}
|
|
920
|
+
const nodeHandlers = {
|
|
921
|
+
${nodeHandlersEntries}
|
|
895
922
|
};
|
|
896
923
|
|
|
897
924
|
module.exports = async function handler(req, res) {
|
|
@@ -1246,7 +1273,7 @@ export const generateWebhookWorkflowAPIRoute = (
|
|
|
1246
1273
|
const webhookConfig = workflow.webhookConfig as UIDLWebhookConfig
|
|
1247
1274
|
const serverNodes = workflow.nodes.filter((n: UIDLWorkflowNode) => !CLIENT_ONLY_NODES.has(n.type))
|
|
1248
1275
|
const allNodeTypes = new Set<string>(serverNodes.map((n: UIDLWorkflowNode) => n.type))
|
|
1249
|
-
const
|
|
1276
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(allNodeTypes, true)
|
|
1250
1277
|
const hasRateLimiter = allNodeTypes.has('general-rate-limiter')
|
|
1251
1278
|
|
|
1252
1279
|
const serverNodeIds = new Set<string>(serverNodes.map((n: UIDLWorkflowNode) => n.id))
|
|
@@ -1342,9 +1369,9 @@ export const generateWebhookWorkflowAPIRoute = (
|
|
|
1342
1369
|
|
|
1343
1370
|
return `/**
|
|
1344
1371
|
* Webhook API Route
|
|
1345
|
-
* Workflow: ${workflow.name || workflow.id}
|
|
1346
|
-
* Path: ${webhookConfig.urlPath}
|
|
1347
|
-
* Method: ${webhookConfig.httpMethod}
|
|
1372
|
+
* Workflow: ${sanitizeForBlockComment(workflow.name || workflow.id)}
|
|
1373
|
+
* Path: ${sanitizeForBlockComment(webhookConfig.urlPath)}
|
|
1374
|
+
* Method: ${sanitizeForBlockComment(webhookConfig.httpMethod)}
|
|
1348
1375
|
*/
|
|
1349
1376
|
if (typeof globalThis.fetch === 'undefined') {
|
|
1350
1377
|
globalThis.fetch = require('node-fetch');
|
|
@@ -1353,8 +1380,6 @@ if (typeof globalThis.fetch === 'undefined') {
|
|
|
1353
1380
|
const utils = require('${relativePrefix}/utils/workflows/server-runtime');
|
|
1354
1381
|
const resolveConfig = utils.resolveConfig;
|
|
1355
1382
|
${customNodesImport}
|
|
1356
|
-
${handlerCode}
|
|
1357
|
-
|
|
1358
1383
|
${getRawBodyCode}
|
|
1359
1384
|
|
|
1360
1385
|
${signatureVerificationCode}
|
|
@@ -1365,12 +1390,8 @@ const WORKFLOW_CONFIG = ${workflowConfig};
|
|
|
1365
1390
|
|
|
1366
1391
|
var ERROR_HANDLER_NODES = ${errorHandlerNodesJson};
|
|
1367
1392
|
|
|
1368
|
-
const nodeHandlers = {
|
|
1369
|
-
|
|
1370
|
-
(nt: string) => `
|
|
1371
|
-
'${nt}': ${nt.replace(/-/g, '_')}`
|
|
1372
|
-
)
|
|
1373
|
-
.join(',')}
|
|
1393
|
+
const nodeHandlers = {
|
|
1394
|
+
${nodeHandlersEntries}
|
|
1374
1395
|
};
|
|
1375
1396
|
|
|
1376
1397
|
module.exports = async function handler(req, res) {
|