@workflow/core 4.0.1-beta.2 → 4.0.1-beta.21
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/LICENSE.md +201 -21
- package/dist/builtins.js +1 -1
- 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.js +1 -1
- package/dist/global.d.ts +10 -1
- package/dist/global.d.ts.map +1 -1
- package/dist/global.js +14 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/logger.js +1 -1
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +39 -11
- package/dist/parse-name.js +1 -1
- package/dist/private.d.ts +5 -0
- package/dist/private.d.ts.map +1 -1
- package/dist/private.js +6 -1
- package/dist/runtime/resume-hook.d.ts +15 -10
- package/dist/runtime/resume-hook.d.ts.map +1 -1
- package/dist/runtime/resume-hook.js +71 -61
- package/dist/runtime/start.d.ts +5 -1
- package/dist/runtime/start.d.ts.map +1 -1
- package/dist/runtime/start.js +56 -45
- package/dist/runtime/world.d.ts.map +1 -1
- package/dist/runtime/world.js +20 -20
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +213 -57
- 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 +54 -7
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +129 -34
- package/dist/sleep.d.ts +33 -0
- package/dist/sleep.d.ts.map +1 -0
- package/dist/sleep.js +10 -0
- 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/step/writable-stream.d.ts +14 -0
- 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 +35 -6
- package/dist/symbols.d.ts +1 -0
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +2 -1
- package/dist/telemetry/semantic-conventions.d.ts +46 -38
- package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
- package/dist/telemetry/semantic-conventions.js +7 -3
- package/dist/telemetry.d.ts +8 -4
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +20 -6
- package/dist/types.d.ts +0 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -26
- package/dist/util.d.ts +9 -27
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +34 -42
- 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 +2 -2
- package/dist/workflow/index.d.ts +1 -0
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +2 -1
- package/dist/workflow/sleep.d.ts +4 -0
- package/dist/workflow/sleep.d.ts.map +1 -0
- package/dist/workflow/sleep.js +55 -0
- package/dist/workflow/writable-stream.js +1 -1
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +22 -7
- package/dist/writable-stream.d.ts +5 -4
- package/dist/writable-stream.d.ts.map +1 -1
- package/dist/writable-stream.js +7 -6
- package/package.json +21 -18
- 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.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/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/writable-stream.js.map +0 -1
- package/dist/workflow.js.map +0 -1
- package/dist/writable-stream.js.map +0 -1
package/dist/observability.js
CHANGED
|
@@ -12,13 +12,27 @@ export const isStreamId = (value) => {
|
|
|
12
12
|
};
|
|
13
13
|
const streamToStreamId = (value) => {
|
|
14
14
|
if ('name' in value) {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const name = String(value.name);
|
|
16
|
+
if (!name.startsWith(STREAM_ID_PREFIX)) {
|
|
17
|
+
return `${STREAM_ID_PREFIX}${name}`;
|
|
17
18
|
}
|
|
18
|
-
return
|
|
19
|
+
return name;
|
|
19
20
|
}
|
|
20
21
|
return `${STREAM_ID_PREFIX}null`;
|
|
21
22
|
};
|
|
23
|
+
const serializedStepFunctionToString = (value) => {
|
|
24
|
+
if (!value)
|
|
25
|
+
return 'null';
|
|
26
|
+
if (typeof value !== 'object')
|
|
27
|
+
return 'null';
|
|
28
|
+
if ('stepId' in value) {
|
|
29
|
+
const stepId = value.stepId;
|
|
30
|
+
// TODO: Add closure vars to the string representation.
|
|
31
|
+
// value.closureVars
|
|
32
|
+
return `<step:${stepId}>`;
|
|
33
|
+
}
|
|
34
|
+
return '<function>';
|
|
35
|
+
};
|
|
22
36
|
/**
|
|
23
37
|
* This is an extra reviver for devalue that takes any streams that would be converted,
|
|
24
38
|
* into actual streams, and instead formats them as string links for printing in CLI output.
|
|
@@ -30,12 +44,13 @@ const streamPrintRevivers = {
|
|
|
30
44
|
ReadableStream: streamToStreamId,
|
|
31
45
|
WritableStream: streamToStreamId,
|
|
32
46
|
TransformStream: streamToStreamId,
|
|
47
|
+
StepFunction: serializedStepFunctionToString,
|
|
33
48
|
};
|
|
34
49
|
const hydrateStepIO = (step) => {
|
|
35
50
|
return {
|
|
36
51
|
...step,
|
|
37
52
|
input: step.input && Array.isArray(step.input) && step.input.length
|
|
38
|
-
? hydrateStepArguments(step.input, [], globalThis, streamPrintRevivers)
|
|
53
|
+
? hydrateStepArguments(step.input, [], step.runId, globalThis, streamPrintRevivers)
|
|
39
54
|
: step.input,
|
|
40
55
|
output: step.output
|
|
41
56
|
? hydrateStepReturnValue(step.output, globalThis, streamPrintRevivers)
|
|
@@ -49,23 +64,36 @@ const hydrateWorkflowIO = (workflow) => {
|
|
|
49
64
|
? hydrateWorkflowArguments(workflow.input, globalThis, streamPrintRevivers)
|
|
50
65
|
: workflow.input,
|
|
51
66
|
output: workflow.output
|
|
52
|
-
? hydrateWorkflowReturnValue(workflow.output, [], globalThis, streamPrintRevivers)
|
|
67
|
+
? hydrateWorkflowReturnValue(workflow.output, [], workflow.runId, globalThis, streamPrintRevivers)
|
|
53
68
|
: workflow.output,
|
|
54
69
|
};
|
|
55
70
|
};
|
|
56
71
|
const hydrateEventData = (event) => {
|
|
72
|
+
if (!event.eventData) {
|
|
73
|
+
return event;
|
|
74
|
+
}
|
|
75
|
+
const eventData = { ...event.eventData };
|
|
76
|
+
// Events can have various eventData with non-devalued keys.
|
|
77
|
+
// So far, only eventData.result is devalued (though this may change),
|
|
78
|
+
// so we need to hydrate it specifically.
|
|
79
|
+
try {
|
|
80
|
+
if ('result' in eventData && typeof eventData.result === 'object') {
|
|
81
|
+
eventData.result = hydrateStepReturnValue(eventData.result, globalThis, streamPrintRevivers);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.error('Error hydrating event data', error);
|
|
86
|
+
}
|
|
57
87
|
return {
|
|
58
88
|
...event,
|
|
59
|
-
eventData
|
|
60
|
-
? hydrateStepArguments(event.eventData, [], globalThis)
|
|
61
|
-
: event.eventData,
|
|
89
|
+
eventData,
|
|
62
90
|
};
|
|
63
91
|
};
|
|
64
92
|
const hydrateHookMetadata = (hook) => {
|
|
65
93
|
return {
|
|
66
94
|
...hook,
|
|
67
|
-
metadata: hook.metadata
|
|
68
|
-
? hydrateStepArguments(hook.metadata, [], globalThis)
|
|
95
|
+
metadata: hook.metadata && 'runId' in hook
|
|
96
|
+
? hydrateStepArguments(hook.metadata, [], hook.runId, globalThis, streamPrintRevivers)
|
|
69
97
|
: hook.metadata,
|
|
70
98
|
};
|
|
71
99
|
};
|
|
@@ -123,4 +151,4 @@ export function truncateId(id, maxLength = 12) {
|
|
|
123
151
|
return id;
|
|
124
152
|
return `${id.slice(0, maxLength)}...`;
|
|
125
153
|
}
|
|
126
|
-
//# sourceMappingURL=
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vYnNlcnZhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QiwwQkFBMEIsR0FDM0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztBQUVqQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWMsRUFBVyxFQUFFO0lBQ3BELE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBVSxFQUFVLEVBQUU7SUFDOUMsSUFBSSxNQUFNLElBQUksS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxHQUFHLGdCQUFnQixHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLEdBQUcsZ0JBQWdCLE1BQU0sQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUFHLENBQUMsS0FBYyxFQUFVLEVBQUU7SUFDaEUsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUMxQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUM3QyxJQUFJLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN0QixNQUFN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
|
package/dist/parse-name.js
CHANGED
|
@@ -37,4 +37,4 @@ export function parseWorkflowName(name) {
|
|
|
37
37
|
export function parseStepName(name) {
|
|
38
38
|
return parseName('step', name);
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZS1uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxTQUFTLFNBQVMsQ0FDaEIsR0FBVyxFQUNYLElBQVk7SUFFWixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlELElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTztRQUNMLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO1FBQ3pDLElBQUk7UUFDSixZQUFZLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztLQUMzQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLE9BQU8sU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFZO0lBQ3hDLE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqQyxDQUFDIn0=
|
package/dist/private.d.ts
CHANGED
|
@@ -15,6 +15,11 @@ export declare function registerStepFunction(stepId: string, stepFn: StepFunctio
|
|
|
15
15
|
* Find a registered step function by name
|
|
16
16
|
*/
|
|
17
17
|
export declare function getStepFunction(stepId: string): StepFunction | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Get closure variables for the current step function
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export { __private_getClosureVars } from './step/get-closure-vars.js';
|
|
18
23
|
export interface WorkflowOrchestratorContext {
|
|
19
24
|
globalThis: typeof globalThis;
|
|
20
25
|
eventsConsumer: EventsConsumer;
|
package/dist/private.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../src/private.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,YAAY,EAAE,GAAG,GAAG,EAAE,EACnC,MAAM,SAAS,YAAY,GAAG,OAAO,GAAG,OAAO,IAC7C,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,QAExE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAExE;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../src/private.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,YAAY,EAAE,GAAG,GAAG,EAAE,EACnC,MAAM,SAAS,YAAY,GAAG,OAAO,GAAG,OAAO,IAC7C,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,QAExE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAExE;AAED;;;GAGG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B"}
|
package/dist/private.js
CHANGED
|
@@ -14,4 +14,9 @@ export function registerStepFunction(stepId, stepFn) {
|
|
|
14
14
|
export function getStepFunction(stepId) {
|
|
15
15
|
return registeredSteps.get(stepId);
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Get closure variables for the current step function
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export { __private_getClosureVars } from './step/get-closure-vars.js';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcml2YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBYUgsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBYyxFQUFFLE1BQW9CO0lBQ3ZFLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBYztJQUM1QyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDIn0=
|
|
@@ -15,7 +15,8 @@ export declare function getHookByToken(token: string): Promise<Hook>;
|
|
|
15
15
|
*
|
|
16
16
|
* @param token - The unique token identifying the hook
|
|
17
17
|
* @param payload - The data payload to send to the hook
|
|
18
|
-
* @returns Promise resolving to
|
|
18
|
+
* @returns Promise resolving to the hook
|
|
19
|
+
* @throws Error if the hook is not found or if there's an error during the process
|
|
19
20
|
*
|
|
20
21
|
* @example
|
|
21
22
|
*
|
|
@@ -25,17 +26,17 @@ export declare function getHookByToken(token: string): Promise<Hook>;
|
|
|
25
26
|
*
|
|
26
27
|
* export async function POST(request: Request) {
|
|
27
28
|
* const { token, data } = await request.json();
|
|
28
|
-
* const result = await resumeHook(token, data);
|
|
29
29
|
*
|
|
30
|
-
*
|
|
30
|
+
* try {
|
|
31
|
+
* const hook = await resumeHook(token, data);
|
|
32
|
+
* return Response.json({ runId: hook.runId });
|
|
33
|
+
* } catch (error) {
|
|
31
34
|
* return new Response('Hook not found', { status: 404 });
|
|
32
35
|
* }
|
|
33
|
-
*
|
|
34
|
-
* return Response.json({ runId: result.runId });
|
|
35
36
|
* }
|
|
36
37
|
* ```
|
|
37
38
|
*/
|
|
38
|
-
export declare function resumeHook<T = any>(token: string, payload: T): Promise<Hook
|
|
39
|
+
export declare function resumeHook<T = any>(token: string, payload: T): Promise<Hook>;
|
|
39
40
|
/**
|
|
40
41
|
* Resumes a webhook by sending a {@link https://developer.mozilla.org/en-US/docs/Web/API/Request | Request}
|
|
41
42
|
* object to a hook identified by its token.
|
|
@@ -45,7 +46,8 @@ export declare function resumeHook<T = any>(token: string, payload: T): Promise<
|
|
|
45
46
|
*
|
|
46
47
|
* @param token - The unique token identifying the hook
|
|
47
48
|
* @param request - The request to send to the hook
|
|
48
|
-
* @returns Promise resolving to the response
|
|
49
|
+
* @returns Promise resolving to the response
|
|
50
|
+
* @throws Error if the hook is not found or if there's an error during the process
|
|
49
51
|
*
|
|
50
52
|
* @example
|
|
51
53
|
*
|
|
@@ -61,9 +63,12 @@ export declare function resumeHook<T = any>(token: string, payload: T): Promise<
|
|
|
61
63
|
* return new Response('Missing token', { status: 400 });
|
|
62
64
|
* }
|
|
63
65
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
66
|
+
* try {
|
|
67
|
+
* const response = await resumeWebhook(token, request);
|
|
68
|
+
* return response;
|
|
69
|
+
* } catch (error) {
|
|
70
|
+
* return new Response('Webhook not found', { status: 404 });
|
|
71
|
+
* }
|
|
67
72
|
* }
|
|
68
73
|
* ```
|
|
69
74
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-hook.d.ts","sourceRoot":"","sources":["../../src/runtime/resume-hook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"resume-hook.d.ts","sourceRoot":"","sources":["../../src/runtime/resume-hook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAyB,MAAM,iBAAiB,CAAC;AAWnE;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,GAAG,EACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,IAAI,CAAC,CA6Ef;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CAkDnB"}
|
|
@@ -4,6 +4,7 @@ import { dehydrateStepReturnValue, hydrateStepArguments, } from '../serializatio
|
|
|
4
4
|
import { WEBHOOK_RESPONSE_WRITABLE } from '../symbols.js';
|
|
5
5
|
import * as Attribute from '../telemetry/semantic-conventions.js';
|
|
6
6
|
import { getSpanContextForTraceCarrier, trace } from '../telemetry.js';
|
|
7
|
+
import { waitedUntil } from '../util.js';
|
|
7
8
|
import { getWorld } from './world.js';
|
|
8
9
|
/**
|
|
9
10
|
* Get the hook by token to find the associated workflow run,
|
|
@@ -16,7 +17,7 @@ export async function getHookByToken(token) {
|
|
|
16
17
|
const world = getWorld();
|
|
17
18
|
const hook = await world.hooks.getByToken(token);
|
|
18
19
|
if (typeof hook.metadata !== 'undefined') {
|
|
19
|
-
hook.metadata = hydrateStepArguments(hook.metadata, [],
|
|
20
|
+
hook.metadata = hydrateStepArguments(hook.metadata, [], hook.runId);
|
|
20
21
|
}
|
|
21
22
|
return hook;
|
|
22
23
|
}
|
|
@@ -28,7 +29,8 @@ export async function getHookByToken(token) {
|
|
|
28
29
|
*
|
|
29
30
|
* @param token - The unique token identifying the hook
|
|
30
31
|
* @param payload - The data payload to send to the hook
|
|
31
|
-
* @returns Promise resolving to
|
|
32
|
+
* @returns Promise resolving to the hook
|
|
33
|
+
* @throws Error if the hook is not found or if there's an error during the process
|
|
32
34
|
*
|
|
33
35
|
* @example
|
|
34
36
|
*
|
|
@@ -38,69 +40,73 @@ export async function getHookByToken(token) {
|
|
|
38
40
|
*
|
|
39
41
|
* export async function POST(request: Request) {
|
|
40
42
|
* const { token, data } = await request.json();
|
|
41
|
-
* const result = await resumeHook(token, data);
|
|
42
43
|
*
|
|
43
|
-
*
|
|
44
|
+
* try {
|
|
45
|
+
* const hook = await resumeHook(token, data);
|
|
46
|
+
* return Response.json({ runId: hook.runId });
|
|
47
|
+
* } catch (error) {
|
|
44
48
|
* return new Response('Hook not found', { status: 404 });
|
|
45
49
|
* }
|
|
46
|
-
*
|
|
47
|
-
* return Response.json({ runId: result.runId });
|
|
48
50
|
* }
|
|
49
51
|
* ```
|
|
50
52
|
*/
|
|
51
53
|
export async function resumeHook(token, payload) {
|
|
52
|
-
return
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
54
|
+
return await waitedUntil(() => {
|
|
55
|
+
return trace('HOOK.resume', async (span) => {
|
|
56
|
+
const world = getWorld();
|
|
57
|
+
try {
|
|
58
|
+
const hook = await getHookByToken(token);
|
|
59
|
+
span?.setAttributes({
|
|
60
|
+
...Attribute.HookToken(token),
|
|
61
|
+
...Attribute.HookId(hook.hookId),
|
|
62
|
+
...Attribute.WorkflowRunId(hook.runId),
|
|
63
|
+
});
|
|
64
|
+
// Dehydrate the payload for storage
|
|
65
|
+
const ops = [];
|
|
66
|
+
const dehydratedPayload = dehydrateStepReturnValue(payload, ops, hook.runId);
|
|
67
|
+
// NOTE: Workaround instead of injecting catching undefined unhandled rejections in webhook bundle
|
|
68
|
+
waitUntil(Promise.all(ops).catch((err) => {
|
|
69
|
+
if (err !== undefined)
|
|
70
|
+
throw err;
|
|
71
|
+
}));
|
|
72
|
+
// Create a hook_received event with the payload
|
|
73
|
+
await world.events.create(hook.runId, {
|
|
74
|
+
eventType: 'hook_received',
|
|
75
|
+
correlationId: hook.hookId,
|
|
76
|
+
eventData: {
|
|
77
|
+
payload: dehydratedPayload,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
const workflowRun = await world.runs.get(hook.runId);
|
|
81
|
+
span?.setAttributes({
|
|
82
|
+
...Attribute.WorkflowName(workflowRun.workflowName),
|
|
83
|
+
});
|
|
84
|
+
const traceCarrier = workflowRun.executionContext?.traceCarrier;
|
|
85
|
+
if (traceCarrier) {
|
|
86
|
+
const context = await getSpanContextForTraceCarrier(traceCarrier);
|
|
87
|
+
if (context) {
|
|
88
|
+
span?.addLink?.({ context });
|
|
89
|
+
}
|
|
82
90
|
}
|
|
91
|
+
// Re-trigger the workflow against the deployment ID associated
|
|
92
|
+
// with the workflow run that the hook belongs to
|
|
93
|
+
await world.queue(`__wkf_workflow_${workflowRun.workflowName}`, {
|
|
94
|
+
runId: hook.runId,
|
|
95
|
+
// attach the trace carrier from the workflow run
|
|
96
|
+
traceCarrier: workflowRun.executionContext?.traceCarrier ?? undefined,
|
|
97
|
+
}, {
|
|
98
|
+
deploymentId: workflowRun.deploymentId,
|
|
99
|
+
});
|
|
100
|
+
return hook;
|
|
83
101
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
});
|
|
93
|
-
return hook;
|
|
94
|
-
}
|
|
95
|
-
catch (_err) {
|
|
96
|
-
// If hook not found, return null
|
|
97
|
-
span?.setAttributes({
|
|
98
|
-
...Attribute.HookToken(token),
|
|
99
|
-
...Attribute.HookFound(false),
|
|
100
|
-
});
|
|
101
|
-
// TODO: Check for specific error types
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
span?.setAttributes({
|
|
104
|
+
...Attribute.HookToken(token),
|
|
105
|
+
...Attribute.HookFound(false),
|
|
106
|
+
});
|
|
107
|
+
throw err;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
104
110
|
});
|
|
105
111
|
}
|
|
106
112
|
/**
|
|
@@ -112,7 +118,8 @@ export async function resumeHook(token, payload) {
|
|
|
112
118
|
*
|
|
113
119
|
* @param token - The unique token identifying the hook
|
|
114
120
|
* @param request - The request to send to the hook
|
|
115
|
-
* @returns Promise resolving to the response
|
|
121
|
+
* @returns Promise resolving to the response
|
|
122
|
+
* @throws Error if the hook is not found or if there's an error during the process
|
|
116
123
|
*
|
|
117
124
|
* @example
|
|
118
125
|
*
|
|
@@ -128,9 +135,12 @@ export async function resumeHook(token, payload) {
|
|
|
128
135
|
* return new Response('Missing token', { status: 400 });
|
|
129
136
|
* }
|
|
130
137
|
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
138
|
+
* try {
|
|
139
|
+
* const response = await resumeWebhook(token, request);
|
|
140
|
+
* return response;
|
|
141
|
+
* } catch (error) {
|
|
142
|
+
* return new Response('Webhook not found', { status: 404 });
|
|
143
|
+
* }
|
|
134
144
|
* }
|
|
135
145
|
* ```
|
|
136
146
|
*/
|
|
@@ -177,4 +187,4 @@ export async function resumeWebhook(token, request) {
|
|
|
177
187
|
}
|
|
178
188
|
return response;
|
|
179
189
|
}
|
|
180
|
-
//# sourceMappingURL=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdW1lLWhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9yZXN1bWUtaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJFLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsb0JBQW9CLEdBQ3JCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sS0FBSyxTQUFTLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxLQUFhO0lBQ2hELE1BQU0sS0FBSyxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBZSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBTSxDQUFDLEtB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
|
package/dist/runtime/start.d.ts
CHANGED
|
@@ -2,6 +2,10 @@ import { Run } from '../runtime.js';
|
|
|
2
2
|
export interface StartOptions {
|
|
3
3
|
/**
|
|
4
4
|
* The deployment ID to use for the workflow run.
|
|
5
|
+
*
|
|
6
|
+
* @deprecated This property should not be set in user code under normal circumstances.
|
|
7
|
+
* It is automatically inferred from environment variables when deploying to Vercel.
|
|
8
|
+
* Only set this if you are doing something advanced and know what you are doing.
|
|
5
9
|
*/
|
|
6
10
|
deploymentId?: string;
|
|
7
11
|
}
|
|
@@ -24,5 +28,5 @@ export type WorkflowMetadata = {
|
|
|
24
28
|
* @returns The unique run ID for the newly started workflow invocation.
|
|
25
29
|
*/
|
|
26
30
|
export declare function start<TArgs extends unknown[], TResult>(workflow: WorkflowFunction<TArgs, TResult> | WorkflowMetadata, args: TArgs, options?: StartOptions): Promise<Run<TResult>>;
|
|
27
|
-
export declare function start<
|
|
31
|
+
export declare function start<TResult>(workflow: WorkflowFunction<[], TResult> | WorkflowMetadata, options?: StartOptions): Promise<Run<TResult>>;
|
|
28
32
|
//# sourceMappingURL=start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/runtime/start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/runtime/start.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAQpC,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI,CAC/D,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACpD,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,gBAAgB,EAC7D,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAEzB,wBAAgB,KAAK,CAAC,OAAO,EAC3B,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,gBAAgB,EAC1D,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
package/dist/runtime/start.js
CHANGED
|
@@ -1,57 +1,68 @@
|
|
|
1
1
|
import { waitUntil } from '@vercel/functions';
|
|
2
2
|
import { WorkflowRuntimeError } from '@workflow/errors';
|
|
3
|
+
import { withResolvers } from '@workflow/utils';
|
|
3
4
|
import { Run } from '../runtime.js';
|
|
4
5
|
import { dehydrateWorkflowArguments } from '../serialization.js';
|
|
5
6
|
import * as Attribute from '../telemetry/semantic-conventions.js';
|
|
6
7
|
import { serializeTraceCarrier, trace } from '../telemetry.js';
|
|
8
|
+
import { waitedUntil } from '../util.js';
|
|
7
9
|
import { getWorld } from './world.js';
|
|
8
10
|
export async function start(workflow, argsOrOptions, options) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return trace(`WORKFLOW.start ${workflowName}`, async (span) => {
|
|
15
|
-
span?.setAttributes({
|
|
16
|
-
...Attribute.WorkflowName(workflowName),
|
|
17
|
-
...Attribute.WorkflowOperation('start'),
|
|
18
|
-
});
|
|
19
|
-
let args = [];
|
|
20
|
-
let opts = options ?? {};
|
|
21
|
-
if (Array.isArray(argsOrOptions)) {
|
|
22
|
-
args = argsOrOptions;
|
|
23
|
-
}
|
|
24
|
-
else if (typeof argsOrOptions === 'object') {
|
|
25
|
-
opts = argsOrOptions;
|
|
11
|
+
return await waitedUntil(() => {
|
|
12
|
+
// @ts-expect-error this field is added by our client transform
|
|
13
|
+
const workflowName = workflow?.workflowId;
|
|
14
|
+
if (!workflowName) {
|
|
15
|
+
throw new WorkflowRuntimeError(`'start' received an invalid workflow function. Ensure the Workflow Development Kit is configured correctly and the function includes a 'use workflow' directive.`, { slug: 'start-invalid-workflow-function' });
|
|
26
16
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
17
|
+
return trace(`WORKFLOW.start ${workflowName}`, async (span) => {
|
|
18
|
+
span?.setAttributes({
|
|
19
|
+
...Attribute.WorkflowName(workflowName),
|
|
20
|
+
...Attribute.WorkflowOperation('start'),
|
|
21
|
+
});
|
|
22
|
+
let args = [];
|
|
23
|
+
let opts = options ?? {};
|
|
24
|
+
if (Array.isArray(argsOrOptions)) {
|
|
25
|
+
args = argsOrOptions;
|
|
26
|
+
}
|
|
27
|
+
else if (typeof argsOrOptions === 'object') {
|
|
28
|
+
opts = argsOrOptions;
|
|
29
|
+
}
|
|
30
|
+
span?.setAttributes({
|
|
31
|
+
...Attribute.WorkflowArgumentsCount(args.length),
|
|
32
|
+
});
|
|
33
|
+
const world = getWorld();
|
|
34
|
+
const deploymentId = opts.deploymentId ?? (await world.getDeploymentId());
|
|
35
|
+
const ops = [];
|
|
36
|
+
const { promise: runIdPromise, resolve: resolveRunId } = withResolvers();
|
|
37
|
+
const workflowArguments = dehydrateWorkflowArguments(args, ops, runIdPromise);
|
|
38
|
+
// Serialize current trace context to propagate across queue boundary
|
|
39
|
+
const traceCarrier = await serializeTraceCarrier();
|
|
40
|
+
const runResponse = await world.runs.create({
|
|
41
|
+
deploymentId: deploymentId,
|
|
42
|
+
workflowName: workflowName,
|
|
43
|
+
input: workflowArguments,
|
|
44
|
+
executionContext: { traceCarrier },
|
|
45
|
+
});
|
|
46
|
+
resolveRunId(runResponse.runId);
|
|
47
|
+
waitUntil(Promise.all(ops).catch((err) => {
|
|
48
|
+
// Ignore expected client disconnect errors (e.g., browser refresh during streaming)
|
|
49
|
+
const isAbortError = err?.name === 'AbortError' || err?.name === 'ResponseAborted';
|
|
50
|
+
if (!isAbortError)
|
|
51
|
+
throw err;
|
|
52
|
+
}));
|
|
53
|
+
span?.setAttributes({
|
|
54
|
+
...Attribute.WorkflowRunId(runResponse.runId),
|
|
55
|
+
...Attribute.WorkflowRunStatus(runResponse.status),
|
|
56
|
+
...Attribute.DeploymentId(deploymentId),
|
|
57
|
+
});
|
|
58
|
+
await world.queue(`__wkf_workflow_${workflowName}`, {
|
|
59
|
+
runId: runResponse.runId,
|
|
60
|
+
traceCarrier,
|
|
61
|
+
}, {
|
|
62
|
+
deploymentId,
|
|
63
|
+
});
|
|
64
|
+
return new Run(runResponse.runId);
|
|
53
65
|
});
|
|
54
|
-
return new Run(runResponse.runId);
|
|
55
66
|
});
|
|
56
67
|
}
|
|
57
|
-
//# sourceMappingURL=
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9zdGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxLQUFLLFNBQVMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBNEN0QyxNQUFNLENBQUMsS0FBSyxVQUFVLEtBQUssQ0FDekIsUUFBNkQsRUFDN0QsYUFBb0MsRUFDcEMsT0FBc0I7SUFFdEIsT0FBTyxNQUFNLFdBQVcsQ0FBQyxHQUFHLEVBQUU7UUFDNUIsK0RBQStEO1FBQy9ELE1BQU0sWUFBWSxHQUFHLFFBQVEsRUFBRSxVQUFVLENBQUM7UUFFMUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxvQkFBb0IsQ0FDNUIsa0tBQWtLLEVBQ2xLLEVBQUUsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLENBQzVDLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsa0JBQWtCLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM1RCxJQUFJLEVBQUUsYUFBYSxDQUFDO2dCQUNsQixHQUFHLFNBQVMsQ0FBQyxZQUFZ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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,KAiC9B,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"}
|