@workflow/core 4.0.1-beta.11 → 4.0.1-beta.13

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.
Files changed (94) hide show
  1. package/dist/builtins.js +1 -1
  2. package/dist/create-hook.js +1 -1
  3. package/dist/define-hook.js +1 -1
  4. package/dist/events-consumer.js +1 -1
  5. package/dist/global.js +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/logger.js +1 -1
  8. package/dist/observability.d.ts.map +1 -1
  9. package/dist/observability.js +6 -6
  10. package/dist/parse-name.js +1 -1
  11. package/dist/private.js +1 -1
  12. package/dist/runtime/resume-hook.d.ts.map +1 -1
  13. package/dist/runtime/resume-hook.js +53 -50
  14. package/dist/runtime/start.d.ts.map +1 -1
  15. package/dist/runtime/start.js +51 -45
  16. package/dist/runtime/world.js +3 -3
  17. package/dist/runtime.d.ts.map +1 -1
  18. package/dist/runtime.js +29 -20
  19. package/dist/schemas.d.ts +1 -1
  20. package/dist/schemas.d.ts.map +1 -1
  21. package/dist/schemas.js +1 -1
  22. package/dist/serialization.d.ts +47 -7
  23. package/dist/serialization.d.ts.map +1 -1
  24. package/dist/serialization.js +76 -31
  25. package/dist/sleep.js +1 -1
  26. package/dist/source-map.js +1 -1
  27. package/dist/step/context-storage.d.ts +1 -1
  28. package/dist/step/context-storage.d.ts.map +1 -1
  29. package/dist/step/context-storage.js +1 -1
  30. package/dist/step/get-step-metadata.js +1 -1
  31. package/dist/step/get-workflow-metadata.js +1 -1
  32. package/dist/step/writable-stream.d.ts.map +1 -1
  33. package/dist/step/writable-stream.js +6 -5
  34. package/dist/step.d.ts.map +1 -1
  35. package/dist/step.js +16 -2
  36. package/dist/symbols.js +1 -1
  37. package/dist/telemetry/semantic-conventions.d.ts +8 -8
  38. package/dist/telemetry/semantic-conventions.js +1 -1
  39. package/dist/telemetry.js +1 -1
  40. package/dist/types.js +1 -1
  41. package/dist/util.d.ts +5 -0
  42. package/dist/util.d.ts.map +1 -1
  43. package/dist/util.js +11 -1
  44. package/dist/vm/index.js +1 -1
  45. package/dist/vm/uuid.js +1 -1
  46. package/dist/workflow/create-hook.js +1 -1
  47. package/dist/workflow/define-hook.js +1 -1
  48. package/dist/workflow/get-workflow-metadata.js +1 -1
  49. package/dist/workflow/hook.js +1 -1
  50. package/dist/workflow/index.js +1 -1
  51. package/dist/workflow/sleep.js +1 -1
  52. package/dist/workflow/writable-stream.js +1 -1
  53. package/dist/workflow.js +1 -1
  54. package/dist/writable-stream.js +1 -1
  55. package/package.json +19 -18
  56. package/dist/builtins.js.map +0 -1
  57. package/dist/create-hook.js.map +0 -1
  58. package/dist/define-hook.js.map +0 -1
  59. package/dist/events-consumer.js.map +0 -1
  60. package/dist/global.js.map +0 -1
  61. package/dist/index.js.map +0 -1
  62. package/dist/logger.js.map +0 -1
  63. package/dist/observability.js.map +0 -1
  64. package/dist/parse-name.js.map +0 -1
  65. package/dist/private.js.map +0 -1
  66. package/dist/runtime/resume-hook.js.map +0 -1
  67. package/dist/runtime/start.js.map +0 -1
  68. package/dist/runtime/world.js.map +0 -1
  69. package/dist/runtime.js.map +0 -1
  70. package/dist/schemas.js.map +0 -1
  71. package/dist/serialization.js.map +0 -1
  72. package/dist/sleep.js.map +0 -1
  73. package/dist/source-map.js.map +0 -1
  74. package/dist/step/context-storage.js.map +0 -1
  75. package/dist/step/get-step-metadata.js.map +0 -1
  76. package/dist/step/get-workflow-metadata.js.map +0 -1
  77. package/dist/step/writable-stream.js.map +0 -1
  78. package/dist/step.js.map +0 -1
  79. package/dist/symbols.js.map +0 -1
  80. package/dist/telemetry/semantic-conventions.js.map +0 -1
  81. package/dist/telemetry.js.map +0 -1
  82. package/dist/types.js.map +0 -1
  83. package/dist/util.js.map +0 -1
  84. package/dist/vm/index.js.map +0 -1
  85. package/dist/vm/uuid.js.map +0 -1
  86. package/dist/workflow/create-hook.js.map +0 -1
  87. package/dist/workflow/define-hook.js.map +0 -1
  88. package/dist/workflow/get-workflow-metadata.js.map +0 -1
  89. package/dist/workflow/hook.js.map +0 -1
  90. package/dist/workflow/index.js.map +0 -1
  91. package/dist/workflow/sleep.js.map +0 -1
  92. package/dist/workflow/writable-stream.js.map +0 -1
  93. package/dist/workflow.js.map +0 -1
  94. package/dist/writable-stream.js.map +0 -1
package/dist/runtime.js CHANGED
@@ -3,10 +3,12 @@ import { FatalError, RetryableError, WorkflowAPIError, WorkflowRunCancelledError
3
3
  import { getPort } from '@workflow/utils/get-port';
4
4
  import { WorkflowSuspension } from './global.js';
5
5
  import { runtimeLogger } from './logger.js';
6
+ import { parseWorkflowName } from './parse-name.js';
6
7
  import { getStepFunction } from './private.js';
7
8
  import { getWorld, getWorldHandlers } from './runtime/world.js';
8
9
  import { StepInvokePayloadSchema, WorkflowInvokePayloadSchema, } from './schemas.js';
9
10
  import { dehydrateStepArguments, dehydrateStepReturnValue, getExternalRevivers, hydrateStepArguments, hydrateWorkflowReturnValue, } from './serialization.js';
11
+ import { remapErrorStack } from './source-map.js';
10
12
  // TODO: move step handler out to a separate file
11
13
  import { contextStorage } from './step/context-storage.js';
12
14
  import * as Attribute from './telemetry/semantic-conventions.js';
@@ -14,8 +16,6 @@ import { serializeTraceCarrier, trace, withTraceContext } from './telemetry.js';
14
16
  import { getErrorName, getErrorStack } from './types.js';
15
17
  import { buildWorkflowSuspensionMessage, getWorkflowRunStreamId, } from './util.js';
16
18
  import { runWorkflow } from './workflow.js';
17
- import { remapErrorStack } from './source-map.js';
18
- import { parseWorkflowName } from './parse-name.js';
19
19
  export { WorkflowSuspension } from './global.js';
20
20
  export { getHookByToken, resumeHook, resumeWebhook, } from './runtime/resume-hook.js';
21
21
  export { start } from './runtime/start.js';
@@ -98,7 +98,7 @@ export class Run {
98
98
  getReadable(options = {}) {
99
99
  const { ops = [], global = globalThis, startIndex, namespace } = options;
100
100
  const name = getWorkflowRunStreamId(this.runId, namespace);
101
- return getExternalRevivers(global, ops).ReadableStream({
101
+ return getExternalRevivers(global, ops, this.runId).ReadableStream({
102
102
  name,
103
103
  startIndex,
104
104
  });
@@ -113,13 +113,13 @@ export class Run {
113
113
  try {
114
114
  const run = await this.world.runs.get(this.runId);
115
115
  if (run.status === 'completed') {
116
- return hydrateWorkflowReturnValue(run.output, [], globalThis);
116
+ return hydrateWorkflowReturnValue(run.output, [], this.runId);
117
117
  }
118
118
  if (run.status === 'cancelled') {
119
119
  throw new WorkflowRunCancelledError(this.runId);
120
120
  }
121
121
  if (run.status === 'failed') {
122
- throw new WorkflowRunFailedError(this.runId, run.error ?? 'Unknown error');
122
+ throw new WorkflowRunFailedError(this.runId, run.error);
123
123
  }
124
124
  throw new WorkflowRunNotCompletedError(this.runId, run.status);
125
125
  }
@@ -373,6 +373,7 @@ export function workflowEntrypoint(workflowCode) {
373
373
  }
374
374
  else {
375
375
  const errorName = getErrorName(err);
376
+ const errorMessage = err instanceof Error ? err.message : String(err);
376
377
  let errorStack = getErrorStack(err);
377
378
  // Remap error stack using source maps to show original source locations
378
379
  if (errorStack) {
@@ -381,12 +382,13 @@ export function workflowEntrypoint(workflowCode) {
381
382
  errorStack = remapErrorStack(errorStack, filename, workflowCode);
382
383
  }
383
384
  console.error(`${errorName} while running "${runId}" workflow:\n\n${errorStack}`);
384
- // Store both the error message and remapped stack trace
385
- const errorString = errorStack || String(err);
386
385
  await world.runs.update(runId, {
387
386
  status: 'failed',
388
- error: errorString,
389
- // TODO: include error codes when we define them
387
+ error: {
388
+ message: errorMessage,
389
+ stack: errorStack,
390
+ // TODO: include error codes when we define them
391
+ },
390
392
  });
391
393
  span?.setAttributes({
392
394
  ...Attribute.WorkflowRunStatus('failed'),
@@ -486,7 +488,7 @@ export const stepEntrypoint =
486
488
  }
487
489
  // Hydrate the step input arguments
488
490
  const ops = [];
489
- const args = hydrateStepArguments(step.input, ops);
491
+ const args = hydrateStepArguments(step.input, ops, workflowRunId);
490
492
  span?.setAttributes({
491
493
  ...Attribute.StepArgumentsCount(args.length),
492
494
  });
@@ -507,7 +509,7 @@ export const stepEntrypoint =
507
509
  },
508
510
  ops,
509
511
  }, () => stepFn(...args));
510
- result = dehydrateStepReturnValue(result, ops);
512
+ result = dehydrateStepReturnValue(result, ops, workflowRunId);
511
513
  waitUntil(Promise.all(ops));
512
514
  // Update the event log with the step result
513
515
  await world.events.create(workflowRunId, {
@@ -539,7 +541,8 @@ export const stepEntrypoint =
539
541
  }
540
542
  }
541
543
  if (FatalError.is(err)) {
542
- const stackLines = getErrorStack(err).split('\n').slice(0, 4);
544
+ const errorStack = getErrorStack(err);
545
+ const stackLines = errorStack.split('\n').slice(0, 4);
543
546
  console.error(`[Workflows] "${workflowRunId}" - Encountered \`FatalError\` while executing step "${stepName}":\n > ${stackLines.join('\n > ')}\n\nBubbling up error to parent workflow`);
544
547
  // Fatal error - store the error in the event log and re-invoke the workflow
545
548
  await world.events.create(workflowRunId, {
@@ -547,15 +550,17 @@ export const stepEntrypoint =
547
550
  correlationId: stepId,
548
551
  eventData: {
549
552
  error: String(err),
550
- stack: err.stack,
553
+ stack: errorStack,
551
554
  fatal: true,
552
555
  },
553
556
  });
554
557
  await world.steps.update(workflowRunId, stepId, {
555
558
  status: 'failed',
556
- error: String(err),
557
- // TODO: include error codes when we define them
558
- // TODO: serialize/include the error name and stack?
559
+ error: {
560
+ message: err.message || String(err),
561
+ stack: errorStack,
562
+ // TODO: include error codes when we define them
563
+ },
559
564
  });
560
565
  span?.setAttributes({
561
566
  ...Attribute.StepStatus('failed'),
@@ -570,7 +575,8 @@ export const stepEntrypoint =
570
575
  });
571
576
  if (attempt >= maxRetries) {
572
577
  // Max retries reached
573
- const stackLines = getErrorStack(err).split('\n').slice(0, 4);
578
+ const errorStack = getErrorStack(err);
579
+ const stackLines = errorStack.split('\n').slice(0, 4);
574
580
  console.error(`[Workflows] "${workflowRunId}" - Encountered \`Error\` while executing step "${stepName}" (attempt ${attempt}):\n > ${stackLines.join('\n > ')}\n\n Max retries reached\n Bubbling error to parent workflow`);
575
581
  const errorMessage = `Step "${stepName}" failed after max retries: ${String(err)}`;
576
582
  await world.events.create(workflowRunId, {
@@ -578,13 +584,16 @@ export const stepEntrypoint =
578
584
  correlationId: stepId,
579
585
  eventData: {
580
586
  error: errorMessage,
581
- stack: getErrorStack(err),
587
+ stack: errorStack,
582
588
  fatal: true,
583
589
  },
584
590
  });
585
591
  await world.steps.update(workflowRunId, stepId, {
586
592
  status: 'failed',
587
- error: errorMessage,
593
+ error: {
594
+ message: errorMessage,
595
+ stack: errorStack,
596
+ },
588
597
  });
589
598
  span?.setAttributes({
590
599
  ...Attribute.StepStatus('failed'),
@@ -637,4 +646,4 @@ export const stepEntrypoint =
637
646
  // this is a no-op placeholder as the client is
638
647
  // expecting this to be present but we aren't actually using it
639
648
  export function runStep() { }
640
- //# sourceMappingURL=runtime.js.map
649
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsb0JBQW9CLEdBQ3JCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFHTCx1QkFBdUIsRUFFdkIsMkJBQTJCLEdBQzVCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsMEJBQTBCLEdBQzNCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELGlEQUFpRDtBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFNBQVMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FB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
package/dist/schemas.d.ts CHANGED
@@ -25,5 +25,5 @@ export type StepInvokePayload = z.infer<typeof StepInvokePayloadSchema>;
25
25
  */
26
26
  export type Serializable = string | number | boolean | null | undefined | Serializable[] | {
27
27
  [key: string]: Serializable;
28
- } | ArrayBuffer | bigint | BigInt64Array | BigUint64Array | Date | Float32Array | Float64Array | Headers | Int8Array | Int16Array | Int32Array | Map<Serializable, Serializable> | ReadableStream<Uint8Array> | RegExp | Response | Set<Serializable> | URL | URLSearchParams | Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | WritableStream<Uint8Array>;
28
+ } | ArrayBuffer | bigint | BigInt64Array | BigUint64Array | Date | Float32Array | Float64Array | Headers | Int8Array | Int16Array | Int32Array | Map<Serializable, Serializable> | ReadableStream<Uint8Array> | RegExp | Response | Set<Serializable> | URL | URLSearchParams | Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | WritableStream<Uint8Array> | ((...args: Serializable[]) => Promise<Serializable>);
29
29
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAEpB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,YAAY,EAAE,GACd;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,GAG/B,WAAW,GACX,MAAM,GACN,aAAa,GACb,cAAc,GACd,IAAI,GACJ,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAC/B,cAAc,CAAC,UAAU,CAAC,GAC1B,MAAM,GACN,QAAQ,GACR,GAAG,CAAC,YAAY,CAAC,GACjB,GAAG,GACH,eAAe,GACf,UAAU,GACV,iBAAiB,GACjB,WAAW,GACX,WAAW,GACX,cAAc,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAEpB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,YAAY,EAAE,GACd;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,GAG/B,WAAW,GACX,MAAM,GACN,aAAa,GACb,cAAc,GACd,IAAI,GACJ,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,GAC/B,cAAc,CAAC,UAAU,CAAC,GAC1B,MAAM,GACN,QAAQ,GACR,GAAG,CAAC,YAAY,CAAC,GACjB,GAAG,GACH,eAAe,GACf,UAAU,GACV,iBAAiB,GACjB,WAAW,GACX,WAAW,GACX,cAAc,CAAC,UAAU,CAAC,GAC1B,CAAC,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC"}
package/dist/schemas.js CHANGED
@@ -12,4 +12,4 @@ export const StepInvokePayloadSchema = z.object({
12
12
  stepId: z.string(),
13
13
  traceCarrier: TraceCarrierSchema.optional(),
14
14
  });
15
- //# sourceMappingURL=schemas.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsc0RBQXNEO0FBQ3RELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixZQUFZLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFO0NBQzVDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDeEIsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM3QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixZQUFZLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFO0NBQzVDLENBQUMsQ0FBQyJ9
@@ -13,7 +13,7 @@ export declare class WorkflowServerReadableStream extends ReadableStream<Uint8Ar
13
13
  constructor(name: string, startIndex?: number);
14
14
  }
15
15
  export declare class WorkflowServerWritableStream extends WritableStream<Uint8Array> {
16
- constructor(name: string);
16
+ constructor(name: string, runId: string | Promise<string>);
17
17
  }
18
18
  export interface SerializableSpecial {
19
19
  ArrayBuffer: string;
@@ -58,6 +58,7 @@ export interface SerializableSpecial {
58
58
  redirected: boolean;
59
59
  };
60
60
  Set: any[];
61
+ StepFunction: string;
61
62
  URL: string;
62
63
  URLSearchParams: string;
63
64
  Uint8Array: string;
@@ -82,7 +83,7 @@ type Revivers = {
82
83
  * @param ops
83
84
  * @returns
84
85
  */
85
- export declare function getExternalReducers(global: Record<string, any> | undefined, ops: Promise<any>[]): Reducers;
86
+ export declare function getExternalReducers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string | Promise<string>): Reducers;
86
87
  /**
87
88
  * Reducers for serialization boundary from within the workflow execution
88
89
  * environment, passing return value to the client side and into step arguments.
@@ -91,14 +92,42 @@ export declare function getExternalReducers(global: Record<string, any> | undefi
91
92
  * @returns
92
93
  */
93
94
  export declare function getWorkflowReducers(global?: Record<string, any>): Reducers;
95
+ export declare function getCommonRevivers(global?: Record<string, any>): {
96
+ readonly ArrayBuffer: (value: string) => any;
97
+ readonly BigInt: (value: string) => any;
98
+ readonly BigInt64Array: (value: string) => any;
99
+ readonly BigUint64Array: (value: string) => any;
100
+ readonly Date: (value: string) => any;
101
+ readonly Error: (value: Record<string, any>) => any;
102
+ readonly Float32Array: (value: string) => any;
103
+ readonly Float64Array: (value: string) => any;
104
+ readonly Headers: (value: [string, string][]) => any;
105
+ readonly Int8Array: (value: string) => any;
106
+ readonly Int16Array: (value: string) => any;
107
+ readonly Int32Array: (value: string) => any;
108
+ readonly Map: (value: [any, any][]) => any;
109
+ readonly RegExp: (value: {
110
+ source: string;
111
+ flags: string;
112
+ }) => any;
113
+ readonly Set: (value: any[]) => any;
114
+ readonly StepFunction: (value: string) => import("./private.js").StepFunction<any[], unknown>;
115
+ readonly URL: (value: string) => any;
116
+ readonly URLSearchParams: (value: string) => any;
117
+ readonly Uint8Array: (value: string) => any;
118
+ readonly Uint8ClampedArray: (value: string) => any;
119
+ readonly Uint16Array: (value: string) => any;
120
+ readonly Uint32Array: (value: string) => any;
121
+ };
94
122
  /**
95
123
  * Revivers for deserialization boundary from the client side,
96
124
  * receiving the return value from the workflow handler.
97
125
  *
98
126
  * @param global
99
127
  * @param ops
128
+ * @param runId
100
129
  */
101
- export declare function getExternalRevivers(global: Record<string, any> | undefined, ops: Promise<any>[]): Revivers;
130
+ export declare function getExternalRevivers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string | Promise<string>): Revivers;
102
131
  /**
103
132
  * Revivers for deserialization boundary from within the workflow execution
104
133
  * environment, receiving arguments from the client side, and return values
@@ -115,9 +144,10 @@ export declare function getWorkflowRevivers(global?: Record<string, any>): Reviv
115
144
  *
116
145
  * @param value
117
146
  * @param global
147
+ * @param runId
118
148
  * @returns The dehydrated value, ready to be inserted into the database
119
149
  */
120
- export declare function dehydrateWorkflowArguments(value: unknown, ops: Promise<any>[], global?: Record<string, any>): any;
150
+ export declare function dehydrateWorkflowArguments(value: unknown, ops: Promise<void>[], runId: string | Promise<string>, global?: Record<string, any>): any;
121
151
  /**
122
152
  * Called from workflow execution environment to hydrate the workflow
123
153
  * arguments from the database at the start of workflow execution.
@@ -143,10 +173,13 @@ export declare function dehydrateWorkflowReturnValue(value: unknown, global?: Re
143
173
  * return value of a completed workflow run.
144
174
  *
145
175
  * @param value
176
+ * @param ops
146
177
  * @param global
178
+ * @param extraRevivers
179
+ * @param runId
147
180
  * @returns The hydrated return value, ready to be consumed by the client
148
181
  */
149
- export declare function hydrateWorkflowReturnValue(value: Parameters<typeof devalue.unflatten>[0], ops: Promise<any>[], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): any;
182
+ export declare function hydrateWorkflowReturnValue(value: Parameters<typeof devalue.unflatten>[0], ops: Promise<void>[], runId: string | Promise<string>, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): any;
150
183
  /**
151
184
  * Called from the workflow handler when a step is being created.
152
185
  * Dehydrates values from within the workflow execution environment
@@ -162,26 +195,33 @@ export declare function dehydrateStepArguments(value: unknown, global: Record<st
162
195
  * from the database at the start of the step execution.
163
196
  *
164
197
  * @param value
198
+ * @param ops
165
199
  * @param global
200
+ * @param extraRevivers
201
+ * @param runId
166
202
  * @returns The hydrated value, ready to be consumed by the step user-code function
167
203
  */
168
- export declare function hydrateStepArguments(value: Parameters<typeof devalue.unflatten>[0], ops: Promise<any>[], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): any;
204
+ export declare function hydrateStepArguments(value: Parameters<typeof devalue.unflatten>[0], ops: Promise<any>[], runId: string | Promise<string>, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): any;
169
205
  /**
170
206
  * Called from the step handler when a step has completed.
171
207
  * Dehydrates values from within the step execution environment
172
208
  * into a format that can be saved to the database.
173
209
  *
174
210
  * @param value
211
+ * @param ops
175
212
  * @param global
213
+ * @param runId
176
214
  * @returns The dehydrated value, ready to be inserted into the database
177
215
  */
178
- export declare function dehydrateStepReturnValue(value: unknown, ops: Promise<any>[], global?: Record<string, any>): any;
216
+ export declare function dehydrateStepReturnValue(value: unknown, ops: Promise<any>[], runId: string | Promise<string>, global?: Record<string, any>): any;
179
217
  /**
180
218
  * Called from the workflow handler when replaying the event log of a `step_completed` event.
181
219
  * Hydrates the return value of a step from the database.
182
220
  *
183
221
  * @param value
184
222
  * @param global
223
+ * @param extraRevivers
224
+ * @param runId
185
225
  * @returns The hydrated return value of a step, ready to be consumed by the workflow handler
186
226
  */
187
227
  export declare function hydrateStepReturnValue(value: Parameters<typeof devalue.unflatten>[0], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): any;
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}