@superdurable/dex 1.2.1 → 1.4.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
@@ -396,9 +396,19 @@ Flow config, Condition ID, and reuse. Parent completion does not cancel an unfin
396
396
  Client calls reject with concrete `DexServiceError` subclasses. Existing-Flow
397
397
  reads (`describeFlow`, `waitForFlow`, and `timeTravel`) use
398
398
  `FlowNotFoundError`; operations that require a running Flow use
399
- `FlowNotActiveError`. Start conflicts, worker failures, RPC lock contention,
399
+ `FlowNotActiveOrNotFoundError`. Start conflicts, worker failures, RPC lock contention,
400
400
  and long-poll timeouts use `FlowAlreadyStartedError`,
401
401
  `WorkerInvocationError`, `RpcLockConflictError`, and `LongPollTimeoutError`.
402
+
403
+ RPCs also use this error when the target Flow cannot be found, including query-only
404
+ reads. A query-only RPC without locks, transactional execution, durable effects, or
405
+ Server-forced Update routing can read a retained terminal execution. At that confirmed
406
+ read boundary, this error means no readable target was found; return the application's
407
+ missing or unavailable result directly, without a lifecycle probe, a short timeout, a
408
+ retry, or historical Step-output decoding. Preserve other service and Worker failures.
409
+ For mutations and active-only RPCs, the error can mean either missing or closed and does
410
+ not prove that the requested action succeeded. RPC success does not prove that the Flow
411
+ is active.
402
412
  Durable Step and Attribute waits reattach transparently instead of exposing
403
413
  `LongPollTimeoutError`.
404
414
 
@@ -406,7 +416,7 @@ Durable Step and Attribute waits reattach transparently instead of exposing
406
416
  try {
407
417
  await client.invokeRPC(orders.updateOrder, flowId, update);
408
418
  } catch (error) {
409
- if (error instanceof FlowNotActiveError) {
419
+ if (error instanceof FlowNotActiveOrNotFoundError) {
410
420
  // The Flow is missing or already closed.
411
421
  } else {
412
422
  throw error;
@@ -1 +1 @@
1
- export declare const sdkVersion = "1.2.1";
1
+ export declare const sdkVersion = "1.4.0";
@@ -6,5 +6,5 @@
6
6
  //
7
7
  // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
8
  // Generated by scripts/write-sdk-version.mjs.
9
- export const sdkVersion = "1.2.1";
9
+ export const sdkVersion = "1.4.0";
10
10
  //# sourceMappingURL=sdk-version.generated.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdurable/dex",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "description": "TypeScript SDK for the Dex durable workflow engine",
5
5
  "license": "LicenseRef-Sustainable-Use-1.0",
6
6
  "repository": {