@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
|
@@ -72,9 +72,22 @@ describe('generateGlobalWorkflowsHook — clientNodeHandlers map integrity', ()
|
|
|
72
72
|
expect(dangling).toEqual([])
|
|
73
73
|
})
|
|
74
74
|
|
|
75
|
-
it('keeps the registered handler in the map
|
|
76
|
-
|
|
75
|
+
it('keeps the registered handler in the map, isolated in its own IIFE', () => {
|
|
76
|
+
// Each map entry is an IIFE that declares AND returns its own handler,
|
|
77
|
+
// rather than a bare reference to a handler declared elsewhere in the
|
|
78
|
+
// shared useGlobalWorkflows() body. Two DIFFERENT node types are
|
|
79
|
+
// minified independently by a consumer's own build (e.g. teleport-gui's
|
|
80
|
+
// browser packer worker), so their real declared names can
|
|
81
|
+
// coincidentally collide post-minification even though they never do
|
|
82
|
+
// pre-minification — declared as bare siblings in one shared scope, the
|
|
83
|
+
// second declaration would silently shadow the first, so two unrelated
|
|
84
|
+
// node types could end up executing the SAME (wrong-for-one-of-them)
|
|
85
|
+
// handler. An IIFE per entry gives every handler its own scope, so a
|
|
86
|
+
// same-named collision between two unrelated handlers can never shadow
|
|
87
|
+
// each other.
|
|
88
|
+
expect(code).toContain("'state-update-local-state': (function () {")
|
|
77
89
|
expect(code).toMatch(/(?:async\s+)?function state_update_local_state\s*\(/)
|
|
90
|
+
expect(code).toMatch(/return state_update_local_state;\s*\}\)\(\)/)
|
|
78
91
|
})
|
|
79
92
|
|
|
80
93
|
it('omits an unregistered node type (general-comment) entirely — no dangling reference', () => {
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { resolveHandlerEntryName } from '../src/nodes/types'
|
|
2
|
+
import { nodeRegistry } from '../src/nodes'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Regression coverage for resolveHandlerEntryName, which exists because a
|
|
6
|
+
* handler's declared name at runtime can diverge from the
|
|
7
|
+
* `nodeType.replace(/-/g, '_')` convention name: when this package is bundled
|
|
8
|
+
* and minified by a consumer (e.g. teleport-gui's browser packer worker), the
|
|
9
|
+
* minifier freely renames a `handlerToString(fn)`-embedded function's
|
|
10
|
+
* declaration, since nothing in the bundle calls it by name — only the
|
|
11
|
+
* runtime `.toString()` read does, which is invisible to the minifier.
|
|
12
|
+
*
|
|
13
|
+
* Two real handlers exposed shapes the resolver initially got wrong:
|
|
14
|
+
* - payment-charge-user.ts: entry declared FIRST, its own helpers after
|
|
15
|
+
* (`handlerToString(payment_charge_user) + '\n' + chargeWithStripe.toString() + ...`).
|
|
16
|
+
* - ai-custom-prompt.ts: shared AI-provider utils declared BEFORE the
|
|
17
|
+
* entry, each wrapped in a `wrapWithGuard`-style re-declaration guard
|
|
18
|
+
* (`var X = typeof X !== 'undefined' ? X : function Y() {...};` — a
|
|
19
|
+
* function EXPRESSION embedded in a ternary, not a statement-level
|
|
20
|
+
* declaration) — this crashed a real publish with "Could not resolve the
|
|
21
|
+
* entry function for workflow node type "ai-custom-prompt"".
|
|
22
|
+
* A naive "first" or "last" positional heuristic breaks one of these two.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
function evalEntryWrapper(source: string, entryName: string): unknown {
|
|
26
|
+
return new Function(`${source}\nreturn ${entryName};`)()
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
describe('resolveHandlerEntryName', () => {
|
|
30
|
+
it('returns the convention name when the source declares it directly', () => {
|
|
31
|
+
const source = `async function my_node_type(config, context) { return {}; }`
|
|
32
|
+
expect(resolveHandlerEntryName(source, 'my-node-type')).toBe('my_node_type')
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
it('falls back to the actual declared name when the entry was renamed (single function)', () => {
|
|
36
|
+
const source = `async function e(config, context) { return {}; }`
|
|
37
|
+
expect(resolveHandlerEntryName(source, 'my-node-type')).toBe('e')
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
it('finds a renamed entry declared FIRST, before its own helpers (payment-charge-user shape)', () => {
|
|
41
|
+
const source = `
|
|
42
|
+
async function zzz(config, context) {
|
|
43
|
+
return helper_one(config) + helper_two(context);
|
|
44
|
+
}
|
|
45
|
+
async function helper_one(config) { return config.x; }
|
|
46
|
+
async function helper_two(context) { return context.y; }
|
|
47
|
+
`
|
|
48
|
+
const resolved = resolveHandlerEntryName(source, 'payment-charge-user')
|
|
49
|
+
expect(resolved).toBe('zzz')
|
|
50
|
+
expect(typeof evalEntryWrapper(source, resolved)).toBe('function')
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
it('finds a renamed entry declared LAST, after ternary-guarded shared utils (ai-custom-prompt shape)', () => {
|
|
54
|
+
const source = `
|
|
55
|
+
var util_one = typeof util_one !== 'undefined' ? util_one : function util_one(val) { return val; };
|
|
56
|
+
var util_two = typeof util_two !== 'undefined' ? util_two : function util_two(val) { return val; };
|
|
57
|
+
|
|
58
|
+
async function zzz(config, context, streamCallback) {
|
|
59
|
+
return util_one(config) + util_two(context);
|
|
60
|
+
}
|
|
61
|
+
`
|
|
62
|
+
const resolved = resolveHandlerEntryName(source, 'ai-custom-prompt')
|
|
63
|
+
expect(resolved).toBe('zzz')
|
|
64
|
+
expect(typeof evalEntryWrapper(source, resolved)).toBe('function')
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
it('prefers the entry-point arity (2-3 params) over a same-position helper with a different arity', () => {
|
|
68
|
+
// A helper positioned BEFORE the (renamed) entry, but with an arity that
|
|
69
|
+
// could never be a real handler entry point (1 param) — must not win.
|
|
70
|
+
const source = `
|
|
71
|
+
function one_param_helper(x) { return x; }
|
|
72
|
+
async function zzz(config, context) { return one_param_helper(config); }
|
|
73
|
+
`
|
|
74
|
+
expect(resolveHandlerEntryName(source, 'my-node-type')).toBe('zzz')
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
it('throws a clear error when no declaration can be found at all', () => {
|
|
78
|
+
expect(() => resolveHandlerEntryName('var x = 1;', 'my-node-type')).toThrow(
|
|
79
|
+
/Could not resolve the entry function/
|
|
80
|
+
)
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
// Full-registry regression: every node type's generateHandler()/
|
|
84
|
+
// generateServerHandler() output must resolve to a real, callable function
|
|
85
|
+
// both normally AND after its entry function's declared name is renamed
|
|
86
|
+
// (simulating what a minifier does) — proves the resolver's fallback logic
|
|
87
|
+
// holds for every handler shape actually registered, not just hand-picked
|
|
88
|
+
// examples.
|
|
89
|
+
describe('every registered node type', () => {
|
|
90
|
+
const nodeTypes = Object.keys(nodeRegistry)
|
|
91
|
+
|
|
92
|
+
it.each(nodeTypes)(
|
|
93
|
+
'%s: generateHandler resolves normally and after entry rename',
|
|
94
|
+
(nodeType) => {
|
|
95
|
+
const gen = nodeRegistry[nodeType]
|
|
96
|
+
const source = gen.generateHandler().trim()
|
|
97
|
+
const conventionName = nodeType.replace(/-/g, '_')
|
|
98
|
+
|
|
99
|
+
const resolvedNormal = resolveHandlerEntryName(source, nodeType)
|
|
100
|
+
expect(typeof evalEntryWrapper(source, resolvedNormal)).toBe('function')
|
|
101
|
+
|
|
102
|
+
if (source.includes(conventionName)) {
|
|
103
|
+
const renamed = source.replace(new RegExp(`\\b${conventionName}\\b`, 'g'), 'zzz_renamed')
|
|
104
|
+
const resolvedRenamed = resolveHandlerEntryName(renamed, nodeType)
|
|
105
|
+
expect(resolvedRenamed).toBe('zzz_renamed')
|
|
106
|
+
expect(typeof evalEntryWrapper(renamed, resolvedRenamed)).toBe('function')
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
it.each(nodeTypes.filter((t) => nodeRegistry[t].generateServerHandler))(
|
|
112
|
+
'%s: generateServerHandler resolves normally and after entry rename',
|
|
113
|
+
(nodeType) => {
|
|
114
|
+
const gen = nodeRegistry[nodeType]
|
|
115
|
+
const source = gen.generateServerHandler!().trim()
|
|
116
|
+
const conventionName = nodeType.replace(/-/g, '_')
|
|
117
|
+
|
|
118
|
+
const resolvedNormal = resolveHandlerEntryName(source, nodeType)
|
|
119
|
+
expect(typeof evalEntryWrapper(source, resolvedNormal)).toBe('function')
|
|
120
|
+
|
|
121
|
+
if (source.includes(conventionName)) {
|
|
122
|
+
const renamed = source.replace(new RegExp(`\\b${conventionName}\\b`, 'g'), 'zzz_renamed')
|
|
123
|
+
const resolvedRenamed = resolveHandlerEntryName(renamed, nodeType)
|
|
124
|
+
expect(resolvedRenamed).toBe('zzz_renamed')
|
|
125
|
+
expect(typeof evalEntryWrapper(renamed, resolvedRenamed)).toBe('function')
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
})
|
|
130
|
+
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-route-generator.d.ts","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"api-route-generator.d.ts","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAoBzC,eAAO,MAAM,6BAA6B,YAC/B,eAAe,iBACT,MAAM,KACpB,MAoUF,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAa,eAAe,KAAG,OAE7D,CAAA;AAED,eAAO,MAAM,sCAAsC,YACxC,eAAe,iBACT,MAAM,KACpB,MAwYF,CAAA;AA0HD,eAAO,MAAM,oBAAoB,aAAc,YAAY,KAAG,MAiG7D,CAAA;AAED,eAAO,MAAM,mBAAmB,eAClB,MAAM,aACP,MAAM,iBACF,MAAM,KACpB,MAuBF,CAAA;AAED,eAAO,MAAM,oBAAoB,aAAc,YAAY,KAAG,MAa7D,CAAA;AA0PD,eAAO,MAAM,+BAA+B,aAChC,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MA6LF,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAc,YAAY,KAAG,MAiBhE,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAc,YAAY,KAAG,MAAM,EAqBlE,CAAA"}
|
|
@@ -2,11 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getWebhookRoutePath = exports.getWebhookRouteFileName = exports.generateWebhookWorkflowAPIRoute = exports.getCronRouteFileName = exports.getAPIRouteFileName = exports.generateCronAPIRoute = exports.generateStreamingServerSegmentAPIRoute = exports.hasStreamingAINode = exports.generateServerSegmentAPIRoute = void 0;
|
|
4
4
|
const nodes_1 = require("./nodes");
|
|
5
|
+
const types_1 = require("./nodes/types");
|
|
5
6
|
const graph_utils_1 = require("./graph-utils");
|
|
6
7
|
const webhook_signature_verification_1 = require("./webhook-signature-verification");
|
|
8
|
+
// Workflow/segment names, cron schedules, and webhook paths are free-form
|
|
9
|
+
// UIDL data — never guaranteed not to contain `*/`. Every generated route
|
|
10
|
+
// file opens with a `/** ... */` JSDoc header interpolating these values
|
|
11
|
+
// directly; an ORDINARY cron schedule like `*/5 * * * *` contains `*/` and
|
|
12
|
+
// would prematurely close that comment block, corrupting the rest of the
|
|
13
|
+
// generated file's syntax (the very first statement after the header would
|
|
14
|
+
// silently become live code instead of a comment, or a dangling `*` token
|
|
15
|
+
// breaks parsing outright). Breaking up any `*/` sequence keeps the comment
|
|
16
|
+
// intact; this is purely cosmetic (header text only, never evaluated).
|
|
17
|
+
const sanitizeForBlockComment = (value) => value.replace(/\*\//g, '* /');
|
|
7
18
|
const generateServerSegmentAPIRoute = (segment, workflowName) => {
|
|
8
19
|
const usedNodeTypes = new Set(segment.nodes.map((n) => n.type));
|
|
9
|
-
const
|
|
20
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(usedNodeTypes, true);
|
|
10
21
|
const hasRateLimiter = usedNodeTypes.has('general-rate-limiter');
|
|
11
22
|
const segmentConfig = JSON.stringify({
|
|
12
23
|
nodes: segment.nodes.map((n) => ({
|
|
@@ -28,13 +39,13 @@ const generateServerSegmentAPIRoute = (segment, workflowName) => {
|
|
|
28
39
|
const header = workflowName
|
|
29
40
|
? `/**
|
|
30
41
|
* Workflow Server Segment API Route
|
|
31
|
-
* Workflow: ${workflowName}
|
|
32
|
-
* Segment ID: ${segment.id}
|
|
42
|
+
* Workflow: ${sanitizeForBlockComment(workflowName)}
|
|
43
|
+
* Segment ID: ${sanitizeForBlockComment(segment.id)}
|
|
33
44
|
*/
|
|
34
45
|
`
|
|
35
46
|
: `/**
|
|
36
47
|
* Workflow Server Segment API Route
|
|
37
|
-
* Segment ID: ${segment.id}
|
|
48
|
+
* Segment ID: ${sanitizeForBlockComment(segment.id)}
|
|
38
49
|
*/
|
|
39
50
|
`;
|
|
40
51
|
const requestInjection = hasRateLimiter
|
|
@@ -44,14 +55,10 @@ const generateServerSegmentAPIRoute = (segment, workflowName) => {
|
|
|
44
55
|
const utils = require('../../../utils/workflows/server-runtime');
|
|
45
56
|
const resolveConfig = utils.resolveConfig;
|
|
46
57
|
|
|
47
|
-
${handlerCode}
|
|
48
|
-
|
|
49
58
|
const SEGMENT_CONFIG = ${segmentConfig};
|
|
50
59
|
|
|
51
|
-
const nodeHandlers = {
|
|
52
|
-
|
|
53
|
-
'${nt}': ${nt.replace(/-/g, '_')}`)
|
|
54
|
-
.join(',')}
|
|
60
|
+
const nodeHandlers = {
|
|
61
|
+
${nodeHandlersEntries}
|
|
55
62
|
};
|
|
56
63
|
|
|
57
64
|
module.exports = async function handler(req, res) {
|
|
@@ -332,7 +339,7 @@ const hasStreamingAINode = (segment) => {
|
|
|
332
339
|
exports.hasStreamingAINode = hasStreamingAINode;
|
|
333
340
|
const generateStreamingServerSegmentAPIRoute = (segment, workflowName) => {
|
|
334
341
|
const usedNodeTypes = new Set(segment.nodes.map((n) => n.type));
|
|
335
|
-
const
|
|
342
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(usedNodeTypes, true);
|
|
336
343
|
const hasRateLimiter = usedNodeTypes.has('general-rate-limiter');
|
|
337
344
|
const segmentConfig = JSON.stringify({
|
|
338
345
|
nodes: segment.nodes.map((n) => ({
|
|
@@ -353,8 +360,8 @@ const generateStreamingServerSegmentAPIRoute = (segment, workflowName) => {
|
|
|
353
360
|
}, null, 2);
|
|
354
361
|
const aiNodeTypes = JSON.stringify(Array.from(graph_utils_1.AI_NODE_TYPES));
|
|
355
362
|
const header = workflowName
|
|
356
|
-
? `/**\n * Workflow Streaming Server Segment API Route\n * Workflow: ${workflowName}\n * Segment ID: ${segment.id}\n */\n`
|
|
357
|
-
: `/**\n * Workflow Streaming Server Segment API Route\n * Segment ID: ${segment.id}\n */\n`;
|
|
363
|
+
? `/**\n * Workflow Streaming Server Segment API Route\n * Workflow: ${sanitizeForBlockComment(workflowName)}\n * Segment ID: ${sanitizeForBlockComment(segment.id)}\n */\n`
|
|
364
|
+
: `/**\n * Workflow Streaming Server Segment API Route\n * Segment ID: ${sanitizeForBlockComment(segment.id)}\n */\n`;
|
|
358
365
|
const requestInjection = hasRateLimiter
|
|
359
366
|
? `\n context.__request = { ip: __getClientIp(req), headers: req.headers || {} };`
|
|
360
367
|
: '';
|
|
@@ -362,14 +369,10 @@ const generateStreamingServerSegmentAPIRoute = (segment, workflowName) => {
|
|
|
362
369
|
const utils = require('../../../utils/workflows/server-runtime');
|
|
363
370
|
const resolveConfig = utils.resolveConfig;
|
|
364
371
|
|
|
365
|
-
${handlerCode}
|
|
366
|
-
|
|
367
372
|
const SEGMENT_CONFIG = ${segmentConfig};
|
|
368
373
|
|
|
369
|
-
const nodeHandlers = {
|
|
370
|
-
|
|
371
|
-
'${nt}': ${nt.replace(/-/g, '_')}`)
|
|
372
|
-
.join(',')}
|
|
374
|
+
const nodeHandlers = {
|
|
375
|
+
${nodeHandlersEntries}
|
|
373
376
|
};
|
|
374
377
|
|
|
375
378
|
const __streamingAITypes = ${aiNodeTypes};
|
|
@@ -723,29 +726,60 @@ const generateClientOnlyServerStub = (nodeType) => {
|
|
|
723
726
|
return {}
|
|
724
727
|
}`;
|
|
725
728
|
};
|
|
729
|
+
// Returns the BODY of a `nodeHandlers = {...}` object literal — one entry per
|
|
730
|
+
// used node type, e.g. ` 'general-if-statement': (function () { ... })()`.
|
|
731
|
+
//
|
|
732
|
+
// Each handler is isolated in its own IIFE rather than declared as a bare
|
|
733
|
+
// sibling statement in a shared scope (which is what this used to do, joined
|
|
734
|
+
// with the outer `nodeHandlers` map built separately from a statically
|
|
735
|
+
// computed `nodeType.replace(/-/g, '_')` name). Two problems, both closed by
|
|
736
|
+
// this shape:
|
|
737
|
+
// 1. A handler built from `handlerToString(fn)` on a real function embeds
|
|
738
|
+
// `fn.toString()` — a snapshot of whatever `fn` was actually named at
|
|
739
|
+
// that moment. When this package is bundled/minified by a consumer
|
|
740
|
+
// (e.g. teleport-gui's browser packer worker), the minifier freely
|
|
741
|
+
// renames `fn`'s declaration, since nothing in the bundle calls it by
|
|
742
|
+
// name — only this runtime `.toString()` read does, which is invisible
|
|
743
|
+
// to the minifier. A statically computed reference name would then be
|
|
744
|
+
// undefined — resolveHandlerEntryName reads the name the source
|
|
745
|
+
// ACTUALLY declares instead.
|
|
746
|
+
// 2. Two DIFFERENT node types are minified independently (each in its own
|
|
747
|
+
// source file), so their real declared names can coincidentally
|
|
748
|
+
// collide — e.g. state-update-local-state and payment-cancel-plan can
|
|
749
|
+
// both legitimately mangle down to the same short name. Declared as
|
|
750
|
+
// bare siblings in one shared scope, the second declaration would
|
|
751
|
+
// silently shadow the first, so BOTH map entries end up pointing at the
|
|
752
|
+
// SAME (wrong-for-one-of-them) function — a silent wrong-handler-
|
|
753
|
+
// executes bug, not even a crash. An IIFE per entry gives every handler
|
|
754
|
+
// its own scope, so a same-named collision between two unrelated
|
|
755
|
+
// handlers can never shadow each other.
|
|
726
756
|
const generateNodeHandlersForSegment = (usedNodeTypes, forServer = false) => {
|
|
727
|
-
|
|
728
|
-
|
|
757
|
+
return Array.from(usedNodeTypes)
|
|
758
|
+
.map((nodeType) => {
|
|
729
759
|
const generator = nodes_1.nodeRegistry[nodeType];
|
|
760
|
+
let source;
|
|
730
761
|
if (generator) {
|
|
731
762
|
if (forServer && generator.generateServerHandler) {
|
|
732
|
-
|
|
763
|
+
source = generator.generateServerHandler();
|
|
733
764
|
}
|
|
734
765
|
else if (forServer && generator.executionEnv === 'client') {
|
|
735
|
-
|
|
766
|
+
source = generateClientOnlyServerStub(nodeType);
|
|
736
767
|
}
|
|
737
768
|
else {
|
|
738
|
-
|
|
769
|
+
source = generator.generateHandler();
|
|
739
770
|
}
|
|
740
771
|
}
|
|
741
772
|
else {
|
|
742
|
-
|
|
773
|
+
source = `
|
|
743
774
|
async function ${nodeType.replace(/-/g, '_')}(config, context) {
|
|
744
775
|
throw new Error('No implementation for node type: ${nodeType}');
|
|
745
|
-
}
|
|
776
|
+
}`;
|
|
746
777
|
}
|
|
747
|
-
|
|
748
|
-
|
|
778
|
+
const trimmed = source.trim();
|
|
779
|
+
const entryFn = (0, types_1.resolveHandlerEntryName)(trimmed, nodeType);
|
|
780
|
+
return ` '${nodeType}': (function () {\n${trimmed}\nreturn ${entryFn};\n})()`;
|
|
781
|
+
})
|
|
782
|
+
.join(',\n');
|
|
749
783
|
};
|
|
750
784
|
const CLIENT_ONLY_NODES = new Set([
|
|
751
785
|
'navigation-go-to-page',
|
|
@@ -807,7 +841,7 @@ const CLIENT_ONLY_NODES = new Set([
|
|
|
807
841
|
const generateCronAPIRoute = (workflow) => {
|
|
808
842
|
const serverNodes = workflow.nodes.filter((n) => !CLIENT_ONLY_NODES.has(n.type));
|
|
809
843
|
const allNodeTypes = new Set(serverNodes.map((n) => n.type));
|
|
810
|
-
const
|
|
844
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(allNodeTypes, true);
|
|
811
845
|
const hasRateLimiter = allNodeTypes.has('general-rate-limiter');
|
|
812
846
|
const serverNodeIds = new Set(serverNodes.map((n) => n.id));
|
|
813
847
|
const serverEdges = workflow.edges.filter((e) => serverNodeIds.has(e.source) || serverNodeIds.has(e.target));
|
|
@@ -827,21 +861,17 @@ const generateCronAPIRoute = (workflow) => {
|
|
|
827
861
|
: '';
|
|
828
862
|
return `/**
|
|
829
863
|
* Workflow Cron API Route
|
|
830
|
-
* Workflow: ${workflow.name || workflow.id}
|
|
831
|
-
* Trigger: ${workflow.trigger.config.schedule || 'cron'}
|
|
864
|
+
* Workflow: ${sanitizeForBlockComment(workflow.name || workflow.id)}
|
|
865
|
+
* Trigger: ${sanitizeForBlockComment(String(workflow.trigger.config.schedule || 'cron'))}
|
|
832
866
|
*/
|
|
833
867
|
|
|
834
868
|
const utils = require('../../../utils/workflows/server-runtime');
|
|
835
869
|
const resolveConfig = utils.resolveConfig;
|
|
836
870
|
|
|
837
|
-
${handlerCode}
|
|
838
|
-
|
|
839
871
|
const WORKFLOW_CONFIG = ${workflowConfig};
|
|
840
872
|
|
|
841
|
-
const nodeHandlers = {
|
|
842
|
-
|
|
843
|
-
'${nt}': ${nt.replace(/-/g, '_')}`)
|
|
844
|
-
.join(',')}
|
|
873
|
+
const nodeHandlers = {
|
|
874
|
+
${nodeHandlersEntries}
|
|
845
875
|
};
|
|
846
876
|
|
|
847
877
|
module.exports = async function handler(req, res) {
|
|
@@ -1183,7 +1213,7 @@ const generateWebhookWorkflowAPIRoute = (workflow, customNodes) => {
|
|
|
1183
1213
|
const webhookConfig = workflow.webhookConfig;
|
|
1184
1214
|
const serverNodes = workflow.nodes.filter((n) => !CLIENT_ONLY_NODES.has(n.type));
|
|
1185
1215
|
const allNodeTypes = new Set(serverNodes.map((n) => n.type));
|
|
1186
|
-
const
|
|
1216
|
+
const nodeHandlersEntries = generateNodeHandlersForSegment(allNodeTypes, true);
|
|
1187
1217
|
const hasRateLimiter = allNodeTypes.has('general-rate-limiter');
|
|
1188
1218
|
const serverNodeIds = new Set(serverNodes.map((n) => n.id));
|
|
1189
1219
|
const serverEdges = workflow.edges.filter((e) => serverNodeIds.has(e.source) || serverNodeIds.has(e.target));
|
|
@@ -1250,9 +1280,9 @@ const generateWebhookWorkflowAPIRoute = (workflow, customNodes) => {
|
|
|
1250
1280
|
});
|
|
1251
1281
|
return `/**
|
|
1252
1282
|
* Webhook API Route
|
|
1253
|
-
* Workflow: ${workflow.name || workflow.id}
|
|
1254
|
-
* Path: ${webhookConfig.urlPath}
|
|
1255
|
-
* Method: ${webhookConfig.httpMethod}
|
|
1283
|
+
* Workflow: ${sanitizeForBlockComment(workflow.name || workflow.id)}
|
|
1284
|
+
* Path: ${sanitizeForBlockComment(webhookConfig.urlPath)}
|
|
1285
|
+
* Method: ${sanitizeForBlockComment(webhookConfig.httpMethod)}
|
|
1256
1286
|
*/
|
|
1257
1287
|
if (typeof globalThis.fetch === 'undefined') {
|
|
1258
1288
|
globalThis.fetch = require('node-fetch');
|
|
@@ -1261,8 +1291,6 @@ if (typeof globalThis.fetch === 'undefined') {
|
|
|
1261
1291
|
const utils = require('${relativePrefix}/utils/workflows/server-runtime');
|
|
1262
1292
|
const resolveConfig = utils.resolveConfig;
|
|
1263
1293
|
${customNodesImport}
|
|
1264
|
-
${handlerCode}
|
|
1265
|
-
|
|
1266
1294
|
${getRawBodyCode}
|
|
1267
1295
|
|
|
1268
1296
|
${signatureVerificationCode}
|
|
@@ -1273,10 +1301,8 @@ const WORKFLOW_CONFIG = ${workflowConfig};
|
|
|
1273
1301
|
|
|
1274
1302
|
var ERROR_HANDLER_NODES = ${errorHandlerNodesJson};
|
|
1275
1303
|
|
|
1276
|
-
const nodeHandlers = {
|
|
1277
|
-
|
|
1278
|
-
'${nt}': ${nt.replace(/-/g, '_')}`)
|
|
1279
|
-
.join(',')}
|
|
1304
|
+
const nodeHandlers = {
|
|
1305
|
+
${nodeHandlersEntries}
|
|
1280
1306
|
};
|
|
1281
1307
|
|
|
1282
1308
|
module.exports = async function handler(req, res) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-route-generator.js","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":";;;AAQA,mCAAsC;AACtC,+CAA6C;AAC7C,qFAGyC;AAElC,MAAM,6BAA6B,GAAG,CAC3C,OAAwB,EACxB,YAAqB,EACb,EAAE;IACV,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,8BAA8B,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IACvE,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAEhE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAClC;QACE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;QACH,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;KACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAA;IAED,MAAM,MAAM,GAAG,YAAY;QACzB,CAAC,CAAC;;eAES,YAAY;iBACV,OAAO,CAAC,EAAE;;CAE1B;QACG,CAAC,CAAC;;iBAEW,OAAO,CAAC,EAAE;;CAE1B,CAAA;IAEC,MAAM,gBAAgB,GAAG,cAAc;QACrC,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO,GAAG,MAAM;;;;EAIhB,WAAW;;yBAEY,aAAa;;wBAEd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;SAC5C,GAAG,CACF,CAAC,EAAU,EAAE,EAAE,CAAC;KACjB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAC/B;SACA,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;yDAY2C,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoQxE,CAAA;AACD,CAAC,CAAA;AA7UY,QAAA,6BAA6B,iCA6UzC;AAEM,MAAM,kBAAkB,GAAG,CAAC,OAAwB,EAAW,EAAE;IACtE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,2BAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,SAAS,MAAK,IAAI,CAAA,EAAA,CAAC,CAAA;AAC7F,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B;AAEM,MAAM,sCAAsC,GAAG,CACpD,OAAwB,EACxB,YAAqB,EACb,EAAE;IACV,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,8BAA8B,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IACvE,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAEhE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAClC;QACE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;QACH,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;KACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAA;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,2BAAa,CAAC,CAAC,CAAA;IAE7D,MAAM,MAAM,GAAG,YAAY;QACzB,CAAC,CAAC,qEAAqE,YAAY,oBAAoB,OAAO,CAAC,EAAE,SAAS;QAC1H,CAAC,CAAC,uEAAuE,OAAO,CAAC,EAAE,SAAS,CAAA;IAE9F,MAAM,gBAAgB,GAAG,cAAc;QACrC,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO,GAAG,MAAM;;;;EAIhB,WAAW;;yBAEY,aAAa;;wBAEd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;SAC5C,GAAG,CACF,CAAC,EAAU,EAAE,EAAE,CAAC;KACjB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAC/B;SACA,IAAI,CAAC,GAAG,CAAC;;;6BAGe,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DA2CoB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyS3E,CAAA;AACD,CAAC,CAAA;AA7YY,QAAA,sCAAsC,0CA6YlD;AAED,MAAM,4BAA4B,GAAG,CAAC,QAAgB,EAAU,EAAE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,OAAO,kBAAkB,MAAM;;;;EAI/B,CAAA;AACF,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,CAAC,aAA0B,EAAE,SAAS,GAAG,KAAK,EAAU,EAAE;IAC/F,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,oBAAY,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,SAAS,EAAE;YACb,IAAI,SAAS,IAAI,SAAS,CAAC,qBAAqB,EAAE;gBAChD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAA;aACjD;iBAAM,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,KAAK,QAAQ,EAAE;gBAC3D,QAAQ,CAAC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAA;aACtD;iBAAM;gBACL,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAA;aAC3C;SACF;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC;iBACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;sDACU,QAAQ;EAC5D,CAAC,CAAA;SACE;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,uBAAuB;IACvB,4BAA4B;IAC5B,yBAAyB;IACzB,oBAAoB;IACpB,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;IACvB,mBAAmB;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,qBAAqB;IACrB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,0BAA0B;IAC1B,2BAA2B;IAC3B,eAAe;IACf,kBAAkB;IAClB,2BAA2B;IAC3B,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,2BAA2B;IAC3B,eAAe;IACf,yBAAyB;IACzB,4BAA4B;IAC5B,oBAAoB;IACpB,eAAe;IACf,wBAAwB;IACxB,2BAA2B;IAC3B,wBAAwB;IACxB,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,+BAA+B;CAChC,CAAC,CAAA;AAEK,MAAM,oBAAoB,GAAG,CAAC,QAAsB,EAAU,EAAE;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAClG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACtF,MAAM,WAAW,GAAG,8BAA8B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACtE,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAE/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CACvC,CAAC,CAAmB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CACpF,CAAA;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CACnC;QACE,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QACtC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC;YAC/C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;QACH,KAAK,EAAE,WAAW;KACnB,EACD,IAAI,EACJ,CAAC,CACF,CAAA;IAED,MAAM,gBAAgB,GAAG,cAAc;QACrC,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO;;eAEM,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE;cAC7B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM;;;;;;EAMtD,WAAW;;0BAEa,cAAc;;wBAEhB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SAC3C,GAAG,CACF,CAAC,EAAU,EAAE,EAAE,CAAC;KACjB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAC/B;SACA,IAAI,CAAC,GAAG,CAAC;;;;;;;;;iEAUP,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,IAAI,EAClD;;8DAE0D,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC7E,CAAA;AACD,CAAC,CAAA;AAvGY,QAAA,oBAAoB,wBAuGhC;AAEM,MAAM,mBAAmB,GAAG,CACjC,UAAkB,EAClB,SAAiB,EACjB,YAAqB,EACb,EAAE;IACV,IAAI,YAAY,EAAE;QAChB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC;aAC5C,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtB,uEAAuE;QACvE,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,oEAAoE;QACpE,qEAAqE;QACrE,8DAA8D;QAC9D,mEAAmE;QACnE,iCAAiC;QACjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvE,OAAO,GAAG,QAAQ,IAAI,QAAQ,QAAQ,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;KAChF;IACD,OAAO,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAA;AAC5E,CAAC,CAAA;AA3BY,QAAA,mBAAmB,uBA2B/B;AAEM,MAAM,oBAAoB,GAAG,CAAC,QAAsB,EAAU,EAAE;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAiB,CAAA;IACzD,IAAI,OAAO,EAAE;QACX,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAA;KACjC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE;QACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC7C,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACf,OAAO,QAAQ,QAAQ,EAAE,CAAA;KAC1B;IACD,OAAO,WAAW,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;AACnD,CAAC,CAAA;AAbY,QAAA,oBAAoB,wBAahC;AAED;;;GAGG;AACH,MAAM,yBAAyB,GAAG,CAChC,SAAiB,EACjB,OAAsC,EAC9B,EAAE;IACV,MAAM,eAAe,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;QAC7C,CAAC,CAAC;;;;;;;;QAQE;QACJ,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO,yBAAyB,SAAS;;;;;;;;;;;yBAWlB,SAAS;;;;;;;;;;;;;;;;;;;;;;0BAsBR,SAAS;;;;;;;;;;cAUrB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAyEC,SAAS;;;;;;;;;;;;;;;;;;;;;;;gCAuBD,SAAS;;;;;;;;;;;cAW3B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAqEd,eAAe;;;;;;MAMlB,CAAA;AACN,CAAC,CAAA;AAEM,MAAM,+BAA+B,GAAG,CAC7C,QAAsB,EACtB,WAAoD,EAC5C,EAAE;;IACV,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAkC,CAAA;IACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAClG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACtF,MAAM,WAAW,GAAG,8BAA8B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACtE,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAE/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CACvC,CAAC,CAAmB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CACpF,CAAA;IAED,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAA;IACpF,MAAM,iBAAiB,GAAG,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAE5E,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CACnC;QACE,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QACtC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC;YAC/C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;QACH,KAAK,EAAE,WAAW;QAClB,kBAAkB,EAAE,CAAA,MAAA,QAAQ,CAAC,YAAY,0CAAE,MAAM,KAAI,IAAI;KAC1D,EACD,IAAI,EACJ,CAAC,CACF,CAAA;IAED,mEAAmE;IACnE,0EAA0E;IAC1E,yCAAyC;IACzC,8EAA8E;IAC9E,yDAAyD;IACzD,+CAA+C;IAC/C,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,WAAW;IACX,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAU,EAAE;QAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAA;SACb;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACtC,MAAM,MAAM,GAAG,KAId,CAAA;YACD,IACE,MAAM,CAAC,IAAI,KAAK,SAAS;gBACzB,MAAM,CAAC,OAAO;gBACd,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ;gBACzC,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,EACrC;gBACA,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;aACzB;SACF;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IACD,MAAM,uBAAuB,mCACxB,aAAa,KAChB,eAAe,EAAE,wBAAwB,CACtC,aAA0D,CAAC,eAAe,CAC5E,GACF,CAAA;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,0BAA0B,GAAG,aAAa,CAAC,eAAe,CAAA;IAChE,MAAM,yBAAyB,GAAG,0BAA0B;QAC1D,CAAC,CAAC,IAAA,qEAAoC,GAAE;QACxC,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,cAAc,GAAG,IAAA,uDAAsB,GAAE,CAAA;IAE/C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACvF,MAAM,qBAAqB,GAAG,iBAAiB;QAC7C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAA;IAEV,MAAM,SAAS,GAAG,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE1D,MAAM,iBAAiB,GACrB,kBAAkB,IAAI,iBAAiB;QACrC,CAAC,CAAC,sDAAsD,cAAc,yEAAyE;QAC/I,CAAC,CAAC,EAAE,CAAA;IAER,MAAM,gBAAgB,GAAG,cAAc;QACrC,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,aAAa,GAAG,yBAAyB,CAAC,iBAAiB,EAAE;QACjE,cAAc,EAAE,kBAAkB,IAAI,iBAAiB;KACxD,CAAC,CAAA;IAEF,OAAO;;eAEM,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE;WAChC,aAAa,CAAC,OAAO;aACnB,aAAa,CAAC,UAAU;;;;;;yBAMZ,cAAc;;EAErC,iBAAiB;EACjB,WAAW;;EAEX,cAAc;;EAEd,yBAAyB;;yBAEF,iBAAiB;;0BAEhB,cAAc;;4BAEZ,qBAAqB;;wBAEzB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SAC3C,GAAG,CACF,CAAC,EAAU,EAAE,EAAE,CAAC;KACjB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAC/B;SACA,IAAI,CAAC,GAAG,CAAC;;;;wBAIU,aAAa,CAAC,UAAU;;;;;EAK9C,4BAA4B,CAAC,aAAa,CAAC;;;;;;;;EAQ3C,kCAAkC,CAAC,aAAa,CAAC;;;;;;;;;;;;;;6DAcU,gBAAgB;;EAE3E,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCd,CAAA;AACD,CAAC,CAAA;AAtMY,QAAA,+BAA+B,mCAsM3C;AAEM,MAAM,uBAAuB,GAAG,CAAC,QAAsB,EAAU,EAAE;IACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAA;IAC5C,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,EAAE;QAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAE;YACZ,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;SAClC;KACF;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE;QACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC7C,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACf,OAAO,WAAW,QAAQ,EAAE,CAAA;KAC7B;IACD,OAAO,WAAW,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;AACnD,CAAC,CAAA;AAjBY,QAAA,uBAAuB,2BAiBnC;AAEM,MAAM,mBAAmB,GAAG,CAAC,QAAsB,EAAY,EAAE;IACtE,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAA;IAC5C,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAA,EAAE;QAC3B,OAAO,YAAY,CAAA;KACpB;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjF,yEAAyE;IACzE,sEAAsE;IACtE,uEAAuE;IACvE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;QACxD,KAAK,CAAC,KAAK,EAAE,CAAA;KACd;IACD,yEAAyE;IACzE,uDAAuD;IACvD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QACrB,OAAO,YAAY,CAAA;KACpB;IACD,kEAAkE;IAClE,4EAA4E;IAC5E,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC,CAAA;AArBY,QAAA,mBAAmB,uBAqB/B;AAED,SAAS,oBAAoB,CAC3B,QAAsB;IAEtB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;QAC1B,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAA;IAChD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IACxC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE;QAC9B,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;SACrB;KACF;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;QAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClD,SAAQ;SACT;QACD,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvB,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE;gBACpB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;aACrB;SACF;KACF;IACD,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE;QAC7B,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,QAAQ,CAAC,KAAK;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,SAAS,4BAA4B,CAAC,aAAgC;IACpE,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;QAChF,OAAO,EAAE,CAAA;KACV;IACD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE;QAC7C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAA;QAC/B,MAAM,CAAC,IAAI,CACT,aAAa,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CACrF,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QACxF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5F,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;YACzF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;KACF;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,kCAAkC,CAAC,aAAgC;IAC1E,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE;QAClC,OAAO,EAAE,CAAA;KACV;IACD,OAAO;;;;MAIH,CAAA;AACN,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"api-route-generator.js","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type HandlerFn = (config: unknown, context: Record<string, unknown>) => Promise<unknown>;
|
|
2
2
|
export declare function handlerToString(fn: HandlerFn): string;
|
|
3
|
+
export declare function resolveHandlerEntryName(source: string, nodeType: string): string;
|
|
3
4
|
export interface NodeHandlerGenerator {
|
|
4
5
|
nodeType: string;
|
|
5
6
|
executionEnv: 'client' | 'server' | 'universal';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE/F,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,eAAe,IAAI,MAAM,CAAA;IACzB,qBAAqB,CAAC,IAAI,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE/F,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAErD;AAoBD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+DhF;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,eAAe,IAAI,MAAM,CAAA;IACzB,qBAAqB,CAAC,IAAI,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB"}
|
package/dist/cjs/nodes/types.js
CHANGED
|
@@ -1,8 +1,88 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handlerToString = void 0;
|
|
3
|
+
exports.resolveHandlerEntryName = exports.handlerToString = void 0;
|
|
4
4
|
function handlerToString(fn) {
|
|
5
5
|
return fn.toString();
|
|
6
6
|
}
|
|
7
7
|
exports.handlerToString = handlerToString;
|
|
8
|
+
// Resolves the name a handler's entry function is ACTUALLY declared with in
|
|
9
|
+
// `source`, rather than assuming it always equals the
|
|
10
|
+
// `nodeType.replace(/-/g, '_')` convention name.
|
|
11
|
+
//
|
|
12
|
+
// Handlers built from `handlerToString(fn)` on a real function embed
|
|
13
|
+
// `fn.toString()` — a snapshot of whatever `fn` was actually named at the
|
|
14
|
+
// moment it's read. When this package is bundled and minified by a consumer
|
|
15
|
+
// (e.g. teleport-gui's browser packer worker, built with Next.js/Terser), the
|
|
16
|
+
// minifier freely renames `fn`'s declaration: nothing in the bundle calls it
|
|
17
|
+
// by name, only this runtime `.toString()` read does, which is invisible to
|
|
18
|
+
// the minifier. Callers that then reference the embedded handler by the
|
|
19
|
+
// static convention name get a "Collecting page data"/prerender
|
|
20
|
+
// ReferenceError, since local dev never runs a minifier.
|
|
21
|
+
//
|
|
22
|
+
// Handlers composed from string-literal templates (not `fn.toString()`) are
|
|
23
|
+
// immune to that class of breakage — a minifier never rewrites the contents
|
|
24
|
+
// of a string literal — so the convention name is still correct for those;
|
|
25
|
+
// this only needs to look further when it's genuinely absent from `source`.
|
|
26
|
+
function resolveHandlerEntryName(source, nodeType) {
|
|
27
|
+
const conventionName = nodeType.replace(/-/g, '_');
|
|
28
|
+
const conventionNameUsed = new RegExp(`(?:^|[^\\w$])${conventionName}\\s*\\(`).test(source);
|
|
29
|
+
if (conventionNameUsed) {
|
|
30
|
+
return conventionName;
|
|
31
|
+
}
|
|
32
|
+
// `source` came from `handlerToString(fn)`/`fn.toString()` on a real,
|
|
33
|
+
// possibly-minified function, and may be concatenated with OTHER
|
|
34
|
+
// `.toString()`'d functions:
|
|
35
|
+
// - payment-charge-user.ts puts the entry FIRST, its own helpers after
|
|
36
|
+
// (`handlerToString(payment_charge_user) + '\n' + chargeWithStripe.toString() + ...`).
|
|
37
|
+
// - ai-custom-prompt.ts puts shared AI-provider utils BEFORE the entry
|
|
38
|
+
// (`generateAIProviderUtils() + '\n\n' + ai_custom_prompt.toString()`),
|
|
39
|
+
// where each util is `wrapWithGuard`-wrapped: `var X = typeof X !==
|
|
40
|
+
// 'undefined' ? X : function Y() {...};` — a function EXPRESSION
|
|
41
|
+
// embedded in a ternary, not a statement-level declaration.
|
|
42
|
+
// So the entry is not reliably first or last by position across handlers,
|
|
43
|
+
// and helper functions can outnumber (or precede) the entry. What IS
|
|
44
|
+
// reliable: every real entry point has exactly the HandlerFn signature —
|
|
45
|
+
// 2 params (config, context) or 3 (config, context, streamCallback) — by
|
|
46
|
+
// contract, while a handler's OWN internal helpers only coincidentally
|
|
47
|
+
// share that arity (e.g. general-rate-limiter's __checkRateLimit takes 3
|
|
48
|
+
// params too). So: collect every statement-level function declaration
|
|
49
|
+
// (skipping ternary-embedded expressions like wrapWithGuard's), and prefer
|
|
50
|
+
// an exactly-2-param candidate, then an exactly-3-param one, falling back
|
|
51
|
+
// to positional order only if nothing matches the entry-point arity.
|
|
52
|
+
const declPattern = /(?:async\s+)?function\s+([A-Za-z0-9_$]+)\s*\(([^)]*)\)/g;
|
|
53
|
+
const candidates = [];
|
|
54
|
+
let twoParamCandidate;
|
|
55
|
+
let threeParamCandidate;
|
|
56
|
+
let declMatch = declPattern.exec(source);
|
|
57
|
+
while (declMatch !== null) {
|
|
58
|
+
const precedingNonSpace = source.slice(0, declMatch.index).trimEnd().slice(-1);
|
|
59
|
+
if (precedingNonSpace === ':' || precedingNonSpace === '?') {
|
|
60
|
+
declMatch = declPattern.exec(source);
|
|
61
|
+
continue; // function EXPRESSION embedded in a ternary (e.g. wrapWithGuard's re-declaration guard)
|
|
62
|
+
}
|
|
63
|
+
const name = declMatch[1];
|
|
64
|
+
candidates.push(name);
|
|
65
|
+
const params = declMatch[2].trim();
|
|
66
|
+
const paramCount = params === '' ? 0 : params.split(',').length;
|
|
67
|
+
if (paramCount === 2 && twoParamCandidate === undefined) {
|
|
68
|
+
twoParamCandidate = name;
|
|
69
|
+
}
|
|
70
|
+
else if (paramCount === 3 && threeParamCandidate === undefined) {
|
|
71
|
+
threeParamCandidate = name;
|
|
72
|
+
}
|
|
73
|
+
declMatch = declPattern.exec(source);
|
|
74
|
+
}
|
|
75
|
+
if (twoParamCandidate !== undefined) {
|
|
76
|
+
return twoParamCandidate;
|
|
77
|
+
}
|
|
78
|
+
if (threeParamCandidate !== undefined) {
|
|
79
|
+
return threeParamCandidate;
|
|
80
|
+
}
|
|
81
|
+
if (candidates.length > 0) {
|
|
82
|
+
return candidates[0];
|
|
83
|
+
}
|
|
84
|
+
throw new Error(`Could not resolve the entry function for workflow node type "${nodeType}" — ` +
|
|
85
|
+
`expected a "${conventionName}" declaration or a single toString()'d function, found neither.`);
|
|
86
|
+
}
|
|
87
|
+
exports.resolveHandlerEntryName = resolveHandlerEntryName;
|
|
8
88
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,EAAa;IAC3C,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAA;AACtB,CAAC;AAFD,0CAEC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":"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"}
|