@superdurable/dex 1.17.0 → 1.20.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
@@ -637,6 +637,9 @@ reads (`describeFlow`, `waitForFlow`, and `timeTravel`) use
637
637
  `FlowNotActiveOrNotFoundError`. Start conflicts, worker failures, RPC lock contention,
638
638
  and long-poll timeouts use `FlowAlreadyStartedError`,
639
639
  `WorkerInvocationError`, `RpcLockConflictError`, and `LongPollTimeoutError`.
640
+ An update-class request rejected during Flow close cleanup uses
641
+ `FlowClosingError` with sub-status `FLOW_CLOSING`. Re-read the retained terminal
642
+ Flow state before deciding whether another action is needed.
640
643
 
641
644
  RPCs also use this error when the target Flow cannot be found, including query-only
642
645
  reads. A query-only RPC without locks, transactional execution, durable effects, or
@@ -18,6 +18,8 @@ export declare const ErrorSubStatus: Readonly<{
18
18
  readonly CHANNEL_MESSAGE_NOT_FOUND: "channelMessageNotFound";
19
19
  /** A caller-defined request budget expired. */
20
20
  readonly REQUEST_TIMEOUT: "requestTimeout";
21
+ /** Dex rejected an update-class request during Flow close cleanup. */
22
+ readonly FLOW_CLOSING: "flowClosing";
21
23
  }>;
22
24
  /** Represents a value from {@link ErrorSubStatus}. */
23
25
  export type ErrorSubStatus = (typeof ErrorSubStatus)[keyof typeof ErrorSubStatus];
@@ -59,6 +61,25 @@ export declare class DexServiceError extends Error {
59
61
  /** Indicates that `startFlow` conflicts with an existing Flow ID. */
60
62
  export declare class FlowAlreadyStartedError extends DexServiceError {
61
63
  }
64
+ /**
65
+ * Reports a request rejected while Dex closes a Flow.
66
+ * Re-read the retained terminal Flow state before deciding what to do next.
67
+ * @example
68
+ * ```typescript
69
+ * const options = { requestTimeoutMs: timeoutMs };
70
+ * try {
71
+ * await client.waitForStepCompletion(flowId, stepExecutionId, options);
72
+ * } catch (error) {
73
+ * if (error instanceof FlowClosingError) {
74
+ * await client.waitForFlow(flowId);
75
+ * } else {
76
+ * throw error;
77
+ * }
78
+ * }
79
+ * ```
80
+ */
81
+ export declare class FlowClosingError extends DexServiceError {
82
+ }
62
83
  /** Indicates that an operation targeted a Flow ID that does not exist. */
63
84
  export declare class FlowNotFoundError extends DexServiceError {
64
85
  }
@@ -24,6 +24,8 @@ export const ErrorSubStatus = Object.freeze({
24
24
  CHANNEL_MESSAGE_NOT_FOUND: "channelMessageNotFound",
25
25
  /** A caller-defined request budget expired. */
26
26
  REQUEST_TIMEOUT: "requestTimeout",
27
+ /** Dex rejected an update-class request during Flow close cleanup. */
28
+ FLOW_CLOSING: "flowClosing",
27
29
  });
28
30
  /** Provides terminal Flow failure categories returned by Dex. */
29
31
  export const FlowErrorType = Object.freeze({
@@ -69,6 +71,25 @@ export class DexServiceError extends Error {
69
71
  /** Indicates that `startFlow` conflicts with an existing Flow ID. */
70
72
  export class FlowAlreadyStartedError extends DexServiceError {
71
73
  }
74
+ /**
75
+ * Reports a request rejected while Dex closes a Flow.
76
+ * Re-read the retained terminal Flow state before deciding what to do next.
77
+ * @example
78
+ * ```typescript
79
+ * const options = { requestTimeoutMs: timeoutMs };
80
+ * try {
81
+ * await client.waitForStepCompletion(flowId, stepExecutionId, options);
82
+ * } catch (error) {
83
+ * if (error instanceof FlowClosingError) {
84
+ * await client.waitForFlow(flowId);
85
+ * } else {
86
+ * throw error;
87
+ * }
88
+ * }
89
+ * ```
90
+ */
91
+ export class FlowClosingError extends DexServiceError {
92
+ }
72
93
  /** Indicates that an operation targeted a Flow ID that does not exist. */
73
94
  export class FlowNotFoundError extends DexServiceError {
74
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -195,6 +195,8 @@ export declare enum ErrorSubStatus {
195
195
  ERROR_SUB_STATUS_LONG_POLL_TIME_OUT = 5,
196
196
  ERROR_SUB_STATUS_CHANNEL_MESSAGE_NOT_FOUND = 6,
197
197
  ERROR_SUB_STATUS_REQUEST_TIMEOUT = 7,
198
+ /** ERROR_SUB_STATUS_FLOW_CLOSING - An update-class request arrived while Flow close cleanup is in progress. */
199
+ ERROR_SUB_STATUS_FLOW_CLOSING = 8,
198
200
  UNRECOGNIZED = -1
199
201
  }
200
202
  export declare enum CloseDecisionType {
@@ -221,6 +221,8 @@ export var ErrorSubStatus;
221
221
  ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_LONG_POLL_TIME_OUT"] = 5] = "ERROR_SUB_STATUS_LONG_POLL_TIME_OUT";
222
222
  ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_CHANNEL_MESSAGE_NOT_FOUND"] = 6] = "ERROR_SUB_STATUS_CHANNEL_MESSAGE_NOT_FOUND";
223
223
  ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_REQUEST_TIMEOUT"] = 7] = "ERROR_SUB_STATUS_REQUEST_TIMEOUT";
224
+ /** ERROR_SUB_STATUS_FLOW_CLOSING - An update-class request arrived while Flow close cleanup is in progress. */
225
+ ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_FLOW_CLOSING"] = 8] = "ERROR_SUB_STATUS_FLOW_CLOSING";
224
226
  ErrorSubStatus[ErrorSubStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
225
227
  })(ErrorSubStatus || (ErrorSubStatus = {}));
226
228
  export var CloseDecisionType;