@rudderhq/server 0.6.6-canary.9 → 0.7.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 (281) hide show
  1. package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
  2. package/dist/bootstrap/register-api-routes.js +4 -0
  3. package/dist/bootstrap/register-api-routes.js.map +1 -1
  4. package/dist/bundled-plugins/plugin-linear/dist/worker.js +75 -4
  5. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
  6. package/dist/routes/access.d.ts.map +1 -1
  7. package/dist/routes/access.js +6 -0
  8. package/dist/routes/access.js.map +1 -1
  9. package/dist/routes/agents.management-routes.d.ts.map +1 -1
  10. package/dist/routes/agents.management-routes.js +22 -0
  11. package/dist/routes/agents.management-routes.js.map +1 -1
  12. package/dist/routes/ai-search.d.ts +3 -0
  13. package/dist/routes/ai-search.d.ts.map +1 -0
  14. package/dist/routes/ai-search.js +17 -0
  15. package/dist/routes/ai-search.js.map +1 -0
  16. package/dist/routes/browser.d.ts.map +1 -1
  17. package/dist/routes/browser.js +6 -2
  18. package/dist/routes/browser.js.map +1 -1
  19. package/dist/routes/chats.annotation-routes.d.ts.map +1 -1
  20. package/dist/routes/chats.annotation-routes.js +10 -1
  21. package/dist/routes/chats.annotation-routes.js.map +1 -1
  22. package/dist/routes/chats.d.ts.map +1 -1
  23. package/dist/routes/chats.js +1 -0
  24. package/dist/routes/chats.js.map +1 -1
  25. package/dist/routes/chats.runtime-controls.d.ts +1 -0
  26. package/dist/routes/chats.runtime-controls.d.ts.map +1 -1
  27. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  28. package/dist/routes/chats.stream-routes.js +52 -4
  29. package/dist/routes/chats.stream-routes.js.map +1 -1
  30. package/dist/routes/chats.stream-support.d.ts +1 -0
  31. package/dist/routes/chats.stream-support.d.ts.map +1 -1
  32. package/dist/routes/chats.stream-support.js +8 -0
  33. package/dist/routes/chats.stream-support.js.map +1 -1
  34. package/dist/routes/index.d.ts +1 -0
  35. package/dist/routes/index.d.ts.map +1 -1
  36. package/dist/routes/index.js +1 -0
  37. package/dist/routes/index.js.map +1 -1
  38. package/dist/routes/issues.mutations.d.ts +1 -1
  39. package/dist/routes/issues.mutations.d.ts.map +1 -1
  40. package/dist/routes/issues.mutations.js +70 -2
  41. package/dist/routes/issues.mutations.js.map +1 -1
  42. package/dist/routes/onboarding.d.ts.map +1 -1
  43. package/dist/routes/onboarding.js +35 -32
  44. package/dist/routes/onboarding.js.map +1 -1
  45. package/dist/routes/orgs.js +1 -1
  46. package/dist/routes/orgs.js.map +1 -1
  47. package/dist/routes/product-analytics-collector.d.ts +10 -0
  48. package/dist/routes/product-analytics-collector.d.ts.map +1 -0
  49. package/dist/routes/product-analytics-collector.js +28 -0
  50. package/dist/routes/product-analytics-collector.js.map +1 -0
  51. package/dist/routes/product-analytics.d.ts +3 -0
  52. package/dist/routes/product-analytics.d.ts.map +1 -0
  53. package/dist/routes/product-analytics.js +169 -0
  54. package/dist/routes/product-analytics.js.map +1 -0
  55. package/dist/routes/website-metadata.d.ts +2 -2
  56. package/dist/routes/website-metadata.d.ts.map +1 -1
  57. package/dist/routes/website-metadata.js +15 -2
  58. package/dist/routes/website-metadata.js.map +1 -1
  59. package/dist/services/activity.d.ts +3 -1
  60. package/dist/services/activity.d.ts.map +1 -1
  61. package/dist/services/activity.js +55 -6
  62. package/dist/services/activity.js.map +1 -1
  63. package/dist/services/agents.d.ts +71 -0
  64. package/dist/services/agents.d.ts.map +1 -1
  65. package/dist/services/agents.js +35 -1
  66. package/dist/services/agents.js.map +1 -1
  67. package/dist/services/ai-search.d.ts +6 -0
  68. package/dist/services/ai-search.d.ts.map +1 -0
  69. package/dist/services/ai-search.js +238 -0
  70. package/dist/services/ai-search.js.map +1 -0
  71. package/dist/services/ai-search.test.d.ts +2 -0
  72. package/dist/services/ai-search.test.d.ts.map +1 -0
  73. package/dist/services/ai-search.test.js +52 -0
  74. package/dist/services/ai-search.test.js.map +1 -0
  75. package/dist/services/automations.d.ts +1 -0
  76. package/dist/services/automations.d.ts.map +1 -1
  77. package/dist/services/automations.js +33 -1
  78. package/dist/services/automations.js.map +1 -1
  79. package/dist/services/browser-broker.d.ts +1 -0
  80. package/dist/services/browser-broker.d.ts.map +1 -1
  81. package/dist/services/browser-broker.js +34 -2
  82. package/dist/services/browser-broker.js.map +1 -1
  83. package/dist/services/browser-broker.test.js +73 -0
  84. package/dist/services/browser-broker.test.js.map +1 -1
  85. package/dist/services/chat-family-groups.d.ts +1 -1
  86. package/dist/services/chat-family-groups.d.ts.map +1 -1
  87. package/dist/services/chat-family-groups.js +17 -1
  88. package/dist/services/chat-family-groups.js.map +1 -1
  89. package/dist/services/chat-inline-annotation-validation.d.ts.map +1 -1
  90. package/dist/services/chat-inline-annotation-validation.js +226 -1
  91. package/dist/services/chat-inline-annotation-validation.js.map +1 -1
  92. package/dist/services/chat-inline-annotations.test.js +136 -1
  93. package/dist/services/chat-inline-annotations.test.js.map +1 -1
  94. package/dist/services/chat-message-branch.d.ts +5 -0
  95. package/dist/services/chat-message-branch.d.ts.map +1 -0
  96. package/dist/services/chat-message-branch.js +9 -0
  97. package/dist/services/chat-message-branch.js.map +1 -0
  98. package/dist/services/chats.create.d.ts +2 -0
  99. package/dist/services/chats.create.d.ts.map +1 -1
  100. package/dist/services/chats.create.js +76 -4
  101. package/dist/services/chats.create.js.map +1 -1
  102. package/dist/services/chats.d.ts +21 -1
  103. package/dist/services/chats.d.ts.map +1 -1
  104. package/dist/services/chats.js +46 -24
  105. package/dist/services/chats.js.map +1 -1
  106. package/dist/services/heartbeat-run-summary.d.ts.map +1 -1
  107. package/dist/services/heartbeat-run-summary.js +6 -0
  108. package/dist/services/heartbeat-run-summary.js.map +1 -1
  109. package/dist/services/index.d.ts +1 -0
  110. package/dist/services/index.d.ts.map +1 -1
  111. package/dist/services/index.js +1 -0
  112. package/dist/services/index.js.map +1 -1
  113. package/dist/services/issues.d.ts.map +1 -1
  114. package/dist/services/issues.js +69 -2
  115. package/dist/services/issues.js.map +1 -1
  116. package/dist/services/knowledge-portability/organization-portability.import.d.ts.map +1 -1
  117. package/dist/services/knowledge-portability/organization-portability.import.js +1 -0
  118. package/dist/services/knowledge-portability/organization-portability.import.js.map +1 -1
  119. package/dist/services/legacy-operator-state.d.ts.map +1 -1
  120. package/dist/services/legacy-operator-state.js +6 -0
  121. package/dist/services/legacy-operator-state.js.map +1 -1
  122. package/dist/services/local-account-auth.d.ts.map +1 -1
  123. package/dist/services/local-account-auth.js +5 -0
  124. package/dist/services/local-account-auth.js.map +1 -1
  125. package/dist/services/messenger-custom-groups.d.ts +15 -0
  126. package/dist/services/messenger-custom-groups.d.ts.map +1 -0
  127. package/dist/services/messenger-custom-groups.js +155 -0
  128. package/dist/services/messenger-custom-groups.js.map +1 -0
  129. package/dist/services/messenger-saved-views.d.ts +32 -8
  130. package/dist/services/messenger-saved-views.d.ts.map +1 -1
  131. package/dist/services/messenger-saved-views.js +67 -2
  132. package/dist/services/messenger-saved-views.js.map +1 -1
  133. package/dist/services/messenger.d.ts.map +1 -1
  134. package/dist/services/messenger.js +110 -166
  135. package/dist/services/messenger.js.map +1 -1
  136. package/dist/services/orgs.d.ts +10 -1
  137. package/dist/services/orgs.d.ts.map +1 -1
  138. package/dist/services/orgs.js +23 -1
  139. package/dist/services/orgs.js.map +1 -1
  140. package/dist/services/product-analytics-collector.d.ts +86 -0
  141. package/dist/services/product-analytics-collector.d.ts.map +1 -0
  142. package/dist/services/product-analytics-collector.js +172 -0
  143. package/dist/services/product-analytics-collector.js.map +1 -0
  144. package/dist/services/product-analytics-collector.test.d.ts +2 -0
  145. package/dist/services/product-analytics-collector.test.d.ts.map +1 -0
  146. package/dist/services/product-analytics-collector.test.js +81 -0
  147. package/dist/services/product-analytics-collector.test.js.map +1 -0
  148. package/dist/services/product-analytics.d.ts +385 -0
  149. package/dist/services/product-analytics.d.ts.map +1 -0
  150. package/dist/services/product-analytics.js +698 -0
  151. package/dist/services/product-analytics.js.map +1 -0
  152. package/dist/services/product-analytics.test.d.ts +2 -0
  153. package/dist/services/product-analytics.test.d.ts.map +1 -0
  154. package/dist/services/product-analytics.test.js +136 -0
  155. package/dist/services/product-analytics.test.js.map +1 -0
  156. package/dist/services/runtime-kernel/heartbeat.d.ts +4 -0
  157. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  158. package/dist/services/runtime-kernel/heartbeat.js +53 -1
  159. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  160. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +3 -0
  161. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
  162. package/dist/services/runtime-kernel/heartbeat.terminal.js +56 -1
  163. package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
  164. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  165. package/dist/services/runtime-kernel/heartbeat.wakeup.js +9 -2
  166. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  167. package/dist/services/side-chats.d.ts +3 -0
  168. package/dist/services/side-chats.d.ts.map +1 -1
  169. package/dist/services/side-chats.js +12 -5
  170. package/dist/services/side-chats.js.map +1 -1
  171. package/dist/services/website-metadata.d.ts +3 -0
  172. package/dist/services/website-metadata.d.ts.map +1 -1
  173. package/dist/services/website-metadata.js +331 -88
  174. package/dist/services/website-metadata.js.map +1 -1
  175. package/package.json +16 -14
  176. package/resources/bundled-skills/app-builder/SKILL.md +31 -14
  177. package/resources/bundled-skills/app-builder/agents/openai.yaml +2 -2
  178. package/resources/bundled-skills/app-builder/evals/evals.json +12 -0
  179. package/resources/bundled-skills/app-builder/references/scaffold-contract.md +17 -2
  180. package/skills/app-builder/SKILL.md +31 -14
  181. package/skills/app-builder/agents/openai.yaml +2 -2
  182. package/skills/app-builder/evals/evals.json +12 -0
  183. package/skills/app-builder/references/scaffold-contract.md +17 -2
  184. package/ui-dist/assets/LibraryLiveSurface-DeUIV5N_.js +1 -0
  185. package/ui-dist/assets/{abnfDiagram-VRR7QNED-DmSFNqZA.js → abnfDiagram-VRR7QNED-BaoLM9Pd.js} +1 -1
  186. package/ui-dist/assets/{arc-DCySHdMS.js → arc-Cx0L6o2z.js} +1 -1
  187. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-BL3egF1t.js → architectureDiagram-ZJ3FMSHR-zVfZP7v4.js} +1 -1
  188. package/ui-dist/assets/{blockDiagram-677ZJIJ3-Bh2L4BGz.js → blockDiagram-677ZJIJ3-BiWWFP9R.js} +1 -1
  189. package/ui-dist/assets/{c4Diagram-LMCZKHZV-BC0tQbna.js → c4Diagram-LMCZKHZV-CX65GSJ6.js} +1 -1
  190. package/ui-dist/assets/channel-CHc3ibOz.js +1 -0
  191. package/ui-dist/assets/{chunk-2Q5K7J3B-Du3BHUuM.js → chunk-2Q5K7J3B-CH6PlelX.js} +1 -1
  192. package/ui-dist/assets/{chunk-32BRIVSS--pEBkzQV.js → chunk-32BRIVSS-C7ZEXYO8.js} +1 -1
  193. package/ui-dist/assets/{chunk-5VM5RSS4-BPlwcWj7.js → chunk-5VM5RSS4-CyInWuue.js} +1 -1
  194. package/ui-dist/assets/{chunk-EX3LRPZG-CMdUJlKy.js → chunk-EX3LRPZG-D58qFIdM.js} +1 -1
  195. package/ui-dist/assets/{chunk-JWPE2WC7-gNumDpip.js → chunk-JWPE2WC7-CJ3Qx30f.js} +1 -1
  196. package/ui-dist/assets/{chunk-MOJQB5TN-D_J2XAWb.js → chunk-MOJQB5TN-BO4bKVLH.js} +1 -1
  197. package/ui-dist/assets/{chunk-RYQCIY6F-HUwWvMk8.js → chunk-RYQCIY6F-DxBmxcYc.js} +1 -1
  198. package/ui-dist/assets/{chunk-V7JOEXUC-BxIq5YO9.js → chunk-V7JOEXUC-Chdnd6Lq.js} +1 -1
  199. package/ui-dist/assets/{chunk-VR4S4FIN-Bt21PgEy.js → chunk-VR4S4FIN-GkW_x_pD.js} +1 -1
  200. package/ui-dist/assets/{chunk-XXDRQBXY-BMQqNb2F.js → chunk-XXDRQBXY-BJyBGcSF.js} +1 -1
  201. package/ui-dist/assets/classDiagram-OUVF2IWQ-9iLZpz3t.js +1 -0
  202. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-9iLZpz3t.js +1 -0
  203. package/ui-dist/assets/{cose-bilkent-JH36ORCC-IdO8qXrd.js → cose-bilkent-JH36ORCC-BWP2r8TX.js} +1 -1
  204. package/ui-dist/assets/{cynefin-VYW2F7L2-lliB__8b.js → cynefin-VYW2F7L2-C08dfI3w.js} +1 -1
  205. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-D6hYvTa_.js → cynefinDiagram-TSTJHNR4-h6dXjTaO.js} +1 -1
  206. package/ui-dist/assets/{dagre-VKFMJZFB-BvJ54nY-.js → dagre-VKFMJZFB-CWDgoFQD.js} +1 -1
  207. package/ui-dist/assets/{diagram-FQU43EPY-LwGme7tk.js → diagram-FQU43EPY-CK1j48d-.js} +1 -1
  208. package/ui-dist/assets/{diagram-G47NLZAW-DpFi3fY3.js → diagram-G47NLZAW-CoSiG57q.js} +1 -1
  209. package/ui-dist/assets/{diagram-NH7WQ7WH-BT3DHBTZ.js → diagram-NH7WQ7WH-DRG-xXGQ.js} +1 -1
  210. package/ui-dist/assets/{diagram-OA4YK3LP-PVjLB7c8.js → diagram-OA4YK3LP-D04mMwYs.js} +1 -1
  211. package/ui-dist/assets/{diagram-WEI45ONY-BFtM6fa4.js → diagram-WEI45ONY-ZkC1ZQMq.js} +1 -1
  212. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-cOP8mEWH.js → ebnfDiagram-CCIWWBDH-BxMIw9PZ.js} +1 -1
  213. package/ui-dist/assets/{erDiagram-Q63AITRT-D5Jo2rGL.js → erDiagram-Q63AITRT-B4Zwbn84.js} +1 -1
  214. package/ui-dist/assets/{flowDiagram-23GEKE2U-ywmEM2g3.js → flowDiagram-23GEKE2U-D5pYz8Px.js} +1 -1
  215. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-BU_eZKbI.js → ganttDiagram-NO4QXBWP-RSramodc.js} +1 -1
  216. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-BpjiL_Kc.js → gitGraphDiagram-IHSO6WYX-BFQfCkMd.js} +1 -1
  217. package/ui-dist/assets/{graph-Dm9rhfLh.js → graph-DuSS8poS.js} +1 -1
  218. package/ui-dist/assets/{index-Dd2bkmgp.js → index-5tzBDABj.js} +1 -1
  219. package/ui-dist/assets/index-9U78M9Np.js +1 -0
  220. package/ui-dist/assets/index-B-NP8fOI.js +1 -0
  221. package/ui-dist/assets/{index-hi6RkKKV.js → index-BADa8mxG.js} +1 -1
  222. package/ui-dist/assets/index-BGcgy63z.js +1 -0
  223. package/ui-dist/assets/index-BKXUkeeU.js +1 -0
  224. package/ui-dist/assets/{index-CcolbA6z.js → index-BU0KLNTt.js} +578 -550
  225. package/ui-dist/assets/index-BpvytaKr.js +1 -0
  226. package/ui-dist/assets/index-CHbXMgL0.js +7 -0
  227. package/ui-dist/assets/index-Cyq94-QT.js +1 -0
  228. package/ui-dist/assets/{index-Bh9XaX7-.js → index-DRbt_Svi.js} +2 -2
  229. package/ui-dist/assets/index-De3vaw_P.js +1 -0
  230. package/ui-dist/assets/index-DzdRgH-y.js +1 -0
  231. package/ui-dist/assets/index-QrRs-r-4.css +1 -0
  232. package/ui-dist/assets/index-olsHIcXs.js +1 -0
  233. package/ui-dist/assets/index-wZlfBtwh.js +1 -0
  234. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-Cy4F5ZoW.js → infoDiagram-FWYZ7A6U-f5i4pO3J.js} +1 -1
  235. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-Dz5yqGu9.js → ishikawaDiagram-FXEZZL3T-CVEdv5i_.js} +1 -1
  236. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-TwWo4pm4.js → journeyDiagram-5HDEW3XC-Cvp7vWcy.js} +1 -1
  237. package/ui-dist/assets/{kanban-definition-HUTT4EX6-DY0NB-vi.js → kanban-definition-HUTT4EX6-C6dURjjK.js} +1 -1
  238. package/ui-dist/assets/{layout-BORuuGEy.js → layout-DxdOu9MY.js} +1 -1
  239. package/ui-dist/assets/{linear-CC_dDONu.js → linear-CRi8RB_7.js} +1 -1
  240. package/ui-dist/assets/{map-CkTs9PaD.js → map-BlpDrw_l.js} +1 -1
  241. package/ui-dist/assets/{mermaid.core-BbvVSKV6.js → mermaid.core-2Gz9YusH.js} +4 -4
  242. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-oEqblcyT.js → mindmap-definition-LN4V7U3C-BmSjJLTI.js} +1 -1
  243. package/ui-dist/assets/{pegDiagram-2B236MQR-Be4dxJHH.js → pegDiagram-2B236MQR-BTUboUw8.js} +1 -1
  244. package/ui-dist/assets/{pieDiagram-ENE6RG2P-DEfT3YEZ.js → pieDiagram-ENE6RG2P-CVPP8SYv.js} +1 -1
  245. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-Cb6JOf0G.js → quadrantDiagram-ABIIQ3AL-BG4FmirT.js} +1 -1
  246. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-Cq69PTte.js → railroadDiagram-RFXS5EU6-DFRNo9hF.js} +1 -1
  247. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-uGctx0yQ.js → requirementDiagram-TGXJPOKE-DpnVF9qP.js} +1 -1
  248. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-D-Jn2GZ3.js → sankeyDiagram-HTMAVEWB-D1ETFdSE.js} +1 -1
  249. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-D0PNt4tF.js → sequenceDiagram-DBY2YBRQ-CNqzB_AL.js} +1 -1
  250. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-C5PkxxqV.js → sizeCapture-X5ZJPWSS-DuoMCjdH.js} +1 -1
  251. package/ui-dist/assets/{stateDiagram-2N3HPSRC-CEU6dEp8.js → stateDiagram-2N3HPSRC-fmHeKL8l.js} +1 -1
  252. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-DajAVikh.js +1 -0
  253. package/ui-dist/assets/swimlanes-5IMT3BWC-hjosaIhT.js +2 -0
  254. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-DJjG9OJ-.js +8 -0
  255. package/ui-dist/assets/{timeline-definition-FHXFAJF6-BzClran5.js → timeline-definition-FHXFAJF6-xoMEClc-.js} +1 -1
  256. package/ui-dist/assets/{vennDiagram-L72KCM5P-DCz0zpBU.js → vennDiagram-L72KCM5P-sdSXQfX-.js} +1 -1
  257. package/ui-dist/assets/{wardleyDiagram-EHGQE667-BCpjHnUs.js → wardleyDiagram-EHGQE667-BbQBSKlD.js} +1 -1
  258. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-PZly8tD0.js → xychartDiagram-FW5EYKEG-BfAtadyK.js} +1 -1
  259. package/ui-dist/index.html +2 -2
  260. package/ui-dist/assets/LibraryLiveSurface-CpsfHfNv.js +0 -1
  261. package/ui-dist/assets/channel-BkaaZhpy.js +0 -1
  262. package/ui-dist/assets/classDiagram-OUVF2IWQ-wAPxgAxC.js +0 -1
  263. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-wAPxgAxC.js +0 -1
  264. package/ui-dist/assets/index-B4-glB0m.js +0 -1
  265. package/ui-dist/assets/index-B77hSKzF.js +0 -1
  266. package/ui-dist/assets/index-BCtddpC-.js +0 -1
  267. package/ui-dist/assets/index-BJsfmJ3d.js +0 -6
  268. package/ui-dist/assets/index-CZQodrD7.js +0 -1
  269. package/ui-dist/assets/index-C_Zqz9dU.js +0 -1
  270. package/ui-dist/assets/index-CjAPsevc.js +0 -1
  271. package/ui-dist/assets/index-CzdqNgTk.js +0 -7
  272. package/ui-dist/assets/index-DPTcb3v2.js +0 -1
  273. package/ui-dist/assets/index-DRSP0xHL.js +0 -1
  274. package/ui-dist/assets/index-DV-n4C-H.js +0 -1
  275. package/ui-dist/assets/index-DryJkjHs.js +0 -1
  276. package/ui-dist/assets/index-TcdPtss-.js +0 -1
  277. package/ui-dist/assets/index-m9ZlZKZy.css +0 -1
  278. package/ui-dist/assets/index-wNtd8gYX.js +0 -1
  279. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-D13NNkEm.js +0 -1
  280. package/ui-dist/assets/swimlanes-5IMT3BWC-Bh0Yv4dw.js +0 -2
  281. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-Ba5kuBbj.js +0 -8
@@ -1,4 +1,4 @@
1
- import { chatConversations, issues, messengerCustomGroupEntries, messengerCustomGroups, messengerSavedViewMutations, messengerSavedViews, } from "@rudderhq/db";
1
+ import { chatConversations, issues, messengerCustomGroupEntries, messengerCustomGroups, messengerSavedViewMutations, messengerSavedViews, organizationMemberships, } from "@rudderhq/db";
2
2
  import { messengerSavedViewIdSchema, messengerSavedViewTargetSchema, } from "@rudderhq/shared";
3
3
  import { and, asc, count, desc, eq, isNotNull, isNull, ne, sql } from "drizzle-orm";
4
4
  import { createHash } from "node:crypto";
@@ -16,13 +16,75 @@ function customGroupPlacementLockKey(orgId, userId, groupId) {
16
16
  * Serializes all Saved View identity and placement mutations for one owner.
17
17
  * Callers that also need a group lock must acquire this lock first.
18
18
  */
19
- export async function lockMessengerSavedViewPlacement(database, orgId, userId) {
19
+ export async function lockMessengerOwnerPlacement(database, orgId, userId) {
20
20
  await database.execute(sql `select pg_advisory_xact_lock(hashtext(${savedViewPlacementLockKey(orgId, userId)}))`);
21
21
  }
22
+ /** Backward-compatible name for callers that only mutate Saved View state. */
23
+ export async function lockMessengerSavedViewPlacement(database, orgId, userId) {
24
+ return lockMessengerOwnerPlacement(database, orgId, userId);
25
+ }
22
26
  /** Serializes entry allocation and mutation within one custom group. */
23
27
  export async function lockMessengerCustomGroupPlacement(database, orgId, userId, groupId) {
24
28
  await database.execute(sql `select pg_advisory_xact_lock(hashtext(${customGroupPlacementLockKey(orgId, userId, groupId)}))`);
25
29
  }
30
+ /**
31
+ * Delete a custom group only after its final membership has been removed.
32
+ * Callers must hold the group's placement lock before invoking this helper.
33
+ */
34
+ export async function deleteEmptyMessengerCustomGroup(database, orgId, userId, groupId) {
35
+ const [remainingEntry] = await database
36
+ .select({ id: messengerCustomGroupEntries.id })
37
+ .from(messengerCustomGroupEntries)
38
+ .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.userId, userId), eq(messengerCustomGroupEntries.groupId, groupId)))
39
+ .limit(1);
40
+ if (remainingEntry)
41
+ return null;
42
+ const [deletedGroup] = await database
43
+ .delete(messengerCustomGroups)
44
+ .where(and(eq(messengerCustomGroups.orgId, orgId), eq(messengerCustomGroups.userId, userId), eq(messengerCustomGroups.id, groupId)))
45
+ .returning();
46
+ return deletedGroup ?? null;
47
+ }
48
+ /**
49
+ * Remove a deleted Chat/Issue from every operator's custom groups. The owner
50
+ * locks are acquired before re-reading memberships so a concurrent assignment
51
+ * cannot survive the source deletion cleanup.
52
+ */
53
+ export async function removeMessengerCustomGroupEntriesForItem(database, orgId, threadKey) {
54
+ const [organizationUsers, existingMemberships] = await Promise.all([
55
+ database
56
+ .select({ userId: organizationMemberships.principalId })
57
+ .from(organizationMemberships)
58
+ .where(and(eq(organizationMemberships.orgId, orgId), eq(organizationMemberships.principalType, "user"), eq(organizationMemberships.status, "active"))),
59
+ database
60
+ .select({ userId: messengerCustomGroupEntries.userId })
61
+ .from(messengerCustomGroupEntries)
62
+ .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.threadKey, threadKey))),
63
+ ]);
64
+ const userIds = [...new Set([
65
+ ...organizationUsers.map((row) => row.userId),
66
+ ...existingMemberships.map((row) => row.userId),
67
+ ])].sort();
68
+ for (const userId of userIds) {
69
+ await lockMessengerOwnerPlacement(database, orgId, userId);
70
+ }
71
+ const memberships = await database
72
+ .select({ userId: messengerCustomGroupEntries.userId, groupId: messengerCustomGroupEntries.groupId })
73
+ .from(messengerCustomGroupEntries)
74
+ .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.threadKey, threadKey)));
75
+ const affectedGroups = [...new Map(memberships.map((membership) => [`${membership.userId}:${membership.groupId}`, membership])).values()].sort((left, right) => `${left.userId}:${left.groupId}`.localeCompare(`${right.userId}:${right.groupId}`));
76
+ for (const membership of affectedGroups) {
77
+ await lockMessengerCustomGroupPlacement(database, orgId, membership.userId, membership.groupId);
78
+ }
79
+ const deleted = await database
80
+ .delete(messengerCustomGroupEntries)
81
+ .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.threadKey, threadKey)))
82
+ .returning({ id: messengerCustomGroupEntries.id });
83
+ for (const membership of affectedGroups) {
84
+ await deleteEmptyMessengerCustomGroup(database, orgId, membership.userId, membership.groupId);
85
+ }
86
+ return deleted.length;
87
+ }
26
88
  function assertSavedViewId(id) {
27
89
  const parsed = messengerSavedViewIdSchema.safeParse(id);
28
90
  if (!parsed.success)
@@ -258,6 +320,9 @@ export function messengerSavedViewsService(db) {
258
320
  await txDb
259
321
  .delete(messengerCustomGroupEntries)
260
322
  .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.userId, userId), eq(messengerCustomGroupEntries.threadKey, messengerSavedViewItemKey(validId))));
323
+ for (const groupId of [...new Set(memberships.map((membership) => membership.groupId))].sort()) {
324
+ await deleteEmptyMessengerCustomGroup(txDb, orgId, userId, groupId);
325
+ }
261
326
  await txDb
262
327
  .delete(messengerSavedViews)
263
328
  .where(and(ownerWhere(orgId, userId), eq(messengerSavedViews.id, validId)));
@@ -1 +1 @@
1
- {"version":3,"file":"messenger-saved-views.js","sourceRoot":"","sources":["../../src/services/messenger-saved-views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messenger-saved-views.js","sourceRoot":"","sources":["../../src/services/messenger-saved-views.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../../src/services/messenger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../../src/services/messenger.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { activityLog, agents, approvalComments, approvals, authUsers, heartbeatRuns, issueComments, issueFollows, issues, joinRequests, messengerCustomGroupEntries, messengerCustomGroups, messengerSavedViews, messengerThreadUserStates, projects } from "@rudderhq/db";
2
- import { formatMessengerPreview, formatMessengerTitle, issueUpdatedChangedKeys, messengerSavedViewIdSchema } from "@rudderhq/shared";
1
+ import { activityLog, agents, approvalComments, approvals, authUsers, chatConversations, heartbeatRuns, issueComments, issueFollows, issues, joinRequests, messengerCustomGroupEntries, messengerCustomGroups, messengerSavedViews, messengerThreadUserStates, projects } from "@rudderhq/db";
2
+ import { formatMessengerPreview, formatMessengerTitle, isUuidLike, issueUpdatedChangedKeys, messengerSavedViewIdSchema } from "@rudderhq/shared";
3
3
  import { and, asc, desc, eq, gt, inArray, isNull, ne, or, sql } from "drizzle-orm";
4
4
  import { badRequest, conflict, notFound } from "../errors.js";
5
5
  import { redactEventPayload } from "../redaction.js";
@@ -7,9 +7,10 @@ import { logActivity } from "./activity-log.js";
7
7
  import { budgetService } from "./budgets.js";
8
8
  import { chatService } from "./chats.js";
9
9
  import { issueLowSignalContentOnlyActivitySql } from "./issue-activity-filters.js";
10
+ import { listMessengerCustomGroups } from "./messenger-custom-groups.js";
10
11
  import { hydrateMessengerFailedRunOrigins, messengerFailedRunSourceAction, } from "./messenger-run-origin.js";
11
12
  import { failedRunUserSummary } from "./messenger-run-summary.js";
12
- import { lockMessengerCustomGroupPlacement, lockMessengerSavedViewPlacement, } from "./messenger-saved-views.js";
13
+ import { deleteEmptyMessengerCustomGroup, lockMessengerCustomGroupPlacement, lockMessengerOwnerPlacement, lockMessengerSavedViewPlacement, } from "./messenger-saved-views.js";
13
14
  import { comparePinnedThenLatest, decodeThreadSummaryCursor, encodeThreadSummaryCursor, threadSummaryIsAfterCursor, } from "./messenger-thread-summary-order.js";
14
15
  const ISSUE_ACTIVITY_ACTIONS = [
15
16
  "issue.updated",
@@ -314,6 +315,16 @@ function approvalRequesterLabel(approval, currentUserId) {
314
315
  return "Agent";
315
316
  return "System";
316
317
  }
318
+ function approvalRequesterAgentId(approval) {
319
+ if (approval.requestedByAgentId)
320
+ return approval.requestedByAgentId;
321
+ if (approval.type !== "chat_issue_creation" && approval.type !== "chat_operation")
322
+ return null;
323
+ const proposedByAgentId = approval.payload?.proposedByAgentId;
324
+ return typeof proposedByAgentId === "string" && isUuidLike(proposedByAgentId)
325
+ ? proposedByAgentId.trim()
326
+ : null;
327
+ }
317
328
  function approvalActions(approval) {
318
329
  return [
319
330
  buildAction("Approve", `/approvals/${approval.id}/approve`, "POST"),
@@ -730,6 +741,29 @@ export function messengerService(db) {
730
741
  throw notFound("Messenger thread not found");
731
742
  }
732
743
  }
744
+ async function ensureMessengerThreadCanBeGroupedWithDb(database, orgId, _userId, threadKey) {
745
+ const conversationId = chatConversationIdFromThreadKey(threadKey);
746
+ if (conversationId) {
747
+ const [conversation] = await database
748
+ .select({ id: chatConversations.id })
749
+ .from(chatConversations)
750
+ .where(and(eq(chatConversations.orgId, orgId), eq(chatConversations.id, conversationId), eq(chatConversations.status, "active"), eq(chatConversations.messengerVisible, true)))
751
+ .limit(1);
752
+ if (!conversation)
753
+ throw notFound("Messenger thread not found");
754
+ return;
755
+ }
756
+ const issueId = issueIdFromThreadKey(threadKey);
757
+ if (issueId) {
758
+ const [issue] = await database
759
+ .select({ id: issues.id })
760
+ .from(issues)
761
+ .where(and(eq(issues.orgId, orgId), eq(issues.id, issueId), isNull(issues.hiddenAt)))
762
+ .limit(1);
763
+ if (!issue)
764
+ throw notFound("Messenger thread not found");
765
+ }
766
+ }
733
767
  async function findMessengerSavedViewWithDb(database, orgId, userId, itemKey) {
734
768
  const savedViewId = savedViewIdFromItemKey(itemKey);
735
769
  if (!savedViewId)
@@ -768,133 +802,16 @@ export function messengerService(db) {
768
802
  return listThreadTitles(orgId, userId, entries.map((entry) => entry.threadKey));
769
803
  }
770
804
  async function listCustomGroups(orgId, userId) {
771
- const [groups, entries] = await Promise.all([
772
- db
773
- .select()
774
- .from(messengerCustomGroups)
775
- .where(and(eq(messengerCustomGroups.orgId, orgId), eq(messengerCustomGroups.userId, userId)))
776
- .orderBy(sql `${messengerCustomGroups.pinnedAt} IS NULL`, asc(messengerCustomGroups.sortOrder), asc(messengerCustomGroups.createdAt)),
777
- db
778
- .select()
779
- .from(messengerCustomGroupEntries)
780
- .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.userId, userId)))
781
- .orderBy(asc(messengerCustomGroupEntries.sortOrder), asc(messengerCustomGroupEntries.createdAt)),
782
- ]);
783
- const savedViewItemKeys = entries
784
- .map((entry) => entry.threadKey)
785
- .filter((itemKey) => Boolean(savedViewIdFromItemKey(itemKey)));
786
- const savedViewIds = savedViewItemKeys
787
- .map((itemKey) => savedViewIdFromItemKey(itemKey))
788
- .filter((id) => Boolean(id));
789
- const savedViews = savedViewIds.length > 0
790
- ? await db
791
- .select()
792
- .from(messengerSavedViews)
793
- .where(and(eq(messengerSavedViews.orgId, orgId), eq(messengerSavedViews.userId, userId), inArray(messengerSavedViews.id, savedViewIds)))
794
- : [];
795
- const savedViewByItemKey = new Map(savedViews.map((savedView) => [`saved-view:${savedView.id}`, savedView]));
796
- const conversationIds = entries
797
- .map((entry) => entry.threadKey)
798
- .filter((itemKey) => !savedViewIdFromItemKey(itemKey))
799
- .map((threadKey) => chatConversationIdFromThreadKey(threadKey))
800
- .filter((id) => Boolean(id));
801
- const conversations = await chatsSvc.listSummariesByIds(orgId, conversationIds, userId);
802
- const summaryByThreadKey = new Map(conversations.filter((conversation) => conversation.messengerVisible !== false).map((conversation) => {
803
- const summary = chatSummary(conversation);
804
- return [summary.threadKey, summary];
805
- }));
806
- const nonChatThreadKeys = [...new Set(entries
807
- .map((entry) => entry.threadKey)
808
- .filter((itemKey) => !savedViewIdFromItemKey(itemKey))
809
- .filter((threadKey) => !chatConversationIdFromThreadKey(threadKey)))];
810
- const issueThreadKeys = nonChatThreadKeys.filter((threadKey) => Boolean(issueIdFromThreadKey(threadKey)));
811
- if (nonChatThreadKeys.length > 0) {
812
- const syntheticThreadKeys = nonChatThreadKeys.filter((threadKey) => !issueIdFromThreadKey(threadKey));
813
- const [issueSummaries, syntheticSummaries] = await Promise.all([
814
- Promise.all(issueThreadKeys.map(async (threadKey) => {
815
- const issueId = issueIdFromThreadKey(threadKey);
816
- return issueId ? loadIssueThreadSummaryById(orgId, userId, issueId) : null;
817
- })),
818
- Promise.all(syntheticThreadKeys.map((threadKey) => loadSyntheticThreadSummaryByKey(orgId, userId, threadKey))),
819
- ]);
820
- for (const summary of issueSummaries) {
821
- if (summary)
822
- summaryByThreadKey.set(summary.threadKey, summary);
823
- }
824
- for (const summary of syntheticSummaries) {
825
- if (summary)
826
- summaryByThreadKey.set(summary.threadKey, summary);
827
- }
828
- }
829
- const staleEntryIds = [];
830
- const entriesByGroupId = new Map();
831
- for (const entry of entries) {
832
- const savedViewId = savedViewIdFromItemKey(entry.threadKey);
833
- if (savedViewId) {
834
- const savedView = savedViewByItemKey.get(entry.threadKey);
835
- if (!savedView) {
836
- staleEntryIds.push(entry.id);
837
- continue;
838
- }
839
- // Hidden Saved Views retain their exact membership and order, but are
840
- // omitted from the visible hydrated directory until restored.
841
- if (savedView.hiddenAt)
842
- continue;
843
- const { threadKey: _storedItemKey, ...entryFields } = entry;
844
- const item = {
845
- type: "saved_view",
846
- itemKey: entry.threadKey,
847
- title: savedView.title,
848
- savedView,
849
- };
850
- const hydratedEntry = {
851
- ...entryFields,
852
- itemKey: entry.threadKey,
853
- item,
854
- };
855
- const groupEntries = entriesByGroupId.get(entry.groupId);
856
- if (groupEntries)
857
- groupEntries.push(hydratedEntry);
858
- else
859
- entriesByGroupId.set(entry.groupId, [hydratedEntry]);
860
- continue;
861
- }
862
- const summary = summaryByThreadKey.get(entry.threadKey);
863
- if (!summary) {
864
- if (isSyntheticMessengerThreadKey(entry.threadKey)) {
865
- continue;
866
- }
867
- staleEntryIds.push(entry.id);
868
- continue;
869
- }
870
- const hydratedEntry = {
871
- ...entry,
872
- itemKey: entry.threadKey,
873
- item: {
874
- type: "thread",
875
- itemKey: entry.threadKey,
876
- title: summary.title,
877
- thread: summary,
878
- },
879
- thread: summary,
880
- };
881
- const groupEntries = entriesByGroupId.get(entry.groupId);
882
- if (groupEntries)
883
- groupEntries.push(hydratedEntry);
884
- else
885
- entriesByGroupId.set(entry.groupId, [hydratedEntry]);
886
- }
887
- if (staleEntryIds.length > 0) {
888
- await db
889
- .delete(messengerCustomGroupEntries)
890
- .where(inArray(messengerCustomGroupEntries.id, staleEntryIds));
891
- }
892
- return {
893
- groups: groups.map((group) => ({
894
- ...group,
895
- entries: entriesByGroupId.get(group.id) ?? [],
896
- })),
897
- };
805
+ return listMessengerCustomGroups(db, orgId, userId, {
806
+ listChatSummariesByIds: (organizationId, conversationIds, boardUserId) => chatsSvc.listSummariesByIds(organizationId, conversationIds, boardUserId),
807
+ toChatSummary: (conversation) => chatSummary(conversation),
808
+ loadIssueThreadSummaryById,
809
+ loadSyntheticThreadSummaryByKey,
810
+ chatConversationIdFromThreadKey,
811
+ issueIdFromThreadKey,
812
+ isSyntheticMessengerThreadKey,
813
+ savedViewIdFromItemKey,
814
+ });
898
815
  }
899
816
  async function createCustomGroupWithClient(client, orgId, userId, name, icon = null) {
900
817
  const [lastGroup] = await client
@@ -919,24 +836,33 @@ export function messengerService(db) {
919
836
  return group;
920
837
  }
921
838
  async function createCustomGroup(orgId, userId, name, icon = null) {
922
- return createCustomGroupWithClient(db, orgId, userId, name, icon);
839
+ return db.transaction(async (tx) => {
840
+ const txDb = tx;
841
+ await lockMessengerOwnerPlacement(txDb, orgId, userId);
842
+ return createCustomGroupWithClient(txDb, orgId, userId, name, icon);
843
+ });
923
844
  }
924
845
  async function updateCustomGroup(orgId, userId, groupId, patch) {
925
- await getCustomGroupOrThrow(orgId, userId, groupId);
926
- const { pinned, ...groupPatch } = patch;
927
- const updatePatch = {
928
- ...groupPatch,
929
- ...(typeof pinned === "boolean" ? { pinnedAt: pinned ? new Date() : null } : {}),
930
- };
931
- const [group] = await db
932
- .update(messengerCustomGroups)
933
- .set({
934
- ...updatePatch,
935
- updatedAt: new Date(),
936
- })
937
- .where(and(eq(messengerCustomGroups.orgId, orgId), eq(messengerCustomGroups.userId, userId), eq(messengerCustomGroups.id, groupId)))
938
- .returning();
939
- return group;
846
+ return db.transaction(async (tx) => {
847
+ const txDb = tx;
848
+ await lockMessengerOwnerPlacement(txDb, orgId, userId);
849
+ await lockMessengerCustomGroupPlacement(txDb, orgId, userId, groupId);
850
+ await getCustomGroupOrThrowWithDb(txDb, orgId, userId, groupId);
851
+ const { pinned, ...groupPatch } = patch;
852
+ const updatePatch = {
853
+ ...groupPatch,
854
+ ...(typeof pinned === "boolean" ? { pinnedAt: pinned ? new Date() : null } : {}),
855
+ };
856
+ const [group] = await txDb
857
+ .update(messengerCustomGroups)
858
+ .set({
859
+ ...updatePatch,
860
+ updatedAt: new Date(),
861
+ })
862
+ .where(and(eq(messengerCustomGroups.orgId, orgId), eq(messengerCustomGroups.userId, userId), eq(messengerCustomGroups.id, groupId)))
863
+ .returning();
864
+ return group;
865
+ });
940
866
  }
941
867
  async function removeCustomGroup(orgId, userId, groupId, source) {
942
868
  return db.transaction(async (tx) => {
@@ -969,17 +895,22 @@ export function messengerService(db) {
969
895
  const uniqueGroupIds = [...new Set(groupIds)];
970
896
  if (uniqueGroupIds.length === 0)
971
897
  return listCustomGroups(orgId, userId);
972
- const ownedGroups = await db
973
- .select({ id: messengerCustomGroups.id })
974
- .from(messengerCustomGroups)
975
- .where(and(eq(messengerCustomGroups.orgId, orgId), eq(messengerCustomGroups.userId, userId), inArray(messengerCustomGroups.id, uniqueGroupIds)));
976
- if (ownedGroups.length !== uniqueGroupIds.length) {
977
- throw notFound("Messenger custom group not found");
978
- }
979
- const now = new Date();
980
898
  await db.transaction(async (tx) => {
899
+ const txDb = tx;
900
+ await lockMessengerOwnerPlacement(txDb, orgId, userId);
901
+ const ownedGroups = await txDb
902
+ .select({ id: messengerCustomGroups.id })
903
+ .from(messengerCustomGroups)
904
+ .where(and(eq(messengerCustomGroups.orgId, orgId), eq(messengerCustomGroups.userId, userId), inArray(messengerCustomGroups.id, uniqueGroupIds)));
905
+ if (ownedGroups.length !== uniqueGroupIds.length) {
906
+ throw notFound("Messenger custom group not found");
907
+ }
908
+ for (const groupId of [...uniqueGroupIds].sort()) {
909
+ await lockMessengerCustomGroupPlacement(txDb, orgId, userId, groupId);
910
+ }
911
+ const now = new Date();
981
912
  for (const [index, groupId] of uniqueGroupIds.entries()) {
982
- await tx
913
+ await txDb
983
914
  .update(messengerCustomGroups)
984
915
  .set({ sortOrder: index, updatedAt: now })
985
916
  .where(and(eq(messengerCustomGroups.orgId, orgId), eq(messengerCustomGroups.userId, userId), eq(messengerCustomGroups.id, groupId)));
@@ -1044,6 +975,9 @@ export function messengerService(db) {
1044
975
  for (const affectedGroupId of affectedGroupIds) {
1045
976
  await lockMessengerCustomGroupPlacement(txDb, orgId, userId, affectedGroupId);
1046
977
  }
978
+ if (!savedViewId) {
979
+ await ensureMessengerThreadCanBeGroupedWithDb(txDb, orgId, userId, threadKey);
980
+ }
1047
981
  await getCustomGroupOrThrowWithDb(txDb, orgId, userId, groupId);
1048
982
  if (savedViewId && !await findMessengerSavedViewWithDb(txDb, orgId, userId, threadKey)) {
1049
983
  throw notFound("Messenger Saved View not found");
@@ -1078,17 +1012,21 @@ export function messengerService(db) {
1078
1012
  await db.transaction(async (tx) => {
1079
1013
  const txDb = tx;
1080
1014
  await lockMessengerSavedViewPlacement(txDb, orgId, userId);
1081
- const [anchorMembership] = anchorItemKey
1082
- ? await txDb
1083
- .select({ groupId: messengerCustomGroupEntries.groupId })
1084
- .from(messengerCustomGroupEntries)
1085
- .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.userId, userId), eq(messengerCustomGroupEntries.threadKey, anchorItemKey)))
1086
- .limit(1)
1087
- : [];
1015
+ const existingMemberships = await txDb
1016
+ .select({ threadKey: messengerCustomGroupEntries.threadKey, groupId: messengerCustomGroupEntries.groupId })
1017
+ .from(messengerCustomGroupEntries)
1018
+ .where(and(eq(messengerCustomGroupEntries.orgId, orgId), eq(messengerCustomGroupEntries.userId, userId), inArray(messengerCustomGroupEntries.threadKey, uniqueThreadKeys)));
1019
+ const anchorMembership = anchorItemKey
1020
+ ? existingMemberships.find((membership) => membership.threadKey === anchorItemKey) ?? null
1021
+ : null;
1088
1022
  const group = anchorMembership
1089
1023
  ? await getCustomGroupOrThrowWithDb(txDb, orgId, userId, anchorMembership.groupId)
1090
1024
  : await createCustomGroupWithClient(tx, orgId, userId, name, icon);
1091
- await lockMessengerCustomGroupPlacement(txDb, orgId, userId, group.id);
1025
+ const existingGroupIds = [...new Set(existingMemberships.map((membership) => membership.groupId))];
1026
+ const affectedGroupIds = [...new Set([...existingGroupIds, group.id])].sort();
1027
+ for (const affectedGroupId of affectedGroupIds) {
1028
+ await lockMessengerCustomGroupPlacement(txDb, orgId, userId, affectedGroupId);
1029
+ }
1092
1030
  for (const threadKey of uniqueThreadKeys) {
1093
1031
  if (savedViewItemKeys.has(threadKey) && !await findMessengerSavedViewWithDb(txDb, orgId, userId, threadKey)) {
1094
1032
  throw notFound("Messenger Saved View not found");
@@ -1099,6 +1037,11 @@ export function messengerService(db) {
1099
1037
  source: anchorMembership ? "group_reuse" : "group_create",
1100
1038
  });
1101
1039
  }
1040
+ for (const existingGroupId of existingGroupIds) {
1041
+ if (existingGroupId !== group.id) {
1042
+ await deleteEmptyMessengerCustomGroup(txDb, orgId, userId, existingGroupId);
1043
+ }
1044
+ }
1102
1045
  });
1103
1046
  return listCustomGroups(orgId, userId);
1104
1047
  }
@@ -1714,7 +1657,7 @@ export function messengerService(db) {
1714
1657
  }
1715
1658
  const typedApprovalRows = approvalRows;
1716
1659
  const requesterAgentIds = typedApprovalRows
1717
- .map((approval) => approval.requestedByAgentId)
1660
+ .map((approval) => approvalRequesterAgentId(approval))
1718
1661
  .filter((agentId) => Boolean(agentId));
1719
1662
  const requesterAgents = requesterAgentIds.length > 0
1720
1663
  ? await db
@@ -1737,8 +1680,9 @@ export function messengerService(db) {
1737
1680
  const unsortedItems = typedApprovalRows.map((approval) => {
1738
1681
  const latestComment = latestCommentByApproval.get(approval.id) ?? null;
1739
1682
  const latestActivityAt = maxDate(approval.updatedAt, latestComment?.createdAt) ?? approval.updatedAt;
1740
- const requesterAgent = approval.requestedByAgentId
1741
- ? requesterAgentById.get(approval.requestedByAgentId) ?? null
1683
+ const requesterAgentId = approvalRequesterAgentId(approval);
1684
+ const requesterAgent = requesterAgentId
1685
+ ? requesterAgentById.get(requesterAgentId) ?? null
1742
1686
  : null;
1743
1687
  return approvalCard(approval, requesterAgent, latestComment, userId, latestActivityAt);
1744
1688
  });