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.
- package/docs/ai/resumable-streams.mdx +4 -0
- package/docs/api-reference/index.mdx +24 -0
- package/docs/api-reference/meta.json +8 -0
- package/docs/api-reference/vitest/index.mdx +0 -6
- package/docs/api-reference/workflow/create-hook.mdx +32 -0
- package/docs/api-reference/workflow/create-webhook.mdx +1 -0
- package/docs/api-reference/workflow-ai/workflow-chat-transport.mdx +39 -0
- package/docs/api-reference/workflow-api/index.mdx +6 -8
- package/docs/api-reference/workflow-api/start.mdx +2 -0
- package/docs/api-reference/workflow-errors/meta.json +5 -0
- package/docs/api-reference/workflow-next/with-workflow.mdx +26 -4
- package/docs/api-reference/workflow-serde/index.mdx +0 -1
- package/docs/api-reference/workflow-serde/workflow-deserialize.mdx +1 -2
- package/docs/api-reference/workflow-serde/workflow-serialize.mdx +1 -2
- package/docs/deploying/world/postgres-world.mdx +33 -1
- package/docs/deploying/world/vercel-world.mdx +2 -0
- package/docs/errors/index.mdx +3 -0
- package/docs/foundations/hooks.mdx +29 -0
- package/docs/foundations/streaming.mdx +7 -1
- package/docs/foundations/versioning.mdx +1 -1
- package/docs/how-it-works/encryption.mdx +2 -2
- package/docs/how-it-works/event-sourcing.mdx +2 -2
- package/docs/observability/index.mdx +13 -0
- package/docs/v4/api-reference/workflow-astro/index.mdx +18 -0
- package/docs/v4/api-reference/workflow-astro/meta.json +4 -0
- package/docs/v4/api-reference/workflow-astro/workflow.mdx +37 -0
- package/docs/v4/api-reference/workflow-errors/hook-conflict-error.mdx +60 -0
- package/docs/v4/api-reference/workflow-errors/run-not-supported-error.mdx +58 -0
- package/docs/v4/api-reference/workflow-errors/workflow-error.mdx +52 -0
- package/docs/v4/api-reference/workflow-errors/workflow-run-not-completed-error.mdx +58 -0
- package/docs/v4/api-reference/workflow-errors/workflow-runtime-error.mdx +58 -0
- package/docs/v4/api-reference/workflow-nest/configure-workflow-controller.mdx +33 -0
- package/docs/v4/api-reference/workflow-nest/index.mdx +31 -0
- package/docs/v4/api-reference/workflow-nest/meta.json +9 -0
- package/docs/v4/api-reference/workflow-nest/nest-local-builder.mdx +63 -0
- package/docs/v4/api-reference/workflow-nest/workflow-controller.mdx +40 -0
- package/docs/v4/api-reference/workflow-nest/workflow-module.mdx +73 -0
- package/docs/v4/api-reference/workflow-nitro/index.mdx +58 -0
- package/docs/v4/api-reference/workflow-nuxt/index.mdx +48 -0
- package/docs/v4/api-reference/workflow-observability/hydrate-data.mdx +35 -0
- package/docs/v4/api-reference/workflow-observability/hydrate-resource-io.mdx +62 -0
- package/docs/v4/api-reference/workflow-observability/index.mdx +64 -0
- package/docs/v4/api-reference/workflow-observability/meta.json +11 -0
- package/docs/v4/api-reference/workflow-observability/observability-revivers.mdx +50 -0
- package/docs/v4/api-reference/workflow-observability/parse-class-name.mdx +41 -0
- package/docs/v4/api-reference/workflow-observability/parse-step-name.mdx +40 -0
- package/docs/v4/api-reference/workflow-observability/parse-workflow-name.mdx +55 -0
- package/docs/v4/api-reference/workflow-runtime/create-world.mdx +43 -0
- package/docs/v4/api-reference/workflow-runtime/get-world-handlers.mdx +44 -0
- package/docs/v4/api-reference/workflow-runtime/get-world.mdx +124 -0
- package/docs/v4/api-reference/workflow-runtime/health-check.mdx +50 -0
- package/docs/v4/api-reference/workflow-runtime/index.mdx +46 -0
- package/docs/v4/api-reference/workflow-runtime/meta.json +13 -0
- package/docs/v4/api-reference/workflow-runtime/set-world.mdx +49 -0
- package/docs/v4/api-reference/workflow-runtime/step-entrypoint.mdx +39 -0
- package/docs/v4/api-reference/workflow-runtime/workflow-entrypoint.mdx +42 -0
- package/docs/{api-reference/workflow-api → v4/api-reference/workflow-runtime}/world/index.mdx +5 -8
- package/docs/v4/api-reference/workflow-runtime/world/meta.json +4 -0
- package/docs/v4/api-reference/workflow-runtime/world/queue.mdx +86 -0
- package/docs/{api-reference/workflow-api → v4/api-reference/workflow-runtime}/world/storage.mdx +4 -4
- package/docs/v4/api-reference/workflow-runtime/world/streams.mdx +216 -0
- package/docs/v4/api-reference/workflow-sveltekit/index.mdx +18 -0
- package/docs/v4/api-reference/workflow-sveltekit/meta.json +4 -0
- package/docs/v4/api-reference/workflow-sveltekit/workflow-plugin.mdx +34 -0
- package/docs/v4/api-reference/workflow-vite/index.mdx +18 -0
- package/docs/v4/api-reference/workflow-vite/meta.json +4 -0
- package/docs/v4/api-reference/workflow-vite/workflow.mdx +47 -0
- package/docs/v4/errors/step-executed-multiple-times.mdx +23 -0
- package/docs/v5/api-reference/workflow-astro/index.mdx +18 -0
- package/docs/v5/api-reference/workflow-astro/meta.json +4 -0
- package/docs/v5/api-reference/workflow-astro/workflow.mdx +45 -0
- package/docs/v5/api-reference/workflow-errors/hook-conflict-error.mdx +60 -0
- package/docs/v5/api-reference/workflow-errors/run-not-supported-error.mdx +58 -0
- package/docs/v5/api-reference/workflow-errors/workflow-error.mdx +52 -0
- package/docs/v5/api-reference/workflow-errors/workflow-run-not-completed-error.mdx +58 -0
- package/docs/v5/api-reference/workflow-errors/workflow-runtime-error.mdx +58 -0
- package/docs/v5/api-reference/workflow-nest/configure-workflow-controller.mdx +33 -0
- package/docs/v5/api-reference/workflow-nest/index.mdx +31 -0
- package/docs/v5/api-reference/workflow-nest/meta.json +9 -0
- package/docs/v5/api-reference/workflow-nest/nest-local-builder.mdx +64 -0
- package/docs/v5/api-reference/workflow-nest/workflow-controller.mdx +40 -0
- package/docs/v5/api-reference/workflow-nest/workflow-module.mdx +74 -0
- package/docs/v5/api-reference/workflow-nitro/index.mdx +60 -0
- package/docs/v5/api-reference/workflow-nuxt/index.mdx +48 -0
- package/docs/v5/api-reference/workflow-observability/hydrate-data.mdx +35 -0
- package/docs/v5/api-reference/workflow-observability/hydrate-resource-io.mdx +62 -0
- package/docs/v5/api-reference/workflow-observability/index.mdx +64 -0
- package/docs/v5/api-reference/workflow-observability/meta.json +11 -0
- package/docs/v5/api-reference/workflow-observability/observability-revivers.mdx +50 -0
- package/docs/v5/api-reference/workflow-observability/parse-class-name.mdx +41 -0
- package/docs/v5/api-reference/workflow-observability/parse-step-name.mdx +40 -0
- package/docs/v5/api-reference/workflow-observability/parse-workflow-name.mdx +55 -0
- package/docs/v5/api-reference/workflow-runtime/create-world.mdx +39 -0
- package/docs/v5/api-reference/workflow-runtime/get-world-handlers.mdx +44 -0
- package/docs/{api-reference/workflow-api → v5/api-reference/workflow-runtime}/get-world.mdx +7 -10
- package/docs/v5/api-reference/workflow-runtime/health-check.mdx +50 -0
- package/docs/v5/api-reference/workflow-runtime/index.mdx +43 -0
- package/docs/v5/api-reference/workflow-runtime/meta.json +12 -0
- package/docs/v5/api-reference/workflow-runtime/set-world.mdx +49 -0
- package/docs/v5/api-reference/workflow-runtime/workflow-entrypoint.mdx +42 -0
- package/docs/v5/api-reference/workflow-runtime/world/index.mdx +55 -0
- package/docs/v5/api-reference/workflow-runtime/world/meta.json +4 -0
- package/docs/{api-reference/workflow-api → v5/api-reference/workflow-runtime}/world/queue.mdx +2 -2
- package/docs/v5/api-reference/workflow-runtime/world/storage.mdx +409 -0
- package/docs/{api-reference/workflow-api → v5/api-reference/workflow-runtime}/world/streams.mdx +2 -2
- package/docs/v5/api-reference/workflow-sveltekit/index.mdx +18 -0
- package/docs/v5/api-reference/workflow-sveltekit/meta.json +4 -0
- package/docs/v5/api-reference/workflow-sveltekit/workflow-plugin.mdx +42 -0
- package/docs/v5/api-reference/workflow-vite/index.mdx +18 -0
- package/docs/v5/api-reference/workflow-vite/meta.json +4 -0
- package/docs/v5/api-reference/workflow-vite/workflow.mdx +48 -0
- package/docs/v5/errors/index.mdx +3 -0
- package/docs/v5/errors/step-executed-multiple-times.mdx +23 -0
- package/package.json +10 -10
- package/docs/api-reference/workflow-api/world/meta.json +0 -4
- 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
|