@relaycast/engine 8.7.0 → 8.9.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 (64) hide show
  1. package/dist/adapters/node/realtime.d.ts.map +1 -1
  2. package/dist/adapters/node/realtime.js +13 -4
  3. package/dist/adapters/node/realtime.js.map +1 -1
  4. package/dist/bin/serve.js +3 -0
  5. package/dist/bin/serve.js.map +1 -1
  6. package/dist/db/migrations/0053_agent_retention_indexes.sql +8 -0
  7. package/dist/db/migrations/0054_node_status_heartbeat_index.sql +8 -0
  8. package/dist/db/migrations/0055_session_event_idempotency.sql +8 -0
  9. package/dist/db/migrations/0056_session_event_status_completion.sql +38 -0
  10. package/dist/db/schema.d.ts +89 -0
  11. package/dist/db/schema.d.ts.map +1 -1
  12. package/dist/db/schema.js +27 -0
  13. package/dist/db/schema.js.map +1 -1
  14. package/dist/engine/action.d.ts +4 -0
  15. package/dist/engine/action.d.ts.map +1 -1
  16. package/dist/engine/action.js +104 -35
  17. package/dist/engine/action.js.map +1 -1
  18. package/dist/engine/agentRetention.d.ts +39 -0
  19. package/dist/engine/agentRetention.d.ts.map +1 -0
  20. package/dist/engine/agentRetention.js +117 -0
  21. package/dist/engine/agentRetention.js.map +1 -0
  22. package/dist/engine/delivery.d.ts.map +1 -1
  23. package/dist/engine/delivery.js +6 -1
  24. package/dist/engine/delivery.js.map +1 -1
  25. package/dist/engine/node.d.ts +51 -28
  26. package/dist/engine/node.d.ts.map +1 -1
  27. package/dist/engine/node.js +140 -10
  28. package/dist/engine/node.js.map +1 -1
  29. package/dist/engine/retention.d.ts +12 -0
  30. package/dist/engine/retention.d.ts.map +1 -1
  31. package/dist/engine/retention.js +3 -0
  32. package/dist/engine/retention.js.map +1 -1
  33. package/dist/engine/rowidRetention.d.ts +33 -0
  34. package/dist/engine/rowidRetention.d.ts.map +1 -0
  35. package/dist/engine/rowidRetention.js +190 -0
  36. package/dist/engine/rowidRetention.js.map +1 -0
  37. package/dist/engine/sessionEvent.d.ts +54 -1
  38. package/dist/engine/sessionEvent.d.ts.map +1 -1
  39. package/dist/engine/sessionEvent.js +195 -2
  40. package/dist/engine/sessionEvent.js.map +1 -1
  41. package/dist/engine/workspace.d.ts +8 -9
  42. package/dist/engine/workspace.d.ts.map +1 -1
  43. package/dist/engine/workspace.js +11 -18
  44. package/dist/engine/workspace.js.map +1 -1
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/ports/index.d.ts +7 -0
  49. package/dist/ports/index.d.ts.map +1 -1
  50. package/dist/ports/realtime.d.ts +7 -2
  51. package/dist/ports/realtime.d.ts.map +1 -1
  52. package/dist/ports/realtime.js.map +1 -1
  53. package/dist/routes/agent.d.ts.map +1 -1
  54. package/dist/routes/agent.js +113 -10
  55. package/dist/routes/agent.js.map +1 -1
  56. package/dist/routes/deliveryRouting.d.ts +1 -0
  57. package/dist/routes/deliveryRouting.d.ts.map +1 -1
  58. package/dist/routes/deliveryRouting.js +8 -4
  59. package/dist/routes/deliveryRouting.js.map +1 -1
  60. package/dist/routes/node.js +39 -15
  61. package/dist/routes/node.js.map +1 -1
  62. package/dist/routes/workspace.js +4 -4
  63. package/dist/routes/workspace.js.map +1 -1
  64. package/package.json +3 -3
@@ -121,6 +121,7 @@ export async function createWorkspace(db, name, options) {
121
121
  const providedOwnerApiKey = typeof options === 'string' ? options : options?.ownerApiKey;
122
122
  const bootstrapSecret = typeof options === 'string' ? undefined : options?.bootstrapSecret;
123
123
  const bootstrapSecretProof = typeof options === 'string' ? undefined : options?.bootstrapSecretProof;
124
+ const bootstrapProofRequired = typeof options === 'string' ? false : options?.bootstrapProofRequired === true;
124
125
  const expiresAt = typeof options === 'string' ? undefined : options?.expiresAt;
125
126
  const derivedOwnerApiKeyHash = providedOwnerApiKey ? await hashApiKey(providedOwnerApiKey) : undefined;
126
127
  if (providedOwnerApiKeyHash && derivedOwnerApiKeyHash && providedOwnerApiKeyHash !== derivedOwnerApiKeyHash) {
@@ -135,30 +136,22 @@ export async function createWorkspace(db, name, options) {
135
136
  if (idempotencyKey && !requestDigest) {
136
137
  throw codedError('A request digest is required for workspace create idempotency', 'workspace_create_idempotency_digest_required', 400);
137
138
  }
138
- // relaycast#379: an anonymous bootstrap Idempotency-Key stands in for a
139
- // caller identity — together with X-Workspace-Bootstrap-Secret, it is
140
- // part of what authorizes recovering a binding. Callers must generate it
141
- // with a CSPRNG; this length-only structural floor is checked before any
142
- // secret or database work and cannot prove the key was actually random.
139
+ // An anonymous bootstrap Idempotency-Key is a reveal-once recovery
140
+ // capability. Callers must generate it with a CSPRNG; this length-only
141
+ // structural floor is checked before any secret or database work and cannot
142
+ // prove the key was actually random.
143
143
  if (bootstrapIdempotency && idempotencyKey.length < MIN_BOOTSTRAP_IDEMPOTENCY_KEY_LENGTH) {
144
144
  throw codedError(`Anonymous Idempotency-Key must be at least ${MIN_BOOTSTRAP_IDEMPOTENCY_KEY_LENGTH} characters. Generate it with a CSPRNG, such as a v4 UUID, 16 random bytes hex-encoded, or at least 24 random bytes base64url-encoded.`, 'workspace_create_idempotency_key_too_weak', 400);
145
145
  }
146
146
  if (bootstrapIdempotency && !bootstrapSecret) {
147
147
  throw codedError('Anonymous workspace create idempotency is not configured on this deployment', 'workspace_create_idempotency_unavailable', 503);
148
148
  }
149
- // The Idempotency-Key is a caller-chosen, non-secret correlator, not proof
150
- // of identity: without this check, any network peer who guesses or
151
- // observes a low-entropy or leaked key (plus the fully public request
152
- // digest) could replay another caller's anonymous bootstrap create and
153
- // receive its deterministic child API key before — or instead of — the
154
- // legitimate caller. Only a caller who also proves knowledge of the
155
- // deployment's own bootstrap secret may look up or recover a bootstrap
156
- // binding. The proof is checked with a constant-time comparison and before
157
- // any binding lookup, so neither timing nor a binding's existence leaks to
158
- // a caller who does not hold the secret. The container/self-host entrypoint
159
- // and any other trusted caller hold the same configured secret, so replay
160
- // across restarts stays fully stable for them.
161
- if (bootstrapIdempotency && bootstrapSecret) {
149
+ // Hosted callers must never receive a deployment-wide secret. Their
150
+ // CSPRNG-generated Idempotency-Key is the narrow recovery capability, while
151
+ // bootstrapSecret remains server-only HMAC material for deterministic child
152
+ // key derivation. A self-host may retain the former shared-secret proof as
153
+ // an explicit hardening policy; check it before any binding lookup.
154
+ if (bootstrapIdempotency && bootstrapSecret && bootstrapProofRequired) {
162
155
  if (!bootstrapSecretProof || !(await constantTimeEqual(bootstrapSecretProof, bootstrapSecret))) {
163
156
  throw codedError('A valid workspace bootstrap secret is required for anonymous idempotent workspace creation', 'workspace_create_bootstrap_secret_invalid', 401);
164
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/engine/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/engine/workspace.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,6 +24,7 @@ export { enqueueEvent, claimDueEvents, completeEvent, failEvent, rescheduleEvent
24
24
  export type { ClaimedEvent, SweptEvent } from './engine/eventQueue.js';
25
25
  export { pruneExpired, resolveEffectiveMessageRetention, DEFAULT_DELIVERY_TTL_DAYS, DEFAULT_MESSAGE_LOG_TTL_DAYS, DEFAULT_WORKSPACE_EVENT_TTL_DAYS, } from './engine/retention.js';
26
26
  export type { PruneOptions, PruneResult, RetentionDefaults } from './engine/retention.js';
27
+ export type { RetentionCursorStore, RowidRetentionState } from './engine/rowidRetention.js';
27
28
  export type { WorkspaceRetentionSettings } from './db/schema.js';
28
29
  export { reapExpiredWorkspaces, drainFileCleanup, DEFAULT_WORKSPACE_REAP_LIMIT, DEFAULT_FILE_CLEANUP_LIMIT, } from './engine/workspace.js';
29
30
  export { appendWorkspaceEvent, appendAndPublishWorkspaceEvent, listWorkspaceEvents, WORKSPACE_EVENT_LIST_DEFAULT_LIMIT, WORKSPACE_EVENT_LIST_MAX_LIMIT, } from './engine/workspaceEvents.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAgB,CAAC;AAE/C,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiC3C,4DAA4D;AAC5D,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,yDAAyD;AACzD,OAAO,EAAE,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wEAAwE;AACxE,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,yCAAyC;AACzC,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAElG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;AACzE,4CAA4C;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,yEAAyE;AACzE,8EAA8E;AAC9E,4EAA4E;AAC5E,qBAAqB;AACrB,OAAO,EACL,YAAY,EACZ,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAI/B,yEAAyE;AACzE,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,2EAA2E;AAC3E,+EAA+E;AAC/E,8BAA8B;AAC9B,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,kCAAkC,EAClC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAGrC,iBAAiB;AACjB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAgB,CAAC;AAE/C,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiC3C,4DAA4D;AAC5D,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,yDAAyD;AACzD,OAAO,EAAE,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wEAAwE;AACxE,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,yCAAyC;AACzC,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAElG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;AACzE,4CAA4C;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,yEAAyE;AACzE,8EAA8E;AAC9E,4EAA4E;AAC5E,qBAAqB;AACrB,OAAO,EACL,YAAY,EACZ,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAK/B,yEAAyE;AACzE,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,2EAA2E;AAC3E,+EAA+E;AAC/E,8BAA8B;AAC9B,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,kCAAkC,EAClC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAGrC,iBAAiB;AACjB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC"}
@@ -86,6 +86,13 @@ export interface EngineConfig {
86
86
  * after a process restart recovers the same child credential.
87
87
  */
88
88
  workspaceBootstrapSecret?: string;
89
+ /**
90
+ * Require callers of anonymous keyed workspace creation to prove knowledge
91
+ * of `workspaceBootstrapSecret`. This optional self-host hardening mode is
92
+ * off for hosted deployments, where the high-entropy Idempotency-Key is the
93
+ * narrowly scoped recovery capability and the secret remains server-only.
94
+ */
95
+ workspaceBootstrapProofRequired?: boolean;
89
96
  /**
90
97
  * Optional egress proxy for http_push node delivery. When set, nodes that
91
98
  * register with `delivery.use_proxy: true` have their webhook POST routed
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
@@ -75,12 +75,17 @@ export interface AgentActionProviderAuthorization {
75
75
  recordAttempt: boolean;
76
76
  }
77
77
  /** Exact token-generation proof for a release accepted by the socket owner. */
78
- export interface ReleaseActionProviderAuthorization {
78
+ export type ReleaseActionProviderAuthorization = {
79
79
  kind: 'release-generation-v1';
80
80
  invocationId: string;
81
81
  agentName: string;
82
+ } & ({
82
83
  expectedTokenHash: string;
83
- }
84
+ expectedAgentId?: string;
85
+ } | {
86
+ expectedTokenHash?: string;
87
+ expectedAgentId: string;
88
+ });
84
89
  /** Legacy registered action proof, retained only so current owners fail it closed. */
85
90
  export interface LegacyRegisteredNodeActionProviderAuthorization {
86
91
  kind: 'registered-node-action-v1';
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkQH,oFAAoF;AACpF,MAAM,UAAU,4BAA4B,CAC1C,QAAgC,EAChC,WAAmB,EACnB,MAAc,EACd,YAAoB,EACpB,OAAe;IAEf,OAAO,QAAQ,CAAC,4BAA4B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;AACrG,CAAC"}
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoQH,oFAAoF;AACpF,MAAM,UAAU,4BAA4B,CAC1C,QAAgC,EAChC,WAAmB,EACnB,MAAc,EACd,YAAoB,EACpB,OAAe;IAEf,OAAO,QAAQ,CAAC,4BAA4B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;AACrG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAgCxC,eAAO,MAAM,WAAW,qDAAqB,CAAC"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAmCxC,eAAO,MAAM,WAAW,qDAAqB,CAAC"}
@@ -2,9 +2,10 @@ import { Hono } from 'hono';
2
2
  import { z } from 'zod';
3
3
  import { and, eq } from 'drizzle-orm';
4
4
  import { AGENT_TOKEN_HASH_PATTERN, AgentTypeSchema, CliTypeSchema } from '@relaycast/types';
5
- import { requireWorkspaceKey, requireAuth, requireAgentToken, requireWorkspaceRead } from '../middleware/auth.js';
5
+ import { requireWorkspaceKey, requireAuth, requireAgentToken, requireSender, requireWorkspaceRead } from '../middleware/auth.js';
6
6
  import { rateLimit } from '../middleware/rateLimit.js';
7
7
  import * as agentEngine from '../engine/agent.js';
8
+ import { agentRetentionSchema, retainAgents } from '../engine/agentRetention.js';
8
9
  import * as agentIdentityEngine from '../engine/agentIdentity.js';
9
10
  import * as nodeEngine from '../engine/node.js';
10
11
  import * as actionEngine from '../engine/action.js';
@@ -15,11 +16,30 @@ import { fanoutPresence, fanoutToAgents, fanoutToWorkspace } from './fanout.js';
15
16
  import { runInBackground } from './background.js';
16
17
  import { sendWebhookEvent } from './webhookOutbox.js';
17
18
  import { emitServerEvent } from '../lib/serverTelemetry.js';
19
+ import { jsonIdempotentOk, parseIdempotencyKey } from '../middleware/idempotency.js';
18
20
  import { errorResponse } from '../lib/httpError.js';
21
+ import { D1WriteRetryExhaustedError } from '../lib/d1Retry.js';
19
22
  import { jsonCreated, jsonError, jsonNoContent, jsonNotFound, jsonOk, parseJsonBody, parseQueryParams, } from '../lib/httpResponse.js';
20
23
  import { positiveIntQueryParam } from '../lib/httpQuery.js';
21
24
  import { agents } from '../db/schema.js';
22
25
  export const agentRoutes = new Hono();
26
+ // Explicit workspace-admin maintenance; never run implicitly on roster reads.
27
+ agentRoutes.post('/agents/retention', requireWorkspaceKey, rateLimit, async (c) => {
28
+ try {
29
+ const parsed = await parseJsonBody(c, agentRetentionSchema, 'invalid agent retention body');
30
+ if (!parsed.ok)
31
+ return parsed.response;
32
+ const cursor = parsed.data.cursor;
33
+ if (cursor && (cursor.workspace_id !== c.get('workspace').id
34
+ || cursor.cutoff > Math.max(0, Math.floor(Date.now() / 1000) - parsed.data.retention_days * 86400))) {
35
+ return jsonError(c, 'invalid_request', 'Retention cursor does not match workspace or policy', 400);
36
+ }
37
+ return jsonOk(c, await retainAgents(c.get('db'), c.get('workspace').id, parsed.data));
38
+ }
39
+ catch (err) {
40
+ return errorResponse(c, err);
41
+ }
42
+ });
23
43
  const skillSchema = z.object({
24
44
  id: z.string().min(1).optional(),
25
45
  name: z.string().min(1),
@@ -95,6 +115,9 @@ const releaseAgentSchema = z.object({
95
115
  delete_agent: z.boolean().optional(),
96
116
  expected_token_hash: z.string().regex(AGENT_TOKEN_HASH_PATTERN).optional(),
97
117
  });
118
+ const exactReleaseAgentSchema = releaseAgentSchema.extend({
119
+ expected_agent_id: z.string().min(1),
120
+ });
98
121
  const listSessionEventsQuerySchema = z.object({
99
122
  type: z.string().optional(),
100
123
  limit: positiveIntQueryParam({ defaultValue: 100, max: 500 }),
@@ -635,6 +658,9 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
635
658
  return parsed.response;
636
659
  }
637
660
  const { type, payload } = parsed.data;
661
+ const { key: idempotencyKey, error: idempotencyError } = parseIdempotencyKey(c.req.header('Idempotency-Key'));
662
+ if (idempotencyError)
663
+ return jsonError(c, 'invalid_idempotency_key', idempotencyError, 400);
638
664
  if (!sessionEventEngine.isValidEventType(type)) {
639
665
  return jsonError(c, 'invalid_event_type', `Unknown event type: ${type}`, 400);
640
666
  }
@@ -660,15 +686,26 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
660
686
  return jsonError(c, 'invalid_request', `Invalid status value: "${newStatus}". Must be one of: ${[...VALID_STATUSES].join(', ')}`, 400);
661
687
  }
662
688
  }
663
- const event = await sessionEventEngine.recordSessionEvent(db, workspace.id, agentRecord.id, {
664
- type,
665
- payload,
666
- });
667
- // Update agent status after the event is durably written
668
- if (type.startsWith('status.')) {
689
+ const recorded = idempotencyKey
690
+ ? await sessionEventEngine.recordSessionEventWithIdempotency(db, workspace.id, agentRecord.id, { type, payload }, idempotencyKey)
691
+ : await sessionEventEngine.recordSessionEvent(db, workspace.id, agentRecord.id, { type, payload });
692
+ const { event, replayed, pendingStatusApplication } = recorded;
693
+ // Apply the agent status mutation and durably mark it complete as one
694
+ // atomic unit (see `applyStatusEventEffect`). `pendingStatusApplication`
695
+ // is true both for a fresh event and for a replay whose status write
696
+ // never completed (crash between the durable event claim and the agent
697
+ // update) — either way this finishes the interrupted mutation instead
698
+ // of returning 201 against a stale agent row.
699
+ let statusApplied = false;
700
+ if (pendingStatusApplication && type.startsWith('status.')) {
701
+ const resolved = sessionEventEngine.resolveStatusFromEvent(type);
702
+ const newStatus = resolved ?? payload.status;
703
+ const effect = await sessionEventEngine.applyStatusEventEffect(db, workspace.id, agentRecord.id, event.id, newStatus);
704
+ statusApplied = effect.mutated;
705
+ }
706
+ if (statusApplied) {
669
707
  const resolved = sessionEventEngine.resolveStatusFromEvent(type);
670
708
  const newStatus = resolved ?? payload.status;
671
- await agentEngine.updateAgent(db, workspace.id, name, { status: newStatus });
672
709
  const eventType = type === 'status.changed' ? 'agent.status.changed' : `agent.status.${canonicalStatus(newStatus) ?? newStatus}`;
673
710
  const eventData = {
674
711
  agent_id: agentRecord.id,
@@ -684,7 +721,7 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
684
721
  data: eventData,
685
722
  });
686
723
  }
687
- if (!type.startsWith('status.')) {
724
+ if (!replayed && !type.startsWith('status.')) {
688
725
  const { type: _sessionEventType, ...eventWithoutType } = event;
689
726
  const eventData = { agent_name: name, ...eventWithoutType };
690
727
  runInBackground(c, fanoutToWorkspace(c, `harness.${type}`, eventData), `fanout harness.${type}`);
@@ -694,7 +731,7 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
694
731
  data: eventData,
695
732
  });
696
733
  }
697
- return jsonCreated(c, event);
734
+ return jsonIdempotentOk(c, { status: 201, data: event, replayed });
698
735
  }
699
736
  catch (err) {
700
737
  return errorResponse(c, err);
@@ -778,4 +815,70 @@ agentRoutes.post('/agents/release', requireAuth, rateLimit, async (c) => {
778
815
  return errorResponse(c, err);
779
816
  }
780
817
  });
818
+ // POST /v1/agents/release-exact - durable, immutable-identity release reconciliation.
819
+ //
820
+ // This intentionally does not alter the legacy name-only route. A broker that
821
+ // has lost its local process handle must opt into the stricter contract and
822
+ // persist this idempotency key before it starts retrying.
823
+ agentRoutes.post('/agents/release-exact', requireSender, rateLimit, async (c) => {
824
+ try {
825
+ const db = c.get('db');
826
+ const workspace = c.get('workspace');
827
+ const callerAgent = c.get('agent');
828
+ const callerNode = c.get('node');
829
+ const parsed = await parseJsonBody(c, exactReleaseAgentSchema, 'name and expected_agent_id are required');
830
+ if (!parsed.ok)
831
+ return parsed.response;
832
+ const { key: idempotencyKey, error: idempotencyError } = parseIdempotencyKey(c.req.header('Idempotency-Key'));
833
+ if (idempotencyError)
834
+ return jsonError(c, 'invalid_idempotency_key', idempotencyError, 400);
835
+ if (!idempotencyKey)
836
+ return jsonError(c, 'idempotency_key_required', 'Idempotency-Key is required for exact agent release', 400);
837
+ if (callerAgent?.id === parsed.data.expected_agent_id && parsed.data.delete_agent === true) {
838
+ return jsonError(c, 'agent_self_release_requires_workspace_key', 'Self-release with delete_agent requires a workspace or node credential', 400);
839
+ }
840
+ const result = await actionEngine.dispatchAgentRelease(db, workspace.id, {
841
+ input: {
842
+ name: parsed.data.name,
843
+ reason: parsed.data.reason ?? null,
844
+ delete_agent: parsed.data.delete_agent === true,
845
+ expected_agent_id: parsed.data.expected_agent_id,
846
+ ...(parsed.data.expected_token_hash ? { expected_token_hash: parsed.data.expected_token_hash } : {}),
847
+ },
848
+ // A workspace key has no agent FK. Keep the audit caller null while
849
+ // the separate durable scope below owns its idempotency namespace.
850
+ caller_id: callerAgent?.id,
851
+ caller_name: callerAgent?.name ?? callerNode?.name ?? 'workspace',
852
+ }, {
853
+ nodeConnections: c.get('engine').nodeConnections,
854
+ completionDeps: c.get('engine'),
855
+ idempotencyKey,
856
+ idempotencyActorId: callerAgent?.id ?? callerNode?.id ?? 'workspace-key',
857
+ });
858
+ const replayed = actionEngine.wasInvocationReplayed(result);
859
+ if (!replayed) {
860
+ await sendWebhookEvent(c, {
861
+ type: 'action.invoked',
862
+ workspaceId: workspace.id,
863
+ data: {
864
+ invocation_id: result.invocation_id,
865
+ action_name: result.action_name,
866
+ caller_name: callerAgent?.name ?? callerNode?.name ?? 'workspace',
867
+ handler_agent_id: result.handler_agent_id,
868
+ handler_node_id: result.handler_node_id,
869
+ },
870
+ });
871
+ }
872
+ return jsonIdempotentOk(c, { status: 201, data: result, replayed });
873
+ }
874
+ catch (err) {
875
+ if (err instanceof D1WriteRetryExhaustedError) {
876
+ // The storage layer has already spent its bounded retry budget. An
877
+ // exact keyed operation is safe to retry only after this delay.
878
+ c.header('Retry-After', '1');
879
+ return jsonError(c, 'database_overloaded', 'Release database is temporarily overloaded', 503);
880
+ }
881
+ return errorResponse(c, err);
882
+ }
883
+ });
781
884
  //# sourceMappingURL=agent.js.map