@relaycast/engine 8.9.1 → 8.10.1

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 (117) hide show
  1. package/dist/adapters/node/index.d.ts.map +1 -1
  2. package/dist/adapters/node/index.js +6 -0
  3. package/dist/adapters/node/index.js.map +1 -1
  4. package/dist/db/migrations/0057_a2a_egress.sql +20 -0
  5. package/dist/db/migrations/0058_a2a_egress_context.sql +8 -0
  6. package/dist/db/migrations/0059_a2a_inbound_admission.sql +26 -0
  7. package/dist/db/schema.d.ts +603 -0
  8. package/dist/db/schema.d.ts.map +1 -1
  9. package/dist/db/schema.js +34 -0
  10. package/dist/db/schema.js.map +1 -1
  11. package/dist/engine/a2a.d.ts +4 -1
  12. package/dist/engine/a2a.d.ts.map +1 -1
  13. package/dist/engine/a2a.js +43 -6
  14. package/dist/engine/a2a.js.map +1 -1
  15. package/dist/engine/a2aEgress.d.ts +19 -0
  16. package/dist/engine/a2aEgress.d.ts.map +1 -0
  17. package/dist/engine/a2aEgress.js +118 -0
  18. package/dist/engine/a2aEgress.js.map +1 -0
  19. package/dist/engine/action.d.ts.map +1 -1
  20. package/dist/engine/action.js +17 -2
  21. package/dist/engine/action.js.map +1 -1
  22. package/dist/engine/delivery.d.ts +2 -0
  23. package/dist/engine/delivery.d.ts.map +1 -1
  24. package/dist/engine/delivery.js +16 -1
  25. package/dist/engine/delivery.js.map +1 -1
  26. package/dist/engine/deliveryWire.d.ts.map +1 -1
  27. package/dist/engine/deliveryWire.js +1 -1
  28. package/dist/engine/deliveryWire.js.map +1 -1
  29. package/dist/engine/deliveryWrites.d.ts +9 -0
  30. package/dist/engine/deliveryWrites.d.ts.map +1 -1
  31. package/dist/engine/deliveryWrites.js +70 -19
  32. package/dist/engine/deliveryWrites.js.map +1 -1
  33. package/dist/engine/dm.d.ts +47 -8
  34. package/dist/engine/dm.d.ts.map +1 -1
  35. package/dist/engine/dm.js +239 -42
  36. package/dist/engine/dm.js.map +1 -1
  37. package/dist/engine/groupDm.d.ts +2 -0
  38. package/dist/engine/groupDm.d.ts.map +1 -1
  39. package/dist/engine/groupDm.js +2 -1
  40. package/dist/engine/groupDm.js.map +1 -1
  41. package/dist/engine/inboundWebhook.d.ts +3 -0
  42. package/dist/engine/inboundWebhook.d.ts.map +1 -1
  43. package/dist/engine/inboundWebhook.js +7 -1
  44. package/dist/engine/inboundWebhook.js.map +1 -1
  45. package/dist/engine/message.d.ts +2 -0
  46. package/dist/engine/message.d.ts.map +1 -1
  47. package/dist/engine/message.js +2 -1
  48. package/dist/engine/message.js.map +1 -1
  49. package/dist/engine/node.d.ts +2 -2
  50. package/dist/engine/thread.d.ts +2 -0
  51. package/dist/engine/thread.d.ts.map +1 -1
  52. package/dist/engine/thread.js +3 -1
  53. package/dist/engine/thread.js.map +1 -1
  54. package/dist/engine/workspaceDeliveryPolicy.d.ts +91 -0
  55. package/dist/engine/workspaceDeliveryPolicy.d.ts.map +1 -0
  56. package/dist/engine/workspaceDeliveryPolicy.js +130 -0
  57. package/dist/engine/workspaceDeliveryPolicy.js.map +1 -0
  58. package/dist/engine/workspaceEvents.d.ts +120 -0
  59. package/dist/engine/workspaceEvents.d.ts.map +1 -1
  60. package/dist/engine/workspaceEvents.js +8 -10
  61. package/dist/engine/workspaceEvents.js.map +1 -1
  62. package/dist/index.d.ts +3 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +2 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/lib/httpError.d.ts +1 -1
  67. package/dist/lib/httpError.d.ts.map +1 -1
  68. package/dist/lib/httpError.js +2 -0
  69. package/dist/lib/httpError.js.map +1 -1
  70. package/dist/lib/httpResponse.d.ts +6 -6
  71. package/dist/middleware/idempotency.d.ts +15 -10
  72. package/dist/middleware/idempotency.d.ts.map +1 -1
  73. package/dist/middleware/idempotency.js +9 -9
  74. package/dist/middleware/idempotency.js.map +1 -1
  75. package/dist/ports/database.d.ts +4 -20
  76. package/dist/ports/database.d.ts.map +1 -1
  77. package/dist/ports/database.js +28 -7
  78. package/dist/ports/database.js.map +1 -1
  79. package/dist/ports/index.d.ts +9 -0
  80. package/dist/ports/index.d.ts.map +1 -1
  81. package/dist/ports/workspaceDelivery.d.ts +31 -0
  82. package/dist/ports/workspaceDelivery.d.ts.map +1 -0
  83. package/dist/ports/workspaceDelivery.js +2 -0
  84. package/dist/ports/workspaceDelivery.js.map +1 -0
  85. package/dist/routes/a2a.d.ts.map +1 -1
  86. package/dist/routes/a2a.js +162 -26
  87. package/dist/routes/a2a.js.map +1 -1
  88. package/dist/routes/delivery.d.ts.map +1 -1
  89. package/dist/routes/delivery.js +15 -4
  90. package/dist/routes/delivery.js.map +1 -1
  91. package/dist/routes/deliveryRouting.d.ts +1 -1
  92. package/dist/routes/deliveryRouting.d.ts.map +1 -1
  93. package/dist/routes/deliveryRouting.js +8 -7
  94. package/dist/routes/deliveryRouting.js.map +1 -1
  95. package/dist/routes/dm.d.ts.map +1 -1
  96. package/dist/routes/dm.js +27 -8
  97. package/dist/routes/dm.js.map +1 -1
  98. package/dist/routes/fanout.d.ts +1 -1
  99. package/dist/routes/fanout.d.ts.map +1 -1
  100. package/dist/routes/fanout.js +2 -2
  101. package/dist/routes/fanout.js.map +1 -1
  102. package/dist/routes/groupDm.d.ts.map +1 -1
  103. package/dist/routes/groupDm.js +3 -2
  104. package/dist/routes/groupDm.js.map +1 -1
  105. package/dist/routes/inboundWebhook.d.ts.map +1 -1
  106. package/dist/routes/inboundWebhook.js +5 -1
  107. package/dist/routes/inboundWebhook.js.map +1 -1
  108. package/dist/routes/message.d.ts.map +1 -1
  109. package/dist/routes/message.js +3 -1
  110. package/dist/routes/message.js.map +1 -1
  111. package/dist/routes/relayfileInbound.d.ts.map +1 -1
  112. package/dist/routes/relayfileInbound.js +9 -3
  113. package/dist/routes/relayfileInbound.js.map +1 -1
  114. package/dist/routes/thread.d.ts.map +1 -1
  115. package/dist/routes/thread.js +3 -1
  116. package/dist/routes/thread.js.map +1 -1
  117. package/package.json +5 -4
@@ -8,6 +8,7 @@ import { displayAgentName, publicMessageMetadata } from './messageMetadata.js';
8
8
  import { toIso } from '../lib/serialize.js';
9
9
  import { readNodeRedriveCandidates } from './nodeRedriveCandidates.js';
10
10
  import { fetchAttachmentsBatch } from './attachments.js';
11
+ import { workspaceActiveDepthSql, workspaceGrowthLimit, WorkspaceDeliveryCapacityError, } from './workspaceDeliveryPolicy.js';
11
12
  // SQL-wrapped columns retain Drizzle's timestamp/boolean decoders when FROM
12
13
  // includes an explicit SQLite INDEXED BY clause rather than a table object.
13
14
  const indexedDeliveryColumns = Object.fromEntries(Object.entries(getTableColumns(deliveries)).map(([name, column]) => [name, sql `${column}`.mapWith(column)]));
@@ -200,6 +201,14 @@ export async function deferDelivery(db, workspaceId, agentId, deliveryId, opts)
200
201
  // UPDATE makes it atomic — identical concurrent defers match no row on the
201
202
  // loser and report `changed: false`, so no duplicate event fires.
202
203
  const isNoop = and(eq(deliveries.status, 'queued'), eq(deliveries.availableAt, opts.availableAt), reasonMatches);
204
+ // A failed→queued deferral resurrects a row that was NOT counted in active
205
+ // workspace depth, so it grows the workspace by one. Guard it in the UPDATE
206
+ // itself (not a preflight read) so concurrent restorations cannot overbook.
207
+ // Delta=0 transitions (queued→queued, repeated/no-op defers) stay allowed
208
+ // even at/over cap, and terminal failures are never blocked from draining.
209
+ const workspaceCapacityOk = opts.workspacePolicy
210
+ ? sql `(${deliveries.status} <> 'failed' OR ${deliveries.expiresAt} <= unixepoch() OR (${workspaceActiveDepthSql(workspaceId)}) < ${workspaceGrowthLimit(opts.workspacePolicy, 'targeted')})`
211
+ : undefined;
203
212
  const [updated] = await db
204
213
  .update(deliveries)
205
214
  .set({
@@ -208,8 +217,14 @@ export async function deferDelivery(db, workspaceId, agentId, deliveryId, opts)
208
217
  reason: targetReason,
209
218
  updatedAt: new Date(),
210
219
  })
211
- .where(and(eq(deliveries.id, deliveryId), notInArray(deliveries.status, ['acked', 'dead_lettered']), not(isNoop)))
220
+ .where(and(eq(deliveries.id, deliveryId), notInArray(deliveries.status, ['acked', 'dead_lettered']), not(isNoop), workspaceCapacityOk))
212
221
  .returning();
222
+ if (!updated && opts.workspacePolicy) {
223
+ const current = await getOwnedDelivery(db, workspaceId, agentId, deliveryId);
224
+ if (current?.status === 'failed' && (!current.expiresAt || current.expiresAt.getTime() > Date.now())) {
225
+ throw new WorkspaceDeliveryCapacityError('Workspace delivery depth cap prevents restoring a failed delivery');
226
+ }
227
+ }
213
228
  return resolveTransition(db, workspaceId, agentId, deliveryId, updated, existing.channelId);
214
229
  }
215
230
  async function markRowsRead(tx, agentId, rows) {
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deliveryWire.d.ts","sourceRoot":"","sources":["../../src/engine/deliveryWire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAclE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAE7G;AAgBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACvE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;;;;;;;;;;EAYA"}
1
+ {"version":3,"file":"deliveryWire.d.ts","sourceRoot":"","sources":["../../src/engine/deliveryWire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAclE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAE7G;AAkBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACvE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;;;;;;;;;;EAYA"}
@@ -22,7 +22,7 @@ export function buildDeliverPayload(eventType, eventData) {
22
22
  return toFleetWireJson({ type: eventType, data: eventData });
23
23
  }
24
24
  function stripDeliveryInternals(data) {
25
- const { _deliveries: _dropDeliveries, _delivery_rejections: _dropRejections, _delivery: _dropDelivery, ...publicData } = data;
25
+ const { _deliveries: _dropDeliveries, _delivery_rejections: _dropRejections, _notifications_durable: _dropNotifications, _delivery: _dropDelivery, ...publicData } = data;
26
26
  return publicData;
27
27
  }
28
28
  export function buildMessageCreatedEventData(data, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"deliveryWire.js","sourceRoot":"","sources":["../../src/engine/deliveryWire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deliveryWire.js","sourceRoot":"","sources":["../../src/engine/deliveryWire.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { AtomicWrite, EngineDb } from '../ports/database.js';
2
+ import { type DeliveryAudience, type WorkspaceDeliveryPolicy } from './workspaceDeliveryPolicy.js';
2
3
  type DeliveryMode = 'immediate' | 'next-tool-call';
3
4
  type ChannelDeliveryReason = 'message' | 'mention' | 'thread-reply';
4
5
  export interface DeliveryFanoutRecord {
@@ -42,6 +43,10 @@ export declare function buildChannelDeliveryWrite(db: EngineDb, input: {
42
43
  mentionHandles?: readonly string[];
43
44
  /** Abort the enclosing atomic write when ANY recipient has no capacity. */
44
45
  rejectOnOverflow?: boolean;
46
+ /** Server-resolved workspace growth policy; absent => no workspace guard. */
47
+ workspacePolicy?: WorkspaceDeliveryPolicy;
48
+ /** Server-classified audience; broadcasts may not consume the reserve. */
49
+ audience?: DeliveryAudience;
45
50
  }): AtomicWrite;
46
51
  export declare function buildGroupDmDeliveryWrite(db: EngineDb, input: {
47
52
  workspaceId: string;
@@ -51,6 +56,8 @@ export declare function buildGroupDmDeliveryWrite(db: EngineDb, input: {
51
56
  mode: DeliveryMode;
52
57
  ttlMs: number;
53
58
  depthCap: number;
59
+ /** Server-resolved workspace growth policy; absent => no workspace guard. */
60
+ workspacePolicy?: WorkspaceDeliveryPolicy;
54
61
  }): AtomicWrite;
55
62
  export declare function buildDirectDeliveryWrite(db: EngineDb, input: {
56
63
  workspaceId: string;
@@ -61,6 +68,8 @@ export declare function buildDirectDeliveryWrite(db: EngineDb, input: {
61
68
  ttlMs: number;
62
69
  depthCap: number;
63
70
  deliveryId?: string;
71
+ /** Server-resolved workspace growth policy; absent => no workspace guard. */
72
+ workspacePolicy?: WorkspaceDeliveryPolicy;
64
73
  }): AtomicWrite;
65
74
  export declare function fetchDeliveryFanoutRecords(db: EngineDb, messageId: string): Promise<DeliveryFanoutRecord[]>;
66
75
  export declare function fetchChannelDeliveryOutcomes(db: EngineDb, input: {
@@ -1 +1 @@
1
- {"version":3,"file":"deliveryWrites.d.ts","sourceRoot":"","sources":["../../src/engine/deliveryWrites.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAElE,KAAK,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;AACnD,KAAK,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAGpE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,UAAU,EAAE,uBAAuB,EAAE,CAAC;CACvC;AA+DD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,WAAW,CAqEb;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,WAAW,CA2Db;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,WAAW,CAsDb;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAwCjC;AAoBD,wBAAsB,4BAA4B,CAChD,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GACA,OAAO,CAAC,sBAAsB,CAAC,CAqBjC;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC,sBAAsB,CAAC,CAoBjC;AAED,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,sBAAsB,CAAC,CAejC"}
1
+ {"version":3,"file":"deliveryWrites.d.ts","sourceRoot":"","sources":["../../src/engine/deliveryWrites.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { and, eq, isNull, ne, or, sql, inArray } from 'drizzle-orm';
1
+ import { and, eq, isNull, ne, or, sql, inArray, getTableColumns } from 'drizzle-orm';
2
2
  import { agentNodeBindings, agents, channelMembers, deliveries, dmParticipants, nodes, } from '../db/schema.js';
3
+ import { workspaceActiveDepthSql, workspaceGrowthLimit, } from './workspaceDeliveryPolicy.js';
3
4
  function deliveryId(messageId, agentId) {
4
5
  return sql `'del_' || ${messageId} || '_' || ${agentId}`;
5
6
  }
@@ -16,8 +17,26 @@ function channelMuteDeliveryFilter(mentionHandles) {
16
17
  }
17
18
  return or(eq(channelMembers.isMuted, false), inArray(agents.name, mentionHandles));
18
19
  }
19
- function asDeliveryInsertSelect(query) {
20
- return query;
20
+ /** Materialize the exact rows that will be inserted, including routing, mute,
21
+ * mailbox, and duplicate filters. Admission and insertion share this snapshot;
22
+ * neither re-evaluates recipient membership after sequence triggers run.
23
+ */
24
+ function deliveryAdmissionSelect(workspaceId, policy, audience) {
25
+ return (query) => {
26
+ if (!policy)
27
+ return query.getSQL();
28
+ const columns = Object.values(getTableColumns(deliveries));
29
+ const names = sql.join(columns.map(column => sql.identifier(column.name)), sql `, `);
30
+ const values = sql.join(columns.map(column => column.name === 'status'
31
+ ? sql `CASE WHEN capacity_admission.allowed THEN capacity_candidates.status ELSE NULL END`
32
+ : sql `capacity_candidates.${sql.identifier(column.name)}`), sql `, `);
33
+ const limit = workspaceGrowthLimit(policy, audience);
34
+ return sql `WITH capacity_candidates (${names}) AS MATERIALIZED (${query.getSQL()}),
35
+ capacity_admission AS MATERIALIZED (
36
+ SELECT (${workspaceActiveDepthSql(workspaceId)} + (SELECT COUNT(*) FROM capacity_candidates)) <= ${limit} AS allowed
37
+ )
38
+ SELECT ${values} FROM capacity_candidates CROSS JOIN capacity_admission WHERE 1`;
39
+ };
21
40
  }
22
41
  function ttlSeconds(ttlMs) {
23
42
  return Math.max(1, Math.ceil(ttlMs / 1000));
@@ -50,27 +69,53 @@ function belowDepthCapSql(workspaceId, agentId, depthCap) {
50
69
  )
51
70
  ) < ${depthCap}`;
52
71
  }
72
+ /**
73
+ * Compose the `workspace_id` value for a delivery insert.
74
+ *
75
+ * `deliveries.workspace_id` is NOT NULL, so emitting NULL for a failing
76
+ * condition turns it into a real statement error that rolls back the enclosing
77
+ * atomic write — the mechanism the existing `rejectOnOverflow` per-recipient
78
+ * guard already relies on. The workspace growth condition is scalar (constant
79
+ * across the fanout), so when it fails the *whole* broadcast is refused, never
80
+ * silently truncated or partially admitted.
81
+ */
82
+ /** The `workspace_id` sentinel for the per-recipient / required-mailbox guard. */
83
+ function guardedWorkspaceIdSql(args) {
84
+ if (!args.perRecipientOk)
85
+ return sql `${args.workspaceId}`;
86
+ return sql `CASE WHEN ${args.perRecipientOk} THEN ${args.workspaceId} ELSE NULL END`;
87
+ }
88
+ function newDeliveryIdentitySql(messageId, agentId) {
89
+ return sql `NOT EXISTS (SELECT 1 FROM deliveries existing
90
+ WHERE existing.message_id = ${messageId} AND existing.agent_id = ${agentId})`;
91
+ }
53
92
  export function buildChannelDeliveryWrite(db, input) {
54
93
  const mentionHandles = input.mentionHandles ?? [];
55
94
  const reason = channelReasonSql(mentionHandles, input.reason ?? 'message');
95
+ const workspaceId = guardedWorkspaceIdSql({
96
+ workspaceId: input.workspaceId,
97
+ perRecipientOk: input.rejectOnOverflow
98
+ ? belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)
99
+ : undefined,
100
+ });
101
+ const guardedSelect = deliveryAdmissionSelect(input.workspaceId, input.workspacePolicy, input.audience ?? 'broadcast');
102
+ const status = sql `${'queued'}`;
56
103
  return db
57
104
  .insert(deliveries)
58
- .select((qb) => asDeliveryInsertSelect(qb
105
+ .select((qb) => guardedSelect(qb
59
106
  .select({
60
107
  id: deliveryId(input.messageId, channelMembers.agentId),
61
108
  // A NOT NULL guard runs inside the same INSERT SELECT as capacity
62
109
  // evaluation. Unlike a preflight count, it cannot race another send.
63
110
  // The enclosing atomic write rolls back the message and every recipient.
64
- workspaceId: input.rejectOnOverflow
65
- ? sql `CASE WHEN ${belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)} THEN ${input.workspaceId} ELSE NULL END`
66
- : sql `${input.workspaceId}`,
111
+ workspaceId,
67
112
  messageId: sql `${input.messageId}`,
68
113
  agentId: channelMembers.agentId,
69
114
  mode: sql `${input.mode}`,
70
115
  reason,
71
116
  priority: sql `${'normal'}`,
72
117
  deadline: sql `null`,
73
- status: sql `${'queued'}`,
118
+ status,
74
119
  // Migration 0029 installs an AFTER INSERT trigger that advances the
75
120
  // same agent row to this value. Allocation and high-water advancement
76
121
  // therefore happen in one SQLite statement on every adapter.
@@ -99,23 +144,26 @@ export function buildChannelDeliveryWrite(db, input) {
99
144
  .innerJoin(agents, eq(channelMembers.agentId, agents.id))
100
145
  .leftJoin(agentNodeBindings, and(eq(agentNodeBindings.workspaceId, input.workspaceId), eq(agentNodeBindings.agentId, channelMembers.agentId), eq(agentNodeBindings.status, 'active'), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
101
146
  .leftJoin(nodes, and(eq(nodes.workspaceId, input.workspaceId), eq(nodes.id, sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`)))
102
- .where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId), input.rejectOnOverflow ? undefined : belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)))))
147
+ .where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, channelMembers.agentId), input.rejectOnOverflow ? undefined : belowDepthCapSql(input.workspaceId, channelMembers.agentId, input.depthCap)))))
103
148
  .onConflictDoNothing();
104
149
  }
105
150
  export function buildGroupDmDeliveryWrite(db, input) {
151
+ const workspaceId = guardedWorkspaceIdSql({ workspaceId: input.workspaceId });
152
+ const guardedSelect = deliveryAdmissionSelect(input.workspaceId, input.workspacePolicy, 'targeted');
153
+ const status = sql `${'queued'}`;
106
154
  return db
107
155
  .insert(deliveries)
108
- .select((qb) => asDeliveryInsertSelect(qb
156
+ .select((qb) => guardedSelect(qb
109
157
  .select({
110
158
  id: deliveryId(input.messageId, dmParticipants.agentId),
111
- workspaceId: sql `${input.workspaceId}`,
159
+ workspaceId,
112
160
  messageId: sql `${input.messageId}`,
113
161
  agentId: dmParticipants.agentId,
114
162
  mode: sql `${input.mode}`,
115
163
  reason: sql `${'dm'}`,
116
164
  priority: sql `${'normal'}`,
117
165
  deadline: sql `null`,
118
- status: sql `${'queued'}`,
166
+ status,
119
167
  seq: nextDeliverySeqSql(),
120
168
  locationType: sql `CASE WHEN ${agentNodeBindings.nodeId} IS NOT NULL THEN 'via_node' ELSE ${agents.locationType} END`,
121
169
  locationNodeId: sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`,
@@ -141,23 +189,26 @@ export function buildGroupDmDeliveryWrite(db, input) {
141
189
  .innerJoin(agents, eq(dmParticipants.agentId, agents.id))
142
190
  .leftJoin(agentNodeBindings, and(eq(agentNodeBindings.workspaceId, input.workspaceId), eq(agentNodeBindings.agentId, dmParticipants.agentId), eq(agentNodeBindings.status, 'active'), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
143
191
  .leftJoin(nodes, and(eq(nodes.workspaceId, input.workspaceId), eq(nodes.id, sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`)))
144
- .where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId), belowDepthCapSql(input.workspaceId, dmParticipants.agentId, input.depthCap)))))
192
+ .where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, dmParticipants.agentId), belowDepthCapSql(input.workspaceId, dmParticipants.agentId, input.depthCap)))))
145
193
  .onConflictDoNothing();
146
194
  }
147
195
  export function buildDirectDeliveryWrite(db, input) {
196
+ const workspaceId = guardedWorkspaceIdSql({ workspaceId: input.workspaceId });
197
+ const guardedSelect = deliveryAdmissionSelect(input.workspaceId, input.workspacePolicy, 'targeted');
198
+ const status = sql `${'queued'}`;
148
199
  return db
149
200
  .insert(deliveries)
150
- .select((qb) => asDeliveryInsertSelect(qb
201
+ .select((qb) => guardedSelect(qb
151
202
  .select({
152
203
  id: sql `${input.deliveryId ?? `del_${input.messageId}_${input.agentId}`}`,
153
- workspaceId: sql `${input.workspaceId}`,
204
+ workspaceId,
154
205
  messageId: sql `${input.messageId}`,
155
206
  agentId: agents.id,
156
207
  mode: sql `${input.mode}`,
157
208
  reason: sql `${input.reason}`,
158
209
  priority: sql `${'normal'}`,
159
210
  deadline: sql `null`,
160
- status: sql `${'queued'}`,
211
+ status,
161
212
  seq: nextDeliverySeqSql(),
162
213
  locationType: sql `CASE WHEN ${agentNodeBindings.nodeId} IS NOT NULL THEN 'via_node' ELSE ${agents.locationType} END`,
163
214
  locationNodeId: sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`,
@@ -182,7 +233,7 @@ export function buildDirectDeliveryWrite(db, input) {
182
233
  .from(agents)
183
234
  .leftJoin(agentNodeBindings, and(eq(agentNodeBindings.workspaceId, input.workspaceId), eq(agentNodeBindings.agentId, agents.id), eq(agentNodeBindings.status, 'active'), eq(agents.locationType, 'via_node'), eq(agents.locationNodeId, agentNodeBindings.nodeId)))
184
235
  .leftJoin(nodes, and(eq(nodes.workspaceId, input.workspaceId), eq(nodes.id, sql `COALESCE(${agentNodeBindings.nodeId}, ${agents.locationNodeId})`)))
185
- .where(and(eq(agents.id, input.agentId), belowDepthCapSql(input.workspaceId, agents.id, input.depthCap)))))
236
+ .where(and(eq(agents.id, input.agentId), eq(agents.workspaceId, input.workspaceId), newDeliveryIdentitySql(input.messageId, agents.id), belowDepthCapSql(input.workspaceId, agents.id, input.depthCap)))))
186
237
  .onConflictDoNothing();
187
238
  }
188
239
  export async function fetchDeliveryFanoutRecords(db, messageId) {
@@ -249,7 +300,7 @@ export async function fetchChannelDeliveryOutcomes(db, input) {
249
300
  })
250
301
  .from(channelMembers)
251
302
  .innerJoin(agents, eq(channelMembers.agentId, agents.id))
252
- .where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId))),
303
+ .where(and(eq(channelMembers.channelId, input.channelId), channelMuteDeliveryFilter(mentionHandles), ne(channelMembers.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, channelMembers.agentId))),
253
304
  ]);
254
305
  return {
255
306
  deliveries,
@@ -266,7 +317,7 @@ export async function fetchGroupDeliveryOutcomes(db, input) {
266
317
  })
267
318
  .from(dmParticipants)
268
319
  .innerJoin(agents, eq(dmParticipants.agentId, agents.id))
269
- .where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId))),
320
+ .where(and(eq(dmParticipants.conversationId, input.conversationId), isNull(dmParticipants.leftAt), ne(dmParticipants.agentId, input.senderAgentId), newDeliveryIdentitySql(input.messageId, dmParticipants.agentId))),
270
321
  ]);
271
322
  return {
272
323
  deliveries,
@@ -1 +1 @@
1
- {"version":3,"file":"deliveryWrites.js","sourceRoot":"","sources":["../../src/engine/deliveryWrites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deliveryWrites.js","sourceRoot":"","sources":["../../src/engine/deliveryWrites.ts"],"names":[],"mappings":"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"}