workflow 4.4.0 → 4.6.0

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 (116) hide show
  1. package/docs/ai/resumable-streams.mdx +4 -0
  2. package/docs/api-reference/index.mdx +24 -0
  3. package/docs/api-reference/meta.json +8 -0
  4. package/docs/api-reference/vitest/index.mdx +0 -6
  5. package/docs/api-reference/workflow/create-hook.mdx +32 -0
  6. package/docs/api-reference/workflow/create-webhook.mdx +1 -0
  7. package/docs/api-reference/workflow-ai/workflow-chat-transport.mdx +39 -0
  8. package/docs/api-reference/workflow-api/index.mdx +6 -8
  9. package/docs/api-reference/workflow-api/start.mdx +2 -0
  10. package/docs/api-reference/workflow-errors/meta.json +5 -0
  11. package/docs/api-reference/workflow-next/with-workflow.mdx +26 -4
  12. package/docs/api-reference/workflow-serde/index.mdx +0 -1
  13. package/docs/api-reference/workflow-serde/workflow-deserialize.mdx +1 -2
  14. package/docs/api-reference/workflow-serde/workflow-serialize.mdx +1 -2
  15. package/docs/deploying/world/postgres-world.mdx +33 -1
  16. package/docs/deploying/world/vercel-world.mdx +2 -0
  17. package/docs/errors/index.mdx +3 -0
  18. package/docs/foundations/hooks.mdx +29 -0
  19. package/docs/foundations/streaming.mdx +7 -1
  20. package/docs/foundations/versioning.mdx +1 -1
  21. package/docs/how-it-works/encryption.mdx +2 -2
  22. package/docs/how-it-works/event-sourcing.mdx +2 -2
  23. package/docs/observability/index.mdx +13 -0
  24. package/docs/v4/api-reference/workflow-astro/index.mdx +18 -0
  25. package/docs/v4/api-reference/workflow-astro/meta.json +4 -0
  26. package/docs/v4/api-reference/workflow-astro/workflow.mdx +37 -0
  27. package/docs/v4/api-reference/workflow-errors/hook-conflict-error.mdx +60 -0
  28. package/docs/v4/api-reference/workflow-errors/run-not-supported-error.mdx +58 -0
  29. package/docs/v4/api-reference/workflow-errors/workflow-error.mdx +52 -0
  30. package/docs/v4/api-reference/workflow-errors/workflow-run-not-completed-error.mdx +58 -0
  31. package/docs/v4/api-reference/workflow-errors/workflow-runtime-error.mdx +58 -0
  32. package/docs/v4/api-reference/workflow-nest/configure-workflow-controller.mdx +33 -0
  33. package/docs/v4/api-reference/workflow-nest/index.mdx +31 -0
  34. package/docs/v4/api-reference/workflow-nest/meta.json +9 -0
  35. package/docs/v4/api-reference/workflow-nest/nest-local-builder.mdx +63 -0
  36. package/docs/v4/api-reference/workflow-nest/workflow-controller.mdx +40 -0
  37. package/docs/v4/api-reference/workflow-nest/workflow-module.mdx +73 -0
  38. package/docs/v4/api-reference/workflow-nitro/index.mdx +58 -0
  39. package/docs/v4/api-reference/workflow-nuxt/index.mdx +48 -0
  40. package/docs/v4/api-reference/workflow-observability/hydrate-data.mdx +35 -0
  41. package/docs/v4/api-reference/workflow-observability/hydrate-resource-io.mdx +62 -0
  42. package/docs/v4/api-reference/workflow-observability/index.mdx +64 -0
  43. package/docs/v4/api-reference/workflow-observability/meta.json +11 -0
  44. package/docs/v4/api-reference/workflow-observability/observability-revivers.mdx +50 -0
  45. package/docs/v4/api-reference/workflow-observability/parse-class-name.mdx +41 -0
  46. package/docs/v4/api-reference/workflow-observability/parse-step-name.mdx +40 -0
  47. package/docs/v4/api-reference/workflow-observability/parse-workflow-name.mdx +55 -0
  48. package/docs/v4/api-reference/workflow-runtime/create-world.mdx +43 -0
  49. package/docs/v4/api-reference/workflow-runtime/get-world-handlers.mdx +44 -0
  50. package/docs/v4/api-reference/workflow-runtime/get-world.mdx +124 -0
  51. package/docs/v4/api-reference/workflow-runtime/health-check.mdx +50 -0
  52. package/docs/v4/api-reference/workflow-runtime/index.mdx +46 -0
  53. package/docs/v4/api-reference/workflow-runtime/meta.json +13 -0
  54. package/docs/v4/api-reference/workflow-runtime/set-world.mdx +49 -0
  55. package/docs/v4/api-reference/workflow-runtime/step-entrypoint.mdx +39 -0
  56. package/docs/v4/api-reference/workflow-runtime/workflow-entrypoint.mdx +42 -0
  57. package/docs/{api-reference/workflow-api → v4/api-reference/workflow-runtime}/world/index.mdx +5 -8
  58. package/docs/v4/api-reference/workflow-runtime/world/meta.json +4 -0
  59. package/docs/v4/api-reference/workflow-runtime/world/queue.mdx +86 -0
  60. package/docs/{api-reference/workflow-api → v4/api-reference/workflow-runtime}/world/storage.mdx +4 -4
  61. package/docs/v4/api-reference/workflow-runtime/world/streams.mdx +216 -0
  62. package/docs/v4/api-reference/workflow-sveltekit/index.mdx +18 -0
  63. package/docs/v4/api-reference/workflow-sveltekit/meta.json +4 -0
  64. package/docs/v4/api-reference/workflow-sveltekit/workflow-plugin.mdx +34 -0
  65. package/docs/v4/api-reference/workflow-vite/index.mdx +18 -0
  66. package/docs/v4/api-reference/workflow-vite/meta.json +4 -0
  67. package/docs/v4/api-reference/workflow-vite/workflow.mdx +47 -0
  68. package/docs/v4/errors/step-executed-multiple-times.mdx +23 -0
  69. package/docs/v5/api-reference/workflow-astro/index.mdx +18 -0
  70. package/docs/v5/api-reference/workflow-astro/meta.json +4 -0
  71. package/docs/v5/api-reference/workflow-astro/workflow.mdx +45 -0
  72. package/docs/v5/api-reference/workflow-errors/hook-conflict-error.mdx +60 -0
  73. package/docs/v5/api-reference/workflow-errors/run-not-supported-error.mdx +58 -0
  74. package/docs/v5/api-reference/workflow-errors/workflow-error.mdx +52 -0
  75. package/docs/v5/api-reference/workflow-errors/workflow-run-not-completed-error.mdx +58 -0
  76. package/docs/v5/api-reference/workflow-errors/workflow-runtime-error.mdx +58 -0
  77. package/docs/v5/api-reference/workflow-nest/configure-workflow-controller.mdx +33 -0
  78. package/docs/v5/api-reference/workflow-nest/index.mdx +31 -0
  79. package/docs/v5/api-reference/workflow-nest/meta.json +9 -0
  80. package/docs/v5/api-reference/workflow-nest/nest-local-builder.mdx +64 -0
  81. package/docs/v5/api-reference/workflow-nest/workflow-controller.mdx +40 -0
  82. package/docs/v5/api-reference/workflow-nest/workflow-module.mdx +74 -0
  83. package/docs/v5/api-reference/workflow-nitro/index.mdx +60 -0
  84. package/docs/v5/api-reference/workflow-nuxt/index.mdx +48 -0
  85. package/docs/v5/api-reference/workflow-observability/hydrate-data.mdx +35 -0
  86. package/docs/v5/api-reference/workflow-observability/hydrate-resource-io.mdx +62 -0
  87. package/docs/v5/api-reference/workflow-observability/index.mdx +64 -0
  88. package/docs/v5/api-reference/workflow-observability/meta.json +11 -0
  89. package/docs/v5/api-reference/workflow-observability/observability-revivers.mdx +50 -0
  90. package/docs/v5/api-reference/workflow-observability/parse-class-name.mdx +41 -0
  91. package/docs/v5/api-reference/workflow-observability/parse-step-name.mdx +40 -0
  92. package/docs/v5/api-reference/workflow-observability/parse-workflow-name.mdx +55 -0
  93. package/docs/v5/api-reference/workflow-runtime/create-world.mdx +39 -0
  94. package/docs/v5/api-reference/workflow-runtime/get-world-handlers.mdx +44 -0
  95. package/docs/{api-reference/workflow-api → v5/api-reference/workflow-runtime}/get-world.mdx +7 -10
  96. package/docs/v5/api-reference/workflow-runtime/health-check.mdx +50 -0
  97. package/docs/v5/api-reference/workflow-runtime/index.mdx +43 -0
  98. package/docs/v5/api-reference/workflow-runtime/meta.json +12 -0
  99. package/docs/v5/api-reference/workflow-runtime/set-world.mdx +49 -0
  100. package/docs/v5/api-reference/workflow-runtime/workflow-entrypoint.mdx +42 -0
  101. package/docs/v5/api-reference/workflow-runtime/world/index.mdx +55 -0
  102. package/docs/v5/api-reference/workflow-runtime/world/meta.json +4 -0
  103. package/docs/{api-reference/workflow-api → v5/api-reference/workflow-runtime}/world/queue.mdx +2 -2
  104. package/docs/v5/api-reference/workflow-runtime/world/storage.mdx +409 -0
  105. package/docs/{api-reference/workflow-api → v5/api-reference/workflow-runtime}/world/streams.mdx +2 -2
  106. package/docs/v5/api-reference/workflow-sveltekit/index.mdx +18 -0
  107. package/docs/v5/api-reference/workflow-sveltekit/meta.json +4 -0
  108. package/docs/v5/api-reference/workflow-sveltekit/workflow-plugin.mdx +42 -0
  109. package/docs/v5/api-reference/workflow-vite/index.mdx +18 -0
  110. package/docs/v5/api-reference/workflow-vite/meta.json +4 -0
  111. package/docs/v5/api-reference/workflow-vite/workflow.mdx +48 -0
  112. package/docs/v5/errors/index.mdx +3 -0
  113. package/docs/v5/errors/step-executed-multiple-times.mdx +23 -0
  114. package/package.json +10 -10
  115. package/docs/api-reference/workflow-api/world/meta.json +0 -4
  116. package/docs/api-reference/workflow-api/world/observability.mdx +0 -164
@@ -1,164 +0,0 @@
1
- ---
2
- title: Observability Utilities
3
- description: Hydrate step I/O, parse display names, and decrypt workflow data using workflow/observability.
4
- type: reference
5
- summary: "Functions: hydrateResourceIO(), parseStepName(), parseWorkflowName(), parseClassName(), getEncryptionKeyForRun(), hydrateResourceIOWithKey()."
6
- prerequisites:
7
- - /docs/api-reference/workflow-api/get-world
8
- related:
9
- - /docs/api-reference/workflow-api/world/storage
10
- keywords:
11
- - workflow/observability
12
- - hydrateResourceIO
13
- - observabilityRevivers
14
- - parseStepName
15
- - parseWorkflowName
16
- - parseClassName
17
- - getEncryptionKeyForRun
18
- - hydrateResourceIOWithKey
19
- - data hydration
20
- - devalue deserialization
21
- - encryption decryption
22
- - display name parsing
23
- ---
24
-
25
- The `workflow/observability` module provides utilities for working with workflow data in observability and debugging tools. It includes functions to hydrate serialized step I/O, parse machine-readable names into display-friendly formats, and decrypt encrypted workflow data.
26
-
27
- ## Import
28
-
29
- ```typescript lineNumbers
30
- import { // [!code highlight]
31
- hydrateResourceIO, // [!code highlight]
32
- observabilityRevivers, // [!code highlight]
33
- parseStepName, // [!code highlight]
34
- parseWorkflowName, // [!code highlight]
35
- parseClassName, // [!code highlight]
36
- } from "workflow/observability"; // [!code highlight]
37
- ```
38
-
39
- ## Data Hydration
40
-
41
- ### hydrateResourceIO()
42
-
43
- Deserialize step or run data that was serialized using the [devalue](https://github.com/Rich-Harris/devalue) format. Required to display step input/output in your UI.
44
-
45
- ```typescript lineNumbers
46
- import { hydrateResourceIO, observabilityRevivers } from "workflow/observability"; // [!code highlight]
47
-
48
- const step = await world.steps.get(runId, stepId);
49
- const hydrated = hydrateResourceIO(step, observabilityRevivers); // [!code highlight]
50
- console.log(hydrated.input, hydrated.output);
51
- ```
52
-
53
- **Parameters:**
54
-
55
- | Parameter | Type | Description |
56
- |-----------|------|-------------|
57
- | `resource` | `Step \| WorkflowRun` | The step or run with serialized data |
58
- | `revivers` | `Revivers` | Reviver functions for deserialization. Use `observabilityRevivers` for standard use. |
59
-
60
- **Returns:** The resource with hydrated `input` and `output` fields.
61
-
62
- ### observabilityRevivers
63
-
64
- A set of reviver functions that handle standard workflow serialization types (Date, Map, Set, Error, etc.).
65
-
66
- ## Name Parsing
67
-
68
- Workflow and step names are stored as machine-readable identifiers. These utilities extract display-friendly names. All return `{ shortName: string, moduleSpecifier: string } | null`.
69
-
70
- ### parseStepName()
71
-
72
- ```typescript lineNumbers
73
- import { parseStepName } from "workflow/observability"; // [!code highlight]
74
-
75
- const parsed = parseStepName("step//./src/workflows/order//processPayment"); // [!code highlight]
76
- // parsed?.shortName → "processPayment"
77
- // parsed?.moduleSpecifier → "./src/workflows/order"
78
- ```
79
-
80
- ### parseWorkflowName()
81
-
82
- ```typescript lineNumbers
83
- import { parseWorkflowName } from "workflow/observability"; // [!code highlight]
84
-
85
- const parsed = parseWorkflowName("workflow//./src/workflows/order//processOrder"); // [!code highlight]
86
- // parsed?.shortName → "processOrder"
87
- ```
88
-
89
- ### parseClassName()
90
-
91
- ```typescript lineNumbers
92
- import { parseClassName } from "workflow/observability"; // [!code highlight]
93
-
94
- const parsed = parseClassName("class//./src/models//User"); // [!code highlight]
95
- // parsed?.shortName → "User"
96
- ```
97
-
98
- ## Encryption
99
-
100
- For workflows with encrypted step data, decrypt before hydrating.
101
-
102
- ### getEncryptionKeyForRun()
103
-
104
- Retrieve the encryption key used for a specific workflow run.
105
-
106
- {/* @expect-error:2305 */}
107
- ```typescript lineNumbers
108
- import { getEncryptionKeyForRun } from "workflow/observability"; // [!code highlight]
109
-
110
- const key = await getEncryptionKeyForRun(runId); // [!code highlight]
111
- ```
112
-
113
- **Parameters:**
114
-
115
- | Parameter | Type | Description |
116
- |-----------|------|-------------|
117
- | `runId` | `string` | The workflow run ID |
118
-
119
- **Returns:** Encryption key for the run
120
-
121
- ### hydrateResourceIOWithKey()
122
-
123
- Hydrate step or run data using a decryption key. Use this instead of `hydrateResourceIO()` when data is encrypted.
124
-
125
- {/* @expect-error:2305,2724 */}
126
- ```typescript lineNumbers
127
- import { getEncryptionKeyForRun, hydrateResourceIOWithKey } from "workflow/observability"; // [!code highlight]
128
-
129
- const key = await getEncryptionKeyForRun(runId); // [!code highlight]
130
- const hydrated = hydrateResourceIOWithKey(step, key); // [!code highlight]
131
- ```
132
-
133
- **Parameters:**
134
-
135
- | Parameter | Type | Description |
136
- |-----------|------|-------------|
137
- | `resource` | `Step \| WorkflowRun` | The step or run with encrypted serialized data |
138
- | `key` | `EncryptionKey` | The encryption key from `getEncryptionKeyForRun()` |
139
-
140
- **Returns:** The resource with decrypted and hydrated `input` and `output` fields.
141
-
142
- ## Examples
143
-
144
- ### Parse Display Names for a Run's Steps
145
-
146
- ```typescript lineNumbers
147
- import { getWorld } from "workflow/runtime";
148
- import { parseStepName, parseWorkflowName } from "workflow/observability"; // [!code highlight]
149
-
150
- const world = getWorld();
151
- const run = await world.runs.get(runId, { resolveData: "none" });
152
- console.log("Workflow:", parseWorkflowName(run.workflowName)?.shortName); // [!code highlight]
153
-
154
- const steps = await world.steps.list({ runId, resolveData: "none" });
155
- for (const step of steps.data) {
156
- const parsed = parseStepName(step.stepName); // [!code highlight]
157
- console.log(` ${parsed?.shortName}: ${step.status}`); // [!code highlight]
158
- }
159
- ```
160
-
161
- ## Related
162
-
163
- - [Storage](/docs/api-reference/workflow-api/world/storage) — Query runs, steps, hooks, and events
164
- - [Serialization](/docs/foundations/serialization) — How workflow data is serialized