@workflow/core 4.0.1-beta.8 → 4.1.0-beta.51
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/builtins.js +1 -1
- package/dist/class-serialization.d.ts +26 -0
- package/dist/class-serialization.d.ts.map +1 -0
- package/dist/class-serialization.js +66 -0
- package/dist/create-hook.js +1 -1
- package/dist/define-hook.d.ts +40 -25
- package/dist/define-hook.d.ts.map +1 -1
- package/dist/define-hook.js +22 -27
- package/dist/events-consumer.d.ts.map +1 -1
- package/dist/events-consumer.js +5 -1
- package/dist/flushable-stream.d.ts +82 -0
- package/dist/flushable-stream.d.ts.map +1 -0
- package/dist/flushable-stream.js +214 -0
- package/dist/global.d.ts +4 -1
- package/dist/global.d.ts.map +1 -1
- package/dist/global.js +21 -9
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/logger.js +1 -1
- package/dist/observability.d.ts +60 -0
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +265 -32
- package/dist/private.d.ts +10 -1
- package/dist/private.d.ts.map +1 -1
- package/dist/private.js +6 -1
- package/dist/runtime/helpers.d.ts +52 -0
- package/dist/runtime/helpers.d.ts.map +1 -0
- package/dist/runtime/helpers.js +264 -0
- package/dist/runtime/resume-hook.d.ts +17 -12
- package/dist/runtime/resume-hook.d.ts.map +1 -1
- package/dist/runtime/resume-hook.js +79 -64
- package/dist/runtime/start.d.ts +14 -0
- package/dist/runtime/start.d.ts.map +1 -1
- package/dist/runtime/start.js +71 -45
- package/dist/runtime/step-handler.d.ts +7 -0
- package/dist/runtime/step-handler.d.ts.map +1 -0
- package/dist/runtime/step-handler.js +337 -0
- package/dist/runtime/suspension-handler.d.ts +25 -0
- package/dist/runtime/suspension-handler.d.ts.map +1 -0
- package/dist/runtime/suspension-handler.js +182 -0
- package/dist/runtime/world.d.ts.map +1 -1
- package/dist/runtime/world.js +20 -21
- package/dist/runtime.d.ts +3 -7
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +103 -410
- package/dist/schemas.d.ts +1 -15
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +2 -15
- package/dist/serialization.d.ts +112 -21
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +469 -85
- package/dist/sleep.d.ts +10 -0
- package/dist/sleep.d.ts.map +1 -1
- package/dist/sleep.js +1 -1
- package/dist/source-map.d.ts +10 -0
- package/dist/source-map.d.ts.map +1 -0
- package/dist/source-map.js +56 -0
- package/dist/step/context-storage.d.ts +2 -0
- package/dist/step/context-storage.d.ts.map +1 -1
- package/dist/step/context-storage.js +1 -1
- package/dist/step/get-closure-vars.d.ts +9 -0
- package/dist/step/get-closure-vars.d.ts.map +1 -0
- package/dist/step/get-closure-vars.js +16 -0
- package/dist/step/get-step-metadata.js +1 -1
- package/dist/step/get-workflow-metadata.js +1 -1
- package/dist/{writable-stream.d.ts → step/writable-stream.d.ts} +5 -5
- package/dist/step/writable-stream.d.ts.map +1 -0
- package/dist/step/writable-stream.js +30 -0
- package/dist/step.d.ts +1 -1
- package/dist/step.d.ts.map +1 -1
- package/dist/step.js +93 -47
- package/dist/symbols.d.ts +6 -0
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +7 -1
- package/dist/telemetry/semantic-conventions.d.ts +66 -38
- package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
- package/dist/telemetry/semantic-conventions.js +16 -3
- package/dist/telemetry.d.ts +8 -4
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +39 -6
- package/dist/types.js +1 -1
- package/dist/util.d.ts +5 -24
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +19 -38
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/vm/index.js +2 -2
- package/dist/vm/uuid.js +1 -1
- package/dist/workflow/create-hook.js +1 -1
- package/dist/workflow/define-hook.d.ts +3 -3
- package/dist/workflow/define-hook.d.ts.map +1 -1
- package/dist/workflow/define-hook.js +1 -1
- package/dist/workflow/get-workflow-metadata.js +1 -1
- package/dist/workflow/hook.d.ts.map +1 -1
- package/dist/workflow/hook.js +49 -14
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +2 -2
- package/dist/workflow/sleep.d.ts +1 -1
- package/dist/workflow/sleep.d.ts.map +1 -1
- package/dist/workflow/sleep.js +26 -39
- package/dist/workflow/writable-stream.d.ts +1 -1
- package/dist/workflow/writable-stream.d.ts.map +1 -1
- package/dist/workflow/writable-stream.js +1 -1
- package/dist/workflow.d.ts +1 -1
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +72 -9
- package/docs/api-reference/create-hook.mdx +133 -0
- package/docs/api-reference/create-webhook.mdx +225 -0
- package/docs/api-reference/define-hook.mdx +206 -0
- package/docs/api-reference/fatal-error.mdx +37 -0
- package/docs/api-reference/fetch.mdx +139 -0
- package/docs/api-reference/get-step-metadata.mdx +76 -0
- package/docs/api-reference/get-workflow-metadata.mdx +44 -0
- package/docs/api-reference/get-writable.mdx +292 -0
- package/docs/api-reference/index.mdx +55 -0
- package/docs/api-reference/meta.json +3 -0
- package/docs/api-reference/retryable-error.mdx +106 -0
- package/docs/api-reference/sleep.mdx +59 -0
- package/docs/foundations/common-patterns.mdx +253 -0
- package/docs/foundations/errors-and-retries.mdx +190 -0
- package/docs/foundations/hooks.mdx +455 -0
- package/docs/foundations/idempotency.mdx +55 -0
- package/docs/foundations/index.mdx +32 -0
- package/docs/foundations/meta.json +14 -0
- package/docs/foundations/serialization.mdx +157 -0
- package/docs/foundations/starting-workflows.mdx +211 -0
- package/docs/foundations/streaming.mdx +569 -0
- package/docs/foundations/workflows-and-steps.mdx +197 -0
- package/docs/how-it-works/code-transform.mdx +334 -0
- package/docs/how-it-works/event-sourcing.mdx +254 -0
- package/docs/how-it-works/framework-integrations.mdx +437 -0
- package/docs/how-it-works/meta.json +10 -0
- package/docs/how-it-works/understanding-directives.mdx +611 -0
- package/package.json +31 -25
- package/dist/builtins.js.map +0 -1
- package/dist/create-hook.js.map +0 -1
- package/dist/define-hook.js.map +0 -1
- package/dist/events-consumer.js.map +0 -1
- package/dist/global.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/observability.js.map +0 -1
- package/dist/parse-name.d.ts +0 -25
- package/dist/parse-name.d.ts.map +0 -1
- package/dist/parse-name.js +0 -40
- package/dist/parse-name.js.map +0 -1
- package/dist/private.js.map +0 -1
- package/dist/runtime/resume-hook.js.map +0 -1
- package/dist/runtime/start.js.map +0 -1
- package/dist/runtime/world.js.map +0 -1
- package/dist/runtime.js.map +0 -1
- package/dist/schemas.js.map +0 -1
- package/dist/serialization.js.map +0 -1
- package/dist/sleep.js.map +0 -1
- package/dist/step/context-storage.js.map +0 -1
- package/dist/step/get-step-metadata.js.map +0 -1
- package/dist/step/get-workflow-metadata.js.map +0 -1
- package/dist/step.js.map +0 -1
- package/dist/symbols.js.map +0 -1
- package/dist/telemetry/semantic-conventions.js.map +0 -1
- package/dist/telemetry.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/util.js.map +0 -1
- package/dist/vm/index.js.map +0 -1
- package/dist/vm/uuid.js.map +0 -1
- package/dist/workflow/create-hook.js.map +0 -1
- package/dist/workflow/define-hook.js.map +0 -1
- package/dist/workflow/get-workflow-metadata.js.map +0 -1
- package/dist/workflow/hook.js.map +0 -1
- package/dist/workflow/index.js.map +0 -1
- package/dist/workflow/sleep.js.map +0 -1
- package/dist/workflow/writable-stream.js.map +0 -1
- package/dist/workflow.js.map +0 -1
- package/dist/writable-stream.d.ts.map +0 -1
- package/dist/writable-stream.js +0 -16
- package/dist/writable-stream.js.map +0 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { waitUntil } from '@vercel/functions';
|
|
2
|
+
import { WorkflowAPIError } from '@workflow/errors';
|
|
3
|
+
import { SPEC_VERSION_CURRENT, } from '@workflow/world';
|
|
4
|
+
import { dehydrateStepArguments } from '../serialization.js';
|
|
5
|
+
import * as Attribute from '../telemetry/semantic-conventions.js';
|
|
6
|
+
import { serializeTraceCarrier } from '../telemetry.js';
|
|
7
|
+
import { queueMessage } from './helpers.js';
|
|
8
|
+
/**
|
|
9
|
+
* Handles a workflow suspension by processing all pending operations (hooks, steps, waits).
|
|
10
|
+
* Uses an event-sourced architecture where entities (steps, hooks) are created atomically
|
|
11
|
+
* with their corresponding events via events.create().
|
|
12
|
+
*
|
|
13
|
+
* Processing order:
|
|
14
|
+
* 1. Hooks are processed first to prevent race conditions with webhook receivers
|
|
15
|
+
* 2. Steps and waits are processed in parallel after hooks complete
|
|
16
|
+
*/
|
|
17
|
+
export async function handleSuspension({ suspension, world, runId, workflowName, workflowStartedAt, span, }) {
|
|
18
|
+
// Separate queue items by type
|
|
19
|
+
const stepItems = suspension.steps.filter((item) => item.type === 'step');
|
|
20
|
+
const hookItems = suspension.steps.filter((item) => item.type === 'hook');
|
|
21
|
+
const waitItems = suspension.steps.filter((item) => item.type === 'wait');
|
|
22
|
+
// Build hook_created events (World will atomically create hook entities)
|
|
23
|
+
const hookEvents = hookItems.map((queueItem) => {
|
|
24
|
+
const hookMetadata = typeof queueItem.metadata === 'undefined'
|
|
25
|
+
? undefined
|
|
26
|
+
: dehydrateStepArguments(queueItem.metadata, suspension.globalThis);
|
|
27
|
+
return {
|
|
28
|
+
eventType: 'hook_created',
|
|
29
|
+
specVersion: SPEC_VERSION_CURRENT,
|
|
30
|
+
correlationId: queueItem.correlationId,
|
|
31
|
+
eventData: {
|
|
32
|
+
token: queueItem.token,
|
|
33
|
+
metadata: hookMetadata,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
// Process hooks first to prevent race conditions with webhook receivers
|
|
38
|
+
// All hook creations run in parallel
|
|
39
|
+
// Track any hook conflicts that occur - these will be handled by re-enqueueing the workflow
|
|
40
|
+
let hasHookConflict = false;
|
|
41
|
+
if (hookEvents.length > 0) {
|
|
42
|
+
await Promise.all(hookEvents.map(async (hookEvent) => {
|
|
43
|
+
try {
|
|
44
|
+
const result = await world.events.create(runId, hookEvent);
|
|
45
|
+
// Check if the world returned a hook_conflict event instead of hook_created
|
|
46
|
+
// The hook_conflict event is stored in the event log and will be replayed
|
|
47
|
+
// on the next workflow invocation, causing the hook's promise to reject
|
|
48
|
+
// Note: hook events always create an event (legacy runs throw, not return undefined)
|
|
49
|
+
if (result.event.eventType === 'hook_conflict') {
|
|
50
|
+
hasHookConflict = true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
if (WorkflowAPIError.is(err)) {
|
|
55
|
+
if (err.status === 410) {
|
|
56
|
+
console.warn(`Workflow run "${runId}" has already completed, skipping hook: ${err.message}`);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
// Build a map of stepId -> step event for steps that need creation
|
|
69
|
+
const stepsNeedingCreation = new Set(stepItems
|
|
70
|
+
.filter((queueItem) => !queueItem.hasCreatedEvent)
|
|
71
|
+
.map((queueItem) => queueItem.correlationId));
|
|
72
|
+
// Process steps and waits in parallel
|
|
73
|
+
// Each step: create event (if needed) -> queue message
|
|
74
|
+
// Each wait: create event (if needed)
|
|
75
|
+
const ops = [];
|
|
76
|
+
// Steps: create event then queue message, all in parallel
|
|
77
|
+
for (const queueItem of stepItems) {
|
|
78
|
+
ops.push((async () => {
|
|
79
|
+
// Create step event if not already created
|
|
80
|
+
if (stepsNeedingCreation.has(queueItem.correlationId)) {
|
|
81
|
+
const dehydratedInput = dehydrateStepArguments({
|
|
82
|
+
args: queueItem.args,
|
|
83
|
+
closureVars: queueItem.closureVars,
|
|
84
|
+
thisVal: queueItem.thisVal,
|
|
85
|
+
}, suspension.globalThis);
|
|
86
|
+
const stepEvent = {
|
|
87
|
+
eventType: 'step_created',
|
|
88
|
+
specVersion: SPEC_VERSION_CURRENT,
|
|
89
|
+
correlationId: queueItem.correlationId,
|
|
90
|
+
eventData: {
|
|
91
|
+
stepName: queueItem.stepName,
|
|
92
|
+
input: dehydratedInput,
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
try {
|
|
96
|
+
await world.events.create(runId, stepEvent);
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
if (WorkflowAPIError.is(err) && err.status === 409) {
|
|
100
|
+
console.warn(`Step already exists, continuing: ${err.message}`);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Queue step execution message
|
|
108
|
+
await queueMessage(world, `__wkf_step_${queueItem.stepName}`, {
|
|
109
|
+
workflowName,
|
|
110
|
+
workflowRunId: runId,
|
|
111
|
+
workflowStartedAt,
|
|
112
|
+
stepId: queueItem.correlationId,
|
|
113
|
+
traceCarrier: await serializeTraceCarrier(),
|
|
114
|
+
requestedAt: new Date(),
|
|
115
|
+
}, {
|
|
116
|
+
idempotencyKey: queueItem.correlationId,
|
|
117
|
+
});
|
|
118
|
+
})());
|
|
119
|
+
}
|
|
120
|
+
// Waits: create events in parallel (no queueing needed for waits)
|
|
121
|
+
for (const queueItem of waitItems) {
|
|
122
|
+
if (!queueItem.hasCreatedEvent) {
|
|
123
|
+
ops.push((async () => {
|
|
124
|
+
const waitEvent = {
|
|
125
|
+
eventType: 'wait_created',
|
|
126
|
+
specVersion: SPEC_VERSION_CURRENT,
|
|
127
|
+
correlationId: queueItem.correlationId,
|
|
128
|
+
eventData: {
|
|
129
|
+
resumeAt: queueItem.resumeAt,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
try {
|
|
133
|
+
await world.events.create(runId, waitEvent);
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
if (WorkflowAPIError.is(err) && err.status === 409) {
|
|
137
|
+
console.warn(`Wait already exists, continuing: ${err.message}`);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
throw err;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
})());
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Wait for all step and wait operations to complete
|
|
147
|
+
waitUntil(Promise.all(ops).catch((opErr) => {
|
|
148
|
+
const isAbortError = opErr?.name === 'AbortError' || opErr?.name === 'ResponseAborted';
|
|
149
|
+
if (!isAbortError)
|
|
150
|
+
throw opErr;
|
|
151
|
+
}));
|
|
152
|
+
await Promise.all(ops);
|
|
153
|
+
// Calculate minimum timeout from waits
|
|
154
|
+
const now = Date.now();
|
|
155
|
+
const minTimeoutSeconds = waitItems.reduce((min, queueItem) => {
|
|
156
|
+
const resumeAtMs = queueItem.resumeAt.getTime();
|
|
157
|
+
const delayMs = Math.max(1000, resumeAtMs - now);
|
|
158
|
+
const timeoutSeconds = Math.ceil(delayMs / 1000);
|
|
159
|
+
if (min === null)
|
|
160
|
+
return timeoutSeconds;
|
|
161
|
+
return Math.min(min, timeoutSeconds);
|
|
162
|
+
}, null);
|
|
163
|
+
span?.setAttributes({
|
|
164
|
+
...Attribute.WorkflowRunStatus('workflow_suspended'),
|
|
165
|
+
...Attribute.WorkflowStepsCreated(stepItems.length),
|
|
166
|
+
...Attribute.WorkflowHooksCreated(hookItems.length),
|
|
167
|
+
...Attribute.WorkflowWaitsCreated(waitItems.length),
|
|
168
|
+
});
|
|
169
|
+
// If any hook conflicts occurred, re-enqueue the workflow immediately
|
|
170
|
+
// On the next iteration, the hook consumer will see the hook_conflict event
|
|
171
|
+
// and reject the promise with a WorkflowRuntimeError
|
|
172
|
+
// We do this after processing all other operations (steps, waits) to ensure
|
|
173
|
+
// they are recorded in the event log before the re-execution
|
|
174
|
+
if (hasHookConflict) {
|
|
175
|
+
return { timeoutSeconds: 1 };
|
|
176
|
+
}
|
|
177
|
+
if (minTimeoutSeconds !== null) {
|
|
178
|
+
return { timeoutSeconds: minTimeoutSeconds };
|
|
179
|
+
}
|
|
180
|
+
return {};
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VzcGVuc2lvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvc3VzcGVuc2lvbi1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBR0wsb0JBQW9CLEdBRXJCLE1BQU0saUJBQWlCLENBQUM7QUFPekIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxLQUFLLFNBQVMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBZTVDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxFQUNyQyxVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLElBQUksR0FDb0I7SUFDeEIsK0JBQStCO0lBQy9CLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN2QyxDQUFDLElBQUksRUFBbUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUNoRSxDQUFDO0lBQ0YsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3ZDLENBQUMsSUFBSSxFQUFtQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQ2hFLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdkMsQ0FBQyxJQUFJLEVBQW1DLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFL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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/runtime/world.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/runtime/world.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAsB7C;;;;GAIG;AACH,eAAO,MAAM,WAAW,QAAO,KAgC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,QAAO,IAAI,CAAC,KAAK,EAAE,oBAAoB,CASnE,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,KAM3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,GAAG,SAAS,KAAG,IAGnD,CAAC"}
|
package/dist/runtime/world.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { createLocalWorld } from '@workflow/world-local';
|
|
4
4
|
import { createVercelWorld } from '@workflow/world-vercel';
|
|
5
|
-
const require = createRequire(
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const require = createRequire(join(process.cwd(), 'index.js'));
|
|
6
|
+
const WorldCache = Symbol.for('@workflow/world//cache');
|
|
7
|
+
const StubbedWorldCache = Symbol.for('@workflow/world//stubbedCache');
|
|
8
|
+
const globalSymbols = globalThis;
|
|
8
9
|
function defaultWorld() {
|
|
9
10
|
if (process.env.VERCEL_DEPLOYMENT_ID) {
|
|
10
11
|
return 'vercel';
|
|
11
12
|
}
|
|
12
|
-
return '
|
|
13
|
+
return 'local';
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Create a new world instance based on environment variables.
|
|
@@ -20,7 +21,6 @@ export const createWorld = () => {
|
|
|
20
21
|
const targetWorld = process.env.WORKFLOW_TARGET_WORLD || defaultWorld();
|
|
21
22
|
if (targetWorld === 'vercel') {
|
|
22
23
|
return createVercelWorld({
|
|
23
|
-
baseUrl: process.env.WORKFLOW_VERCEL_PROXY_URL,
|
|
24
24
|
token: process.env.WORKFLOW_VERCEL_AUTH_TOKEN,
|
|
25
25
|
projectConfig: {
|
|
26
26
|
environment: process.env.WORKFLOW_VERCEL_ENV,
|
|
@@ -29,10 +29,9 @@ export const createWorld = () => {
|
|
|
29
29
|
},
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
if (targetWorld === '
|
|
33
|
-
return
|
|
34
|
-
dataDir: process.env.
|
|
35
|
-
port: process.env.PORT ? Number(process.env.PORT) : undefined,
|
|
32
|
+
if (targetWorld === 'local') {
|
|
33
|
+
return createLocalWorld({
|
|
34
|
+
dataDir: process.env.WORKFLOW_LOCAL_DATA_DIR,
|
|
36
35
|
});
|
|
37
36
|
}
|
|
38
37
|
const mod = require(targetWorld);
|
|
@@ -57,28 +56,28 @@ export const createWorld = () => {
|
|
|
57
56
|
* be able to re-combine getWorld and getWorldHandlers into one singleton.
|
|
58
57
|
*/
|
|
59
58
|
export const getWorldHandlers = () => {
|
|
60
|
-
if (
|
|
61
|
-
return
|
|
59
|
+
if (globalSymbols[StubbedWorldCache]) {
|
|
60
|
+
return globalSymbols[StubbedWorldCache];
|
|
62
61
|
}
|
|
63
62
|
const _world = createWorld();
|
|
64
|
-
|
|
63
|
+
globalSymbols[StubbedWorldCache] = _world;
|
|
65
64
|
return {
|
|
66
65
|
createQueueHandler: _world.createQueueHandler,
|
|
67
66
|
};
|
|
68
67
|
};
|
|
69
68
|
export const getWorld = () => {
|
|
70
|
-
if (
|
|
71
|
-
return
|
|
69
|
+
if (globalSymbols[WorldCache]) {
|
|
70
|
+
return globalSymbols[WorldCache];
|
|
72
71
|
}
|
|
73
|
-
|
|
74
|
-
return
|
|
72
|
+
globalSymbols[WorldCache] = createWorld();
|
|
73
|
+
return globalSymbols[WorldCache];
|
|
75
74
|
};
|
|
76
75
|
/**
|
|
77
76
|
* Reset the cached world instance. This should be called when environment
|
|
78
77
|
* variables change and you need to reinitialize the world with new config.
|
|
79
78
|
*/
|
|
80
79
|
export const setWorld = (world) => {
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
globalSymbols[WorldCache] = world;
|
|
81
|
+
globalSymbols[StubbedWorldCache] = world;
|
|
83
82
|
};
|
|
84
|
-
//# sourceMappingURL=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS93b3JsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUUvRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFFdEUsTUFBTSxhQUFhLEdBR2YsVUFBVSxDQUFDO0FBRWYsU0FBUyxZQUFZO0lBQ25CLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFVLEVBQUU7SUFDckMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV4RSxJQUFJLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM3QixPQUFPLGlCQUFpQixDQUFDO1lBQ3ZCLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQjtZQUM3QyxhQUFhLEVBQUU7Z0JBQ2IsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO2dCQUM1QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUI7Z0JBQzlDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQjthQUN6QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFdBQVcsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM1QixPQUFPLGdCQUFnQixDQUFDO1lBQ3RCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QjtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDOUIsT0FBTyxHQUFHLEVBQVcsQ0FBQztJQUN4QixDQUFDO1NBQU0sSUFBSSxPQUFPLEdBQUcsQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDN0MsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFXLENBQUM7SUFDaEMsQ0FBQztTQUFNLElBQUksT0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2pELE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBVyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLGdDQUFnQyxXQUFXLHlGQUF5RixDQUNySSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFzQyxFQUFFO0lBQ3RFLElBQUksYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztRQUNyQyxPQUFPLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUM3QixhQUFhLENBQUMsaUJBQWlCLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDMUMsT0FBTztRQUNMLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7S0FDOUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxHQUFVLEVBQUU7SUFDbEMsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBQzFDLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXdCLEVBQVEsRUFBRTtJQUN6RCxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUMzQyxDQUFDLENBQUMifQ==
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Event, type WorkflowRun, type WorkflowRunStatus } from '@workflow/world';
|
|
2
2
|
export type { Event, WorkflowRun };
|
|
3
3
|
export { WorkflowSuspension } from './global.js';
|
|
4
|
+
export { type HealthCheckEndpoint, type HealthCheckOptions, type HealthCheckResult, healthCheck, } from './runtime/helpers.js';
|
|
4
5
|
export { getHookByToken, resumeHook, resumeWebhook, } from './runtime/resume-hook.js';
|
|
5
6
|
export { type StartOptions, start } from './runtime/start.js';
|
|
7
|
+
export { stepEntrypoint } from './runtime/step-handler.js';
|
|
6
8
|
export { createWorld, getWorld, getWorldHandlers, setWorld, } from './runtime/world.js';
|
|
7
9
|
/**
|
|
8
10
|
* Options for configuring a workflow's readable stream.
|
|
@@ -111,11 +113,5 @@ export declare function getRun<TResult>(runId: string): Run<TResult>;
|
|
|
111
113
|
* @returns A function that can be used as a Vercel API route.
|
|
112
114
|
*/
|
|
113
115
|
export declare function workflowEntrypoint(workflowCode: string): (req: Request) => Promise<Response>;
|
|
114
|
-
/**
|
|
115
|
-
* A single route that handles any step execution request and routes to the
|
|
116
|
-
* appropriate step function. We may eventually want to create different bundles
|
|
117
|
-
* for each step, this is temporary.
|
|
118
|
-
*/
|
|
119
|
-
export declare const stepEntrypoint: (req: Request) => Promise<Response>;
|
|
120
116
|
export declare function runStep(): void;
|
|
121
117
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,KAAK,EAGV,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAC;AA0BzB,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,GAAG,CAAC,OAAO;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAQ;gBAET,KAAK,EAAE,MAAM;IAKzB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAEvC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAElC;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAElC;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7B;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAEzC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAE3C;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,GAAG,GAAG,EACjB,OAAO,GAAE,6BAAkC,GAC1C,cAAc,CAAC,CAAC,CAAC;IASpB;;;;OAIG;YACW,eAAe;CA2B9B;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,GACnB,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA8NrC;AAID,wBAAgB,OAAO,SAAK"}
|