@relaycast/engine 8.9.0 → 8.10.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 (121) 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/channel.d.ts.map +1 -1
  20. package/dist/engine/channel.js +56 -17
  21. package/dist/engine/channel.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 +20 -4
  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/mentions.d.ts +3 -0
  46. package/dist/engine/mentions.d.ts.map +1 -0
  47. package/dist/engine/mentions.js +5 -0
  48. package/dist/engine/mentions.js.map +1 -0
  49. package/dist/engine/message.d.ts +2 -0
  50. package/dist/engine/message.d.ts.map +1 -1
  51. package/dist/engine/message.js +4 -7
  52. package/dist/engine/message.js.map +1 -1
  53. package/dist/engine/node.d.ts +2 -2
  54. package/dist/engine/thread.d.ts +2 -0
  55. package/dist/engine/thread.d.ts.map +1 -1
  56. package/dist/engine/thread.js +3 -1
  57. package/dist/engine/thread.js.map +1 -1
  58. package/dist/engine/workspaceDeliveryPolicy.d.ts +91 -0
  59. package/dist/engine/workspaceDeliveryPolicy.d.ts.map +1 -0
  60. package/dist/engine/workspaceDeliveryPolicy.js +130 -0
  61. package/dist/engine/workspaceDeliveryPolicy.js.map +1 -0
  62. package/dist/engine/workspaceEvents.d.ts +120 -0
  63. package/dist/engine/workspaceEvents.d.ts.map +1 -1
  64. package/dist/engine/workspaceEvents.js +8 -10
  65. package/dist/engine/workspaceEvents.js.map +1 -1
  66. package/dist/index.d.ts +3 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +2 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/lib/httpError.d.ts +1 -1
  71. package/dist/lib/httpError.d.ts.map +1 -1
  72. package/dist/lib/httpError.js +2 -0
  73. package/dist/lib/httpError.js.map +1 -1
  74. package/dist/lib/httpResponse.d.ts +6 -6
  75. package/dist/middleware/idempotency.d.ts +15 -10
  76. package/dist/middleware/idempotency.d.ts.map +1 -1
  77. package/dist/middleware/idempotency.js +9 -9
  78. package/dist/middleware/idempotency.js.map +1 -1
  79. package/dist/ports/database.d.ts +4 -20
  80. package/dist/ports/database.d.ts.map +1 -1
  81. package/dist/ports/database.js +28 -7
  82. package/dist/ports/database.js.map +1 -1
  83. package/dist/ports/index.d.ts +9 -0
  84. package/dist/ports/index.d.ts.map +1 -1
  85. package/dist/ports/workspaceDelivery.d.ts +31 -0
  86. package/dist/ports/workspaceDelivery.d.ts.map +1 -0
  87. package/dist/ports/workspaceDelivery.js +2 -0
  88. package/dist/ports/workspaceDelivery.js.map +1 -0
  89. package/dist/routes/a2a.d.ts.map +1 -1
  90. package/dist/routes/a2a.js +162 -26
  91. package/dist/routes/a2a.js.map +1 -1
  92. package/dist/routes/delivery.d.ts.map +1 -1
  93. package/dist/routes/delivery.js +15 -4
  94. package/dist/routes/delivery.js.map +1 -1
  95. package/dist/routes/deliveryRouting.d.ts +1 -1
  96. package/dist/routes/deliveryRouting.d.ts.map +1 -1
  97. package/dist/routes/deliveryRouting.js +8 -7
  98. package/dist/routes/deliveryRouting.js.map +1 -1
  99. package/dist/routes/dm.d.ts.map +1 -1
  100. package/dist/routes/dm.js +27 -8
  101. package/dist/routes/dm.js.map +1 -1
  102. package/dist/routes/fanout.d.ts +1 -1
  103. package/dist/routes/fanout.d.ts.map +1 -1
  104. package/dist/routes/fanout.js +2 -2
  105. package/dist/routes/fanout.js.map +1 -1
  106. package/dist/routes/groupDm.d.ts.map +1 -1
  107. package/dist/routes/groupDm.js +3 -2
  108. package/dist/routes/groupDm.js.map +1 -1
  109. package/dist/routes/inboundWebhook.d.ts.map +1 -1
  110. package/dist/routes/inboundWebhook.js +8 -2
  111. package/dist/routes/inboundWebhook.js.map +1 -1
  112. package/dist/routes/message.d.ts.map +1 -1
  113. package/dist/routes/message.js +3 -1
  114. package/dist/routes/message.js.map +1 -1
  115. package/dist/routes/relayfileInbound.d.ts.map +1 -1
  116. package/dist/routes/relayfileInbound.js +9 -3
  117. package/dist/routes/relayfileInbound.js.map +1 -1
  118. package/dist/routes/thread.d.ts.map +1 -1
  119. package/dist/routes/thread.js +3 -1
  120. package/dist/routes/thread.js.map +1 -1
  121. package/package.json +5 -4
@@ -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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"}
@@ -1,11 +1,38 @@
1
1
  import type { DmMessage } from '@relaycast/types';
2
2
  import type { getDb } from '../db/index.js';
3
+ import { messages } from '../db/schema.js';
4
+ import { type DeliveryOutcomeRecords } from './deliveryWrites.js';
3
5
  import { type MailboxConfig } from './mailboxConfig.js';
6
+ import { type WorkspaceDeliveryPolicy } from './workspaceDeliveryPolicy.js';
4
7
  import { type AttachmentRow } from './attachments.js';
5
8
  type Db = ReturnType<typeof getDb>;
6
9
  interface SendDmOptions {
7
10
  skipA2aIntercept?: boolean;
11
+ /** Stable request identity for resuming already admitted outbound A2A. */
12
+ idempotencyKey?: string;
13
+ /** Count an authenticated inbound peer in the same transaction as its DM. */
14
+ receivedA2aAgentId?: string;
15
+ /** Token hash authenticated by the route; checked with registration at SQL admission. */
16
+ receivedA2aTokenHash?: string;
17
+ /** Verified legacy KV response to promote without admitting another message. */
18
+ legacyInbound?: unknown;
19
+ /** Authenticated actor/scope/key identity, never a caller-selected recipient identity. */
20
+ inboundIdentity?: {
21
+ scope: string;
22
+ key: string;
23
+ };
24
+ /** Resolve only after durable accepted lookup (cached HTTP replay never calls sendDm). */
25
+ resolveWorkspaceDeliveryPolicy?: () => Promise<WorkspaceDeliveryPolicy | undefined>;
26
+ /** Fast paths only; durable events and delivery already committed before this hook. */
27
+ afterAdmission?: (data: SendDmResult, event: {
28
+ seq: number;
29
+ payload: Record<string, unknown>;
30
+ data: Record<string, unknown>;
31
+ outboxId: string;
32
+ }) => void;
8
33
  mailbox?: MailboxConfig;
34
+ /** Server-resolved workspace growth policy; absent => no workspace guard. */
35
+ workspaceDeliveryPolicy?: WorkspaceDeliveryPolicy;
9
36
  }
10
37
  /**
11
38
  * Recognize a unique-constraint violation on `dm_conversation_reservations`
@@ -39,13 +66,14 @@ interface SendDmOptions {
39
66
  * to prevent a 500 into one itself. Same reasoning as `isObserverTokenNameConflict`.
40
67
  */
41
68
  export declare function isPairReservationConflict(err: unknown): boolean;
42
- export declare function sendDm(db: Db, workspaceId: string, fromAgentId: string, data: {
69
+ declare function buildDmResult(message: Pick<typeof messages.$inferSelect, 'id' | 'agentId' | 'body' | 'metadata' | 'createdAt'>, conv: {
70
+ id: string;
71
+ }, fromAgent: {
72
+ name: string;
73
+ }, data: {
43
74
  to: string;
44
- text: string;
45
- attachments?: string[];
46
75
  mode?: 'wait' | 'steer';
47
- data?: Record<string, unknown> | null;
48
- }, options?: SendDmOptions): Promise<{
76
+ }, attachments: AttachmentRow[]): {
49
77
  conversation_id: string;
50
78
  message: {
51
79
  id: string;
@@ -64,9 +92,20 @@ export declare function sendDm(db: Db, workspaceId: string, fromAgentId: string,
64
92
  injection_mode: "wait" | "steer";
65
93
  attachments: AttachmentRow[];
66
94
  metadata: Record<string, unknown>;
67
- _delivery: import("./deliveryWrites.js").DeliveryFanoutRecord;
68
- _delivery_rejections: import("./deliveryWrites.js").DeliveryRejectionRecord[];
69
- }>;
95
+ };
96
+ export type AcceptedDmResult = ReturnType<typeof buildDmResult>;
97
+ export type SendDmResult = AcceptedDmResult & {
98
+ _delivery: DeliveryOutcomeRecords['deliveries'][number] | null;
99
+ _delivery_rejections: DeliveryOutcomeRecords['rejections'];
100
+ _notifications_durable?: boolean;
101
+ };
102
+ export declare function sendDm(db: Db, workspaceId: string, fromAgentId: string, data: {
103
+ to: string;
104
+ text: string;
105
+ attachments?: string[];
106
+ mode?: 'wait' | 'steer';
107
+ data?: Record<string, unknown> | null;
108
+ }, options?: SendDmOptions): Promise<SendDmResult>;
70
109
  export declare function listConversations(db: Db, workspaceId: string, agentId: string, opts?: {
71
110
  limit?: number;
72
111
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../../src/engine/dm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAoB5C,OAAO,EAAqD,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG3G,OAAO,EAAiD,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIrG,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAEnC,UAAU,aAAa;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA6B/D;AAyMD,wBAAsB,MAAM,CAC1B,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvC,EACD,OAAO,GAAE,aAAkB;;;;;;;;;;;;;;;;;;;;;GAsJ5B;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;kBAwEwC,MAAM;oBAAc,MAAM;;;;;;;;;;KAkChG;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7D,OAAO,CAAC,SAAS,EAAE,CAAC,CAyEtB"}
1
+ {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../../src/engine/dm.ts"],"names":[],"mappings":"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"}