@superdurable/dex 1.28.0 → 1.29.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/README.md CHANGED
@@ -2,9 +2,33 @@
2
2
 
3
3
  ## Flow state I/O
4
4
 
5
- Applications read and write Flow state through typed RPCs. The Client does not
6
- expose direct Attribute reads or writes, Channel publication, or pending-message
7
- mutation. This keeps each external state transition behind a Flow-owned method.
5
+ Applications write Flow state through typed RPCs. The Client does not expose
6
+ direct Attribute writes, Channel publication, or pending-message mutation. This
7
+ keeps each external state transition behind a Flow-owned method.
8
+
9
+ `Client.getAttributes` reads committed Attribute values without an RPC. Pass one
10
+ or more registered Attributes, or AttributeMap instances selected with
11
+ `attributeMap.instance(key)`. The call returns a typed tuple in read order, and
12
+ each element is `T | undefined`; `undefined` means the value is not set:
13
+
14
+ ```typescript
15
+ const [status, note] = await client.getAttributes(
16
+ "order-42",
17
+ orderStatus,
18
+ notes.instance("n1"),
19
+ );
20
+ ```
21
+
22
+ - One FlowService request reads every key from the same committed state. No
23
+ Worker runs, and writes staged by a running RPC or Step are not visible.
24
+ - The call reads the current run, or the latest run when none is open. A closed
25
+ run stays readable until Dex purges it.
26
+ - Large values are hydrated through LoadBlobs and the BlobCache. Hard-delete
27
+ Attributes are supported. On any error, the call returns no values.
28
+ - Each definition must be the exact object a Flow in the Client's Registry
29
+ returns from `getPersistenceSchema`; otherwise the call throws
30
+ `FlowDefinitionError` before contacting Dex. Duplicate reads and calls with no
31
+ reads are rejected before contacting Dex.
8
32
 
9
33
  An RPC can stage `channel.delete(context, messageId)`. Set the decorator option
10
34
  `isTransactional: true` when a missing ID must abort all other RPC writes.
@@ -683,7 +707,7 @@ the network path between the application and Dex.
683
707
  ## Errors
684
708
 
685
709
  Client calls reject with concrete `DexServiceError` subclasses. Existing-Flow
686
- reads (`describeFlow`, `waitForFlow`, and `timeTravel`) use
710
+ reads (`describeFlow`, `getAttributes`, `waitForFlow`, and `timeTravel`) use
687
711
  `FlowNotFoundError`; operations that require a running Flow use
688
712
  `FlowNotActiveOrNotFoundError`. Start conflicts, worker failures, RPC lock contention,
689
713
  and long-poll timeouts use `FlowAlreadyStartedError`,
@@ -4,7 +4,7 @@ import type { Context } from "./context.js";
4
4
  import { type Flow, type Registry } from "./flow.js";
5
5
  import { type FlowResult } from "./flow-result.js";
6
6
  import { type ClientOptions, type FlowConfig, type FlowInfo, type TimeTravelOptions, type SearchFlowsPage, type SearchFlowsOptions, type StartFlowOptions, type StepExecutionId, type StopFlowOptions, type TimerId, type WaitForAttributeOptions, type WaitForStepCompletionOptions } from "./options.js";
7
- import { Attribute, AttributeMap } from "./persistence.js";
7
+ import { Attribute, AttributeMap, type AttributeRead, type AttributeReadValues } from "./persistence.js";
8
8
  import type { RPCInvokeOptions, RPCResult } from "./rpc.js";
9
9
  import type { Stream, StreamMessage, StreamMessagesPage } from "./stream.js";
10
10
  /**
@@ -200,6 +200,85 @@ export declare class Client {
200
200
  * @returns Flow ID, run ID, type, status, and UTC start time.
201
201
  */
202
202
  describeFlow(flowId: string): Promise<FlowInfo>;
203
+ /**
204
+ * Reads committed Attribute and AttributeMap instance values from the current or latest Flow run.
205
+ *
206
+ * Use `getAttributes` to read Flow state from outside the Flow without defining an RPC. Pass one
207
+ * read per value: a singleton {@link Attribute}, or an AttributeMap instance selected with
208
+ * {@link AttributeMap.instance}. The returned Promise resolves to a tuple with one element per
209
+ * read, in read order. Each element has the read's value type, or `undefined` when that Attribute
210
+ * or AttributeMap instance is not set. Writing `null` or `undefined` deletes an Attribute, so it
211
+ * then reads as `undefined`. A stored value that its codec decodes to `null` stays `null`. Falsy
212
+ * values such as `""`, `0n`, and `false` are set values.
213
+ *
214
+ * The Client sends all keys in one FlowService request, so every value comes from the same
215
+ * committed state. No Worker runs. The read targets the current run, or the latest run when no
216
+ * run is open. A closed run stays readable until Dex purges it. The call sees only committed
217
+ * state. It does not see writes staged by an RPC or Step that is still running, unlike an
218
+ * Attribute read inside an RPC handler.
219
+ *
220
+ * Hard-delete Attributes from {@link Attribute.hardDeleteOnNull} are supported; Dex returns their
221
+ * current stored values. The Client hydrates large values through LoadBlobs and its BlobCache,
222
+ * then decodes every value with its definition's codec. The Promise resolves only after every
223
+ * value decodes. On any error it rejects and returns no values.
224
+ *
225
+ * Every definition must be registered by some Flow in this Client's Registry. Registered means
226
+ * the exact definition object returned by that Flow's `getPersistenceSchema`. A different object
227
+ * with the same name, such as one with another codec or one created by calling
228
+ * `hardDeleteOnNull()` again, is rejected. The definition need not belong to the target Flow's
229
+ * type; Dex reads the key by name. A same-named Attribute with another value type in the target
230
+ * Flow fails to decode.
231
+ *
232
+ * The reads parameter requires at least one read at compile time. A plain array can be empty, so
233
+ * spreading it alone does not compile. Pass its first read separately, as in
234
+ * `client.getAttributes(flowId, first, ...rest)`. The result then has one element for `first`,
235
+ * followed by one element per read in `rest`.
236
+ *
237
+ * @example
238
+ * ```ts
239
+ * type Note = { readonly text: string };
240
+ * const orderStatus = new Attribute("order-status", stringCodec);
241
+ * const notes = new AttributeMap("notes", jsonCodec<Note>());
242
+ * // Register orderStatus and notes in a Flow's getPersistenceSchema.
243
+ *
244
+ * try {
245
+ * const [status, note] = await client.getAttributes(
246
+ * "order-42",
247
+ * orderStatus,
248
+ * notes.instance("n1"),
249
+ * );
250
+ * console.log(status ?? "new", note?.text ?? "no note yet");
251
+ * } catch (error) {
252
+ * if (error instanceof FlowNotFoundError) {
253
+ * console.log(`order ${error.flowId} does not exist`);
254
+ * } else {
255
+ * throw error;
256
+ * }
257
+ * }
258
+ * ```
259
+ * @typeParam Reads - Tuple of reads. TypeScript infers it from the arguments, and the result
260
+ * tuple maps each read to its value type or `undefined`.
261
+ * @param flowId - Non-empty Flow ID.
262
+ * @param reads - At least one Attribute or AttributeMap instance selection. Two reads of the same
263
+ * Attribute or AttributeMap instance are rejected.
264
+ * @returns A tuple with one decoded value or `undefined` per read, in read order.
265
+ * @throws {@link TypeError} before any request when `flowId` is empty, no read is passed, a read
266
+ * is not an Attribute or AttributeMap instance selection, or two reads select the same value.
267
+ * @throws {@link FlowDefinitionError} before any request when a definition is not registered by a
268
+ * Flow in the Client's Registry, or differs from the registered definition object.
269
+ * @throws {@link FlowNotFoundError} when the Flow does not exist or its latest run is being purged.
270
+ * @throws {@link ValueMappingError} when a value cannot be hydrated or decoded with its codec.
271
+ * @throws {@link DexServiceError} for other FlowService failures, including a failed LoadBlobs
272
+ * request. The error keeps the gRPC `code` and the server `detail`, and its `operation` is
273
+ * `loadBlobs` for a LoadBlobs failure.
274
+ * @throws {@link Error} when Dex returns an invalid response, or the BlobCache fails while large
275
+ * values are hydrated.
276
+ * Every error message names the Flow ID. An error about one read or value also names its
277
+ * Attribute name or physical key.
278
+ */
279
+ getAttributes<Reads extends readonly [AttributeRead<unknown>, ...AttributeRead<unknown>[]]>(flowId: string, ...reads: Reads): Promise<AttributeReadValues<Reads>>;
280
+ private selectAttributeReads;
281
+ private fetchAttributeValues;
203
282
  /**
204
283
  * Returns one page of Flow runs matching a visibility query.
205
284
  * @param query - Dex visibility query; empty uses server defaults.
@@ -11,12 +11,12 @@ import { credentialInterceptors } from "./credential.js";
11
11
  import { isHardDeleteOnNullDefinition, requireHardDeleteAttributeWriteSupport, requireHardDeleteOnNullValueKind, requireNotHardDeleteOnNull, } from "./attribute-hard-delete.js";
12
12
  import { mapAttributeStoreNames, mapAttributeStoreSync } from "./attribute-store-sync.js";
13
13
  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, FlowTimeoutHandlerOptions as ProtoFlowTimeoutHandlerOptions, StopType as ProtoStopType, WaitForMethodFailurePolicy, } from "./gen/dex.js";
14
- import { ErrorSubStatus, DexServiceError, FlowDefinitionError, FlowErrorType, LongPollTimeoutError, RequestTimeoutError, } from "./errors.js";
15
- import { registeredFlow, registeredStepTarget, registeredRPC, registeredRPCFlow, registeredStream, } from "./flow.js";
14
+ import { ErrorSubStatus, DexServiceError, FlowDefinitionError, FlowErrorType, LongPollTimeoutError, RequestTimeoutError, ValueMappingError, } from "./errors.js";
15
+ import { registeredAttributeFlow, registeredFlow, registeredStepTarget, registeredRPC, registeredRPCFlow, registeredStream, } from "./flow.js";
16
16
  import { createFlowResultFromProto, } from "./flow-result.js";
17
17
  import { translateServiceError } from "./grpc-status.js";
18
18
  import { ActiveStepSearchMode, FlowTimeoutPolicy, IdReusePolicy, TimeTravelStepMethod, TimeTravelType, StopType, } from "./options.js";
19
- import { Attribute, AttributeMap, IndexType } from "./persistence.js";
19
+ import { Attribute, AttributeMap, AttributeMapInstance, IndexType, } from "./persistence.js";
20
20
  import { sdkVersion } from "./sdk-version.generated.js";
21
21
  import { negotiateServerProtocol, serverInfoRequestError } from "./server-protocol.js";
22
22
  import { physicalMapName, requireName } from "./validation.js";
@@ -365,6 +365,169 @@ export class Client {
365
365
  startedAt: response.startTime,
366
366
  };
367
367
  }
368
+ /**
369
+ * Reads committed Attribute and AttributeMap instance values from the current or latest Flow run.
370
+ *
371
+ * Use `getAttributes` to read Flow state from outside the Flow without defining an RPC. Pass one
372
+ * read per value: a singleton {@link Attribute}, or an AttributeMap instance selected with
373
+ * {@link AttributeMap.instance}. The returned Promise resolves to a tuple with one element per
374
+ * read, in read order. Each element has the read's value type, or `undefined` when that Attribute
375
+ * or AttributeMap instance is not set. Writing `null` or `undefined` deletes an Attribute, so it
376
+ * then reads as `undefined`. A stored value that its codec decodes to `null` stays `null`. Falsy
377
+ * values such as `""`, `0n`, and `false` are set values.
378
+ *
379
+ * The Client sends all keys in one FlowService request, so every value comes from the same
380
+ * committed state. No Worker runs. The read targets the current run, or the latest run when no
381
+ * run is open. A closed run stays readable until Dex purges it. The call sees only committed
382
+ * state. It does not see writes staged by an RPC or Step that is still running, unlike an
383
+ * Attribute read inside an RPC handler.
384
+ *
385
+ * Hard-delete Attributes from {@link Attribute.hardDeleteOnNull} are supported; Dex returns their
386
+ * current stored values. The Client hydrates large values through LoadBlobs and its BlobCache,
387
+ * then decodes every value with its definition's codec. The Promise resolves only after every
388
+ * value decodes. On any error it rejects and returns no values.
389
+ *
390
+ * Every definition must be registered by some Flow in this Client's Registry. Registered means
391
+ * the exact definition object returned by that Flow's `getPersistenceSchema`. A different object
392
+ * with the same name, such as one with another codec or one created by calling
393
+ * `hardDeleteOnNull()` again, is rejected. The definition need not belong to the target Flow's
394
+ * type; Dex reads the key by name. A same-named Attribute with another value type in the target
395
+ * Flow fails to decode.
396
+ *
397
+ * The reads parameter requires at least one read at compile time. A plain array can be empty, so
398
+ * spreading it alone does not compile. Pass its first read separately, as in
399
+ * `client.getAttributes(flowId, first, ...rest)`. The result then has one element for `first`,
400
+ * followed by one element per read in `rest`.
401
+ *
402
+ * @example
403
+ * ```ts
404
+ * type Note = { readonly text: string };
405
+ * const orderStatus = new Attribute("order-status", stringCodec);
406
+ * const notes = new AttributeMap("notes", jsonCodec<Note>());
407
+ * // Register orderStatus and notes in a Flow's getPersistenceSchema.
408
+ *
409
+ * try {
410
+ * const [status, note] = await client.getAttributes(
411
+ * "order-42",
412
+ * orderStatus,
413
+ * notes.instance("n1"),
414
+ * );
415
+ * console.log(status ?? "new", note?.text ?? "no note yet");
416
+ * } catch (error) {
417
+ * if (error instanceof FlowNotFoundError) {
418
+ * console.log(`order ${error.flowId} does not exist`);
419
+ * } else {
420
+ * throw error;
421
+ * }
422
+ * }
423
+ * ```
424
+ * @typeParam Reads - Tuple of reads. TypeScript infers it from the arguments, and the result
425
+ * tuple maps each read to its value type or `undefined`.
426
+ * @param flowId - Non-empty Flow ID.
427
+ * @param reads - At least one Attribute or AttributeMap instance selection. Two reads of the same
428
+ * Attribute or AttributeMap instance are rejected.
429
+ * @returns A tuple with one decoded value or `undefined` per read, in read order.
430
+ * @throws {@link TypeError} before any request when `flowId` is empty, no read is passed, a read
431
+ * is not an Attribute or AttributeMap instance selection, or two reads select the same value.
432
+ * @throws {@link FlowDefinitionError} before any request when a definition is not registered by a
433
+ * Flow in the Client's Registry, or differs from the registered definition object.
434
+ * @throws {@link FlowNotFoundError} when the Flow does not exist or its latest run is being purged.
435
+ * @throws {@link ValueMappingError} when a value cannot be hydrated or decoded with its codec.
436
+ * @throws {@link DexServiceError} for other FlowService failures, including a failed LoadBlobs
437
+ * request. The error keeps the gRPC `code` and the server `detail`, and its `operation` is
438
+ * `loadBlobs` for a LoadBlobs failure.
439
+ * @throws {@link Error} when Dex returns an invalid response, or the BlobCache fails while large
440
+ * values are hydrated.
441
+ * Every error message names the Flow ID. An error about one read or value also names its
442
+ * Attribute name or physical key.
443
+ */
444
+ async getAttributes(flowId, ...reads) {
445
+ const selected = this.selectAttributeReads(flowId, reads);
446
+ const keys = selected.map((read) => read.key);
447
+ const values = await this.fetchAttributeValues(flowId, keys);
448
+ const decoded = selected.map((read) => {
449
+ const value = values.get(read.key);
450
+ if (value === undefined) {
451
+ return undefined;
452
+ }
453
+ try {
454
+ return decodeValue(read.codec, value);
455
+ }
456
+ catch (failure) {
457
+ throw new ValueMappingError("decode", `getAttributes Flow ${flowId} Attribute ${read.key}: ${valueMappingDetail(failure)}`, { cause: failure });
458
+ }
459
+ });
460
+ return decoded;
461
+ }
462
+ selectAttributeReads(flowId, reads) {
463
+ if (flowId.trim().length === 0) {
464
+ throw new TypeError(`getAttributes requires a non-empty Flow ID; received ${JSON.stringify(flowId)}`);
465
+ }
466
+ if (reads.length === 0) {
467
+ throw new TypeError(`getAttributes Flow ${flowId} requires at least one Attribute read`);
468
+ }
469
+ const seen = new Set();
470
+ return reads.map((read, position) => {
471
+ const selected = selectAttributeRead(flowId, read, position);
472
+ try {
473
+ registeredAttributeFlow(this.registry, selected.definition);
474
+ }
475
+ catch (failure) {
476
+ if (failure instanceof FlowDefinitionError) {
477
+ throw new FlowDefinitionError(`getAttributes Flow ${flowId}: ${failure.message}`, { cause: failure });
478
+ }
479
+ throw failure;
480
+ }
481
+ if (seen.has(selected.key)) {
482
+ throw new TypeError(`getAttributes Flow ${flowId} has duplicate Attribute read ${selected.key}`);
483
+ }
484
+ seen.add(selected.key);
485
+ return selected;
486
+ });
487
+ }
488
+ async fetchAttributeValues(flowId, keys) {
489
+ const joinedKeys = keys.join(", ");
490
+ const response = await unary({
491
+ operation: "getAttributes",
492
+ flowId,
493
+ requirement: "existing",
494
+ messagePrefix: `getAttributes Flow ${flowId} Attributes ${joinedKeys}`,
495
+ }, (callback) => this.service.getAttributes({ flowId, runId: "", keys: [...keys], allKeys: false }, callback));
496
+ const requested = new Set(keys);
497
+ const returned = new Set();
498
+ const returnedKeys = [];
499
+ const returnedValues = [];
500
+ for (const attribute of response.attributes) {
501
+ if (!requested.has(attribute.key)) {
502
+ throw new Error(`getAttributes Flow ${flowId} returned unexpected Attribute ${attribute.key}`);
503
+ }
504
+ if (returned.has(attribute.key)) {
505
+ throw new Error(`getAttributes Flow ${flowId} returned duplicate Attribute ${attribute.key}`);
506
+ }
507
+ if (attribute.value?.kind === undefined) {
508
+ throw new Error(`getAttributes Flow ${flowId} returned Attribute ${attribute.key} without a value`);
509
+ }
510
+ returned.add(attribute.key);
511
+ returnedKeys.push(attribute.key);
512
+ returnedValues.push(attribute.value);
513
+ }
514
+ let hydrated;
515
+ try {
516
+ hydrated = await this.hydrator.hydrateAll(flowId, returnedValues);
517
+ }
518
+ catch (failure) {
519
+ const context = `getAttributes Flow ${flowId} Attributes ${returnedKeys.join(", ")}`;
520
+ if (failure instanceof ValueMappingError) {
521
+ throw new ValueMappingError("hydrate", `${context}: ${valueMappingDetail(failure)}`, { cause: failure });
522
+ }
523
+ if (isGrpcServiceError(failure)) {
524
+ throw translateServiceError(failure, "loadBlobs", flowId, "none", `${context} LoadBlobs`);
525
+ }
526
+ const detail = failure instanceof Error ? failure.message : String(failure);
527
+ throw new Error(`${context}: ${detail}`, { cause: failure });
528
+ }
529
+ return new Map(returnedKeys.map((key, index) => [key, hydrated[index]]));
530
+ }
368
531
  /**
369
532
  * Returns one page of Flow runs matching a visibility query.
370
533
  * @param query - Dex visibility query; empty uses server defaults.
@@ -900,6 +1063,36 @@ function physicalName(name, instance) {
900
1063
  }
901
1064
  return physicalMapName(name, instance);
902
1065
  }
1066
+ function selectAttributeRead(flowId, read, position) {
1067
+ if (read instanceof Attribute) {
1068
+ return { definition: read, codec: read.codec, key: physicalName(read.name) };
1069
+ }
1070
+ if (read instanceof AttributeMapInstance) {
1071
+ return {
1072
+ definition: read.attributeMap,
1073
+ codec: read.attributeMap.codec,
1074
+ key: physicalName(read.attributeMap.name, read.instance),
1075
+ };
1076
+ }
1077
+ const value = read;
1078
+ if (value instanceof AttributeMap) {
1079
+ throw new TypeError(`getAttributes Flow ${flowId} AttributeMap ${value.name} requires an instance; ` +
1080
+ "pass attributeMap.instance(key)");
1081
+ }
1082
+ throw new TypeError(`getAttributes Flow ${flowId} read ${position} must be an Attribute or an AttributeMap instance selection`);
1083
+ }
1084
+ function isGrpcServiceError(failure) {
1085
+ return failure instanceof Error
1086
+ && typeof failure.code === "number"
1087
+ && failure.metadata instanceof Metadata;
1088
+ }
1089
+ function valueMappingDetail(failure) {
1090
+ if (failure instanceof ValueMappingError) {
1091
+ const prefix = `Cannot ${failure.operation} Dex Value: `;
1092
+ return failure.message.startsWith(prefix) ? failure.message.slice(prefix.length) : failure.message;
1093
+ }
1094
+ return failure instanceof Error ? failure.message : String(failure);
1095
+ }
903
1096
  function requireRPCInvokeDefinition(flow, definition, kind) {
904
1097
  if (flow.persistence.get(definition.name) !== definition) {
905
1098
  throw new FlowDefinitionError(`Flow ${flow.name} does not register ${kind} ${definition.name}`);
@@ -977,7 +1170,7 @@ function unary(target, invoke) {
977
1170
  return new Promise((resolve, reject) => {
978
1171
  invoke((error, response) => {
979
1172
  if (error !== null) {
980
- reject(translateServiceError(error, target.operation, target.flowId, target.requirement));
1173
+ reject(translateServiceError(error, target.operation, target.flowId, target.requirement, target.messagePrefix));
981
1174
  return;
982
1175
  }
983
1176
  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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"}
@@ -40,6 +40,24 @@ export declare const FlowErrorType: Readonly<{
40
40
  }>;
41
41
  /** Represents a value from {@link FlowErrorType}. */
42
42
  export type FlowErrorType = (typeof FlowErrorType)[keyof typeof FlowErrorType];
43
+ /**
44
+ * Configures construction of a {@link DexServiceError}.
45
+ *
46
+ * It extends the standard Error options with an optional message. Use it when the message must add
47
+ * call context, such as a Flow ID or Attribute keys, while `detail` keeps the unchanged service
48
+ * detail.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * const error = new DexServiceError(status.UNAVAILABLE, ErrorSubStatus.UNCATEGORIZED,
53
+ * "connection refused", "getAttributes", "order-42",
54
+ * { message: "getAttributes Flow order-42: connection refused" });
55
+ * ```
56
+ */
57
+ export interface DexServiceErrorOptions extends ErrorOptions {
58
+ /** Error message. Defaults to `detail` when omitted. */
59
+ readonly message?: string;
60
+ }
43
61
  /** Exposes structured metadata returned by a failed FlowService operation. */
44
62
  export declare class DexServiceError extends Error {
45
63
  readonly code: status;
@@ -54,9 +72,10 @@ export declare class DexServiceError extends Error {
54
72
  * @param detail - Human-readable service detail.
55
73
  * @param operation - Client operation that failed.
56
74
  * @param flowId - Target Flow ID, or `undefined` for service-wide calls.
57
- * @param options - Standard Error construction options.
75
+ * @param options - Standard Error construction options, plus an optional message that defaults
76
+ * to `detail`.
58
77
  */
59
- constructor(code: status, subStatus: ErrorSubStatus, detail: string, operation: string, flowId: string | undefined, options?: ErrorOptions);
78
+ constructor(code: status, subStatus: ErrorSubStatus, detail: string, operation: string, flowId: string | undefined, options?: DexServiceErrorOptions);
60
79
  }
61
80
  /** Indicates that `startFlow` conflicts with an existing Flow ID. */
62
81
  export declare class FlowAlreadyStartedError extends DexServiceError {
@@ -124,9 +143,10 @@ export declare class WorkerInvocationError extends DexServiceError {
124
143
  * @param workerCode - Nested Worker gRPC status, when available.
125
144
  * @param workerErrorType - Worker-reported application error type.
126
145
  * @param workerErrorDetail - Worker-reported human-readable detail.
127
- * @param options - Standard Error construction options.
146
+ * @param options - Standard Error construction options, plus an optional message that defaults
147
+ * to `detail`.
128
148
  */
129
- constructor(code: status, subStatus: ErrorSubStatus, detail: string, operation: string, flowId: string | undefined, workerCode: status | undefined, workerErrorType: string, workerErrorDetail: string, options?: ErrorOptions);
149
+ constructor(code: status, subStatus: ErrorSubStatus, detail: string, operation: string, flowId: string | undefined, workerCode: status | undefined, workerErrorType: string, workerErrorDetail: string, options?: DexServiceErrorOptions);
130
150
  }
131
151
  /** Indicates that an RPC could not acquire all requested Attribute locks. */
132
152
  export declare class RpcLockConflictError extends DexServiceError {
@@ -56,10 +56,11 @@ export class DexServiceError extends Error {
56
56
  * @param detail - Human-readable service detail.
57
57
  * @param operation - Client operation that failed.
58
58
  * @param flowId - Target Flow ID, or `undefined` for service-wide calls.
59
- * @param options - Standard Error construction options.
59
+ * @param options - Standard Error construction options, plus an optional message that defaults
60
+ * to `detail`.
60
61
  */
61
62
  constructor(code, subStatus, detail, operation, flowId, options) {
62
- super(detail, options);
63
+ super(options?.message ?? detail, options);
63
64
  this.code = code;
64
65
  this.subStatus = subStatus;
65
66
  this.detail = detail;
@@ -134,7 +135,8 @@ export class WorkerInvocationError extends DexServiceError {
134
135
  * @param workerCode - Nested Worker gRPC status, when available.
135
136
  * @param workerErrorType - Worker-reported application error type.
136
137
  * @param workerErrorDetail - Worker-reported human-readable detail.
137
- * @param options - Standard Error construction options.
138
+ * @param options - Standard Error construction options, plus an optional message that defaults
139
+ * to `detail`.
138
140
  */
139
141
  constructor(code, subStatus, detail, operation, flowId, workerCode, workerErrorType, workerErrorDetail, options) {
140
142
  super(code, subStatus, detail, operation, flowId, options);