@superdurable/dex 0.1.3 → 0.1.5

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 (57) hide show
  1. package/README.md +69 -3
  2. package/dist/src/attribute-store-sync.d.ts +5 -0
  3. package/dist/src/attribute-store-sync.js +19 -0
  4. package/dist/src/attribute-store-sync.js.map +1 -0
  5. package/dist/src/blob-cache.d.ts +36 -0
  6. package/dist/src/blob-cache.js +13 -0
  7. package/dist/src/blob-cache.js.map +1 -1
  8. package/dist/src/client.d.ts +205 -4
  9. package/dist/src/client.js +201 -37
  10. package/dist/src/client.js.map +1 -1
  11. package/dist/src/codec.d.ts +73 -0
  12. package/dist/src/codec.js +23 -0
  13. package/dist/src/codec.js.map +1 -1
  14. package/dist/src/context.d.ts +92 -0
  15. package/dist/src/errors.d.ts +122 -6
  16. package/dist/src/errors.js +139 -9
  17. package/dist/src/errors.js.map +1 -1
  18. package/dist/src/flow.d.ts +36 -1
  19. package/dist/src/flow.js +96 -28
  20. package/dist/src/flow.js.map +1 -1
  21. package/dist/src/gen/dex.d.ts +58 -9
  22. package/dist/src/gen/dex.js +417 -55
  23. package/dist/src/gen/dex.js.map +1 -1
  24. package/dist/src/grpc-status.d.ts +5 -4
  25. package/dist/src/grpc-status.js +52 -6
  26. package/dist/src/grpc-status.js.map +1 -1
  27. package/dist/src/invocation-context.d.ts +2 -0
  28. package/dist/src/invocation-context.js +33 -0
  29. package/dist/src/invocation-context.js.map +1 -1
  30. package/dist/src/options.d.ts +150 -1
  31. package/dist/src/options.js +53 -0
  32. package/dist/src/options.js.map +1 -1
  33. package/dist/src/persistence.d.ts +115 -0
  34. package/dist/src/persistence.js +114 -0
  35. package/dist/src/persistence.js.map +1 -1
  36. package/dist/src/rpc.d.ts +53 -0
  37. package/dist/src/rpc.js +17 -0
  38. package/dist/src/rpc.js.map +1 -1
  39. package/dist/src/step.d.ts +163 -1
  40. package/dist/src/step.js +86 -1
  41. package/dist/src/step.js.map +1 -1
  42. package/dist/src/value-mapper.js +48 -18
  43. package/dist/src/value-mapper.js.map +1 -1
  44. package/dist/src/wait.d.ts +193 -0
  45. package/dist/src/wait.js +174 -0
  46. package/dist/src/wait.js.map +1 -1
  47. package/dist/src/worker-dispatcher.js +67 -35
  48. package/dist/src/worker-dispatcher.js.map +1 -1
  49. package/dist/src/worker.d.ts +30 -1
  50. package/dist/src/worker.js +48 -2
  51. package/dist/src/worker.js.map +1 -1
  52. package/native/linux-aarch64/dex_blob_cache_node.node +0 -0
  53. package/native/linux-x86_64/dex_blob_cache_node.node +0 -0
  54. package/native/macos-aarch64/dex_blob_cache_node.node +0 -0
  55. package/native/macos-x86_64/dex_blob_cache_node.node +0 -0
  56. package/native/windows-x86_64/dex_blob_cache_node.node +0 -0
  57. package/package.json +2 -1
@@ -5,9 +5,10 @@
5
5
  // See the LICENSE file in the repository root.
6
6
  //
7
7
  // SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
8
- import { credentials, status as GrpcStatus } from "@grpc/grpc-js";
8
+ import { credentials } from "@grpc/grpc-js";
9
+ import { mapAttributeStoreName, mapAttributeStoreSync } from "./attribute-store-sync.js";
9
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";
10
- import { DexError, ErrorSubStatus, FlowErrorType, FlowUncompletedError, LongPollTimeoutError, } from "./errors.js";
11
+ import { FlowErrorType, FlowUncompletedError } from "./errors.js";
11
12
  import { registeredFlow, registeredRPC, } from "./flow.js";
12
13
  import { translateServiceError } from "./grpc-status.js";
13
14
  import { ActiveStepSearchMode, IdReusePolicy, ResetType, StopType, } from "./options.js";
@@ -16,12 +17,33 @@ import { requireName } from "./validation.js";
16
17
  import { decodeUnknown, decodeValue, encodeValue, ValueHydrator } from "./value-mapper.js";
17
18
  import { ChannelMap } from "./wait.js";
18
19
  const defaultServerAddress = "localhost:8801";
20
+ /**
21
+ * Calls Dex FlowService through registered, typed Flow definitions.
22
+ *
23
+ * Methods perform asynchronous gRPC I/O. A Client owns its service connection but
24
+ * not its Registry or BlobCache; call `close` during application shutdown.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const client = new Client(registry, cache);
29
+ * try {
30
+ * const runId = await client.startFlow(orders, "order-42", input);
31
+ * const result = await client.waitForFlow("order-42", orderResultCodec);
32
+ * } finally { await client.close(); }
33
+ * ```
34
+ */
19
35
  export class Client {
20
36
  registry;
21
37
  blobCache;
22
38
  options;
23
39
  service;
24
40
  hydrator;
41
+ /**
42
+ * Constructs a Client and lazy plaintext gRPC connection.
43
+ * @param registry - Flow definitions used for validation and routing.
44
+ * @param blobCache - Open cache used to hydrate large response values.
45
+ * @param options - Service address and default Worker target.
46
+ */
25
47
  constructor(registry, blobCache, options = {}) {
26
48
  this.registry = registry;
27
49
  this.blobCache = blobCache;
@@ -29,6 +51,17 @@ export class Client {
29
51
  this.service = new FlowServiceClient(options.serverAddress ?? defaultServerAddress, credentials.createInsecure());
30
52
  this.hydrator = new ValueHydrator(this.service, blobCache);
31
53
  }
54
+ /**
55
+ * Starts a Flow and returns after Dex accepts it.
56
+ * @typeParam StartInput - Starting Step input type.
57
+ * @param flow - Exact Flow instance registered with this Client.
58
+ * @param flowId - Non-empty application ID stable across runs.
59
+ * @param input - Starting Step input, or `undefined` when no start Step exists.
60
+ * @param options - Timeout, reuse, retry, configuration, and initial state.
61
+ * @returns The server-assigned run ID.
62
+ * @throws {@link FlowAlreadyStartedError} when reuse policy rejects the Flow ID.
63
+ * @throws {@link FlowDefinitionError} when `flow` is not registered.
64
+ */
32
65
  async startFlow(flow, flowId, input, options = {}) {
33
66
  const registered = registeredFlow(this.registry, flow);
34
67
  const request = StartFlowRequest.create({
@@ -45,6 +78,7 @@ export class Client {
45
78
  key: physicalName(initial.attribute.name, initial.instance),
46
79
  value: encodeValue(initial.attribute.codec, initial.value),
47
80
  indexConfig: mapIndex(initial.attribute.index),
81
+ syncConfig: mapAttributeStoreSync(initial.attribute),
48
82
  })),
49
83
  flowConfigOverride: mapFlowConfig(options.configOverride, this.options),
50
84
  flowAlreadyStartedOptions: {
@@ -62,13 +96,23 @@ export class Client {
62
96
  request.stepInput = encodeValue(registered.startStep.step.inputCodec, input);
63
97
  request.stepOptions = mapStepOptions(registered.startStep.step.getStepOptions?.(), registered.startStep.step.waitFor === undefined, registered);
64
98
  }
65
- return (await unary((callback) => this.service.startFlow(request, callback)))
99
+ return (await unary({ operation: "startFlow", flowId, requirement: "none" }, (callback) => this.service.startFlow(request, callback)))
66
100
  .runId;
67
101
  }
102
+ /**
103
+ * Dispatches a registered RPC using its decorator codecs and locks.
104
+ * @param rpcMethod - Bound registered RPC method.
105
+ * @param flowId - Non-empty target Flow ID.
106
+ * @param inputOrRunId - Typed input, or run ID for an input-free RPC.
107
+ * @param runId - Exact run for an input-bearing RPC; targets the active run when omitted.
108
+ * @returns Decoded output, or `undefined` for an output-free RPC.
109
+ * @throws {@link RpcLockConflictError} when locks cannot be acquired.
110
+ * @throws {@link WorkerInvocationError} when the application handler fails.
111
+ */
68
112
  async invokeRPC(rpcMethod, flowId, inputOrRunId, runId = "") {
69
113
  const rpc = registeredRPC(this.registry, rpcMethod);
70
114
  const hasInput = rpc.options.inputCodec !== undefined;
71
- const response = await unary((callback) => this.service.invokeRpc({
115
+ const response = await unary({ operation: "invokeRPC", flowId, requirement: "active" }, (callback) => this.service.invokeRpc({
72
116
  flowId: requireName(flowId),
73
117
  runId: hasInput ? runId : inputOrRunId ?? "",
74
118
  rpcName: rpc.name,
@@ -84,9 +128,17 @@ export class Client {
84
128
  }
85
129
  return decodeValue(rpc.options.outputCodec, await this.hydrator.hydrate(response.output));
86
130
  }
131
+ /**
132
+ * Reads and decodes a singleton or map Attribute.
133
+ * @param flowId - Non-empty existing Flow ID.
134
+ * @param attribute - Typed Attribute definition.
135
+ * @param instanceOrRunId - Map instance, or singleton run ID.
136
+ * @param runId - Exact run for a map read.
137
+ * @returns The decoded value, or `undefined` when unset.
138
+ */
87
139
  async getAttribute(flowId, attribute, instanceOrRunId = "", runId = "") {
88
140
  const isMap = attribute instanceof AttributeMap;
89
- const response = await unary((callback) => this.service.getAttributes({
141
+ const response = await unary({ operation: "getAttribute", flowId, requirement: "existing" }, (callback) => this.service.getAttributes({
90
142
  flowId: requireName(flowId),
91
143
  runId: isMap ? runId : instanceOrRunId,
92
144
  keys: [physicalName(attribute.name, isMap ? instanceOrRunId : undefined)],
@@ -98,11 +150,20 @@ export class Client {
98
150
  }
99
151
  return decodeValue(attribute.codec, await this.hydrator.hydrate(value));
100
152
  }
153
+ /**
154
+ * Encodes and writes a singleton or map Attribute.
155
+ * @param flowId - Non-empty active Flow ID.
156
+ * @param attribute - Typed Attribute definition.
157
+ * @param instanceOrValue - Map instance or singleton value.
158
+ * @param valueOrRunId - Map value or singleton run ID.
159
+ * @param runId - Exact run for a map write.
160
+ * @returns A promise resolved after Dex applies the write.
161
+ */
101
162
  async setAttribute(flowId, attribute, instanceOrValue, valueOrRunId, runId = "") {
102
163
  const isMap = attribute instanceof AttributeMap;
103
164
  const instance = isMap ? String(instanceOrValue) : undefined;
104
165
  const value = isMap ? valueOrRunId : instanceOrValue;
105
- await unary((callback) => this.service.setAttributes({
166
+ await unary({ operation: "setAttribute", flowId, requirement: "active" }, (callback) => this.service.setAttributes({
106
167
  flowId: requireName(flowId),
107
168
  runId: isMap ? runId : typeof valueOrRunId === "string" ? valueOrRunId : "",
108
169
  attributes: [
@@ -110,16 +171,24 @@ export class Client {
110
171
  key: physicalName(attribute.name, instance),
111
172
  value: encodeValue(attribute.codec, value),
112
173
  indexConfig: mapIndex(attribute.index),
174
+ syncConfig: mapAttributeStoreSync(attribute),
113
175
  },
114
176
  ],
115
177
  requestId: crypto.randomUUID(),
116
178
  }, callback));
117
179
  }
180
+ /**
181
+ * Encodes and publishes a singleton or map Channel batch.
182
+ * @param flowId - Non-empty active Flow ID.
183
+ * @param channel - Typed Channel definition.
184
+ * @param instanceAndValues - Optional map instance followed by values.
185
+ * @returns A promise resolved after Dex accepts the batch.
186
+ */
118
187
  async publish(flowId, channel, ...instanceAndValues) {
119
188
  const isMap = channel instanceof ChannelMap;
120
189
  const instance = isMap ? String(instanceAndValues[0]) : undefined;
121
190
  const values = isMap ? instanceAndValues.slice(1) : instanceAndValues;
122
- await unary((callback) => this.service.publishToChannel({
191
+ await unary({ operation: "publish", flowId, requirement: "active" }, (callback) => this.service.publishToChannel({
123
192
  flowId: requireName(flowId),
124
193
  runId: "",
125
194
  messages: values.map((value) => ({
@@ -128,24 +197,22 @@ export class Client {
128
197
  })),
129
198
  }, callback));
130
199
  }
200
+ /**
201
+ * Long-polls until a Flow closes and optionally decodes output.
202
+ * @param flowId - Non-empty existing Flow ID.
203
+ * @param outputCodec - Optional codec for the latest output.
204
+ * @param timeoutMs - Optional server-side long-poll duration in milliseconds.
205
+ * @returns Decoded output, or `undefined` when no codec was requested.
206
+ * @throws {@link LongPollTimeoutError} when the Flow remains open at timeout.
207
+ * @throws {@link FlowUncompletedError} for a non-successful terminal status.
208
+ */
131
209
  async waitForFlow(flowId, outputCodec, timeoutMs) {
132
- let response;
133
- try {
134
- response = await unary((callback) => this.service.waitForFlow({
135
- flowId: requireName(flowId),
136
- runId: "",
137
- needsResults: outputCodec !== undefined,
138
- waitTimeSeconds: seconds(timeoutMs),
139
- }, callback));
140
- }
141
- catch (failure) {
142
- if (failure instanceof DexError &&
143
- (failure.code === GrpcStatus.DEADLINE_EXCEEDED ||
144
- failure.subStatus === ErrorSubStatus.LONG_POLL_TIMEOUT)) {
145
- throw new LongPollTimeoutError(flowId, { cause: failure });
146
- }
147
- throw failure;
148
- }
210
+ const response = await unary({ operation: "waitForFlow", flowId, requirement: "existing" }, (callback) => this.service.waitForFlow({
211
+ flowId: requireName(flowId),
212
+ runId: "",
213
+ needsResults: outputCodec !== undefined,
214
+ waitTimeSeconds: seconds(timeoutMs),
215
+ }, callback));
149
216
  if (response.flowStatus !== ProtoFlowStatus.FLOW_STATUS_COMPLETED) {
150
217
  const summary = await this.describeFlow(flowId);
151
218
  const results = await this.hydrator.hydrateAll(response.results.map((result) => result.completedStepOutput));
@@ -162,16 +229,27 @@ export class Client {
162
229
  }
163
230
  throw new TypeError(`Flow ${flowId} completed without an output`);
164
231
  }
232
+ /**
233
+ * Requests cancellation, termination, or failure of an active Flow.
234
+ * The promise resolves after acceptance and does not await terminal status.
235
+ * @param flowId - Non-empty active Flow ID.
236
+ * @param options - Stop mode and optional recorded reason.
237
+ */
165
238
  async stopFlow(flowId, options = {}) {
166
- await unary((callback) => this.service.stopFlow({
239
+ await unary({ operation: "stopFlow", flowId, requirement: "active" }, (callback) => this.service.stopFlow({
167
240
  flowId: requireName(flowId),
168
241
  runId: "",
169
242
  reason: options.reason ?? "",
170
243
  stopType: mapStopType(options.type),
171
244
  }, callback));
172
245
  }
246
+ /**
247
+ * Returns summary metadata for the current or latest Flow run.
248
+ * @param flowId - Non-empty existing Flow ID.
249
+ * @returns Flow ID, run ID, type, status, and UTC start time.
250
+ */
173
251
  async describeFlow(flowId) {
174
- const response = await unary((callback) => this.service.getFlowSummary({ flowId: requireName(flowId), runId: "" }, callback));
252
+ const response = await unary({ operation: "describeFlow", flowId, requirement: "existing" }, (callback) => this.service.getFlowSummary({ flowId: requireName(flowId), runId: "" }, callback));
175
253
  if (response.flowExecutionId === undefined || response.startTime === undefined) {
176
254
  throw new TypeError(`Dex returned an incomplete summary for Flow ${flowId}`);
177
255
  }
@@ -183,11 +261,18 @@ export class Client {
183
261
  startedAt: response.startTime,
184
262
  };
185
263
  }
264
+ /**
265
+ * Returns one page of Flow runs matching a visibility query.
266
+ * @param query - Dex visibility query; empty uses server defaults.
267
+ * @param pageSize - Non-negative requested maximum result count.
268
+ * @param nextPageToken - Opaque token from the preceding page, or empty first.
269
+ * @returns Server-ordered entries and the next-page token.
270
+ */
186
271
  async searchFlows(query, pageSize, nextPageToken = "") {
187
272
  if (pageSize < 0) {
188
273
  throw new RangeError("search page size must not be negative");
189
274
  }
190
- const response = await unary((callback) => this.service.searchFlows({ query, pageSize, nextPageToken }, callback));
275
+ const response = await unary({ operation: "searchFlows", requirement: "none" }, (callback) => this.service.searchFlows({ query, pageSize, nextPageToken }, callback));
191
276
  const flows = await Promise.all(response.flowRuns.map((entry) => this.mapSearchEntry(entry)));
192
277
  return { flows, nextPageToken: response.nextPageToken };
193
278
  }
@@ -195,9 +280,9 @@ export class Client {
195
280
  if (entry.startTime === undefined) {
196
281
  throw new TypeError(`Dex returned a search entry without a start time for Flow ${entry.flowId}`);
197
282
  }
198
- const searchAttributes = new Map();
199
- for (const attribute of entry.searchAttributes) {
200
- searchAttributes.set(attribute.key, decodeUnknown(await this.hydrator.hydrate(attribute.value)));
283
+ const indexedAttributes = new Map();
284
+ for (const attribute of entry.indexedAttributes) {
285
+ indexedAttributes.set(attribute.key, decodeUnknown(await this.hydrator.hydrate(attribute.value)));
201
286
  }
202
287
  return {
203
288
  flowId: entry.flowId,
@@ -206,11 +291,17 @@ export class Client {
206
291
  status: mapFlowStatus(entry.flowStatus),
207
292
  startedAt: entry.startTime,
208
293
  closedAt: entry.closeTime,
209
- searchAttributes,
294
+ indexedAttributes,
210
295
  };
211
296
  }
297
+ /**
298
+ * 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.
301
+ * @returns The new server-assigned run ID; the Flow ID remains unchanged.
302
+ */
212
303
  async resetFlow(flowId, options) {
213
- const response = await unary((callback) => this.service.resetFlow({
304
+ const response = await unary({ operation: "resetFlow", flowId, requirement: "existing" }, (callback) => this.service.resetFlow({
214
305
  flowId: requireName(flowId),
215
306
  runId: "",
216
307
  resetType: mapResetType(options.type),
@@ -224,8 +315,14 @@ export class Client {
224
315
  }, callback));
225
316
  return response.runId;
226
317
  }
318
+ /**
319
+ * Makes one waiting Timer condition immediately ready.
320
+ * @param flowId - Non-empty active Flow ID.
321
+ * @param stepExecutionId - Step type and positive execution number.
322
+ * @param timerId - Exactly one Timer condition ID or zero-based index.
323
+ */
227
324
  async skipTimer(flowId, stepExecutionId, timerId) {
228
- await unary((callback) => this.service.skipTimer({
325
+ await unary({ operation: "skipTimer", flowId, requirement: "active" }, (callback) => this.service.skipTimer({
229
326
  flowId: requireName(flowId),
230
327
  runId: "",
231
328
  stepExecutionId: `${stepExecutionId.stepType}-${stepExecutionId.number ?? 1}`,
@@ -233,8 +330,15 @@ export class Client {
233
330
  timerConditionIndex: timerId.conditionIndex,
234
331
  }, callback));
235
332
  }
333
+ /**
334
+ * Long-polls until one Step execution completes.
335
+ * @param flowId - Non-empty active Flow ID.
336
+ * @param stepExecutionId - Step type and positive execution number.
337
+ * @param timeoutMs - Non-negative server-side wait duration in milliseconds.
338
+ * @throws {@link LongPollTimeoutError} when completion is not observed in time.
339
+ */
236
340
  async waitForStepCompletion(flowId, stepExecutionId, timeoutMs) {
237
- await unary((callback) => this.service.waitForStepCompletion({
341
+ await unary({ operation: "waitForStepCompletion", flowId, requirement: "active" }, (callback) => this.service.waitForStepCompletion({
238
342
  flowId: requireName(flowId),
239
343
  stepType: stepExecutionId.stepType,
240
344
  stepExecutionNumber: String(stepExecutionId.number ?? 1),
@@ -242,13 +346,72 @@ export class Client {
242
346
  requestId: crypto.randomUUID(),
243
347
  }, callback));
244
348
  }
349
+ /**
350
+ * Waits until a scalar Attribute in the current run equals the expected value.
351
+ * Generates a request ID and rejects JSON, bytes, and null before transport.
352
+ * @typeParam T - Attribute value type.
353
+ * @param flowId - Non-empty active Flow ID.
354
+ * @param attribute - Registered scalar Attribute to observe.
355
+ * @param expected - String, boolean, integer, or number value to await.
356
+ * @param timeoutMs - Non-negative server-side wait duration in milliseconds.
357
+ */
358
+ async waitForAttributeEqual(flowId, attribute, expected, timeoutMs) {
359
+ await this.waitForAttributeValue(flowId, attribute, undefined, expected, timeoutMs);
360
+ }
361
+ /**
362
+ * Waits until one scalar AttributeMap instance in the current run matches.
363
+ * Scalar restrictions and timeout errors match `waitForAttributeEqual`.
364
+ * @typeParam T - AttributeMap value type.
365
+ * @param flowId - Non-empty active Flow ID.
366
+ * @param attribute - Registered AttributeMap to observe.
367
+ * @param instance - Non-empty logical map key to observe.
368
+ * @param expected - String, boolean, integer, or number value to await.
369
+ * @param timeoutMs - Non-negative server-side wait duration in milliseconds.
370
+ */
371
+ async waitForAttributeMapEqual(flowId, attribute, instance, expected, timeoutMs) {
372
+ await this.waitForAttributeValue(flowId, attribute, instance, expected, timeoutMs);
373
+ }
374
+ async waitForAttributeValue(flowId, attribute, instance, expected, timeoutMs) {
375
+ const value = encodeValue(attribute.codec, expected);
376
+ if (value.kind?.$case !== "stringValue" &&
377
+ value.kind?.$case !== "boolValue" &&
378
+ value.kind?.$case !== "intValue" &&
379
+ value.kind?.$case !== "doubleValue") {
380
+ throw new TypeError("waitForAttributeEqual supports only scalar values");
381
+ }
382
+ await unary({ operation: "waitForAttributeEqual", flowId, requirement: "active" }, (callback) => this.service.waitForAttribute({
383
+ flowId: requireName(flowId),
384
+ runId: "",
385
+ condition: {
386
+ kind: {
387
+ $case: "equal",
388
+ value: {
389
+ key: physicalName(attribute.name, instance),
390
+ value,
391
+ },
392
+ },
393
+ },
394
+ waitTimeSeconds: seconds(timeoutMs),
395
+ requestId: crypto.randomUUID(),
396
+ }, callback));
397
+ }
398
+ /**
399
+ * Replaces mutable configuration for an active Flow.
400
+ * The update affects later decisions and does not recall dispatched work.
401
+ * @param flowId - Non-empty active Flow ID.
402
+ * @param config - New optional Flow configuration fields.
403
+ */
245
404
  async updateFlowConfig(flowId, config) {
246
- await unary((callback) => this.service.updateFlowConfig({
405
+ await unary({ operation: "updateFlowConfig", flowId, requirement: "active" }, (callback) => this.service.updateFlowConfig({
247
406
  flowId: requireName(flowId),
248
407
  runId: "",
249
408
  flowConfig: mapFlowConfig(config, this.options),
250
409
  }, callback));
251
410
  }
411
+ /**
412
+ * Closes the owned FlowService connection.
413
+ * Registry and BlobCache ownership remains with the caller.
414
+ */
252
415
  async close() {
253
416
  this.service.close();
254
417
  }
@@ -320,6 +483,7 @@ function mapFlowConfig(config, clientOptions) {
320
483
  : config.activeStepSearchMode === ActiveStepSearchMode.ALL
321
484
  ? ProtoActiveStepSearchMode.ACTIVE_STEP_SEARCH_MODE_ENABLED_FOR_ALL
322
485
  : ProtoActiveStepSearchMode.ACTIVE_STEP_SEARCH_MODE_UNSPECIFIED,
486
+ attributeSyncConfigName: mapAttributeStoreName(config),
323
487
  continueAsNewThreshold: config?.continueAsNewThreshold,
324
488
  continueAsNewPageSizeInBytes: config?.continueAsNewPageSizeBytes,
325
489
  stepDurability: config?.stepDurability === undefined ? undefined : mapDurability(config.stepDurability),
@@ -453,11 +617,11 @@ function number64(value) {
453
617
  }
454
618
  return number;
455
619
  }
456
- function unary(invoke) {
620
+ function unary(target, invoke) {
457
621
  return new Promise((resolve, reject) => {
458
622
  invoke((error, response) => {
459
623
  if (error !== null) {
460
- reject(translateServiceError(error));
624
+ reject(translateServiceError(error, target.operation, target.flowId, target.requirement));
461
625
  return;
462
626
  }
463
627
  resolve(response);
@@ -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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"}
@@ -1,38 +1,111 @@
1
+ /** Identifies the protocol representation carried by an encoded {@link Value}. */
1
2
  export type WireKind = "string" | "bool" | "int64" | "double" | "bytes" | "json";
3
+ /** Contains one validated SDK value before protocol mapping. */
2
4
  export type Value = Readonly<{
5
+ /** String wire discriminator. */
3
6
  kind: "string";
7
+ /** Valid UTF-8 application text. */
4
8
  data: string;
5
9
  }> | Readonly<{
10
+ /** Boolean wire discriminator. */
6
11
  kind: "bool";
12
+ /** Boolean scalar payload. */
7
13
  data: boolean;
8
14
  }> | Readonly<{
15
+ /** Signed-integer wire discriminator. */
9
16
  kind: "int64";
17
+ /** Signed 64-bit integer payload. */
10
18
  data: bigint;
11
19
  }> | Readonly<{
20
+ /** Floating-point wire discriminator. */
12
21
  kind: "double";
22
+ /** Finite IEEE-754 number payload. */
13
23
  data: number;
14
24
  }> | Readonly<{
25
+ /** Raw-bytes wire discriminator. */
15
26
  kind: "bytes";
27
+ /** Uninterpreted byte payload. */
16
28
  data: Uint8Array;
17
29
  }> | Readonly<{
30
+ /** JSON wire discriminator. */
18
31
  kind: "json";
32
+ /** Valid JSON document text. */
19
33
  data: string;
20
34
  }>;
35
+ /**
36
+ * Converts between an application type and one Dex wire representation.
37
+ * Implementations should be deterministic so durable replay sees identical values.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * type Order = { id: string };
42
+ * const orderCodec = jsonCodec<Order>({
43
+ * typeName: "Order",
44
+ * decode(value) {
45
+ * if (typeof value !== "object" || value === null ||
46
+ * !("id" in value) || typeof value.id !== "string") {
47
+ * throw new TypeError("invalid Order");
48
+ * }
49
+ * return { id: value.id };
50
+ * },
51
+ * });
52
+ * const encoded = orderCodec.encode({ id: "order-42" });
53
+ * ```
54
+ * @typeParam T - Application value type encoded by this codec.
55
+ */
21
56
  export interface Codec<T> {
57
+ /** Stable application-facing name used in mapping errors. */
22
58
  readonly typeName: string;
59
+ /** Wire kind normally emitted and accepted by the codec. */
23
60
  readonly wireKind: WireKind;
61
+ /**
62
+ * Encodes one application value.
63
+ * @param value - Typed value to encode.
64
+ * @returns A validated Dex Value.
65
+ */
24
66
  encode(value: T): Value;
67
+ /**
68
+ * Decodes one protocol value.
69
+ * @param value - Value to validate and decode.
70
+ * @returns The decoded application value.
71
+ */
25
72
  decode(value: Value): T;
26
73
  }
74
+ /** Built-in UTF-8 string codec. */
27
75
  export declare const stringCodec: Codec<string>;
76
+ /** Built-in strict Boolean codec. */
28
77
  export declare const booleanCodec: Codec<boolean>;
78
+ /** Built-in signed 64-bit bigint codec. */
29
79
  export declare const int64Codec: Codec<bigint>;
80
+ /** Built-in finite IEEE-754 number codec. */
30
81
  export declare const doubleCodec: Codec<number>;
82
+ /** Built-in byte-array codec that copies values in both directions. */
31
83
  export declare const bytesCodec: Codec<Uint8Array>;
84
+ /** Built-in void codec represented as JSON `null`. */
32
85
  export declare const voidCodec: Codec<void>;
86
+ /**
87
+ * Wraps a codec so JSON `null` represents `undefined`.
88
+ * @typeParam T - Defined application value type.
89
+ * @param codec - Codec used for defined values.
90
+ * @returns A codec accepting the original type or `undefined`.
91
+ */
33
92
  export declare function optionalCodec<T>(codec: Codec<T>): Codec<T | undefined>;
93
+ /**
94
+ * Creates a deterministic JSON codec with application conversion hooks.
95
+ *
96
+ * JSON.stringify semantics apply; `undefined`, cycles, and unsupported bigint values
97
+ * fail during encoding. The decoder receives parsed, untrusted JSON data.
98
+ *
99
+ * @typeParam T - Application value type.
100
+ * @param options - Stable name plus JSON conversion hooks.
101
+ * @returns A JSON-wire codec for `T`.
102
+ * @throws {@link TypeError} when encoding produces `undefined`.
103
+ */
34
104
  export declare function jsonCodec<T>(options: {
105
+ /** Stable type name used in mapping errors. */
35
106
  readonly typeName: string;
107
+ /** Validates and converts parsed JSON-compatible data. */
36
108
  readonly decode: (value: unknown) => T;
109
+ /** Converts an application value to JSON-compatible data; identity by default. */
37
110
  readonly encode?: (value: T) => unknown;
38
111
  }): Codec<T>;