@relaycast/engine 8.16.0 → 9.0.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.
Files changed (66) hide show
  1. package/dist/db/migrations/0062_direct_dm_idempotency.sql +20 -0
  2. package/dist/db/migrations/0063_node_rotation_recovery.sql +13 -0
  3. package/dist/db/schema.d.ts +200 -0
  4. package/dist/db/schema.d.ts.map +1 -1
  5. package/dist/db/schema.js +29 -0
  6. package/dist/db/schema.js.map +1 -1
  7. package/dist/engine/a2aEgress.d.ts +10 -0
  8. package/dist/engine/a2aEgress.d.ts.map +1 -1
  9. package/dist/engine/a2aEgress.js +35 -3
  10. package/dist/engine/a2aEgress.js.map +1 -1
  11. package/dist/engine/attachments.d.ts.map +1 -1
  12. package/dist/engine/attachments.js +5 -3
  13. package/dist/engine/attachments.js.map +1 -1
  14. package/dist/engine/dm.d.ts +5 -1
  15. package/dist/engine/dm.d.ts.map +1 -1
  16. package/dist/engine/dm.js +131 -20
  17. package/dist/engine/dm.js.map +1 -1
  18. package/dist/engine/dmAll.d.ts +6 -0
  19. package/dist/engine/dmAll.d.ts.map +1 -1
  20. package/dist/engine/dmAll.js +51 -2
  21. package/dist/engine/dmAll.js.map +1 -1
  22. package/dist/engine/inboundWebhook.d.ts +4 -0
  23. package/dist/engine/inboundWebhook.d.ts.map +1 -1
  24. package/dist/engine/inboundWebhook.js +5 -0
  25. package/dist/engine/inboundWebhook.js.map +1 -1
  26. package/dist/engine/messageMetadata.d.ts +4 -0
  27. package/dist/engine/messageMetadata.d.ts.map +1 -1
  28. package/dist/engine/messageMetadata.js +7 -1
  29. package/dist/engine/messageMetadata.js.map +1 -1
  30. package/dist/engine/node.d.ts +37 -7
  31. package/dist/engine/node.d.ts.map +1 -1
  32. package/dist/engine/node.js +107 -19
  33. package/dist/engine/node.js.map +1 -1
  34. package/dist/engine/sessionEvent.d.ts.map +1 -1
  35. package/dist/engine/sessionEvent.js +2 -0
  36. package/dist/engine/sessionEvent.js.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/lib/serverTelemetry.d.ts +13 -2
  42. package/dist/lib/serverTelemetry.d.ts.map +1 -1
  43. package/dist/lib/serverTelemetry.js +4 -0
  44. package/dist/lib/serverTelemetry.js.map +1 -1
  45. package/dist/middleware/idempotency.d.ts +15 -9
  46. package/dist/middleware/idempotency.d.ts.map +1 -1
  47. package/dist/middleware/idempotency.js +104 -58
  48. package/dist/middleware/idempotency.js.map +1 -1
  49. package/dist/routes/a2a.js +6 -1
  50. package/dist/routes/a2a.js.map +1 -1
  51. package/dist/routes/agent.js +1 -1
  52. package/dist/routes/agent.js.map +1 -1
  53. package/dist/routes/dm.d.ts.map +1 -1
  54. package/dist/routes/dm.js +70 -42
  55. package/dist/routes/dm.js.map +1 -1
  56. package/dist/routes/node.d.ts.map +1 -1
  57. package/dist/routes/node.js +38 -3
  58. package/dist/routes/node.js.map +1 -1
  59. package/dist/routes/webhookOutbox.d.ts +1 -0
  60. package/dist/routes/webhookOutbox.d.ts.map +1 -1
  61. package/dist/routes/webhookOutbox.js +9 -5
  62. package/dist/routes/webhookOutbox.js.map +1 -1
  63. package/dist/routes/workspace.d.ts.map +1 -1
  64. package/dist/routes/workspace.js +39 -6
  65. package/dist/routes/workspace.js.map +1 -1
  66. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"serverTelemetry.js","sourceRoot":"","sources":["../../src/lib/serverTelemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverTelemetry.js","sourceRoot":"","sources":["../../src/lib/serverTelemetry.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ type DeliveryInternals = {
10
10
  _delivery?: unknown;
11
11
  _deliveries?: unknown;
12
12
  _delivery_rejections?: unknown;
13
+ _idempotency_replayed?: boolean;
14
+ _idempotency_ttl_seconds?: number;
13
15
  };
14
16
  interface RunIdempotentOptions<T> {
15
17
  workspaceId: string;
@@ -18,9 +20,13 @@ interface RunIdempotentOptions<T> {
18
20
  key?: string;
19
21
  status?: number;
20
22
  fingerprint?: string;
23
+ /** Primary fingerprint persisted for rollback compatibility. */
24
+ storageFingerprint?: string;
21
25
  /** Prior fingerprint formats accepted only when replaying an existing record. */
22
26
  compatibleFingerprints?: string[];
23
27
  ttlSeconds?: number;
28
+ /** Override result retention (for example, an authoritative claim's remaining lifetime). */
29
+ ttlSecondsForResult?: (data: T) => number | undefined;
24
30
  kv?: KeyValueStore;
25
31
  requireKv?: boolean;
26
32
  /** Fail closed on an unreadable prior record, without failing a committed write on KV completion loss. */
@@ -40,28 +46,28 @@ export declare function parseIdempotencyKey(headerValue: string | undefined): {
40
46
  error?: string;
41
47
  };
42
48
  export declare function applyIdempotencyReplayHeader<T>(c: Context, result: IdempotentResult<T>): void;
43
- export declare function stripDeliveryInternals<T extends object>(data: T): Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
44
- export declare function jsonIdempotentOk<T extends object>(c: Context, result: IdempotentResult<T>): Response & import("hono").TypedResponse<true | Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery"> extends bigint | readonly bigint[] ? never : { [K in keyof {
49
+ export declare function stripDeliveryInternals<T extends object>(data: T): Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
50
+ export declare function jsonIdempotentOk<T extends object>(c: Context, result: IdempotentResult<T>): Response & import("hono").TypedResponse<true | Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds"> extends bigint | readonly bigint[] ? never : { [K in keyof {
45
51
  ok: true;
46
- data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
52
+ data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
47
53
  } as ({
48
54
  ok: true;
49
- data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
55
+ data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
50
56
  }[K] extends infer T_1 ? T_1 extends {
51
57
  ok: true;
52
- data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
58
+ data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
53
59
  }[K] ? T_1 extends import("hono/utils/types").InvalidJSONValue ? true : false : never : never) extends true ? never : K]: boolean extends ({
54
60
  ok: true;
55
- data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
61
+ data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
56
62
  }[K] extends infer T_2 ? T_2 extends {
57
63
  ok: true;
58
- data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
64
+ data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
59
65
  }[K] ? T_2 extends import("hono/utils/types").InvalidJSONValue ? true : false : never : never) ? import("hono/utils/types").JSONParsed<{
60
66
  ok: true;
61
- data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
67
+ data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
62
68
  }[K], bigint | readonly bigint[]> | undefined : import("hono/utils/types").JSONParsed<{
63
69
  ok: true;
64
- data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery">;
70
+ data: Omit<T & DeliveryInternals, "_deliveries" | "_delivery_rejections" | "_notifications_durable" | "_delivery" | "_idempotency_replayed" | "_idempotency_ttl_seconds">;
65
71
  }[K], bigint | readonly bigint[]>; }, -1 | 100 | 102 | 103 | 200 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
66
72
  export declare function runIdempotent<T>(options: RunIdempotentOptions<T>): Promise<IdempotentResult<T>>;
67
73
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAcpD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,iBAAiB,GAAG;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,UAAU,oBAAoB,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0GAA0G;IAC1G,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAgBD,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlI;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAwBrG;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAItF;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,gHAS/D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;oZAGzF;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAuJ9B"}
1
+ {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAmBpD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,iBAAiB,GAAG;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,UAAU,oBAAoB,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0GAA0G;IAC1G,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AA6BD,wBAAsB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlI;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAwBrG;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAItF;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,uKAW/D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;oZAGzF;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA0L9B"}
@@ -2,9 +2,21 @@ import { sha256Hex } from '../lib/crypto.js';
2
2
  import { jsonOk } from '../lib/httpResponse.js';
3
3
  const IDEMPOTENCY_TTL_SECONDS = 24 * 60 * 60;
4
4
  const IDEMPOTENCY_LOCK_TTL_SECONDS = 30;
5
+ // Cloudflare KV rejects expirationTtl values below 60 seconds. Avoid both that
6
+ // write failure and a result expiring while its 30-second admission lock remains.
7
+ const IDEMPOTENCY_MIN_RECORD_TTL_SECONDS = 60;
5
8
  const IDEMPOTENCY_KEY_MAX_LENGTH = 255;
6
- function fingerprintMatches(stored, current, compatible) {
7
- return !stored || !current || stored === current || compatible.includes(stored);
9
+ function fingerprintMatches(stored, storedCompatible, current, compatible) {
10
+ if (!stored || !current)
11
+ return true;
12
+ const accepted = new Set([current, ...compatible]);
13
+ return [stored, ...storedCompatible].some((candidate) => accepted.has(candidate));
14
+ }
15
+ function stripReplayStorageInternals(data) {
16
+ if (!data || typeof data !== 'object')
17
+ return data;
18
+ const { _idempotency_replayed: _dropReplay, _idempotency_ttl_seconds: _dropTtl, ...storedData } = data;
19
+ return storedData;
8
20
  }
9
21
  function idempotencyUnavailableError(cause) {
10
22
  const err = new Error('Idempotency storage is unavailable');
@@ -45,7 +57,7 @@ export function applyIdempotencyReplayHeader(c, result) {
45
57
  }
46
58
  }
47
59
  export function stripDeliveryInternals(data) {
48
- const { _notifications_durable: _dropNotifications, _delivery: _dropDelivery, _deliveries: _dropDeliveries, _delivery_rejections: _dropRejections, ...publicData } = data;
60
+ const { _notifications_durable: _dropNotifications, _delivery: _dropDelivery, _deliveries: _dropDeliveries, _delivery_rejections: _dropRejections, _idempotency_replayed: _dropIdempotencyReplay, _idempotency_ttl_seconds: _dropIdempotencyTtl, ...publicData } = data;
49
61
  return publicData;
50
62
  }
51
63
  export function jsonIdempotentOk(c, result) {
@@ -53,7 +65,7 @@ export function jsonIdempotentOk(c, result) {
53
65
  return jsonOk(c, stripDeliveryInternals(result.data), result.status);
54
66
  }
55
67
  export async function runIdempotent(options) {
56
- const { workspaceId, actorId, scope, key, fingerprint, compatibleFingerprints = [], operation, afterOperation, status = 201, ttlSeconds = IDEMPOTENCY_TTL_SECONDS, kv, requireKv = false, requireKvRead = false, requireFingerprint = false, } = options;
68
+ const { workspaceId, actorId, scope, key, fingerprint, storageFingerprint, compatibleFingerprints = [], operation, afterOperation, status = 201, ttlSeconds = IDEMPOTENCY_TTL_SECONDS, ttlSecondsForResult, kv, requireKv = false, requireKvRead = false, requireFingerprint = false, } = options;
57
69
  if (!key) {
58
70
  if (requireKv) {
59
71
  const err = new Error('Idempotency key is required');
@@ -65,6 +77,17 @@ export async function runIdempotent(options) {
65
77
  await afterOperation(data);
66
78
  return { status, data, replayed: false };
67
79
  }
80
+ /** Replay a stored record, rejecting a key reused with a different payload. */
81
+ const replayOf = (raw) => {
82
+ const parsed = JSON.parse(raw);
83
+ if ((requireFingerprint && !parsed.fingerprint)
84
+ || !fingerprintMatches(parsed.fingerprint, parsed.fingerprints ?? [], fingerprint, compatibleFingerprints)) {
85
+ const err = new Error('Idempotency-Key was reused with a different request payload');
86
+ Object.assign(err, { code: 'idempotency_key_reused', status: 409 });
87
+ throw err;
88
+ }
89
+ return { status: parsed.status || status, data: parsed.data, replayed: true };
90
+ };
68
91
  let kvStore = kv ?? null;
69
92
  let kvKey = null;
70
93
  let lockKey = null;
@@ -72,72 +95,77 @@ export async function runIdempotent(options) {
72
95
  if (!kvStore && (requireKv || requireKvRead)) {
73
96
  throw idempotencyUnavailableError();
74
97
  }
98
+ // Storage the caller declared mandatory must fail closed before the operation
99
+ // commits, so those paths keep the lock write on the critical path.
100
+ const failClosed = requireKv || requireKvRead;
75
101
  if (kvStore) {
76
102
  kvKey = await buildIdempotencyStorageKey(workspaceId, actorId, scope, key);
77
103
  lockKey = `${kvKey}:lock`;
78
104
  try {
79
- const existingRaw = await kvStore.get(kvKey);
80
- if (existingRaw) {
81
- const parsed = JSON.parse(existingRaw);
82
- if ((requireFingerprint && !parsed.fingerprint) || !fingerprintMatches(parsed.fingerprint, fingerprint, compatibleFingerprints)) {
83
- const err = new Error('Idempotency-Key was reused with a different request payload');
84
- Object.assign(err, { code: 'idempotency_key_reused', status: 409 });
85
- throw err;
86
- }
87
- return {
88
- status: parsed.status || status,
89
- data: parsed.data,
90
- replayed: true,
91
- };
105
+ // The record and the lock are independent keys, so read them in one round
106
+ // trip instead of two. KV has no atomic NX-style set, so the lock stays
107
+ // best-effort: in rare races duplicate operations may still run.
108
+ // `allSettled` keeps the reads independent in failure too: a stored record
109
+ // answers the request on its own, so a failed lock read must not void a
110
+ // replay the record read already proved. Otherwise either read failing is
111
+ // a read failure, exactly as the serialized record-then-lock reads were.
112
+ const [recordRead, lockRead] = await Promise.allSettled([
113
+ kvStore.get(kvKey),
114
+ kvStore.get(lockKey),
115
+ ]);
116
+ if (recordRead.status === 'fulfilled' && recordRead.value) {
117
+ return replayOf(recordRead.value);
92
118
  }
93
- // KV doesn't support atomic NX-style set, so we do a read-then-write for the lock.
94
- // This is best-effort; in rare race conditions, duplicate operations may run.
95
- const existingLock = await kvStore.get(lockKey);
119
+ if (recordRead.status === 'rejected')
120
+ throw recordRead.reason;
121
+ if (lockRead.status === 'rejected')
122
+ throw lockRead.reason;
123
+ const existingLock = lockRead.value;
96
124
  if (existingLock) {
97
- // Another request may be processing. Check if result is now available.
125
+ // Another request may be processing, or may have committed between the
126
+ // paired reads above and now. One extra read — on the contended path
127
+ // only — keeps that case a replay instead of a spurious conflict.
98
128
  const concurrentRaw = await kvStore.get(kvKey);
99
129
  if (concurrentRaw) {
100
- const parsed = JSON.parse(concurrentRaw);
101
- if ((requireFingerprint && !parsed.fingerprint) || !fingerprintMatches(parsed.fingerprint, fingerprint, compatibleFingerprints)) {
102
- const err = new Error('Idempotency-Key was reused with a different request payload');
103
- Object.assign(err, { code: 'idempotency_key_reused', status: 409 });
104
- throw err;
105
- }
106
- return {
107
- status: parsed.status || status,
108
- data: parsed.data,
109
- replayed: true,
110
- };
130
+ return replayOf(concurrentRaw);
111
131
  }
112
132
  const err = new Error('Another request with this Idempotency-Key is still processing');
113
133
  Object.assign(err, { code: 'idempotency_in_progress', status: 409 });
114
134
  throw err;
115
135
  }
116
- // Acquire lock
136
+ // Acquire the best-effort lock before mutating. KV has no compare-and-set,
137
+ // so two callers can both have observed empty keys above. Re-reading the
138
+ // record after this write preserves the old fence: if the other caller
139
+ // completed while this lock write was pending, replay its result instead
140
+ // of running the operation a second time. Do not delete the lock on this
141
+ // replay path because it may still belong to the other caller.
117
142
  await kvStore.put(lockKey, '1', { expirationTtl: IDEMPOTENCY_LOCK_TTL_SECONDS });
118
143
  lockAcquired = true;
119
- // Re-check record after acquiring lock to handle race with completed request
120
- const recheckRaw = await kvStore.get(kvKey);
121
- if (recheckRaw) {
122
- await kvStore.delete(lockKey);
123
- const parsed = JSON.parse(recheckRaw);
124
- if ((requireFingerprint && !parsed.fingerprint) || !fingerprintMatches(parsed.fingerprint, fingerprint, compatibleFingerprints)) {
125
- const err = new Error('Idempotency-Key was reused with a different request payload');
126
- Object.assign(err, { code: 'idempotency_key_reused', status: 409 });
127
- throw err;
144
+ let recheckRaw;
145
+ try {
146
+ recheckRaw = await kvStore.get(kvKey);
147
+ }
148
+ catch (err) {
149
+ // This caller wrote the lock but could not establish whether a result
150
+ // landed while that write was pending. Release the lock before the
151
+ // outer policy either fails closed or degrades to an unprotected
152
+ // operation; otherwise every immediate retry sees a stale 409.
153
+ try {
154
+ await kvStore.delete(lockKey);
128
155
  }
129
- return {
130
- status: parsed.status || status,
131
- data: parsed.data,
132
- replayed: true,
133
- };
156
+ catch { /* bounded by the lock TTL */ }
157
+ lockAcquired = false;
158
+ throw err;
159
+ }
160
+ if (recheckRaw) {
161
+ return replayOf(recheckRaw);
134
162
  }
135
163
  }
136
164
  catch (err) {
137
165
  if (err instanceof Error && ['idempotency_key_reused', 'idempotency_in_progress'].includes(err.code ?? '')) {
138
166
  throw err;
139
167
  }
140
- if (requireKv || requireKvRead) {
168
+ if (failClosed) {
141
169
  throw idempotencyUnavailableError(err);
142
170
  }
143
171
  // KV unavailable or decode failure: proceed without idempotency.
@@ -152,27 +180,45 @@ export async function runIdempotent(options) {
152
180
  if (afterOperation)
153
181
  await afterOperation(data);
154
182
  if (kvStore && kvKey && lockAcquired) {
183
+ const resultTtlSeconds = ttlSecondsForResult?.(data) ?? ttlSeconds;
155
184
  const record = {
156
185
  status,
157
- data,
158
- fingerprint,
186
+ // Current-request replay metadata controls the header and cache TTL;
187
+ // it is not part of the public receipt and must not leak after rollback.
188
+ data: stripReplayStorageInternals(data),
189
+ fingerprint: storageFingerprint ?? fingerprint,
190
+ ...(fingerprint && storageFingerprint && fingerprint !== storageFingerprint
191
+ ? { fingerprints: [fingerprint] }
192
+ : {}),
159
193
  };
160
194
  try {
161
- await kvStore.put(kvKey, JSON.stringify(record), { expirationTtl: ttlSeconds });
162
- }
163
- catch (err) {
164
- if (requireKv) {
165
- throw idempotencyUnavailableError(err);
195
+ if (resultTtlSeconds >= IDEMPOTENCY_MIN_RECORD_TTL_SECONDS) {
196
+ await kvStore.put(kvKey, JSON.stringify(record), { expirationTtl: resultTtlSeconds });
197
+ // The stored record answers every later request for this key, so the
198
+ // lock needs no explicit delete — it simply expires.
199
+ }
200
+ else if (lockKey) {
201
+ // The authoritative claim expired (or is too close to expiry for a
202
+ // valid cache record). Do not extend it through KV, and release the
203
+ // short lock so it cannot outlive the result and reject a fresh send.
204
+ await kvStore.delete(lockKey);
205
+ lockAcquired = false;
166
206
  }
167
- // KV failure during record storage — proceed without idempotency record.
168
207
  }
169
- finally {
208
+ catch (err) {
209
+ // The record is missing, so the lock must go now: otherwise a retry
210
+ // inside the lock TTL sees neither and is rejected as in-progress.
170
211
  if (lockKey) {
171
212
  try {
172
213
  await kvStore.delete(lockKey);
173
214
  }
174
- catch { /* ignore */ }
215
+ catch { /* bounded by the lock TTL */ }
216
+ lockAcquired = false;
217
+ }
218
+ if (requireKv) {
219
+ throw idempotencyUnavailableError(err);
175
220
  }
221
+ // KV failure during record storage — proceed without idempotency record.
176
222
  }
177
223
  }
178
224
  return { status, data, replayed: false };
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"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"}
@@ -46,9 +46,14 @@ async function receiveIdempotently(c, options) {
46
46
  // SQL absence was verified above. Source pruning retains a SQL
47
47
  // tombstone; only expiry cleanup removes that identity. A delayed KV
48
48
  // completion cannot extend its window or reject a new fingerprint.
49
- // sendDm rechecks SQL atomically if another admission races this read.
49
+ // The matching short-lived KV lock is advisory for the generic HTTP
50
+ // path too; it must not block a fresh admission after the authoritative
51
+ // SQL identity expires. sendDm rechecks SQL atomically if another
52
+ // admission races either read.
50
53
  if (key === completionKey && raw && sqlInboundCompletionSchema.safeParse(JSON.parse(raw)).success)
51
54
  return null;
55
+ if (key === `${completionKey}:lock`)
56
+ return null;
52
57
  return raw;
53
58
  };
54
59
  const value = Reflect.get(target, property);
@@ -1 +1 @@
1
- {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/routes/a2a.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/routes/a2a.ts"],"names":[],"mappings":"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"}
@@ -210,7 +210,7 @@ agentRoutes.post('/agent/node-token', requireAgentToken, rateLimit, async (c) =>
210
210
  max_agents: 1,
211
211
  tags: ['implicit', 'direct'],
212
212
  version: 'implicit',
213
- });
213
+ }, { directAgentId: authAgent.id });
214
214
  return jsonOk(c, {
215
215
  node_id: nodeWithToken.id,
216
216
  node_name: nodeWithToken.name,