@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.
Files changed (129) hide show
  1. package/LICENSE.md +201 -21
  2. package/dist/builtins.js +1 -1
  3. package/dist/create-hook.js +1 -1
  4. package/dist/define-hook.d.ts +40 -25
  5. package/dist/define-hook.d.ts.map +1 -1
  6. package/dist/define-hook.js +22 -27
  7. package/dist/events-consumer.js +1 -1
  8. package/dist/global.d.ts +10 -1
  9. package/dist/global.d.ts.map +1 -1
  10. package/dist/global.js +14 -2
  11. package/dist/index.d.ts +3 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +3 -2
  14. package/dist/logger.js +1 -1
  15. package/dist/observability.d.ts.map +1 -1
  16. package/dist/observability.js +39 -11
  17. package/dist/parse-name.js +1 -1
  18. package/dist/private.d.ts +5 -0
  19. package/dist/private.d.ts.map +1 -1
  20. package/dist/private.js +6 -1
  21. package/dist/runtime/resume-hook.d.ts +15 -10
  22. package/dist/runtime/resume-hook.d.ts.map +1 -1
  23. package/dist/runtime/resume-hook.js +71 -61
  24. package/dist/runtime/start.d.ts +5 -1
  25. package/dist/runtime/start.d.ts.map +1 -1
  26. package/dist/runtime/start.js +56 -45
  27. package/dist/runtime/world.d.ts.map +1 -1
  28. package/dist/runtime/world.js +20 -20
  29. package/dist/runtime.d.ts +1 -1
  30. package/dist/runtime.d.ts.map +1 -1
  31. package/dist/runtime.js +213 -57
  32. package/dist/schemas.d.ts +1 -15
  33. package/dist/schemas.d.ts.map +1 -1
  34. package/dist/schemas.js +2 -15
  35. package/dist/serialization.d.ts +54 -7
  36. package/dist/serialization.d.ts.map +1 -1
  37. package/dist/serialization.js +129 -34
  38. package/dist/sleep.d.ts +33 -0
  39. package/dist/sleep.d.ts.map +1 -0
  40. package/dist/sleep.js +10 -0
  41. package/dist/source-map.d.ts +10 -0
  42. package/dist/source-map.d.ts.map +1 -0
  43. package/dist/source-map.js +56 -0
  44. package/dist/step/context-storage.d.ts +2 -0
  45. package/dist/step/context-storage.d.ts.map +1 -1
  46. package/dist/step/context-storage.js +1 -1
  47. package/dist/step/get-closure-vars.d.ts +9 -0
  48. package/dist/step/get-closure-vars.d.ts.map +1 -0
  49. package/dist/step/get-closure-vars.js +16 -0
  50. package/dist/step/get-step-metadata.js +1 -1
  51. package/dist/step/get-workflow-metadata.js +1 -1
  52. package/dist/step/writable-stream.d.ts +14 -0
  53. package/dist/step/writable-stream.d.ts.map +1 -0
  54. package/dist/step/writable-stream.js +30 -0
  55. package/dist/step.d.ts +1 -1
  56. package/dist/step.d.ts.map +1 -1
  57. package/dist/step.js +35 -6
  58. package/dist/symbols.d.ts +1 -0
  59. package/dist/symbols.d.ts.map +1 -1
  60. package/dist/symbols.js +2 -1
  61. package/dist/telemetry/semantic-conventions.d.ts +46 -38
  62. package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
  63. package/dist/telemetry/semantic-conventions.js +7 -3
  64. package/dist/telemetry.d.ts +8 -4
  65. package/dist/telemetry.d.ts.map +1 -1
  66. package/dist/telemetry.js +20 -6
  67. package/dist/types.d.ts +0 -7
  68. package/dist/types.d.ts.map +1 -1
  69. package/dist/types.js +1 -26
  70. package/dist/util.d.ts +9 -27
  71. package/dist/util.d.ts.map +1 -1
  72. package/dist/util.js +34 -42
  73. package/dist/vm/index.js +2 -2
  74. package/dist/vm/uuid.js +1 -1
  75. package/dist/workflow/create-hook.js +1 -1
  76. package/dist/workflow/define-hook.d.ts +3 -3
  77. package/dist/workflow/define-hook.d.ts.map +1 -1
  78. package/dist/workflow/define-hook.js +1 -1
  79. package/dist/workflow/get-workflow-metadata.js +1 -1
  80. package/dist/workflow/hook.d.ts.map +1 -1
  81. package/dist/workflow/hook.js +2 -2
  82. package/dist/workflow/index.d.ts +1 -0
  83. package/dist/workflow/index.d.ts.map +1 -1
  84. package/dist/workflow/index.js +2 -1
  85. package/dist/workflow/sleep.d.ts +4 -0
  86. package/dist/workflow/sleep.d.ts.map +1 -0
  87. package/dist/workflow/sleep.js +55 -0
  88. package/dist/workflow/writable-stream.js +1 -1
  89. package/dist/workflow.d.ts.map +1 -1
  90. package/dist/workflow.js +22 -7
  91. package/dist/writable-stream.d.ts +5 -4
  92. package/dist/writable-stream.d.ts.map +1 -1
  93. package/dist/writable-stream.js +7 -6
  94. package/package.json +21 -18
  95. package/dist/builtins.js.map +0 -1
  96. package/dist/create-hook.js.map +0 -1
  97. package/dist/define-hook.js.map +0 -1
  98. package/dist/events-consumer.js.map +0 -1
  99. package/dist/global.js.map +0 -1
  100. package/dist/index.js.map +0 -1
  101. package/dist/logger.js.map +0 -1
  102. package/dist/observability.js.map +0 -1
  103. package/dist/parse-name.js.map +0 -1
  104. package/dist/private.js.map +0 -1
  105. package/dist/runtime/resume-hook.js.map +0 -1
  106. package/dist/runtime/start.js.map +0 -1
  107. package/dist/runtime/world.js.map +0 -1
  108. package/dist/runtime.js.map +0 -1
  109. package/dist/schemas.js.map +0 -1
  110. package/dist/serialization.js.map +0 -1
  111. package/dist/step/context-storage.js.map +0 -1
  112. package/dist/step/get-step-metadata.js.map +0 -1
  113. package/dist/step/get-workflow-metadata.js.map +0 -1
  114. package/dist/step.js.map +0 -1
  115. package/dist/symbols.js.map +0 -1
  116. package/dist/telemetry/semantic-conventions.js.map +0 -1
  117. package/dist/telemetry.js.map +0 -1
  118. package/dist/types.js.map +0 -1
  119. package/dist/util.js.map +0 -1
  120. package/dist/vm/index.js.map +0 -1
  121. package/dist/vm/uuid.js.map +0 -1
  122. package/dist/workflow/create-hook.js.map +0 -1
  123. package/dist/workflow/define-hook.js.map +0 -1
  124. package/dist/workflow/get-workflow-metadata.js.map +0 -1
  125. package/dist/workflow/hook.js.map +0 -1
  126. package/dist/workflow/index.js.map +0 -1
  127. package/dist/workflow/writable-stream.js.map +0 -1
  128. package/dist/workflow.js.map +0 -1
  129. package/dist/writable-stream.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Remaps an error stack trace using inline source maps to show original source locations.
3
+ *
4
+ * @param stack - The error stack trace to remap
5
+ * @param filename - The workflow filename to match in stack frames
6
+ * @param workflowCode - The workflow bundle code containing inline source maps
7
+ * @returns The remapped stack trace with original source locations
8
+ */
9
+ export declare function remapErrorStack(stack: string, filename: string, workflowCode: string): string;
10
+ //# sourceMappingURL=source-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-map.d.ts","sourceRoot":"","sources":["../src/source-map.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,CA0DR"}
@@ -0,0 +1,56 @@
1
+ import { TraceMap, originalPositionFor } from '@jridgewell/trace-mapping';
2
+ /**
3
+ * Remaps an error stack trace using inline source maps to show original source locations.
4
+ *
5
+ * @param stack - The error stack trace to remap
6
+ * @param filename - The workflow filename to match in stack frames
7
+ * @param workflowCode - The workflow bundle code containing inline source maps
8
+ * @returns The remapped stack trace with original source locations
9
+ */
10
+ export function remapErrorStack(stack, filename, workflowCode) {
11
+ // Extract inline source map from workflow code
12
+ const sourceMapMatch = workflowCode.match(/\/\/# sourceMappingURL=data:application\/json;base64,(.+)/);
13
+ if (!sourceMapMatch) {
14
+ return stack; // No source map found
15
+ }
16
+ try {
17
+ const base64 = sourceMapMatch[1];
18
+ const sourceMapJson = Buffer.from(base64, 'base64').toString('utf-8');
19
+ const sourceMapData = JSON.parse(sourceMapJson);
20
+ // Use TraceMap (pure JS, no WASM required)
21
+ const tracer = new TraceMap(sourceMapData);
22
+ // Parse and remap each line in the stack trace
23
+ const lines = stack.split('\n');
24
+ const remappedLines = lines.map((line) => {
25
+ // Match stack frames: "at functionName (filename:line:column)" or "at filename:line:column"
26
+ const frameMatch = line.match(/^\s*at\s+(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?$/);
27
+ if (!frameMatch) {
28
+ return line; // Not a stack frame, return as-is
29
+ }
30
+ const [, functionName, file, lineStr, colStr] = frameMatch;
31
+ // Only remap frames from our workflow file
32
+ if (!file.includes(filename)) {
33
+ return line;
34
+ }
35
+ const lineNumber = parseInt(lineStr, 10);
36
+ const columnNumber = parseInt(colStr, 10);
37
+ // Map to original source position
38
+ const original = originalPositionFor(tracer, {
39
+ line: lineNumber,
40
+ column: columnNumber,
41
+ });
42
+ if (original.source && original.line !== null) {
43
+ const func = functionName || original.name || 'anonymous';
44
+ const col = original.column !== null ? original.column : columnNumber;
45
+ return ` at ${func} (${original.source}:${original.line}:${col})`;
46
+ }
47
+ return line; // Couldn't map, return original
48
+ });
49
+ return remappedLines.join('\n');
50
+ }
51
+ catch (e) {
52
+ // If source map processing fails, return original stack
53
+ return stack;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zb3VyY2UtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsS0FBYSxFQUNiLFFBQWdCLEVBQ2hCLFlBQW9CO0lBRXBCLCtDQUErQztJQUMvQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUN2QywyREFBMkQsQ0FDNUQsQ0FBQztJQUNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQyxDQUFDLHNCQUFzQjtJQUN0QyxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWhELDJDQUEyQztRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzQywrQ0FBK0M7UUFDL0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsNEZBQTRGO1lBQzVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQzNCLCtDQUErQyxDQUNoRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNoQixPQUFPLElBQUksQ0FBQyxDQUFDLGtDQUFrQztZQUNqRCxDQUFDO1lBRUQsTUFBTSxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBRTNELDJDQUEyQztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUM3QixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFMUMsa0NBQWtDO1lBQ2xDLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRTtnQkFDM0MsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE1BQU0sRUFBRSxZQUFZO2FBQ3JCLENBQUMsQ0FBQztZQUVILElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUM5QyxNQUFNLElBQUksR0FBRyxZQUFZLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxXQUFXLENBQUM7Z0JBQzFELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQ3RFLE9BQU8sVUFBVSxJQUFJLEtBQUssUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ3ZFLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxDQUFDLGdDQUFnQztRQUMvQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLHdEQUF3RDtRQUN4RCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDIn0=
@@ -4,5 +4,7 @@ import type { StepMetadata } from './get-step-metadata.js';
4
4
  export declare const contextStorage: AsyncLocalStorage<{
5
5
  stepMetadata: StepMetadata;
6
6
  workflowMetadata: WorkflowMetadata;
7
+ ops: Promise<void>[];
8
+ closureVars?: Record<string, any>;
7
9
  }>;
8
10
  //# sourceMappingURL=context-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-storage.d.ts","sourceRoot":"","sources":["../../src/step/context-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,eAAO,MAAM,cAAc;kBACX,YAAY;sBACR,gBAAgB;EAChC,CAAC"}
1
+ {"version":3,"file":"context-storage.d.ts","sourceRoot":"","sources":["../../src/step/context-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,eAAO,MAAM,cAAc;kBACX,YAAY;sBACR,gBAAgB;SAC7B,OAAO,CAAC,IAAI,CAAC,EAAE;kBACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;EAC/B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
2
  export const contextStorage = /* @__PURE__ */ new AsyncLocalStorage();
3
- //# sourceMappingURL=context-storage.js.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0ZXAvY29udGV4dC1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXJELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsSUFBSSxpQkFBaUIsRUFLL0QsQ0FBQyJ9
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns the closure variables for the current step function.
3
+ * This is an internal function used by the SWC transform to access
4
+ * variables from the parent workflow scope.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare function __private_getClosureVars(): Record<string, any>;
9
+ //# sourceMappingURL=get-closure-vars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-closure-vars.d.ts","sourceRoot":"","sources":["../../src/step/get-closure-vars.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQ9D"}
@@ -0,0 +1,16 @@
1
+ import { contextStorage } from './context-storage.js';
2
+ /**
3
+ * Returns the closure variables for the current step function.
4
+ * This is an internal function used by the SWC transform to access
5
+ * variables from the parent workflow scope.
6
+ *
7
+ * @internal
8
+ */
9
+ export function __private_getClosureVars() {
10
+ const ctx = contextStorage.getStore();
11
+ if (!ctx) {
12
+ throw new Error('Closure variables can only be accessed inside a step function');
13
+ }
14
+ return ctx.closureVars || {};
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNsb3N1cmUtdmFycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwL2dldC1jbG9zdXJlLXZhcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXREOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0I7SUFDdEMsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE1BQU0sSUFBSSxLQUFLLENBQ2IsK0RBQStELENBQ2hFLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztBQUMvQixDQUFDIn0=
@@ -11,4 +11,4 @@ export function getStepMetadata() {
11
11
  }
12
12
  return ctx.stepMetadata;
13
13
  }
14
- //# sourceMappingURL=get-step-metadata.js.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXN0ZXAtbWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcC9nZXQtc3RlcC1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFvQ3REOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZTtJQUM3QixNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUM7QUFDMUIsQ0FBQyJ9
@@ -9,4 +9,4 @@ export function getWorkflowMetadata() {
9
9
  }
10
10
  return ctx.workflowMetadata;
11
11
  }
12
- //# sourceMappingURL=get-workflow-metadata.js.map
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXdvcmtmbG93LW1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0ZXAvZ2V0LXdvcmtmbG93LW1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUl0RDs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7QUFDOUIsQ0FBQyJ9
@@ -0,0 +1,14 @@
1
+ import type { WorkflowWritableStreamOptions } from '../writable-stream.js';
2
+ export type { WorkflowWritableStreamOptions };
3
+ /**
4
+ * Retrieves a writable stream that is associated with the current workflow.
5
+ *
6
+ * The writable stream is intended to be used within step functions to write
7
+ * data that can be read outside the workflow by using the readable method of getRun.
8
+ *
9
+ * @param options - Optional configuration for the writable stream
10
+ * @returns The writable stream associated with the current workflow run
11
+ * @throws Error if called outside a workflow or step function
12
+ */
13
+ export declare function getWritable<W = any>(options?: WorkflowWritableStreamOptions): WritableStream<W>;
14
+ //# sourceMappingURL=writable-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writable-stream.d.ts","sourceRoot":"","sources":["../../src/step/writable-stream.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAG3E,YAAY,EAAE,6BAA6B,EAAE,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,OAAO,GAAE,6BAAkC,GAC1C,cAAc,CAAC,CAAC,CAAC,CAyBnB"}
@@ -0,0 +1,30 @@
1
+ import { getExternalReducers, getSerializeStream, WorkflowServerWritableStream, } from '../serialization.js';
2
+ import { getWorkflowRunStreamId } from '../util.js';
3
+ import { contextStorage } from './context-storage.js';
4
+ /**
5
+ * Retrieves a writable stream that is associated with the current workflow.
6
+ *
7
+ * The writable stream is intended to be used within step functions to write
8
+ * data that can be read outside the workflow by using the readable method of getRun.
9
+ *
10
+ * @param options - Optional configuration for the writable stream
11
+ * @returns The writable stream associated with the current workflow run
12
+ * @throws Error if called outside a workflow or step function
13
+ */
14
+ export function getWritable(options = {}) {
15
+ const ctx = contextStorage.getStore();
16
+ if (!ctx) {
17
+ throw new Error('`getWritable()` can only be called inside a workflow or step function');
18
+ }
19
+ const { namespace } = options;
20
+ const runId = ctx.workflowMetadata.workflowRunId;
21
+ const name = getWorkflowRunStreamId(runId, namespace);
22
+ // Create a transform stream that serializes chunks and pipes to the workflow server
23
+ const serialize = getSerializeStream(getExternalReducers(globalThis, ctx.ops, runId));
24
+ // Pipe the serialized data to the workflow server stream
25
+ // Register this async operation with the runtime's ops array so it's awaited via waitUntil
26
+ ctx.ops.push(serialize.readable.pipeTo(new WorkflowServerWritableStream(name, runId)));
27
+ // Return the writable side of the transform stream
28
+ return serialize.writable;
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGFibGUtc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0ZXAvd3JpdGFibGUtc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLDRCQUE0QixHQUM3QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJdEQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsVUFBeUMsRUFBRTtJQUUzQyxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsTUFBTSxJQUFJLEtBQUssQ0FDYix1RUFBdUUsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDakQsTUFBTSxJQUFJLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXRELG9GQUFvRjtJQUNwRixNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FDbEMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQ2hELENBQUM7SUFFRix5REFBeUQ7SUFDekQsMkZBQTJGO0lBQzNGLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNWLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQ3pFLENBQUM7SUFFRixtREFBbUQ7SUFDbkQsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDO0FBQzVCLENBQUMifQ==
package/dist/step.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import type { WorkflowOrchestratorContext } from './private.js';
2
2
  import type { Serializable } from './schemas.js';
3
- export declare function createUseStep(ctx: WorkflowOrchestratorContext): <Args extends Serializable[], Result>(stepName: string) => (...args: Args) => Promise<Result>;
3
+ export declare function createUseStep(ctx: WorkflowOrchestratorContext): <Args extends Serializable[], Result>(stepName: string, closureVarsFn?: () => Record<string, Serializable>) => (...args: Args) => Promise<Result>;
4
4
  //# sourceMappingURL=step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,wBAAgB,aAAa,CAAC,GAAG,EAAE,2BAA2B,IACpC,IAAI,SAAS,YAAY,EAAE,EAAE,MAAM,EACzD,UAAU,MAAM,MAER,GAAG,MAAM,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC,CAkH1C"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,wBAAgB,aAAa,CAAC,GAAG,EAAE,2BAA2B,IACpC,IAAI,SAAS,YAAY,EAAE,EAAE,MAAM,EACzD,UAAU,MAAM,EAChB,gBAAgB,MAAM,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,eAEnB,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC,CAsJxD"}
package/dist/step.js CHANGED
@@ -1,20 +1,26 @@
1
1
  import { FatalError, WorkflowRuntimeError } from '@workflow/errors';
2
+ import { withResolvers } from '@workflow/utils';
2
3
  import { EventConsumerResult } from './events-consumer.js';
3
4
  import { WorkflowSuspension } from './global.js';
4
5
  import { stepLogger } from './logger.js';
5
6
  import { hydrateStepReturnValue } from './serialization.js';
6
- import { withResolvers } from './util.js';
7
7
  export function createUseStep(ctx) {
8
- return function useStep(stepName) {
9
- return (...args) => {
8
+ return function useStep(stepName, closureVarsFn) {
9
+ const stepFunction = (...args) => {
10
10
  const { promise, resolve, reject } = withResolvers();
11
11
  const correlationId = `step_${ctx.generateUlid()}`;
12
- ctx.invocationsQueue.push({
12
+ const queueItem = {
13
13
  type: 'step',
14
14
  correlationId,
15
15
  stepName,
16
16
  args,
17
- });
17
+ };
18
+ // Invoke the closure variables function to get the closure scope
19
+ const closureVars = closureVarsFn?.();
20
+ if (closureVars) {
21
+ queueItem.closureVars = closureVars;
22
+ }
23
+ ctx.invocationsQueue.push(queueItem);
18
24
  // Track whether we've already seen a "step_started" event for this step.
19
25
  // This is important because after a retryable failure, the step moves back to
20
26
  // "pending" status which causes another "step_started" event to be emitted.
@@ -99,6 +105,29 @@ export function createUseStep(ctx) {
99
105
  });
100
106
  return promise;
101
107
  };
108
+ // Ensure the "name" property matches the original step function name
109
+ // Extract function name from stepName (format: "step//filepath//functionName")
110
+ const functionName = stepName.split('//').pop();
111
+ Object.defineProperty(stepFunction, 'name', {
112
+ value: functionName,
113
+ });
114
+ // Add the step function identifier to the step function for serialization
115
+ Object.defineProperty(stepFunction, 'stepId', {
116
+ value: stepName,
117
+ writable: false,
118
+ enumerable: false,
119
+ configurable: false,
120
+ });
121
+ // Store the closure variables function for serialization
122
+ if (closureVarsFn) {
123
+ Object.defineProperty(stepFunction, '__closureVarsFn', {
124
+ value: closureVarsFn,
125
+ writable: false,
126
+ enumerable: false,
127
+ configurable: false,
128
+ });
129
+ }
130
+ return stepFunction;
102
131
  };
103
132
  }
104
- //# sourceMappingURL=step.js.map
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFnQyxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBZ0M7SUFDNUQsT0FBTyxTQUFTLE9BQU8sQ0FDckIsUUFBZ0IsRUFDaEIsYUFBa0Q7UUFFbEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQVUsRUFBbUIsRUFBRTtZQUN0RCxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxhQUFhLEVBQVUsQ0FBQztZQUU3RCxNQUFNLGFBQWEsR0FBRyxRQUFRLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBRW5ELE1BQU0sU0FBUyxHQUE0QjtnQkFDekMsSUFBSSxFQUFFLE1BQU07Z0JBQ1osYUFBYTtnQkFDYixRQUFRO2dCQUNSLElBQUk7YUFDTCxDQUFDO1lBRUYsaUVBQWlFO1lBQ2pFLE1BQU0sV0FBVyxHQUFHLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDdEMsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsU0FBUyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDdEMsQ0FBQztZQUVELEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFckMseUVBQXlFO1lBQ3pF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
package/dist/symbols.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare const WORKFLOW_USE_STEP: unique symbol;
2
2
  export declare const WORKFLOW_CREATE_HOOK: unique symbol;
3
+ export declare const WORKFLOW_SLEEP: unique symbol;
3
4
  export declare const WORKFLOW_CONTEXT: unique symbol;
4
5
  export declare const WORKFLOW_GET_STREAM_ID: unique symbol;
5
6
  export declare const STREAM_NAME_SYMBOL: unique symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,eAAkC,CAAC;AACjE,eAAO,MAAM,oBAAoB,eAAqC,CAAC;AACvE,eAAO,MAAM,gBAAgB,eAAiC,CAAC;AAC/D,eAAO,MAAM,sBAAsB,eAAuC,CAAC;AAC3E,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AACrE,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AACrE,eAAO,MAAM,gBAAgB,eAA0B,CAAC;AACxD,eAAO,MAAM,yBAAyB,eAErC,CAAC"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,eAAkC,CAAC;AACjE,eAAO,MAAM,oBAAoB,eAAqC,CAAC;AACvE,eAAO,MAAM,cAAc,eAA+B,CAAC;AAC3D,eAAO,MAAM,gBAAgB,eAAiC,CAAC;AAC/D,eAAO,MAAM,sBAAsB,eAAuC,CAAC;AAC3E,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AACrE,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AACrE,eAAO,MAAM,gBAAgB,eAA0B,CAAC;AACxD,eAAO,MAAM,yBAAyB,eAErC,CAAC"}
package/dist/symbols.js CHANGED
@@ -1,9 +1,10 @@
1
1
  export const WORKFLOW_USE_STEP = Symbol.for('WORKFLOW_USE_STEP');
2
2
  export const WORKFLOW_CREATE_HOOK = Symbol.for('WORKFLOW_CREATE_HOOK');
3
+ export const WORKFLOW_SLEEP = Symbol.for('WORKFLOW_SLEEP');
3
4
  export const WORKFLOW_CONTEXT = Symbol.for('WORKFLOW_CONTEXT');
4
5
  export const WORKFLOW_GET_STREAM_ID = Symbol.for('WORKFLOW_GET_STREAM_ID');
5
6
  export const STREAM_NAME_SYMBOL = Symbol.for('WORKFLOW_STREAM_NAME');
6
7
  export const STREAM_TYPE_SYMBOL = Symbol.for('WORKFLOW_STREAM_TYPE');
7
8
  export const BODY_INIT_SYMBOL = Symbol.for('BODY_INIT');
8
9
  export const WEBHOOK_RESPONSE_WRITABLE = Symbol.for('WEBHOOK_RESPONSE_WRITABLE');
9
- //# sourceMappingURL=symbols.js.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNqRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUNqRCwyQkFBMkIsQ0FDNUIsQ0FBQyJ9
@@ -38,138 +38,146 @@
38
38
  */
39
39
  /** The name of the workflow being executed */
40
40
  export declare const WorkflowName: (value: string) => {
41
- [x: string]: string;
41
+ [k: string]: string;
42
42
  };
43
43
  /** The operation being performed on the workflow */
44
- export declare const WorkflowOperation: (value: "start" | "execute" | "run") => {
45
- [x: string]: "start" | "execute" | "run";
44
+ export declare const WorkflowOperation: (value: "run" | "start" | "execute") => {
45
+ [k: string]: "run" | "start" | "execute";
46
46
  };
47
47
  /** Unique identifier for a specific workflow run instance */
48
48
  export declare const WorkflowRunId: (value: string) => {
49
- [x: string]: string;
49
+ [k: string]: string;
50
50
  };
51
51
  /** Current status of the workflow run */
52
- export declare const WorkflowRunStatus: (value: "pending" | "running" | "completed" | "failed" | "paused" | "cancelled" | "pending_steps") => {
53
- [x: string]: "pending" | "running" | "completed" | "failed" | "paused" | "cancelled" | "pending_steps";
52
+ export declare const WorkflowRunStatus: (value: "pending" | "running" | "paused" | "cancelled" | "completed" | "failed" | "pending_steps") => {
53
+ [k: string]: "pending" | "running" | "paused" | "cancelled" | "completed" | "failed" | "pending_steps";
54
54
  };
55
55
  /** Timestamp when the workflow execution started (Unix timestamp) */
56
56
  export declare const WorkflowStartedAt: (value: number) => {
57
- [x: string]: number;
57
+ [k: string]: number;
58
58
  };
59
59
  /** Number of events processed during workflow execution */
60
60
  export declare const WorkflowEventsCount: (value: number) => {
61
- [x: string]: number;
61
+ [k: string]: number;
62
62
  };
63
63
  /** Number of arguments passed to the workflow */
64
64
  export declare const WorkflowArgumentsCount: (value: number) => {
65
- [x: string]: number;
65
+ [k: string]: number;
66
66
  };
67
67
  /** Type of the workflow result */
68
68
  export declare const WorkflowResultType: (value: string) => {
69
- [x: string]: string;
69
+ [k: string]: string;
70
70
  };
71
71
  /** Whether trace context was propagated to this workflow execution */
72
72
  export declare const WorkflowTracePropagated: (value: boolean) => {
73
- [x: string]: boolean;
73
+ [k: string]: boolean;
74
74
  };
75
75
  /** Name of the error that caused workflow failure */
76
76
  export declare const WorkflowErrorName: (value: string) => {
77
- [x: string]: string;
77
+ [k: string]: string;
78
78
  };
79
79
  /** Error message when workflow fails */
80
80
  export declare const WorkflowErrorMessage: (value: string) => {
81
- [x: string]: string;
81
+ [k: string]: string;
82
82
  };
83
83
  /** Number of steps created during workflow execution */
84
84
  export declare const WorkflowStepsCreated: (value: number) => {
85
- [x: string]: number;
85
+ [k: string]: number;
86
86
  };
87
87
  /** Name of the step function being executed */
88
88
  export declare const StepName: (value: string) => {
89
- [x: string]: string;
89
+ [k: string]: string;
90
90
  };
91
91
  /** Unique identifier for the step instance */
92
92
  export declare const StepId: (value: string) => {
93
- [x: string]: string;
93
+ [k: string]: string;
94
94
  };
95
95
  /** Current attempt number for step execution (starts at 1) */
96
96
  export declare const StepAttempt: (value: number) => {
97
- [x: string]: number;
97
+ [k: string]: number;
98
98
  };
99
99
  /** Current status of the step */
100
- export declare const StepStatus: (value: "pending" | "running" | "completed" | "failed" | "cancelled") => {
101
- [x: string]: "pending" | "running" | "completed" | "failed" | "cancelled";
100
+ export declare const StepStatus: (value: "pending" | "running" | "cancelled" | "completed" | "failed") => {
101
+ [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed";
102
102
  };
103
103
  /** Maximum number of retries allowed for this step */
104
104
  export declare const StepMaxRetries: (value: number) => {
105
- [x: string]: number;
105
+ [k: string]: number;
106
106
  };
107
107
  /** Whether trace context was propagated to this step execution */
108
108
  export declare const StepTracePropagated: (value: boolean) => {
109
- [x: string]: boolean;
109
+ [k: string]: boolean;
110
110
  };
111
111
  /** Whether the step was skipped during execution */
112
112
  export declare const StepSkipped: (value: boolean) => {
113
- [x: string]: boolean;
113
+ [k: string]: boolean;
114
114
  };
115
115
  /** Reason why the step was skipped */
116
- export declare const StepSkipReason: (value: "pending" | "running" | "completed" | "failed" | "cancelled") => {
117
- [x: string]: "pending" | "running" | "completed" | "failed" | "cancelled";
116
+ export declare const StepSkipReason: (value: "pending" | "running" | "cancelled" | "completed" | "failed") => {
117
+ [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed";
118
118
  };
119
119
  /** Number of arguments passed to the step function */
120
120
  export declare const StepArgumentsCount: (value: number) => {
121
- [x: string]: number;
121
+ [k: string]: number;
122
122
  };
123
123
  /** Type of the step result */
124
124
  export declare const StepResultType: (value: string) => {
125
- [x: string]: string;
125
+ [k: string]: string;
126
126
  };
127
127
  /** Name of the error that caused step failure */
128
128
  export declare const StepErrorName: (value: string) => {
129
- [x: string]: string;
129
+ [k: string]: string;
130
130
  };
131
131
  /** Error message when step fails */
132
132
  export declare const StepErrorMessage: (value: string) => {
133
- [x: string]: string;
133
+ [k: string]: string;
134
134
  };
135
135
  /** Whether the step failed with a fatal error (no retries) */
136
136
  export declare const StepFatalError: (value: boolean) => {
137
- [x: string]: boolean;
137
+ [k: string]: boolean;
138
138
  };
139
139
  /** Whether all retry attempts have been exhausted */
140
140
  export declare const StepRetryExhausted: (value: boolean) => {
141
- [x: string]: boolean;
141
+ [k: string]: boolean;
142
142
  };
143
143
  /** Number of seconds to wait before next retry attempt */
144
144
  export declare const StepRetryTimeoutSeconds: (value: number) => {
145
- [x: string]: number;
145
+ [k: string]: number;
146
146
  };
147
147
  /** Whether the step will be retried after this failure */
148
148
  export declare const StepRetryWillRetry: (value: boolean) => {
149
- [x: string]: boolean;
149
+ [k: string]: boolean;
150
150
  };
151
151
  /** Name of the queue being used for message processing */
152
152
  export declare const QueueName: (value: string) => {
153
- [x: string]: string;
153
+ [k: string]: string;
154
+ };
155
+ /** The message id being handled */
156
+ export declare const QueueMessageId: (value: string & import("zod").$brand<"MessageId">) => {
157
+ [k: string]: string & import("zod").$brand<"MessageId">;
158
+ };
159
+ /** Time taken to enqueue the message in milliseconds */
160
+ export declare const QueueOverheadMs: (value: number) => {
161
+ [k: string]: number;
154
162
  };
155
163
  /** Unique identifier for the deployment environment */
156
164
  export declare const DeploymentId: (value: string) => {
157
- [x: string]: string;
165
+ [k: string]: string;
158
166
  };
159
167
  /** Token identifying a specific hook */
160
168
  export declare const HookToken: (value: string) => {
161
- [x: string]: string;
169
+ [k: string]: string;
162
170
  };
163
171
  /** Unique identifier for a hook instance */
164
172
  export declare const HookId: (value: string) => {
165
- [x: string]: string;
173
+ [k: string]: string;
166
174
  };
167
175
  /** Whether a hook was found by its token */
168
176
  export declare const HookFound: (value: boolean) => {
169
- [x: string]: boolean;
177
+ [k: string]: boolean;
170
178
  };
171
179
  /** Number of webhook handlers triggered */
172
180
  export declare const WebhookHandlersTriggered: (value: number) => {
173
- [x: string]: number;
181
+ [k: string]: number;
174
182
  };
175
183
  //# sourceMappingURL=semantic-conventions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-conventions.d.ts","sourceRoot":"","sources":["../../src/telemetry/semantic-conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAeH,8CAA8C;AAC9C,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAExE,oDAAoD;AACpD,eAAO,MAAM,iBAAiB;;CAEP,CAAC;AAExB,6DAA6D;AAC7D,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,iBAAiB;;CAEN,CAAC;AAEzB,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAIF,+CAA+C;AAC/C,eAAO,MAAM,QAAQ;;CAA0C,CAAC;AAEhE,8CAA8C;AAC9C,eAAO,MAAM,MAAM;;CAAwC,CAAC;AAE5D,8DAA8D;AAC9D,eAAO,MAAM,WAAW;;CAA6C,CAAC;AAEtE,iCAAiC;AACjC,eAAO,MAAM,UAAU;;CAAoD,CAAC;AAE5E,sDAAsD;AACtD,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,WAAW;;CAA8C,CAAC;AAEvE,sCAAsC;AACtC,eAAO,MAAM,cAAc;;CAC6B,CAAC;AAEzD,sDAAsD;AACtD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,iDAAiD;AACjD,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,oCAAoC;AACpC,eAAO,MAAM,gBAAgB;;CACqB,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;CAAkD,CAAC;AAE9E,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAIF,0DAA0D;AAC1D,eAAO,MAAM,SAAS;;CAA2C,CAAC;AAIlE,uDAAuD;AACvD,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAIxE,wCAAwC;AACxC,eAAO,MAAM,SAAS;;CAAoD,CAAC;AAE3E,4CAA4C;AAC5C,eAAO,MAAM,MAAM;;CAAiD,CAAC;AAErE,4CAA4C;AAC5C,eAAO,MAAM,SAAS;;CAAqD,CAAC;AAI5E,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB;;CAEpC,CAAC"}
1
+ {"version":3,"file":"semantic-conventions.d.ts","sourceRoot":"","sources":["../../src/telemetry/semantic-conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAgBH,8CAA8C;AAC9C,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAExE,oDAAoD;AACpD,eAAO,MAAM,iBAAiB;;CAEP,CAAC;AAExB,6DAA6D;AAC7D,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,iBAAiB;;CAEN,CAAC;AAEzB,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAIF,+CAA+C;AAC/C,eAAO,MAAM,QAAQ;;CAA0C,CAAC;AAEhE,8CAA8C;AAC9C,eAAO,MAAM,MAAM;;CAAwC,CAAC;AAE5D,8DAA8D;AAC9D,eAAO,MAAM,WAAW;;CAA6C,CAAC;AAEtE,iCAAiC;AACjC,eAAO,MAAM,UAAU;;CAAoD,CAAC;AAE5E,sDAAsD;AACtD,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,WAAW;;CAA8C,CAAC;AAEvE,sCAAsC;AACtC,eAAO,MAAM,cAAc;;CAC6B,CAAC;AAEzD,sDAAsD;AACtD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,iDAAiD;AACjD,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,oCAAoC;AACpC,eAAO,MAAM,gBAAgB;;CACqB,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;CAAkD,CAAC;AAE9E,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAIF,0DAA0D;AAC1D,eAAO,MAAM,SAAS;;CAA2C,CAAC;AAElE,mCAAmC;AACnC,eAAO,MAAM,cAAc;;CAG1B,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,eAAe;;CAAkD,CAAC;AAI/E,uDAAuD;AACvD,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAIxE,wCAAwC;AACxC,eAAO,MAAM,SAAS;;CAAoD,CAAC;AAE3E,4CAA4C;AAC5C,eAAO,MAAM,MAAM;;CAAiD,CAAC;AAErE,4CAA4C;AAC5C,eAAO,MAAM,SAAS;;CAAqD,CAAC;AAI5E,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB;;CAEpC,CAAC"}
@@ -41,8 +41,8 @@
41
41
  * @param name - The attribute name following OpenTelemetry semantic conventions
42
42
  * @returns A function that takes a value and returns an attribute object
43
43
  */
44
- function SemanticConvention(name) {
45
- return (value) => ({ [name]: value });
44
+ function SemanticConvention(...names) {
45
+ return (value) => Object.fromEntries(names.map((name) => [name, value]));
46
46
  }
47
47
  // Workflow attributes
48
48
  /** The name of the workflow being executed */
@@ -105,6 +105,10 @@ export const StepRetryWillRetry = SemanticConvention('step.retry.will_retry');
105
105
  // Queue attributes
106
106
  /** Name of the queue being used for message processing */
107
107
  export const QueueName = SemanticConvention('queue.name');
108
+ /** The message id being handled */
109
+ export const QueueMessageId = SemanticConvention('messaging.message.id', 'queue.message.id');
110
+ /** Time taken to enqueue the message in milliseconds */
111
+ export const QueueOverheadMs = SemanticConvention('queue.overhead_ms');
108
112
  // Deployment attributes
109
113
  /** Unique identifier for the deployment environment */
110
114
  export const DeploymentId = SemanticConvention('deployment.id');
@@ -118,4 +122,4 @@ export const HookFound = SemanticConvention('workflow.hook.found');
118
122
  // Webhook attributes
119
123
  /** Number of webhook handlers triggered */
120
124
  export const WebhookHandlersTriggered = SemanticConvention('webhook.handlers.triggered');
121
- //# sourceMappingURL=semantic-conventions.js.map
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYW50aWMtY29udmVudGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVsZW1ldHJ5L3NlbWFudGljLWNvbnZlbnRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBSUg7Ozs7R0FJRztBQUNILFNBQVMsa0JBQWtCLENBQUksR0FBRyxLQUFlO0lBQy9DLE9BQU8sQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUNsQixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBVSxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsc0JBQXNCO0FBRXRCLDhDQUE4QztBQUM5QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQVMsZUFBZSxDQUFDLENBQUM7QUFFeEUsb0RBQW9EO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUVqRCxvQkFBb0IsQ0FBQyxDQUFDO0FBRXhCLDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQVMsaUJBQWlCLENBQUMsQ0FBQztBQUUzRSx5Q0FBeUM7QUFDekMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBRWpELHFCQUFxQixDQUFDLENBQUM7QUFFekIscUVBQXFFO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUNqRCxxQkFBcUIsQ0FDdEIsQ0FBQztBQUVGLDJEQUEyRDtBQUMzRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FDbkQsdUJBQXVCLENBQ3hCLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtC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
@@ -1,4 +1,5 @@
1
- import type { Span, SpanOptions } from '@opentelemetry/api';
1
+ import type * as api from '@opentelemetry/api';
2
+ import type { Span, SpanKind, SpanOptions } from '@opentelemetry/api';
2
3
  /**
3
4
  * Serializes the current trace context into a format that can be passed through queues
4
5
  * @returns A record of strings representing the trace context
@@ -9,7 +10,7 @@ export declare function serializeTraceCarrier(): Promise<Record<string, string>>
9
10
  * @param traceCarrier The serialized trace context
10
11
  * @returns OpenTelemetry context with the restored trace
11
12
  */
12
- export declare function deserializeTraceCarrier(traceCarrier: Record<string, string>): Promise<import("@opentelemetry/api").Context | undefined>;
13
+ export declare function deserializeTraceCarrier(traceCarrier: Record<string, string>): Promise<api.Context | undefined>;
13
14
  /**
14
15
  * Runs a function within the context of a deserialized trace
15
16
  * @param traceCarrier The serialized trace carrier (optional)
@@ -18,7 +19,10 @@ export declare function deserializeTraceCarrier(traceCarrier: Record<string, str
18
19
  */
19
20
  export declare function withTraceContext<T>(traceCarrier: Record<string, string> | undefined, fn: () => Promise<T>): Promise<T>;
20
21
  export declare function trace<T>(spanName: string, ...args: [fn: (span?: Span) => Promise<T>] | [opts: SpanOptions, fn: (span?: Span) => Promise<T>]): Promise<T>;
21
- export declare function getSpanContextForTraceCarrier(carrier: Record<string, string>): Promise<import("@opentelemetry/api").SpanContext | undefined>;
22
- export declare function getActiveSpan(): Promise<Span | null | undefined>;
22
+ export declare function getSpanContextForTraceCarrier(carrier: Record<string, string>): Promise<api.SpanContext | undefined>;
23
+ export declare function getActiveSpan(): Promise<api.Span | undefined>;
23
24
  export declare function instrumentObject<T extends object>(prefix: string, o: T): T;
25
+ export declare function getSpanKind(field: keyof typeof SpanKind): Promise<api.SpanKind | undefined>;
26
+ export declare function withOtel<T>(fn: (otel: typeof api) => T): Promise<Awaited<T> | undefined>;
27
+ export declare function linkToCurrentContext(): Promise<[api.Link] | undefined>;
24
28
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAO5D;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO7E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,6DAMrC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAChD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ;AAiBD,wBAAsB,KAAK,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EACH,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACjC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iEAQhC;AAED,wBAAsB,aAAa,qCAIlC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAa1E"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOtE;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO7E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,oCAMrC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAChD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ;AAiBD,wBAAsB,KAAK,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EACH,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACjC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,wCAQhC;AAED,wBAAsB,aAAa,kCAElC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAa1E;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,OAAO,QAAQ,qCAE7D;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC,GAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAIjC;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAMtE"}