@superdurable/dex 0.1.4 → 0.1.6

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 (54) hide show
  1. package/README.md +115 -5
  2. package/dist/src/client.d.ts +35 -18
  3. package/dist/src/client.js +121 -43
  4. package/dist/src/client.js.map +1 -1
  5. package/dist/src/codec.d.ts +1 -1
  6. package/dist/src/context.d.ts +20 -1
  7. package/dist/src/errors.d.ts +2 -33
  8. package/dist/src/errors.js +2 -45
  9. package/dist/src/errors.js.map +1 -1
  10. package/dist/src/flow-result.d.ts +47 -0
  11. package/dist/src/flow-result.js +82 -0
  12. package/dist/src/flow-result.js.map +1 -0
  13. package/dist/src/flow.d.ts +13 -1
  14. package/dist/src/flow.js +1 -0
  15. package/dist/src/flow.js.map +1 -1
  16. package/dist/src/gen/dex.d.ts +209 -33
  17. package/dist/src/gen/dex.js +1619 -213
  18. package/dist/src/gen/dex.js.map +1 -1
  19. package/dist/src/grpc-status.js +6 -5
  20. package/dist/src/grpc-status.js.map +1 -1
  21. package/dist/src/index.d.ts +2 -0
  22. package/dist/src/index.js +1 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/invocation-context.d.ts +7 -1
  25. package/dist/src/invocation-context.js +53 -1
  26. package/dist/src/invocation-context.js.map +1 -1
  27. package/dist/src/options.d.ts +42 -19
  28. package/dist/src/options.js +20 -4
  29. package/dist/src/options.js.map +1 -1
  30. package/dist/src/persistence.d.ts +12 -0
  31. package/dist/src/persistence.js +16 -0
  32. package/dist/src/persistence.js.map +1 -1
  33. package/dist/src/rpc.d.ts +3 -1
  34. package/dist/src/rpc.js.map +1 -1
  35. package/dist/src/step.d.ts +33 -3
  36. package/dist/src/step.js +38 -1
  37. package/dist/src/step.js.map +1 -1
  38. package/dist/src/subflow.d.ts +62 -0
  39. package/dist/src/subflow.js +62 -0
  40. package/dist/src/subflow.js.map +1 -0
  41. package/dist/src/wait.d.ts +23 -2
  42. package/dist/src/wait.js +17 -0
  43. package/dist/src/wait.js.map +1 -1
  44. package/dist/src/worker-dispatcher.d.ts +4 -3
  45. package/dist/src/worker-dispatcher.js +271 -37
  46. package/dist/src/worker-dispatcher.js.map +1 -1
  47. package/dist/src/worker.js +21 -5
  48. package/dist/src/worker.js.map +1 -1
  49. package/native/linux-aarch64/dex_blob_cache_node.node +0 -0
  50. package/native/linux-x86_64/dex_blob_cache_node.node +0 -0
  51. package/native/macos-aarch64/dex_blob_cache_node.node +0 -0
  52. package/native/macos-x86_64/dex_blob_cache_node.node +0 -0
  53. package/native/windows-x86_64/dex_blob_cache_node.node +0 -0
  54. package/package.json +1 -1
package/README.md CHANGED
@@ -67,6 +67,68 @@ failure or the default 120-second deadline aborts startup. An indexed
67
67
  `StepOptions.waitForMethodTimeoutMs` and `executeMethodTimeoutMs` bound the two
68
68
  handler calls. Timer and channel conditions determine how long a Step waits.
69
69
 
70
+ ### Canceling Step executions
71
+
72
+ A successful Step can cancel queued or active executions while continuing with
73
+ its normal decision:
74
+
75
+ ```typescript
76
+ return withCancelingSteps(
77
+ withCancelingSiblingSteps(
78
+ goTo(this.recordQuote, quote),
79
+ this.carrierA,
80
+ this.carrierB,
81
+ ),
82
+ this.globalQuoteTimeout,
83
+ );
84
+ ```
85
+
86
+ `withCancelingSteps` selects every current execution of each registered Step
87
+ type. `withCancelingSiblingSteps` selects only executions whose
88
+ `Context.fromStepExecutionId` matches the current execution. Both helpers return
89
+ a new decision; repeated calls form a union, and Flow-wide selection wins for
90
+ the same Step object. Unregistered selectors produce an invalid Step result.
91
+
92
+ Dex resolves one snapshot after the current execution succeeds. Completed,
93
+ already-canceled, and absent targets are no-ops. Next Steps created by that
94
+ decision are outside the snapshot. Dex immediately applies the next or close
95
+ action; late decisions, writes, retries, and recovery Steps are discarded.
96
+
97
+ Set `StepOptions.heartbeatTimeoutMs` on long-running regular Steps so
98
+ cancellation reaches the Worker promptly. The value is milliseconds but must
99
+ represent whole seconds in the signed int32 range. Zero disables heartbeats.
100
+ Local activities ignore the setting, while an ASYNC fallback uses it. The
101
+ Worker aborts `Context.cancellationSignal`; pass it to abort-aware APIs:
102
+
103
+ ```typescript
104
+ const response = await fetch(url, { signal: context.cancellationSignal });
105
+ ```
106
+
107
+ An RPC result may set `cancelingSteps` for Flow-wide selection. RPCs do not
108
+ support sibling selection because they have no Step execution lineage.
109
+
110
+ ### Soft Flow timeout
111
+
112
+ An optional `Flow.handleTimeout` makes a positive timeout use handler policy by
113
+ default. It may be synchronous or async and returns a normal `StepDecision`:
114
+
115
+ ```typescript
116
+ async handleTimeout(context: Context): Promise<StepDecision> {
117
+ await notifyExpiration(context);
118
+ return forceComplete("expired");
119
+ }
120
+
121
+ await client.startFlow(orders, "order-42", input, {
122
+ timeoutMs: 30 * 60_000,
123
+ timeoutPolicy: FlowTimeoutPolicy.HANDLER,
124
+ });
125
+ ```
126
+
127
+ `FAIL` produces `FlowErrorType.FLOW_TIMEOUT` and permits Flow retry; `CANCEL`
128
+ cancels without retry. Continue-as-new preserves the durable timer's deadline;
129
+ retry and cron runs get a fresh budget. A zero or omitted timeout disables the
130
+ feature.
131
+
70
132
  Opt an Attribute or AttributeMap into Attribute Store synchronization, then
71
133
  select the Server-configured Store for the Flow:
72
134
 
@@ -81,6 +143,20 @@ The Store is an asynchronous latest-state projection. Deletion writes SQL
81
143
  `attributeStoreName` preserves the current target; `attributeStoreName: ""`
82
144
  disables future synchronization while retaining protocol presence.
83
145
 
146
+ ### Waiting and map inspection
147
+
148
+ `Wait.allOf` and `Wait.anyOf` may contain unnamed Conditions and send empty
149
+ Condition IDs. Every Condition in `Wait.anyCombinationOf` needs a non-empty
150
+ user ID; the same Condition object may be reused across combinations.
151
+
152
+ `Client.waitForAttributeEqual` overloads target the current
153
+ run and accept only string, boolean, integer, or double wire values. JSON,
154
+ bytes, and null reject before transport. `AttributeMap.getMapSize` and
155
+ `getAllInstanceKeys` include buffered sets and deletes. The matching
156
+ `ChannelMap` methods are RPC-only, include buffered publishes, and omit empty
157
+ instances. Keys are decoded and sorted. Use
158
+ `forceCompleteIfChannelsEmpty(...)` for conditional completion.
159
+
84
160
  ### Async handlers
85
161
 
86
162
  `Step.execute`, `Step.waitFor`, and RPC methods may be `async` and return a
@@ -93,7 +169,8 @@ Worker is enough; no sidecar Worker is needed.
93
169
  ```ts
94
170
  async execute(context: Context, childId: string): Promise<StepDecision> {
95
171
  await client.startFlow(childFlow, childId, input);
96
- const output = await client.waitForFlow(childId, stringCodec, 5_000);
172
+ const result = await client.waitForFlow(childId, 5_000);
173
+ const output = result.singleOutput(stringCodec);
97
174
  return gracefulComplete(output);
98
175
  }
99
176
  ```
@@ -112,10 +189,43 @@ Every TypeScript Flow and Step must return an explicit durable name from
112
189
  `getFlowType()` or `getStepType()`. Class names are never used as fallbacks
113
190
  because bundlers and minifiers may rename them.
114
191
 
192
+ `waitForFlow` hydrates every output-bearing completion before resolving. For a
193
+ multi-output Flow, select by Step identity and decode each value with its codec:
194
+
195
+ ```typescript
196
+ const result = await client.waitForFlow(flowId);
197
+ const receipt = result.completions
198
+ .find((completion) => completion.stepType === "ChargeCard")
199
+ ?.decode(receiptCodec);
200
+ ```
201
+
202
+ The completion array is read-only and keeps server collection order. Parallel
203
+ branch order is not deterministic. A no-output Flow returns an empty array;
204
+ `singleOutput` throws for zero or multiple completions. Every terminal status returns
205
+ a `FlowResult`; inspect `status`, `errorType`, and `errorMessage` for unsuccessful
206
+ completion.
207
+
208
+ SubFlows are normal, independently addressable Flows used as durable Conditions:
209
+
210
+ ```typescript
211
+ public waitFor(_context: Context, input: ChargeInput): Wait {
212
+ return Wait.until(SubFlow.run(this.chargeFlow, input));
213
+ }
214
+
215
+ public execute(context: Context, _input: ChargeInput): StepDecision {
216
+ const receipt = SubFlow.getConditionResults(context).singleOutput(receiptCodec);
217
+ return gracefulComplete(receipt);
218
+ }
219
+ ```
220
+
221
+ `SubFlow.getFlowId(context, index)` remains available for a running `anyOf` loser.
222
+ `SubFlowOptions` configures timing, timeout policy, retry, initial target Attributes,
223
+ Flow config, Condition ID, and reuse. Parent completion does not cancel an unfinished SubFlow.
224
+
115
225
  ## Errors
116
226
 
117
227
  Client calls reject with concrete `DexServiceError` subclasses. Existing-Flow
118
- reads (`getAttribute`, `describeFlow`, `waitForFlow`, and `resetFlow`) use
228
+ reads (`getAttribute`, `describeFlow`, `waitForFlow`, and `timeTravel`) use
119
229
  `FlowNotFoundError`; operations that require a running Flow use
120
230
  `FlowNotActiveError`. Start conflicts, worker failures, RPC lock contention,
121
231
  and long-poll timeouts use `FlowAlreadyStartedError`,
@@ -167,9 +277,9 @@ enum value, type parameter, input, and output; generated sources are excluded.
167
277
  The comments appear in TypeScript language-service and IDE hovers.
168
278
 
169
279
  Run `./run-integration-tests.sh` for all 58 IWF
170
- compatibility scenarios against an isolated `dexcli dev` environment. Run
171
- `npm run generate:proto` after changing `protos/dex.proto`; `protoc` and its
172
- standard protobuf includes must be installed.
280
+ compatibility scenarios against an isolated `dexcli dev` environment. After
281
+ changing `protos/dex.proto`, run `make generated-code` from the repository root
282
+ and commit every server and SDK output.
173
283
 
174
284
  ## Integration coverage
175
285
 
@@ -1,9 +1,9 @@
1
1
  import type { BlobCache } from "./blob-cache.js";
2
- import type { Codec } from "./codec.js";
3
2
  import type { Context } from "./context.js";
4
3
  import { type Flow, type Registry } from "./flow.js";
5
- import { type ClientOptions, type FlowConfig, type FlowInfo, type ResetFlowOptions, type SearchFlowsPage, type StartFlowOptions, type StepExecutionId, type StopFlowOptions, type TimerId } from "./options.js";
6
- import { AttributeMap, type Attribute } from "./persistence.js";
4
+ import { type FlowResult } from "./flow-result.js";
5
+ import { type ClientOptions, type FlowConfig, type FlowInfo, type TimeTravelOptions, type SearchFlowsPage, type StartFlowOptions, type StepExecutionId, type StopFlowOptions, type TimerId } from "./options.js";
6
+ import { Attribute, AttributeMap } from "./persistence.js";
7
7
  import type { RPCResult } from "./rpc.js";
8
8
  import { ChannelMap, type Channel } from "./wait.js";
9
9
  /**
@@ -17,7 +17,8 @@ import { ChannelMap, type Channel } from "./wait.js";
17
17
  * const client = new Client(registry, cache);
18
18
  * try {
19
19
  * const runId = await client.startFlow(orders, "order-42", input);
20
- * const result = await client.waitForFlow("order-42", orderResultCodec);
20
+ * const result = await client.waitForFlow("order-42");
21
+ * const output = result.singleOutput(orderResultCodec);
21
22
  * } finally { await client.close(); }
22
23
  * ```
23
24
  */
@@ -144,20 +145,14 @@ export declare class Client {
144
145
  */
145
146
  publish<T>(flowId: string, channel: ChannelMap<T>, instance: string, ...values: readonly T[]): Promise<void>;
146
147
  /**
147
- * Waits for successful Flow completion without decoding output.
148
+ * Long-polls until a Flow closes and returns every output-bearing completion.
148
149
  * @param flowId - Non-empty existing Flow ID.
149
- * @returns A promise resolved on successful completion.
150
- */
151
- waitForFlow(flowId: string): Promise<void>;
152
- /**
153
- * Waits for successful Flow completion and decodes the latest Step output.
154
- * @typeParam Output - Expected completion output type.
155
- * @param flowId - Non-empty existing Flow ID.
156
- * @param outputCodec - Codec for the expected output.
157
150
  * @param timeoutMs - Optional server-side long-poll duration in milliseconds.
158
- * @returns The decoded latest completed Step output.
151
+ * @returns Immutable Step completions in server collection order.
152
+ * @throws {@link LongPollTimeoutError} when the Flow remains open at timeout.
153
+ * @throws {@link ValueMappingError} when Dex returns malformed blob-backed output.
159
154
  */
160
- waitForFlow<Output>(flowId: string, outputCodec: Codec<Output>, timeoutMs?: number): Promise<Output>;
155
+ waitForFlow(flowId: string, timeoutMs?: number): Promise<FlowResult>;
161
156
  /**
162
157
  * Requests cancellation, termination, or failure of an active Flow.
163
158
  * The promise resolves after acceptance and does not await terminal status.
@@ -182,11 +177,11 @@ export declare class Client {
182
177
  private mapSearchEntry;
183
178
  /**
184
179
  * Creates a new run from a selected point in existing Flow history.
185
- * @param flowId - Non-empty Flow ID whose history is reset.
186
- * @param options - Reset selector, reason, and replay controls.
180
+ * @param flowId - Non-empty Flow ID whose history supplies the new run.
181
+ * @param options - Time travel selector, reason, and replay controls.
187
182
  * @returns The new server-assigned run ID; the Flow ID remains unchanged.
188
183
  */
189
- resetFlow(flowId: string, options: ResetFlowOptions): Promise<string>;
184
+ timeTravel(flowId: string, options: TimeTravelOptions): Promise<string>;
190
185
  /**
191
186
  * Makes one waiting Timer condition immediately ready.
192
187
  * @param flowId - Non-empty active Flow ID.
@@ -202,6 +197,28 @@ export declare class Client {
202
197
  * @throws {@link LongPollTimeoutError} when completion is not observed in time.
203
198
  */
204
199
  waitForStepCompletion(flowId: string, stepExecutionId: StepExecutionId, timeoutMs: number): Promise<void>;
200
+ /**
201
+ * Waits until a singleton Attribute in the current run equals the expected value.
202
+ * Generates a request ID and rejects JSON, bytes, and null before transport.
203
+ * @typeParam T - Attribute value type.
204
+ * @param flowId - Non-empty active Flow ID.
205
+ * @param attribute - Registered singleton Attribute to observe.
206
+ * @param expected - String, boolean, integer, or number value to await.
207
+ * @param timeoutMs - Non-negative server-side wait duration in milliseconds.
208
+ */
209
+ waitForAttributeEqual<T>(flowId: string, attribute: Attribute<T>, expected: T, timeoutMs: number): Promise<void>;
210
+ /**
211
+ * Waits until one AttributeMap instance in the current run matches.
212
+ * Primitive-value restrictions and timeout errors match `waitForAttributeEqual`.
213
+ * @typeParam T - AttributeMap value type.
214
+ * @param flowId - Non-empty active Flow ID.
215
+ * @param attribute - Registered AttributeMap to observe.
216
+ * @param instance - Non-empty logical map key to observe.
217
+ * @param expected - String, boolean, integer, or number value to await.
218
+ * @param timeoutMs - Non-negative server-side wait duration in milliseconds.
219
+ */
220
+ waitForAttributeEqual<T>(flowId: string, attribute: AttributeMap<T>, instance: string, expected: T, timeoutMs: number): Promise<void>;
221
+ private waitForAttributeValue;
205
222
  /**
206
223
  * Replaces mutable configuration for an active Flow.
207
224
  * The update affects later decisions and does not recall dispatched work.
@@ -7,12 +7,13 @@
7
7
  // SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
8
8
  import { credentials } from "@grpc/grpc-js";
9
9
  import { mapAttributeStoreName, mapAttributeStoreSync } from "./attribute-store-sync.js";
10
- import { ActiveStepSearchMode as ProtoActiveStepSearchMode, FlowErrorType as ProtoFlowErrorType, FlowResetType as ProtoFlowResetType, FlowServiceClient, FlowStatus as ProtoFlowStatus, IdReusePolicy as ProtoIdReusePolicy, IndexType as ProtoIndexType, ExecuteMethodFailurePolicy, StartFlowRequest, StepDurability as ProtoStepDurability, StepOptions as ProtoStepOptions, StopType as ProtoStopType, WaitForMethodFailurePolicy, } from "./gen/dex.js";
11
- import { FlowErrorType, FlowUncompletedError } from "./errors.js";
10
+ import { ActiveStepSearchMode as ProtoActiveStepSearchMode, FlowErrorType as ProtoFlowErrorType, FlowTimeoutPolicy as ProtoFlowTimeoutPolicy, FlowResetStepMethod as ProtoFlowResetStepMethod, FlowResetType as ProtoFlowResetType, FlowServiceClient, FlowStatus as ProtoFlowStatus, IdReusePolicy as ProtoIdReusePolicy, IndexType as ProtoIndexType, ExecuteMethodFailurePolicy, StartFlowRequest, StepDurability as ProtoStepDurability, StepOptions as ProtoStepOptions, StopType as ProtoStopType, WaitForMethodFailurePolicy, } from "./gen/dex.js";
11
+ import { FlowErrorType, } from "./errors.js";
12
12
  import { registeredFlow, registeredRPC, } from "./flow.js";
13
+ import { createFlowResultFromProto, } from "./flow-result.js";
13
14
  import { translateServiceError } from "./grpc-status.js";
14
- import { ActiveStepSearchMode, IdReusePolicy, ResetType, StopType, } from "./options.js";
15
- import { AttributeMap, IndexType } from "./persistence.js";
15
+ import { ActiveStepSearchMode, FlowTimeoutPolicy, IdReusePolicy, TimeTravelStepMethod, TimeTravelType, StopType, } from "./options.js";
16
+ import { Attribute, AttributeMap, IndexType } from "./persistence.js";
16
17
  import { requireName } from "./validation.js";
17
18
  import { decodeUnknown, decodeValue, encodeValue, ValueHydrator } from "./value-mapper.js";
18
19
  import { ChannelMap } from "./wait.js";
@@ -28,7 +29,8 @@ const defaultServerAddress = "localhost:8801";
28
29
  * const client = new Client(registry, cache);
29
30
  * try {
30
31
  * const runId = await client.startFlow(orders, "order-42", input);
31
- * const result = await client.waitForFlow("order-42", orderResultCodec);
32
+ * const result = await client.waitForFlow("order-42");
33
+ * const output = result.singleOutput(orderResultCodec);
32
34
  * } finally { await client.close(); }
33
35
  * ```
34
36
  */
@@ -64,10 +66,12 @@ export class Client {
64
66
  */
65
67
  async startFlow(flow, flowId, input, options = {}) {
66
68
  const registered = registeredFlow(this.registry, flow);
69
+ const flowTimeoutSeconds = seconds(options.timeoutMs);
67
70
  const request = StartFlowRequest.create({
68
71
  flowId: requireName(flowId),
69
72
  flowType: registered.name,
70
- flowTimeoutSeconds: seconds(options.timeoutMs),
73
+ flowTimeoutSeconds,
74
+ flowTimeoutPolicy: resolveFlowTimeoutPolicy(registered, flowTimeoutSeconds, options.timeoutPolicy),
71
75
  requestId: options.requestId ?? crypto.randomUUID(),
72
76
  flowStartOptions: {
73
77
  idReusePolicy: mapIdReusePolicy(options.idReusePolicy),
@@ -198,36 +202,22 @@ export class Client {
198
202
  }, callback));
199
203
  }
200
204
  /**
201
- * Long-polls until a Flow closes and optionally decodes output.
205
+ * Long-polls until a Flow closes and returns every output-bearing completion.
202
206
  * @param flowId - Non-empty existing Flow ID.
203
- * @param outputCodec - Optional codec for the latest output.
204
207
  * @param timeoutMs - Optional server-side long-poll duration in milliseconds.
205
- * @returns Decoded output, or `undefined` when no codec was requested.
208
+ * @returns Immutable Step completions in server collection order.
206
209
  * @throws {@link LongPollTimeoutError} when the Flow remains open at timeout.
207
- * @throws {@link FlowUncompletedError} for a non-successful terminal status.
210
+ * @throws {@link ValueMappingError} when Dex returns malformed blob-backed output.
208
211
  */
209
- async waitForFlow(flowId, outputCodec, timeoutMs) {
212
+ async waitForFlow(flowId, timeoutMs) {
210
213
  const response = await unary({ operation: "waitForFlow", flowId, requirement: "existing" }, (callback) => this.service.waitForFlow({
211
214
  flowId: requireName(flowId),
212
215
  runId: "",
213
- needsResults: outputCodec !== undefined,
216
+ needsResults: true,
214
217
  waitTimeSeconds: seconds(timeoutMs),
215
218
  }, callback));
216
- if (response.flowStatus !== ProtoFlowStatus.FLOW_STATUS_COMPLETED) {
217
- const summary = await this.describeFlow(flowId);
218
- const results = await this.hydrator.hydrateAll(response.results.map((result) => result.completedStepOutput));
219
- throw new FlowUncompletedError(summary.runId, mapFlowStatus(response.flowStatus), mapFlowErrorType(response.errorType), response.errorMessage || undefined, results);
220
- }
221
- if (outputCodec === undefined) {
222
- return undefined;
223
- }
224
- for (let index = response.results.length - 1; index >= 0; index -= 1) {
225
- const value = response.results[index]?.completedStepOutput;
226
- if (value !== undefined) {
227
- return decodeValue(outputCodec, await this.hydrator.hydrate(value));
228
- }
229
- }
230
- throw new TypeError(`Flow ${flowId} completed without an output`);
219
+ const values = await this.hydrator.hydrateAll(response.results.map((result) => result.completedStepOutput));
220
+ return createFlowResultFromProto(response, values);
231
221
  }
232
222
  /**
233
223
  * Requests cancellation, termination, or failure of an active Flow.
@@ -296,22 +286,21 @@ export class Client {
296
286
  }
297
287
  /**
298
288
  * Creates a new run from a selected point in existing Flow history.
299
- * @param flowId - Non-empty Flow ID whose history is reset.
300
- * @param options - Reset selector, reason, and replay controls.
289
+ * @param flowId - Non-empty Flow ID whose history supplies the new run.
290
+ * @param options - Time travel selector, reason, and replay controls.
301
291
  * @returns The new server-assigned run ID; the Flow ID remains unchanged.
302
292
  */
303
- async resetFlow(flowId, options) {
304
- const response = await unary({ operation: "resetFlow", flowId, requirement: "existing" }, (callback) => this.service.resetFlow({
293
+ async timeTravel(flowId, options) {
294
+ const response = await unary({ operation: "timeTravel", flowId, requirement: "existing" }, (callback) => this.service.resetFlow({
305
295
  flowId: requireName(flowId),
306
296
  runId: "",
307
- resetType: mapResetType(options.type),
308
- historyEventId: number64(options.historyEventId),
297
+ resetType: mapTimeTravelType(options.type),
309
298
  reason: options.reason ?? "",
310
299
  historyEventTime: options.historyEventTime?.toISOString() ?? "",
311
300
  stepType: options.stepType ?? "",
312
301
  stepExecutionId: options.stepExecutionId ?? "",
313
- skipChannelMessagesReapply: options.skipChannelMessagesReapply ?? false,
314
- skipLockingRpcReapply: options.skipLockingRpcReapply ?? false,
302
+ skipWritesReapply: options.skipWritesReapply ?? false,
303
+ stepMethod: mapTimeTravelStepMethod(options.stepMethod),
315
304
  }, callback));
316
305
  return response.runId;
317
306
  }
@@ -346,6 +335,53 @@ export class Client {
346
335
  requestId: crypto.randomUUID(),
347
336
  }, callback));
348
337
  }
338
+ /**
339
+ * Waits until a singleton Attribute or AttributeMap instance equals the expected value.
340
+ * @param flowId - Non-empty active Flow ID.
341
+ * @param attribute - Registered Attribute or AttributeMap to observe.
342
+ * @param args - Expected value and timeout, optionally preceded by a map instance.
343
+ */
344
+ async waitForAttributeEqual(flowId, attribute, ...args) {
345
+ if (attribute instanceof Attribute) {
346
+ if (args.length !== 2 || typeof args[1] !== "number") {
347
+ throw new TypeError("waitForAttributeEqual received invalid Attribute arguments");
348
+ }
349
+ await this.waitForAttributeValue(flowId, attribute, undefined, args[0], args[1]);
350
+ return;
351
+ }
352
+ if (attribute instanceof AttributeMap) {
353
+ if (args.length !== 3 || typeof args[0] !== "string" || typeof args[2] !== "number") {
354
+ throw new TypeError("waitForAttributeEqual received invalid AttributeMap arguments");
355
+ }
356
+ await this.waitForAttributeValue(flowId, attribute, args[0], args[1], args[2]);
357
+ return;
358
+ }
359
+ throw new TypeError("waitForAttributeEqual received an invalid Attribute definition");
360
+ }
361
+ async waitForAttributeValue(flowId, attribute, instance, expected, timeoutMs) {
362
+ const value = encodeValue(attribute.codec, expected);
363
+ if (value.kind?.$case !== "stringValue" &&
364
+ value.kind?.$case !== "boolValue" &&
365
+ value.kind?.$case !== "intValue" &&
366
+ value.kind?.$case !== "doubleValue") {
367
+ throw new TypeError("waitForAttributeEqual supports only string, boolean, or number values");
368
+ }
369
+ await unary({ operation: "waitForAttributeEqual", flowId, requirement: "active" }, (callback) => this.service.waitForAttribute({
370
+ flowId: requireName(flowId),
371
+ runId: "",
372
+ condition: {
373
+ kind: {
374
+ $case: "equal",
375
+ value: {
376
+ key: physicalName(attribute.name, instance),
377
+ value,
378
+ },
379
+ },
380
+ },
381
+ waitTimeSeconds: seconds(timeoutMs),
382
+ requestId: crypto.randomUUID(),
383
+ }, callback));
384
+ }
349
385
  /**
350
386
  * Replaces mutable configuration for an active Flow.
351
387
  * The update affects later decisions and does not recall dispatched work.
@@ -379,6 +415,7 @@ function mapStepOptions(options, skipWaitFor, flow) {
379
415
  return ProtoStepOptions.create({
380
416
  waitForTimeoutSeconds: seconds(options?.waitForMethodTimeoutMs),
381
417
  executeTimeoutSeconds: seconds(options?.executeMethodTimeoutMs),
418
+ heartbeatTimeoutSeconds: heartbeatSeconds(options?.heartbeatTimeoutMs),
382
419
  waitForRetryPolicy: mapRetryPolicy(options?.waitForRetry),
383
420
  executeRetryPolicy: mapRetryPolicy(options?.executeRetry),
384
421
  waitForFailurePolicy: options?.waitForFailure === "proceed"
@@ -486,16 +523,25 @@ function mapStopType(type) {
486
523
  return ProtoStopType.STOP_TYPE_CANCEL;
487
524
  }
488
525
  }
489
- function mapResetType(type) {
526
+ function mapTimeTravelType(type) {
490
527
  const types = {
491
- [ResetType.BEGINNING]: ProtoFlowResetType.FLOW_RESET_TYPE_BEGINNING,
492
- [ResetType.HISTORY_EVENT_ID]: ProtoFlowResetType.FLOW_RESET_TYPE_HISTORY_EVENT_ID,
493
- [ResetType.HISTORY_EVENT_TIME]: ProtoFlowResetType.FLOW_RESET_TYPE_HISTORY_EVENT_TIME,
494
- [ResetType.STEP_TYPE]: ProtoFlowResetType.FLOW_RESET_TYPE_STEP_TYPE,
495
- [ResetType.STEP_EXECUTION_ID]: ProtoFlowResetType.FLOW_RESET_TYPE_STEP_EXECUTION_ID,
528
+ [TimeTravelType.BEGINNING]: ProtoFlowResetType.FLOW_RESET_TYPE_BEGINNING,
529
+ [TimeTravelType.HISTORY_EVENT_TIME]: ProtoFlowResetType.FLOW_RESET_TYPE_HISTORY_EVENT_TIME,
530
+ [TimeTravelType.STEP_TYPE]: ProtoFlowResetType.FLOW_RESET_TYPE_STEP_TYPE,
531
+ [TimeTravelType.STEP_EXECUTION_ID]: ProtoFlowResetType.FLOW_RESET_TYPE_STEP_EXECUTION_ID,
496
532
  };
497
533
  return types[type];
498
534
  }
535
+ function mapTimeTravelStepMethod(method) {
536
+ switch (method) {
537
+ case TimeTravelStepMethod.WAIT_FOR:
538
+ return ProtoFlowResetStepMethod.FLOW_RESET_STEP_METHOD_WAIT_FOR;
539
+ case TimeTravelStepMethod.EXECUTE:
540
+ return ProtoFlowResetStepMethod.FLOW_RESET_STEP_METHOD_EXECUTE;
541
+ default:
542
+ return ProtoFlowResetStepMethod.FLOW_RESET_STEP_METHOD_UNSPECIFIED;
543
+ }
544
+ }
499
545
  function mapDurability(value) {
500
546
  if (value === "sync") {
501
547
  return ProtoStepDurability.STEP_DURABILITY_SYNC;
@@ -513,8 +559,8 @@ function mapFlowStatus(status) {
513
559
  return "completed";
514
560
  case ProtoFlowStatus.FLOW_STATUS_FAILED:
515
561
  return "failed";
516
- case ProtoFlowStatus.FLOW_STATUS_TIMEOUT:
517
- return "timedOut";
562
+ case ProtoFlowStatus.FLOW_STATUS_SERVER_SIDE_TIMEOUT_INTERNAL_ONLY:
563
+ return "serverSideTimeoutInternalOnly";
518
564
  case ProtoFlowStatus.FLOW_STATUS_TERMINATED:
519
565
  return "terminated";
520
566
  case ProtoFlowStatus.FLOW_STATUS_CANCELED:
@@ -537,10 +583,35 @@ function mapFlowErrorType(type) {
537
583
  return FlowErrorType.INVALID_USER_FLOW_CODE;
538
584
  case ProtoFlowErrorType.FLOW_ERROR_TYPE_INTERNAL:
539
585
  return FlowErrorType.INTERNAL;
586
+ case ProtoFlowErrorType.FLOW_ERROR_TYPE_FLOW_TIMEOUT:
587
+ return FlowErrorType.FLOW_TIMEOUT;
540
588
  default:
541
589
  return undefined;
542
590
  }
543
591
  }
592
+ function resolveFlowTimeoutPolicy(flow, timeoutSeconds, policy) {
593
+ const requested = policy ?? FlowTimeoutPolicy.DEFAULT;
594
+ if (timeoutSeconds === 0) {
595
+ if (requested !== FlowTimeoutPolicy.DEFAULT) {
596
+ throw new RangeError("Flow timeout policy requires a positive timeout");
597
+ }
598
+ return ProtoFlowTimeoutPolicy.FLOW_TIMEOUT_POLICY_UNSPECIFIED;
599
+ }
600
+ const resolved = requested === FlowTimeoutPolicy.DEFAULT
601
+ ? flow.hasTimeoutHandler
602
+ ? FlowTimeoutPolicy.HANDLER
603
+ : FlowTimeoutPolicy.FAIL
604
+ : requested;
605
+ if (resolved === FlowTimeoutPolicy.HANDLER && !flow.hasTimeoutHandler) {
606
+ throw new TypeError(`Flow ${flow.name} does not implement handleTimeout`);
607
+ }
608
+ return {
609
+ [FlowTimeoutPolicy.DEFAULT]: ProtoFlowTimeoutPolicy.FLOW_TIMEOUT_POLICY_UNSPECIFIED,
610
+ [FlowTimeoutPolicy.FAIL]: ProtoFlowTimeoutPolicy.FLOW_TIMEOUT_POLICY_FAIL,
611
+ [FlowTimeoutPolicy.CANCEL]: ProtoFlowTimeoutPolicy.FLOW_TIMEOUT_POLICY_CANCEL,
612
+ [FlowTimeoutPolicy.HANDLER]: ProtoFlowTimeoutPolicy.FLOW_TIMEOUT_POLICY_HANDLER,
613
+ }[resolved];
614
+ }
544
615
  function physicalName(name, instance) {
545
616
  if (instance === undefined) {
546
617
  return name;
@@ -558,6 +629,13 @@ function seconds(milliseconds) {
558
629
  }
559
630
  return milliseconds / 1_000;
560
631
  }
632
+ function heartbeatSeconds(milliseconds) {
633
+ const value = seconds(milliseconds);
634
+ if (value > 2_147_483_647) {
635
+ throw new RangeError("heartbeat timeout exceeds int32 seconds");
636
+ }
637
+ return value;
638
+ }
561
639
  function number64(value) {
562
640
  if (value === undefined) {
563
641
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export type Value = Readonly<{
9
9
  }> | Readonly<{
10
10
  /** Boolean wire discriminator. */
11
11
  kind: "bool";
12
- /** Boolean scalar payload. */
12
+ /** Boolean payload. */
13
13
  data: boolean;
14
14
  }> | Readonly<{
15
15
  /** Signed-integer wire discriminator. */