@rudderhq/server 0.3.6-canary.2 → 0.3.6-canary.21

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 (230) hide show
  1. package/dist/bootstrap/plugin-host-runtime.d.ts +12 -12
  2. package/dist/bundled-plugins/plugin-linear/dist/worker.js +48 -1
  3. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +18 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/routes/access.helpers.d.ts +1 -1
  8. package/dist/routes/activity.d.ts +1 -1
  9. package/dist/routes/activity.d.ts.map +1 -1
  10. package/dist/routes/activity.js +18 -5
  11. package/dist/routes/activity.js.map +1 -1
  12. package/dist/routes/agents.d.ts.map +1 -1
  13. package/dist/routes/agents.js +89 -2
  14. package/dist/routes/agents.js.map +1 -1
  15. package/dist/routes/agents.management-routes.d.ts.map +1 -1
  16. package/dist/routes/agents.management-routes.js +100 -22
  17. package/dist/routes/agents.management-routes.js.map +1 -1
  18. package/dist/routes/chats.d.ts.map +1 -1
  19. package/dist/routes/chats.js +171 -7
  20. package/dist/routes/chats.js.map +1 -1
  21. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  22. package/dist/routes/chats.stream-routes.js +84 -3
  23. package/dist/routes/chats.stream-routes.js.map +1 -1
  24. package/dist/routes/integrations.d.ts.map +1 -1
  25. package/dist/routes/integrations.js +21 -0
  26. package/dist/routes/integrations.js.map +1 -1
  27. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  28. package/dist/routes/issues.comments-attachments.js +6 -3
  29. package/dist/routes/issues.comments-attachments.js.map +1 -1
  30. package/dist/routes/issues.d.ts.map +1 -1
  31. package/dist/routes/issues.js +4 -1
  32. package/dist/routes/issues.js.map +1 -1
  33. package/dist/routes/messenger.d.ts.map +1 -1
  34. package/dist/routes/messenger.js +7 -1
  35. package/dist/routes/messenger.js.map +1 -1
  36. package/dist/services/access.d.ts +7 -7
  37. package/dist/services/activity.d.ts +5 -5
  38. package/dist/services/activity.d.ts.map +1 -1
  39. package/dist/services/activity.js +1 -1
  40. package/dist/services/activity.js.map +1 -1
  41. package/dist/services/agent-run-context.d.ts +12 -0
  42. package/dist/services/agent-run-context.d.ts.map +1 -1
  43. package/dist/services/agent-run-context.js +91 -39
  44. package/dist/services/agent-run-context.js.map +1 -1
  45. package/dist/services/agent-startup-context.d.ts +84 -0
  46. package/dist/services/agent-startup-context.d.ts.map +1 -0
  47. package/dist/services/agent-startup-context.js +347 -0
  48. package/dist/services/agent-startup-context.js.map +1 -0
  49. package/dist/services/agents.d.ts +33 -20
  50. package/dist/services/agents.d.ts.map +1 -1
  51. package/dist/services/agents.js +16 -1
  52. package/dist/services/agents.js.map +1 -1
  53. package/dist/services/approvals.d.ts +5 -5
  54. package/dist/services/assets.d.ts +6 -6
  55. package/dist/services/automation-chat-output.d.ts +3 -3
  56. package/dist/services/automations.d.ts +13 -13
  57. package/dist/services/automations.d.ts.map +1 -1
  58. package/dist/services/automations.js +17 -28
  59. package/dist/services/automations.js.map +1 -1
  60. package/dist/services/board-auth.d.ts +2 -2
  61. package/dist/services/calendar.d.ts +6 -6
  62. package/dist/services/chat-agent-runs.d.ts +1 -0
  63. package/dist/services/chat-agent-runs.d.ts.map +1 -1
  64. package/dist/services/chat-agent-runs.js +5 -0
  65. package/dist/services/chat-agent-runs.js.map +1 -1
  66. package/dist/services/chat-assistant.d.ts.map +1 -1
  67. package/dist/services/chat-assistant.helpers.d.ts +1 -0
  68. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  69. package/dist/services/chat-assistant.helpers.js +6 -9
  70. package/dist/services/chat-assistant.helpers.js.map +1 -1
  71. package/dist/services/chat-assistant.js +3 -0
  72. package/dist/services/chat-assistant.js.map +1 -1
  73. package/dist/services/chat-generation-locks.d.ts +6 -1
  74. package/dist/services/chat-generation-locks.d.ts.map +1 -1
  75. package/dist/services/chat-generation-locks.js +20 -2
  76. package/dist/services/chat-generation-locks.js.map +1 -1
  77. package/dist/services/chats.d.ts +391 -74
  78. package/dist/services/chats.d.ts.map +1 -1
  79. package/dist/services/chats.helpers.d.ts +2 -2
  80. package/dist/services/chats.js +341 -3
  81. package/dist/services/chats.js.map +1 -1
  82. package/dist/services/costs.d.ts +3 -3
  83. package/dist/services/finance.d.ts +6 -6
  84. package/dist/services/goals.d.ts +6 -6
  85. package/dist/services/heartbeat.d.ts +1 -1
  86. package/dist/services/heartbeat.d.ts.map +1 -1
  87. package/dist/services/heartbeat.js +1 -1
  88. package/dist/services/heartbeat.js.map +1 -1
  89. package/dist/services/integrations/agent-integrations.d.ts +26 -603
  90. package/dist/services/integrations/agent-integrations.d.ts.map +1 -1
  91. package/dist/services/integrations/agent-integrations.js +32 -2
  92. package/dist/services/integrations/agent-integrations.js.map +1 -1
  93. package/dist/services/integrations/feishu/callback-credentials.d.ts +9 -0
  94. package/dist/services/integrations/feishu/callback-credentials.d.ts.map +1 -0
  95. package/dist/services/integrations/feishu/callback-credentials.js +54 -0
  96. package/dist/services/integrations/feishu/callback-credentials.js.map +1 -0
  97. package/dist/services/integrations/feishu/event-verifier.d.ts +24 -0
  98. package/dist/services/integrations/feishu/event-verifier.d.ts.map +1 -0
  99. package/dist/services/integrations/feishu/event-verifier.js +70 -0
  100. package/dist/services/integrations/feishu/event-verifier.js.map +1 -0
  101. package/dist/services/integrations/feishu/inbound-dispatcher-db.d.ts +2 -0
  102. package/dist/services/integrations/feishu/inbound-dispatcher-db.d.ts.map +1 -1
  103. package/dist/services/integrations/feishu/inbound-dispatcher-db.js +14 -7
  104. package/dist/services/integrations/feishu/inbound-dispatcher-db.js.map +1 -1
  105. package/dist/services/integrations/feishu/inbound-dispatcher.d.ts +14 -1
  106. package/dist/services/integrations/feishu/inbound-dispatcher.d.ts.map +1 -1
  107. package/dist/services/integrations/feishu/inbound-dispatcher.js +33 -2
  108. package/dist/services/integrations/feishu/inbound-dispatcher.js.map +1 -1
  109. package/dist/services/integrations/feishu/runtime.d.ts +75 -0
  110. package/dist/services/integrations/feishu/runtime.d.ts.map +1 -0
  111. package/dist/services/integrations/feishu/runtime.js +362 -0
  112. package/dist/services/integrations/feishu/runtime.js.map +1 -0
  113. package/dist/services/issue-approvals.d.ts +2 -2
  114. package/dist/services/issues.comments-attachments.d.ts +18 -7
  115. package/dist/services/issues.comments-attachments.d.ts.map +1 -1
  116. package/dist/services/issues.comments-attachments.js +98 -13
  117. package/dist/services/issues.comments-attachments.js.map +1 -1
  118. package/dist/services/issues.d.ts +23 -12
  119. package/dist/services/issues.d.ts.map +1 -1
  120. package/dist/services/issues.helpers.d.ts +2 -0
  121. package/dist/services/issues.helpers.d.ts.map +1 -1
  122. package/dist/services/issues.helpers.js +23 -0
  123. package/dist/services/issues.helpers.js.map +1 -1
  124. package/dist/services/issues.js +3 -3
  125. package/dist/services/issues.js.map +1 -1
  126. package/dist/services/messenger.d.ts +10 -4
  127. package/dist/services/messenger.d.ts.map +1 -1
  128. package/dist/services/messenger.js +163 -24
  129. package/dist/services/messenger.js.map +1 -1
  130. package/dist/services/orgs.d.ts +1 -1
  131. package/dist/services/plugin-registry.d.ts +34 -34
  132. package/dist/services/projects.d.ts +1 -1
  133. package/dist/services/runtime-kernel/heartbeat.core.d.ts +20 -1
  134. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  135. package/dist/services/runtime-kernel/heartbeat.core.js +152 -12
  136. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  137. package/dist/services/runtime-kernel/heartbeat.d.ts +10 -10
  138. package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
  139. package/dist/services/runtime-kernel/heartbeat.execute.js +64 -16
  140. package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
  141. package/dist/services/runtime-kernel/heartbeat.sessions.d.ts.map +1 -1
  142. package/dist/services/runtime-kernel/heartbeat.sessions.js +81 -12
  143. package/dist/services/runtime-kernel/heartbeat.sessions.js.map +1 -1
  144. package/dist/services/secrets.d.ts +15 -15
  145. package/dist/services/workspace-runtime.services.d.ts +3 -3
  146. package/package.json +13 -13
  147. package/resources/bundled-skills/para-memory-files/SKILL.md +34 -8
  148. package/resources/bundled-skills/para-memory-files/evals/conversation-capture.md +26 -0
  149. package/resources/bundled-skills/para-memory-files/references/schemas.md +26 -0
  150. package/resources/bundled-skills/rudder/SKILL.md +9 -0
  151. package/resources/bundled-skills/rudder/references/cli-reference.md +6 -4
  152. package/skills/para-memory-files/SKILL.md +34 -8
  153. package/skills/para-memory-files/evals/conversation-capture.md +26 -0
  154. package/skills/para-memory-files/references/schemas.md +26 -0
  155. package/skills/rudder/SKILL.md +9 -0
  156. package/skills/rudder/references/cli-reference.md +6 -4
  157. package/ui-dist/assets/{_basePickBy-CcD8DFEo.js → _basePickBy-ISxvtQmh.js} +1 -1
  158. package/ui-dist/assets/{_baseUniq-Dol1zTsM.js → _baseUniq-DHI7TVxX.js} +1 -1
  159. package/ui-dist/assets/{arc-CIQpjNW4.js → arc-BUMdDwhB.js} +1 -1
  160. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-BAgSxOsl.js → architectureDiagram-2XIMDMQ5-C5L1JNhe.js} +1 -1
  161. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-CGyFTorY.js → blockDiagram-WCTKOSBZ-BVufAfZ6.js} +1 -1
  162. package/ui-dist/assets/{c4Diagram-IC4MRINW-CEEqddDU.js → c4Diagram-IC4MRINW-BhHlEAZv.js} +1 -1
  163. package/ui-dist/assets/channel-CVNEMZd5.js +1 -0
  164. package/ui-dist/assets/{chunk-4BX2VUAB-BDGaHIF5.js → chunk-4BX2VUAB-v5kH5_-V.js} +1 -1
  165. package/ui-dist/assets/{chunk-55IACEB6-CSoZuI_8.js → chunk-55IACEB6-TNezZWhV.js} +1 -1
  166. package/ui-dist/assets/{chunk-FMBD7UC4-DrlPlIm5.js → chunk-FMBD7UC4-DJduihz6.js} +1 -1
  167. package/ui-dist/assets/{chunk-JSJVCQXG-DahVPShT.js → chunk-JSJVCQXG-B2jFwzBe.js} +1 -1
  168. package/ui-dist/assets/{chunk-KX2RTZJC-Dh5zWzM8.js → chunk-KX2RTZJC-CdDz3cqH.js} +1 -1
  169. package/ui-dist/assets/{chunk-NQ4KR5QH-BsxpsJJs.js → chunk-NQ4KR5QH-vhQQUT-L.js} +1 -1
  170. package/ui-dist/assets/{chunk-QZHKN3VN-uSnPNcZ5.js → chunk-QZHKN3VN-C4petxFG.js} +1 -1
  171. package/ui-dist/assets/{chunk-WL4C6EOR-Cb_ahVLl.js → chunk-WL4C6EOR-CxpSuOrC.js} +1 -1
  172. package/ui-dist/assets/classDiagram-VBA2DB6C-dXctjUNC.js +1 -0
  173. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-dXctjUNC.js +1 -0
  174. package/ui-dist/assets/clone-DrfVa0Lm.js +1 -0
  175. package/ui-dist/assets/{cose-bilkent-S5V4N54A-DlJDGTnB.js → cose-bilkent-S5V4N54A-Cu-LUWwt.js} +1 -1
  176. package/ui-dist/assets/{dagre-KLK3FWXG-DvnLQute.js → dagre-KLK3FWXG-BznM_tXi.js} +1 -1
  177. package/ui-dist/assets/{diagram-E7M64L7V-CRdm9gWn.js → diagram-E7M64L7V-B9vbnF0G.js} +1 -1
  178. package/ui-dist/assets/{diagram-IFDJBPK2-DZOej-GY.js → diagram-IFDJBPK2-B0K7p5ip.js} +1 -1
  179. package/ui-dist/assets/{diagram-P4PSJMXO-L57zGtmq.js → diagram-P4PSJMXO-B317ppu9.js} +1 -1
  180. package/ui-dist/assets/{erDiagram-INFDFZHY-CSRy8XrP.js → erDiagram-INFDFZHY-DxQn1H79.js} +1 -1
  181. package/ui-dist/assets/{flowDiagram-PKNHOUZH-DDW1GdoS.js → flowDiagram-PKNHOUZH-BRlHfAhO.js} +1 -1
  182. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-rdmcT7DC.js → ganttDiagram-A5KZAMGK-ZPQATwOp.js} +1 -1
  183. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-Dg6khMQq.js → gitGraphDiagram-K3NZZRJ6-2FSSHn2W.js} +1 -1
  184. package/ui-dist/assets/{graph-rJl07fmI.js → graph-CsZPLb0i.js} +1 -1
  185. package/ui-dist/assets/{index-6XT0f8SC.js → index-0pvUeq7z.js} +1 -1
  186. package/ui-dist/assets/{index-CiIjHYkZ.js → index-3-X7SqUg.js} +1 -1
  187. package/ui-dist/assets/{index-DQABP5G0.js → index-3ucNWY-Q.js} +1 -1
  188. package/ui-dist/assets/{index-Bl7ecGnt.js → index-8RSGq1Wg.js} +1 -1
  189. package/ui-dist/assets/{index-3z9gN6vz.js → index-B8mi4SQV.js} +1 -1
  190. package/ui-dist/assets/{index-BGauRcOh.js → index-BIqU1aGN.js} +1 -1
  191. package/ui-dist/assets/{index-DkiaQfyg.js → index-BWo8nSUI.js} +1 -1
  192. package/ui-dist/assets/index-Bgik3-sp.css +1 -0
  193. package/ui-dist/assets/{index-C65ndIIg.js → index-C1WpEOab.js} +1 -1
  194. package/ui-dist/assets/{index-CjBuwQCg.js → index-C9juwYGf.js} +1 -1
  195. package/ui-dist/assets/{index-BaDAStQB.js → index-CUK1YqbJ.js} +1 -1
  196. package/ui-dist/assets/{index-D_KtoLTQ.js → index-Cgj3Uagb.js} +1 -1
  197. package/ui-dist/assets/{index-CxS_-UO4.js → index-DJAdEjzj.js} +1 -1
  198. package/ui-dist/assets/{index-BfZsNU5h.js → index-DfWM3Q6p.js} +1 -1
  199. package/ui-dist/assets/{index-BEWhrdwh.js → index-DowAq2x5.js} +1 -1
  200. package/ui-dist/assets/{index-DGHRHBKO.js → index-DuTOtG2a.js} +1 -1
  201. package/ui-dist/assets/{index-CqfiMpHY.js → index-KNsGlYUl.js} +1 -1
  202. package/ui-dist/assets/{index-jadvIFpg.js → index-NFMzhEMm.js} +1 -1
  203. package/ui-dist/assets/{index-BlJROSd_.js → index-uK_jgMIY.js} +447 -442
  204. package/ui-dist/assets/{infoDiagram-LFFYTUFH-DEymHZr8.js → infoDiagram-LFFYTUFH-BgBXtPzj.js} +1 -1
  205. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-B1F9V87B.js → ishikawaDiagram-PHBUUO56-Br_xLiU5.js} +1 -1
  206. package/ui-dist/assets/{journeyDiagram-4ABVD52K-wXBUBo_k.js → journeyDiagram-4ABVD52K-BAuuTIbm.js} +1 -1
  207. package/ui-dist/assets/{kanban-definition-K7BYSVSG-Douzrzlt.js → kanban-definition-K7BYSVSG-8NU1bqkN.js} +1 -1
  208. package/ui-dist/assets/{layout-bPOlN3pV.js → layout-DVTXzgPf.js} +1 -1
  209. package/ui-dist/assets/{linear-6GPY4A_9.js → linear-BYaSYTI4.js} +1 -1
  210. package/ui-dist/assets/{mermaid.core-zeNDPCvd.js → mermaid.core-D4Wu9eUI.js} +4 -4
  211. package/ui-dist/assets/{mindmap-definition-YRQLILUH-BzOSHeev.js → mindmap-definition-YRQLILUH-c_2HEgE4.js} +1 -1
  212. package/ui-dist/assets/{pieDiagram-SKSYHLDU-BzeTtbMZ.js → pieDiagram-SKSYHLDU-CGRMShDr.js} +1 -1
  213. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-BXuYu1eP.js → quadrantDiagram-337W2JSQ-CooS1cJi.js} +1 -1
  214. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-BXOk_5q0.js → requirementDiagram-Z7DCOOCP-PfB17V04.js} +1 -1
  215. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-c5Oi3One.js → sankeyDiagram-WA2Y5GQK-S5EYlVvD.js} +1 -1
  216. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-83aGU0n9.js → sequenceDiagram-2WXFIKYE-Bl2xrmxE.js} +1 -1
  217. package/ui-dist/assets/{stateDiagram-RAJIS63D-DHQtOybw.js → stateDiagram-RAJIS63D-mqqvpOjv.js} +1 -1
  218. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-BvzZKEX9.js +1 -0
  219. package/ui-dist/assets/{timeline-definition-YZTLITO2-GpY269qE.js → timeline-definition-YZTLITO2-n9U6Vtk4.js} +1 -1
  220. package/ui-dist/assets/{treemap-KZPCXAKY-HNAJqXUS.js → treemap-KZPCXAKY-Dw__9-kb.js} +1 -1
  221. package/ui-dist/assets/{vennDiagram-LZ73GAT5-xnvz7co6.js → vennDiagram-LZ73GAT5-CetcOiXZ.js} +1 -1
  222. package/ui-dist/assets/{xychartDiagram-JWTSCODW-DLsulaPB.js → xychartDiagram-JWTSCODW-Drfx0k7A.js} +1 -1
  223. package/ui-dist/brands/cursor-app-icon.svg +4 -0
  224. package/ui-dist/index.html +2 -2
  225. package/ui-dist/assets/channel-BrjzfGTO.js +0 -1
  226. package/ui-dist/assets/classDiagram-VBA2DB6C-BHMaQipn.js +0 -1
  227. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-BHMaQipn.js +0 -1
  228. package/ui-dist/assets/clone-PUUtvoP8.js +0 -1
  229. package/ui-dist/assets/index-Dv6aTCoB.css +0 -1
  230. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-BdRV3T4l.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/services/chats.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,7 @@ export declare function resolveContextEntities(db: Db, rows: ContextLinkRow[]):
77
77
  priority?: string | null;
78
78
  href: string;
79
79
  } | null;
80
+ conversationId: string;
80
81
  id: string;
81
82
  orgId: string;
82
83
  createdAt: Date;
@@ -84,7 +85,6 @@ export declare function resolveContextEntities(db: Db, rows: ContextLinkRow[]):
84
85
  entityType: string;
85
86
  entityId: string;
86
87
  metadata: Record<string, unknown> | null;
87
- conversationId: string;
88
88
  }[]>;
89
89
  export declare function listContextLinksForConversationIds(db: Db, conversationIds: string[]): Promise<Map<string, {
90
90
  entity: {
@@ -98,6 +98,7 @@ export declare function listContextLinksForConversationIds(db: Db, conversationI
98
98
  priority?: string | null;
99
99
  href: string;
100
100
  } | null;
101
+ conversationId: string;
101
102
  id: string;
102
103
  orgId: string;
103
104
  createdAt: Date;
@@ -105,7 +106,6 @@ export declare function listContextLinksForConversationIds(db: Db, conversationI
105
106
  entityType: string;
106
107
  entityId: string;
107
108
  metadata: Record<string, unknown> | null;
108
- conversationId: string;
109
109
  }[]>>;
110
110
  export declare function listPrimaryIssues(db: Db, conversationRows: ConversationRow[]): Promise<Map<string, {
111
111
  id: string;
@@ -1,8 +1,8 @@
1
- import { approvals, assets, chatAttachments, chatContextLinks, chatConversations, chatConversationUserStates, chatMessages } from "@rudderhq/db";
1
+ import { approvals, assets, chatAttachments, chatContextLinks, chatConversations, chatConversationUserStates, chatGenerations, chatMessages, chatQueuedMessages } from "@rudderhq/db";
2
2
  import { sanitizeChatStructuredPayload } from "@rudderhq/shared";
3
- import { and, desc, eq, gt, gte, inArray, isNull, sql } from "drizzle-orm";
3
+ import { and, asc, desc, eq, gt, gte, inArray, isNull, lt, sql } from "drizzle-orm";
4
4
  import { randomUUID } from "node:crypto";
5
- import { notFound, unprocessable } from "../errors.js";
5
+ import { conflict, notFound, unprocessable } from "../errors.js";
6
6
  import { logActivity } from "./activity-log.js";
7
7
  import { agentService } from "./agents.js";
8
8
  import { approvalService } from "./approvals.js";
@@ -12,6 +12,7 @@ import { normalizeLocalLibraryPathMarkdown } from "./library-path-markdown.js";
12
12
  import { organizationService } from "./orgs.js";
13
13
  import { buildSearchSnippet, CHAT_TRANSCRIPT_KEY, chatTranscriptFromPayload, chatTranscriptSummaryFromEntries, contentPath, escapeLikePattern, incomingMessagePreviewSql, issueProposalFromPayload, isVisibleIncomingChatMessage, listContextLinksForConversationIds, listPrimaryIssues, operationProposalDecisionStatusFromPayload, operationProposalFromPayload, resolveContextEntities, safeTrim, stripChatMetadataFromPayload, textContains, truncatePreview, visibleIncomingMessageSql, withOperationProposalDecisionState, withPersistedTranscript, } from "./chats.helpers.js";
14
14
  export function chatService(db) {
15
+ const QUEUED_MESSAGE_CLAIM_LEASE_MS = 2 * 60 * 1000;
15
16
  const issuesSvc = issueService(db);
16
17
  const approvalsSvc = approvalService(db);
17
18
  const issueApprovalsSvc = issueApprovalService(db);
@@ -305,6 +306,328 @@ export function chatService(db) {
305
306
  .where(inArray(approvals.id, approvalIds));
306
307
  return new Map(approvalRows.map((row) => [row.id, row]));
307
308
  }
309
+ function isQueuePositionConflict(error) {
310
+ return Boolean(error
311
+ && typeof error === "object"
312
+ && "code" in error
313
+ && error.code === "23505");
314
+ }
315
+ function normalizeQueuedPayload(payload) {
316
+ return {
317
+ body: String(payload.body ?? ""),
318
+ attachmentIds: Array.isArray(payload.attachmentIds)
319
+ ? payload.attachmentIds.filter((id) => typeof id === "string")
320
+ : [],
321
+ projectId: typeof payload.projectId === "string" ? payload.projectId : null,
322
+ skillRefs: Array.isArray(payload.skillRefs)
323
+ ? payload.skillRefs.filter((ref) => typeof ref === "string")
324
+ : [],
325
+ accessMode: typeof payload.accessMode === "string" ? payload.accessMode : null,
326
+ model: typeof payload.model === "string" ? payload.model : null,
327
+ effort: typeof payload.effort === "string" ? payload.effort : null,
328
+ metadata: payload.metadata && typeof payload.metadata === "object" && !Array.isArray(payload.metadata)
329
+ ? payload.metadata
330
+ : null,
331
+ };
332
+ }
333
+ function hydrateQueuedMessage(row) {
334
+ return {
335
+ ...row,
336
+ payload: normalizeQueuedPayload(row.payload),
337
+ };
338
+ }
339
+ async function createGeneration(orgId, conversationId) {
340
+ const [row] = await db
341
+ .insert(chatGenerations)
342
+ .values({
343
+ orgId,
344
+ conversationId,
345
+ status: "active",
346
+ })
347
+ .returning();
348
+ if (!row)
349
+ throw new Error("Failed to create chat generation");
350
+ return row;
351
+ }
352
+ async function markGenerationTerminal(generationId, status) {
353
+ if (!generationId)
354
+ return null;
355
+ const now = new Date();
356
+ const [row] = await db
357
+ .update(chatGenerations)
358
+ .set({
359
+ status,
360
+ terminalReason: status,
361
+ completedAt: now,
362
+ updatedAt: now,
363
+ })
364
+ .where(eq(chatGenerations.id, generationId))
365
+ .returning();
366
+ return row ?? null;
367
+ }
368
+ async function getLatestActiveGeneration(conversationId) {
369
+ return db
370
+ .select()
371
+ .from(chatGenerations)
372
+ .where(and(eq(chatGenerations.conversationId, conversationId), inArray(chatGenerations.status, ["active", "tool_busy", "closing"])))
373
+ .orderBy(desc(chatGenerations.startedAt), desc(chatGenerations.createdAt))
374
+ .limit(1)
375
+ .then((rows) => rows[0] ?? null);
376
+ }
377
+ async function getLatestGeneration(conversationId) {
378
+ return db
379
+ .select()
380
+ .from(chatGenerations)
381
+ .where(eq(chatGenerations.conversationId, conversationId))
382
+ .orderBy(desc(chatGenerations.startedAt), desc(chatGenerations.createdAt))
383
+ .limit(1)
384
+ .then((rows) => rows[0] ?? null);
385
+ }
386
+ async function listQueuedMessages(conversationId) {
387
+ await reclaimStaleQueuedMessageClaims(conversationId);
388
+ const rows = await db
389
+ .select()
390
+ .from(chatQueuedMessages)
391
+ .where(and(eq(chatQueuedMessages.conversationId, conversationId), inArray(chatQueuedMessages.status, ["queued", "steer_pending", "dequeue_claimed", "running"])))
392
+ .orderBy(asc(chatQueuedMessages.position), asc(chatQueuedMessages.createdAt));
393
+ return rows.map(hydrateQueuedMessage);
394
+ }
395
+ async function getQueueSnapshot(conversationId, activeGenerationId) {
396
+ const activeGeneration = activeGenerationId
397
+ ? { id: activeGenerationId }
398
+ : await getLatestActiveGeneration(conversationId);
399
+ return {
400
+ activeGenerationId: activeGeneration?.id ?? null,
401
+ items: await listQueuedMessages(conversationId),
402
+ };
403
+ }
404
+ async function createQueuedMessage(input) {
405
+ const payload = {
406
+ ...input.payload,
407
+ body: input.payload.body.trim(),
408
+ attachmentIds: input.payload.attachmentIds ?? [],
409
+ skillRefs: input.payload.skillRefs ?? [],
410
+ projectId: input.payload.projectId ?? null,
411
+ accessMode: input.payload.accessMode ?? null,
412
+ model: input.payload.model ?? null,
413
+ effort: input.payload.effort ?? null,
414
+ metadata: input.payload.metadata ?? null,
415
+ };
416
+ for (let attempt = 0; attempt < 3; attempt += 1) {
417
+ try {
418
+ return await db.transaction(async (tx) => {
419
+ const existing = await tx
420
+ .select()
421
+ .from(chatQueuedMessages)
422
+ .where(and(eq(chatQueuedMessages.conversationId, input.conversationId), eq(chatQueuedMessages.clientMutationId, input.clientMutationId)))
423
+ .limit(1)
424
+ .then((rows) => rows[0] ?? null);
425
+ if (existing) {
426
+ if (JSON.stringify(existing.payload) !== JSON.stringify(payload)) {
427
+ throw conflict("Queued message idempotency key reused with a different payload");
428
+ }
429
+ return hydrateQueuedMessage(existing);
430
+ }
431
+ const [positionRow] = await tx
432
+ .select({
433
+ nextPosition: sql `coalesce(max(${chatQueuedMessages.position}), 0) + 1`,
434
+ })
435
+ .from(chatQueuedMessages)
436
+ .where(eq(chatQueuedMessages.conversationId, input.conversationId));
437
+ const [row] = await tx
438
+ .insert(chatQueuedMessages)
439
+ .values({
440
+ orgId: input.orgId,
441
+ conversationId: input.conversationId,
442
+ clientMutationId: input.clientMutationId,
443
+ position: Number(positionRow?.nextPosition ?? 1),
444
+ payload,
445
+ expectedGenerationId: input.expectedGenerationId ?? null,
446
+ })
447
+ .returning();
448
+ if (!row)
449
+ throw new Error("Failed to create queued chat message");
450
+ return hydrateQueuedMessage(row);
451
+ });
452
+ }
453
+ catch (error) {
454
+ if (attempt < 2 && isQueuePositionConflict(error))
455
+ continue;
456
+ throw error;
457
+ }
458
+ }
459
+ throw new Error("Failed to create queued chat message");
460
+ }
461
+ async function updateQueuedMessage(input) {
462
+ const now = new Date();
463
+ const [row] = await db
464
+ .update(chatQueuedMessages)
465
+ .set({
466
+ payload: {
467
+ ...input.payload,
468
+ body: input.payload.body.trim(),
469
+ attachmentIds: input.payload.attachmentIds ?? [],
470
+ skillRefs: input.payload.skillRefs ?? [],
471
+ projectId: input.payload.projectId ?? null,
472
+ accessMode: input.payload.accessMode ?? null,
473
+ model: input.payload.model ?? null,
474
+ effort: input.payload.effort ?? null,
475
+ metadata: input.payload.metadata ?? null,
476
+ },
477
+ version: input.version + 1,
478
+ lastDeliveryReason: null,
479
+ updatedAt: now,
480
+ })
481
+ .where(and(eq(chatQueuedMessages.conversationId, input.conversationId), eq(chatQueuedMessages.id, input.itemId), eq(chatQueuedMessages.version, input.version), eq(chatQueuedMessages.status, "queued")))
482
+ .returning();
483
+ if (!row)
484
+ throw conflict("Queued message was changed or is no longer editable");
485
+ return hydrateQueuedMessage(row);
486
+ }
487
+ async function cancelQueuedMessage(input) {
488
+ const now = new Date();
489
+ const conditions = [
490
+ eq(chatQueuedMessages.conversationId, input.conversationId),
491
+ eq(chatQueuedMessages.id, input.itemId),
492
+ eq(chatQueuedMessages.status, "queued"),
493
+ ];
494
+ if (input.version)
495
+ conditions.push(eq(chatQueuedMessages.version, input.version));
496
+ const [row] = await db
497
+ .update(chatQueuedMessages)
498
+ .set({
499
+ status: "cancelled",
500
+ version: sql `${chatQueuedMessages.version} + 1`,
501
+ cancelledAt: now,
502
+ updatedAt: now,
503
+ })
504
+ .where(and(...conditions))
505
+ .returning();
506
+ if (!row)
507
+ throw conflict("Queued message was changed or is no longer cancellable");
508
+ return hydrateQueuedMessage(row);
509
+ }
510
+ async function markQueuedMessageSteerFallback(input) {
511
+ const now = new Date();
512
+ const [row] = await db
513
+ .update(chatQueuedMessages)
514
+ .set({
515
+ status: "queued",
516
+ activeGenerationId: input.activeGenerationId ?? null,
517
+ deliveryAttempts: sql `${chatQueuedMessages.deliveryAttempts} + 1`,
518
+ lastAttemptAt: now,
519
+ lastDeliveryReason: input.reason,
520
+ version: sql `${chatQueuedMessages.version} + 1`,
521
+ updatedAt: now,
522
+ })
523
+ .where(and(eq(chatQueuedMessages.conversationId, input.conversationId), eq(chatQueuedMessages.id, input.itemId), eq(chatQueuedMessages.status, "queued")))
524
+ .returning();
525
+ if (!row)
526
+ throw conflict("Queued message was changed or is no longer steerable");
527
+ return hydrateQueuedMessage(row);
528
+ }
529
+ async function claimNextQueuedMessage(conversationId) {
530
+ await reclaimStaleQueuedMessageClaims(conversationId);
531
+ const now = new Date();
532
+ return db.transaction(async (tx) => {
533
+ const [candidate] = await tx
534
+ .select()
535
+ .from(chatQueuedMessages)
536
+ .where(and(eq(chatQueuedMessages.conversationId, conversationId), eq(chatQueuedMessages.status, "queued")))
537
+ .orderBy(asc(chatQueuedMessages.position), asc(chatQueuedMessages.createdAt))
538
+ .limit(1);
539
+ if (!candidate)
540
+ return null;
541
+ const [row] = await tx
542
+ .update(chatQueuedMessages)
543
+ .set({
544
+ status: "dequeue_claimed",
545
+ dequeuedAt: now,
546
+ deliveryAttempts: sql `${chatQueuedMessages.deliveryAttempts} + 1`,
547
+ lastAttemptAt: now,
548
+ lastDeliveryReason: null,
549
+ version: sql `${chatQueuedMessages.version} + 1`,
550
+ updatedAt: now,
551
+ })
552
+ .where(and(eq(chatQueuedMessages.id, candidate.id), eq(chatQueuedMessages.conversationId, conversationId), eq(chatQueuedMessages.status, "queued"), eq(chatQueuedMessages.version, candidate.version)))
553
+ .returning();
554
+ return row ? hydrateQueuedMessage(row) : null;
555
+ });
556
+ }
557
+ async function releaseQueuedMessageClaim(input) {
558
+ const now = new Date();
559
+ const [row] = await db
560
+ .update(chatQueuedMessages)
561
+ .set({
562
+ status: "queued",
563
+ lastDeliveryReason: input.reason,
564
+ version: sql `${chatQueuedMessages.version} + 1`,
565
+ updatedAt: now,
566
+ })
567
+ .where(and(eq(chatQueuedMessages.conversationId, input.conversationId), eq(chatQueuedMessages.id, input.itemId), eq(chatQueuedMessages.status, "dequeue_claimed")))
568
+ .returning();
569
+ return row ? hydrateQueuedMessage(row) : null;
570
+ }
571
+ async function reclaimStaleQueuedMessageClaims(conversationId) {
572
+ const cutoff = new Date(Date.now() - QUEUED_MESSAGE_CLAIM_LEASE_MS);
573
+ await db
574
+ .update(chatQueuedMessages)
575
+ .set({
576
+ status: "queued",
577
+ lastDeliveryReason: "claim_expired",
578
+ version: sql `${chatQueuedMessages.version} + 1`,
579
+ updatedAt: new Date(),
580
+ })
581
+ .where(and(eq(chatQueuedMessages.conversationId, conversationId), eq(chatQueuedMessages.status, "dequeue_claimed"), lt(chatQueuedMessages.updatedAt, cutoff)));
582
+ }
583
+ async function assertQueuedMessageClaimedForDelivery(input) {
584
+ const row = await db
585
+ .select()
586
+ .from(chatQueuedMessages)
587
+ .where(and(eq(chatQueuedMessages.conversationId, input.conversationId), eq(chatQueuedMessages.id, input.itemId)))
588
+ .limit(1)
589
+ .then((rows) => rows[0] ?? null);
590
+ if (!row || row.status !== "dequeue_claimed") {
591
+ throw conflict("Queued message is not claimed for delivery");
592
+ }
593
+ const payload = normalizeQueuedPayload(row.payload);
594
+ if (payload.body.trim() !== input.body.trim()) {
595
+ throw conflict("Queued message body no longer matches claimed payload");
596
+ }
597
+ return hydrateQueuedMessage(row);
598
+ }
599
+ async function markQueuedMessageRunning(input) {
600
+ const now = new Date();
601
+ const [row] = await db
602
+ .update(chatQueuedMessages)
603
+ .set({
604
+ status: "running",
605
+ sourceMessageId: input.sourceMessageId,
606
+ deliveredMessageId: input.sourceMessageId,
607
+ version: sql `${chatQueuedMessages.version} + 1`,
608
+ updatedAt: now,
609
+ })
610
+ .where(and(eq(chatQueuedMessages.conversationId, input.conversationId), eq(chatQueuedMessages.id, input.itemId), eq(chatQueuedMessages.status, "dequeue_claimed")))
611
+ .returning();
612
+ if (!row)
613
+ throw conflict("Queued message is no longer deliverable");
614
+ return hydrateQueuedMessage(row);
615
+ }
616
+ async function markQueuedMessageDeliveryTerminal(input) {
617
+ const now = new Date();
618
+ const nextStatus = input.status === "completed" ? "completed" : "failed";
619
+ const [row] = await db
620
+ .update(chatQueuedMessages)
621
+ .set({
622
+ status: nextStatus,
623
+ lastDeliveryReason: input.status === "completed" ? null : input.status,
624
+ version: sql `${chatQueuedMessages.version} + 1`,
625
+ updatedAt: now,
626
+ })
627
+ .where(and(eq(chatQueuedMessages.conversationId, input.conversationId), eq(chatQueuedMessages.id, input.itemId), inArray(chatQueuedMessages.status, ["dequeue_claimed", "running"])))
628
+ .returning();
629
+ return row ? hydrateQueuedMessage(row) : null;
630
+ }
308
631
  async function hydrateMessages(rows, options = {}) {
309
632
  const includeTranscript = options.includeTranscript !== false;
310
633
  const [attachmentsByMessageId, approvalsById] = await Promise.all([
@@ -1466,6 +1789,21 @@ export function chatService(db) {
1466
1789
  markRead,
1467
1790
  markUnread,
1468
1791
  setPinned,
1792
+ createGeneration,
1793
+ markGenerationTerminal,
1794
+ getLatestActiveGeneration,
1795
+ getLatestGeneration,
1796
+ getQueueSnapshot,
1797
+ listQueuedMessages,
1798
+ createQueuedMessage,
1799
+ updateQueuedMessage,
1800
+ cancelQueuedMessage,
1801
+ markQueuedMessageSteerFallback,
1802
+ claimNextQueuedMessage,
1803
+ releaseQueuedMessageClaim,
1804
+ assertQueuedMessageClaimedForDelivery,
1805
+ markQueuedMessageRunning,
1806
+ markQueuedMessageDeliveryTerminal,
1469
1807
  listMessages,
1470
1808
  getMessageTranscript,
1471
1809
  addMessage,