@rudderhq/server 0.2.10-canary.9 → 0.2.10

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 (234) hide show
  1. package/dist/bootstrap/plugin-host-runtime.d.ts +38 -38
  2. package/dist/bundled-plugins/plugin-linear/dist/worker.js +311 -159
  3. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +2 -2
  4. package/dist/config.d.ts +1 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +8 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/home-paths.d.ts +23 -4
  9. package/dist/home-paths.d.ts.map +1 -1
  10. package/dist/home-paths.js +46 -11
  11. package/dist/home-paths.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +4 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/routes/access.helpers.d.ts +8 -8
  16. package/dist/routes/agents.d.ts.map +1 -1
  17. package/dist/routes/agents.js +15 -1
  18. package/dist/routes/agents.js.map +1 -1
  19. package/dist/routes/approvals.d.ts.map +1 -1
  20. package/dist/routes/approvals.js +34 -2
  21. package/dist/routes/approvals.js.map +1 -1
  22. package/dist/routes/chat-issue-assignment-wakeup.d.ts +28 -0
  23. package/dist/routes/chat-issue-assignment-wakeup.d.ts.map +1 -0
  24. package/dist/routes/chat-issue-assignment-wakeup.js +54 -0
  25. package/dist/routes/chat-issue-assignment-wakeup.js.map +1 -0
  26. package/dist/routes/chats.d.ts.map +1 -1
  27. package/dist/routes/chats.js +24 -6
  28. package/dist/routes/chats.js.map +1 -1
  29. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  30. package/dist/routes/chats.stream-routes.js +14 -3
  31. package/dist/routes/chats.stream-routes.js.map +1 -1
  32. package/dist/routes/issues.d.ts.map +1 -1
  33. package/dist/routes/issues.js +3 -0
  34. package/dist/routes/issues.js.map +1 -1
  35. package/dist/routes/issues.mutations.d.ts.map +1 -1
  36. package/dist/routes/issues.mutations.js +89 -32
  37. package/dist/routes/issues.mutations.js.map +1 -1
  38. package/dist/routes/orgs.d.ts.map +1 -1
  39. package/dist/routes/orgs.js +302 -3
  40. package/dist/routes/orgs.js.map +1 -1
  41. package/dist/routes/plugin-ui-static.d.ts +2 -1
  42. package/dist/routes/plugin-ui-static.d.ts.map +1 -1
  43. package/dist/routes/plugin-ui-static.js +8 -42
  44. package/dist/routes/plugin-ui-static.js.map +1 -1
  45. package/dist/routes/projects.d.ts.map +1 -1
  46. package/dist/routes/projects.js +6 -0
  47. package/dist/routes/projects.js.map +1 -1
  48. package/dist/services/access.d.ts +21 -21
  49. package/dist/services/activity.d.ts +19 -19
  50. package/dist/services/agent-run-context.d.ts +0 -2
  51. package/dist/services/agent-run-context.d.ts.map +1 -1
  52. package/dist/services/agent-run-context.js +6 -3
  53. package/dist/services/agent-run-context.js.map +1 -1
  54. package/dist/services/agents.d.ts +171 -171
  55. package/dist/services/approvals.d.ts +29 -29
  56. package/dist/services/assets.d.ts +8 -8
  57. package/dist/services/automation-chat-output.d.ts +3 -3
  58. package/dist/services/automations.d.ts +40 -32
  59. package/dist/services/automations.d.ts.map +1 -1
  60. package/dist/services/automations.js +467 -0
  61. package/dist/services/automations.js.map +1 -1
  62. package/dist/services/automations.scheduler.d.ts.map +1 -1
  63. package/dist/services/automations.scheduler.js +5 -3
  64. package/dist/services/automations.scheduler.js.map +1 -1
  65. package/dist/services/board-auth.d.ts +32 -32
  66. package/dist/services/calendar.d.ts +26 -26
  67. package/dist/services/chat-assistant.d.ts.map +1 -1
  68. package/dist/services/chat-assistant.helpers.d.ts +3 -2
  69. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  70. package/dist/services/chat-assistant.helpers.js +3 -2
  71. package/dist/services/chat-assistant.helpers.js.map +1 -1
  72. package/dist/services/chat-assistant.js +11 -1
  73. package/dist/services/chat-assistant.js.map +1 -1
  74. package/dist/services/chat-generation-locks.d.ts +1 -0
  75. package/dist/services/chat-generation-locks.d.ts.map +1 -1
  76. package/dist/services/chat-generation-locks.js +10 -0
  77. package/dist/services/chat-generation-locks.js.map +1 -1
  78. package/dist/services/chats.d.ts +185 -161
  79. package/dist/services/chats.d.ts.map +1 -1
  80. package/dist/services/chats.helpers.d.ts +4 -4
  81. package/dist/services/chats.js +27 -0
  82. package/dist/services/chats.js.map +1 -1
  83. package/dist/services/costs.d.ts +8 -8
  84. package/dist/services/documents.d.ts +126 -0
  85. package/dist/services/documents.d.ts.map +1 -1
  86. package/dist/services/documents.js +323 -1
  87. package/dist/services/documents.js.map +1 -1
  88. package/dist/services/finance.d.ts +18 -18
  89. package/dist/services/goals.d.ts +30 -30
  90. package/dist/services/issue-approvals.d.ts +4 -4
  91. package/dist/services/issue-goal-fallback.d.ts.map +1 -1
  92. package/dist/services/issue-goal-fallback.js +9 -3
  93. package/dist/services/issue-goal-fallback.js.map +1 -1
  94. package/dist/services/issue-review-wakeup.d.ts +3 -3
  95. package/dist/services/issues.comments-attachments.d.ts +6 -6
  96. package/dist/services/issues.d.ts +26 -26
  97. package/dist/services/issues.d.ts.map +1 -1
  98. package/dist/services/issues.js +20 -0
  99. package/dist/services/issues.js.map +1 -1
  100. package/dist/services/knowledge-portability/organization-portability.core.d.ts +1 -1
  101. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +1 -1
  102. package/dist/services/messenger.d.ts +3 -2
  103. package/dist/services/messenger.d.ts.map +1 -1
  104. package/dist/services/messenger.js +98 -26
  105. package/dist/services/messenger.js.map +1 -1
  106. package/dist/services/organization-workspace-browser.d.ts +10 -1
  107. package/dist/services/organization-workspace-browser.d.ts.map +1 -1
  108. package/dist/services/organization-workspace-browser.js +286 -8
  109. package/dist/services/organization-workspace-browser.js.map +1 -1
  110. package/dist/services/orgs.d.ts +9 -9
  111. package/dist/services/plugin-loader.worker-paths.d.ts +5 -1
  112. package/dist/services/plugin-loader.worker-paths.d.ts.map +1 -1
  113. package/dist/services/plugin-loader.worker-paths.js +27 -24
  114. package/dist/services/plugin-loader.worker-paths.js.map +1 -1
  115. package/dist/services/plugin-registry.d.ts +137 -137
  116. package/dist/services/projects.d.ts +8 -8
  117. package/dist/services/projects.d.ts.map +1 -1
  118. package/dist/services/projects.js +52 -6
  119. package/dist/services/projects.js.map +1 -1
  120. package/dist/services/resource-catalog.d.ts.map +1 -1
  121. package/dist/services/resource-catalog.js +93 -27
  122. package/dist/services/resource-catalog.js.map +1 -1
  123. package/dist/services/runtime-kernel/heartbeat.d.ts +40 -33
  124. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  125. package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
  126. package/dist/services/runtime-kernel/heartbeat.execute.js +19 -0
  127. package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
  128. package/dist/services/runtime-kernel/heartbeat.js +88 -1
  129. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  130. package/dist/services/runtime-kernel/heartbeat.sessions.d.ts +1 -1
  131. package/dist/services/secrets.d.ts +25 -25
  132. package/dist/services/sidebar-badges.d.ts +0 -3
  133. package/dist/services/sidebar-badges.d.ts.map +1 -1
  134. package/dist/services/sidebar-badges.js +4 -54
  135. package/dist/services/sidebar-badges.js.map +1 -1
  136. package/dist/services/workspace-runtime.services.d.ts +13 -13
  137. package/package.json +13 -13
  138. package/resources/bundled-skills/para-memory-files/SKILL.md +4 -4
  139. package/resources/bundled-skills/rudder/SKILL.md +30 -13
  140. package/resources/bundled-skills/rudder/references/api-reference.md +16 -0
  141. package/resources/bundled-skills/rudder/references/cli-reference.md +9 -1
  142. package/resources/bundled-skills/rudder/references/organization-skills.md +1 -1
  143. package/skills/para-memory-files/SKILL.md +4 -4
  144. package/skills/rudder/SKILL.md +30 -13
  145. package/skills/rudder/references/api-reference.md +16 -0
  146. package/skills/rudder/references/cli-reference.md +9 -1
  147. package/skills/rudder/references/organization-skills.md +1 -1
  148. package/ui-dist/assets/_basePickBy-CSCT5uM-.js +1 -0
  149. package/ui-dist/assets/_baseUniq-6uzN-zvk.js +1 -0
  150. package/ui-dist/assets/{arc-DJicYGuR.js → arc-BwwnVVnu.js} +1 -1
  151. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-CNAjB0bS.js → architectureDiagram-2XIMDMQ5-DiP6mFDS.js} +1 -1
  152. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-Cb2SN0O8.js → blockDiagram-WCTKOSBZ-DS7tlCEj.js} +1 -1
  153. package/ui-dist/assets/{c4Diagram-IC4MRINW-BUwidppn.js → c4Diagram-IC4MRINW-B2RNViSE.js} +1 -1
  154. package/ui-dist/assets/channel-D5xRBEMp.js +1 -0
  155. package/ui-dist/assets/{chunk-4BX2VUAB-DRq9D-c0.js → chunk-4BX2VUAB-Cg9RRkJ9.js} +1 -1
  156. package/ui-dist/assets/{chunk-55IACEB6-BU7fhJ5E.js → chunk-55IACEB6-C3OAh-Nm.js} +1 -1
  157. package/ui-dist/assets/{chunk-FMBD7UC4-B5KY7bkB.js → chunk-FMBD7UC4-BQ2yCpRL.js} +1 -1
  158. package/ui-dist/assets/{chunk-JSJVCQXG-CcU3d2u7.js → chunk-JSJVCQXG-D6lFBo3f.js} +1 -1
  159. package/ui-dist/assets/{chunk-KX2RTZJC-HQV7Thyw.js → chunk-KX2RTZJC-CUaDFynR.js} +1 -1
  160. package/ui-dist/assets/{chunk-NQ4KR5QH-CFZQUHUm.js → chunk-NQ4KR5QH-DOffnVy8.js} +1 -1
  161. package/ui-dist/assets/{chunk-QZHKN3VN-qWkcATvx.js → chunk-QZHKN3VN-C7Jx3r9m.js} +1 -1
  162. package/ui-dist/assets/{chunk-WL4C6EOR-rWD9bJYe.js → chunk-WL4C6EOR-DeATO8Iz.js} +1 -1
  163. package/ui-dist/assets/classDiagram-VBA2DB6C-CX2-VvTG.js +1 -0
  164. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-CX2-VvTG.js +1 -0
  165. package/ui-dist/assets/clone-CAhALgsh.js +1 -0
  166. package/ui-dist/assets/{cose-bilkent-S5V4N54A-CsSjm2Co.js → cose-bilkent-S5V4N54A-x_82-QHb.js} +1 -1
  167. package/ui-dist/assets/{dagre-KLK3FWXG-mcPh1s1q.js → dagre-KLK3FWXG-B3xaAjXo.js} +1 -1
  168. package/ui-dist/assets/{diagram-E7M64L7V-BcWqAyuY.js → diagram-E7M64L7V-B7f9YQXK.js} +1 -1
  169. package/ui-dist/assets/{diagram-IFDJBPK2-B-5OERYu.js → diagram-IFDJBPK2-BdIywx8n.js} +1 -1
  170. package/ui-dist/assets/{diagram-P4PSJMXO-BPCuOOZ2.js → diagram-P4PSJMXO-B6Jz8GYG.js} +1 -1
  171. package/ui-dist/assets/{erDiagram-INFDFZHY-Cvau-JqB.js → erDiagram-INFDFZHY-CD_uFaUj.js} +1 -1
  172. package/ui-dist/assets/{flowDiagram-PKNHOUZH-BmTY4iN1.js → flowDiagram-PKNHOUZH-Btsi4bIC.js} +1 -1
  173. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-Rx3_ciMY.js → ganttDiagram-A5KZAMGK-D9607_n7.js} +1 -1
  174. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-BSRwIrhI.js → gitGraphDiagram-K3NZZRJ6-DuJZbawi.js} +1 -1
  175. package/ui-dist/assets/{graph-C8ZACe2j.js → graph-CzzcMZjZ.js} +1 -1
  176. package/ui-dist/assets/{index-BZKsiCwA.js → index-6-mBOW4L.js} +1 -1
  177. package/ui-dist/assets/{index-z1an-zlr.js → index-BElMoOcl.js} +1 -1
  178. package/ui-dist/assets/{index-DP8nG4Ma.js → index-BHTArDmw.js} +1 -1
  179. package/ui-dist/assets/{index-jdhuEGPi.js → index-B_mXuEqJ.js} +1 -1
  180. package/ui-dist/assets/{index-B_wfe9Sq.js → index-Be1rLxo8.js} +1 -1
  181. package/ui-dist/assets/{index-B-SBJR-6.js → index-BlzWsRRW.js} +1 -1
  182. package/ui-dist/assets/{index-B8VxXSbS.js → index-C7eD9kLO.js} +1 -1
  183. package/ui-dist/assets/{index-ChHRnQjN.js → index-CB2kOtYK.js} +1 -1
  184. package/ui-dist/assets/{index-BWBQ0gJ1.js → index-CF3c2_3B.js} +1 -1
  185. package/ui-dist/assets/{index-BBtSnB9K.js → index-CIKUBddL.js} +1 -1
  186. package/ui-dist/assets/{index-DgPWaICy.js → index-CV51eG9V.js} +1 -1
  187. package/ui-dist/assets/index-Cl8ezghO.js +1575 -0
  188. package/ui-dist/assets/{index-B1jERrQP.js → index-CnKhnjg4.js} +1 -1
  189. package/ui-dist/assets/{index-oZ4uufqd.js → index-CxEId4kL.js} +1 -1
  190. package/ui-dist/assets/{index-Bc2KXsRy.js → index-CzoiRvOV.js} +1 -1
  191. package/ui-dist/assets/{index-BMaTBxHN.js → index-DFXiVVb9.js} +1 -1
  192. package/ui-dist/assets/{index-BZSbMc-V.js → index-DIM_TiMc.js} +1 -1
  193. package/ui-dist/assets/{index-B1lP_8Qm.js → index-DNHf2t08.js} +1 -1
  194. package/ui-dist/assets/{index-CIs6NOKk.js → index-DUi_nJkz.js} +1 -1
  195. package/ui-dist/assets/{index-CBTxOaVA.js → index-DZhxjaRV.js} +1 -1
  196. package/ui-dist/assets/{index-CCpTBOz2.js → index-De1w_DPK.js} +1 -1
  197. package/ui-dist/assets/index-DqSQXuKR.css +1 -0
  198. package/ui-dist/assets/{index-Av1vlrq_.js → index-DwK538a4.js} +1 -1
  199. package/ui-dist/assets/{index-jXMbbWhe.js → index-PLtyPrYV.js} +1 -1
  200. package/ui-dist/assets/{infoDiagram-LFFYTUFH-ZZkrWlCG.js → infoDiagram-LFFYTUFH-DiGITl2v.js} +1 -1
  201. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-C2kVJE3b.js → ishikawaDiagram-PHBUUO56-B0Wcc98L.js} +1 -1
  202. package/ui-dist/assets/{journeyDiagram-4ABVD52K-CUD8BfGC.js → journeyDiagram-4ABVD52K-CcwSx0Z4.js} +1 -1
  203. package/ui-dist/assets/{kanban-definition-K7BYSVSG-BSWhRDpQ.js → kanban-definition-K7BYSVSG-DeFt4kJ_.js} +1 -1
  204. package/ui-dist/assets/layout-BrGj-OnF.js +1 -0
  205. package/ui-dist/assets/{linear-B-yRz7s6.js → linear-DuFtuF_z.js} +1 -1
  206. package/ui-dist/assets/{mermaid.core-C-baF8bZ.js → mermaid.core-2Rx3AQaR.js} +57 -57
  207. package/ui-dist/assets/{mindmap-definition-YRQLILUH--gAgZZcl.js → mindmap-definition-YRQLILUH-B1Ng106P.js} +1 -1
  208. package/ui-dist/assets/{pieDiagram-SKSYHLDU-D98SS0Px.js → pieDiagram-SKSYHLDU-CHZc9iJf.js} +1 -1
  209. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-BmE8vYkT.js → quadrantDiagram-337W2JSQ-vPyVOekT.js} +1 -1
  210. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-CBQB1rD1.js → requirementDiagram-Z7DCOOCP-OigqxZdS.js} +1 -1
  211. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-B3YGzVwa.js → sankeyDiagram-WA2Y5GQK-BlqJUkbX.js} +1 -1
  212. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-B2MI2OVq.js → sequenceDiagram-2WXFIKYE-Dz0GHXK-.js} +1 -1
  213. package/ui-dist/assets/{stateDiagram-RAJIS63D-CnS8Uc6U.js → stateDiagram-RAJIS63D-BDp0frpT.js} +1 -1
  214. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-5yU2N9vK.js +1 -0
  215. package/ui-dist/assets/{timeline-definition-YZTLITO2-BSfReMsG.js → timeline-definition-YZTLITO2-Dluuvy7L.js} +1 -1
  216. package/ui-dist/assets/{treemap-KZPCXAKY-C4agj3NM.js → treemap-KZPCXAKY-CPpWyCyI.js} +4 -4
  217. package/ui-dist/assets/{vennDiagram-LZ73GAT5-tQ-QmgUr.js → vennDiagram-LZ73GAT5-CROeIBwe.js} +1 -1
  218. package/ui-dist/assets/{xychartDiagram-JWTSCODW-BcGHupvs.js → xychartDiagram-JWTSCODW-C3xQ6szH.js} +1 -1
  219. package/ui-dist/brands/claude-logo.svg +1 -0
  220. package/ui-dist/brands/cursor-logo.svg +1 -0
  221. package/ui-dist/brands/google-gemini-logo.svg +1 -0
  222. package/ui-dist/brands/openai-logo.svg +1 -0
  223. package/ui-dist/brands/pi-logo.svg +28 -0
  224. package/ui-dist/index.html +2 -2
  225. package/ui-dist/assets/_basePickBy-DHmAX-Ut.js +0 -1
  226. package/ui-dist/assets/_baseUniq-DpYhcode.js +0 -1
  227. package/ui-dist/assets/channel-L2R-jds5.js +0 -1
  228. package/ui-dist/assets/classDiagram-VBA2DB6C-CGKCZZyI.js +0 -1
  229. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-CGKCZZyI.js +0 -1
  230. package/ui-dist/assets/clone-DxezikrM.js +0 -1
  231. package/ui-dist/assets/index-DB4yE_BH.js +0 -1537
  232. package/ui-dist/assets/index-bF3vOu6G.css +0 -1
  233. package/ui-dist/assets/layout-ChF-xA6S.js +0 -1
  234. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-DU4TN-D0.js +0 -1
@@ -7,6 +7,67 @@ import { assertCompanyAccess, getActorInfo } from "./authz.js";
7
7
  import { shouldWakeAssigneeOnCheckout } from "./issues-checkout-wakeup.js";
8
8
  import { queueIssueAssignmentWakeup } from "../services/issue-assignment-wakeup.js";
9
9
  import { buildIssueReviewWakeupOptions, queueIssueReviewWakeup } from "../services/issue-review-wakeup.js";
10
+ const ISSUE_UPDATE_ACTIVITY_FIELDS = [
11
+ "assigneeAgentId",
12
+ "assigneeUserId",
13
+ "assigneeAgentRuntimeOverrides",
14
+ "billingCode",
15
+ "description",
16
+ "executionWorkspaceId",
17
+ "executionWorkspacePreference",
18
+ "executionWorkspaceSettings",
19
+ "goalId",
20
+ "hiddenAt",
21
+ "labelIds",
22
+ "parentId",
23
+ "priority",
24
+ "projectId",
25
+ "projectWorkspaceId",
26
+ "requestDepth",
27
+ "reviewerAgentId",
28
+ "reviewerUserId",
29
+ "status",
30
+ "title",
31
+ ];
32
+ function activityValueEquals(a, b) {
33
+ if (a instanceof Date || b instanceof Date) {
34
+ const aTime = a instanceof Date ? a.getTime() : new Date(String(a)).getTime();
35
+ const bTime = b instanceof Date ? b.getTime() : new Date(String(b)).getTime();
36
+ return Number.isFinite(aTime) && Number.isFinite(bTime) && aTime === bTime;
37
+ }
38
+ if (Array.isArray(a) || Array.isArray(b)) {
39
+ if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length)
40
+ return false;
41
+ return a.every((item, index) => activityValueEquals(item, b[index]));
42
+ }
43
+ if (typeof a === "object" &&
44
+ a !== null &&
45
+ typeof b === "object" &&
46
+ b !== null) {
47
+ return JSON.stringify(a) === JSON.stringify(b);
48
+ }
49
+ return a === b;
50
+ }
51
+ function buildIssueUpdateActivityDetails(existing, updated, metadata) {
52
+ const previous = {};
53
+ const changed = {};
54
+ for (const key of ISSUE_UPDATE_ACTIVITY_FIELDS) {
55
+ if (!(key in existing) && !(key in updated))
56
+ continue;
57
+ if (!activityValueEquals(existing[key], updated[key])) {
58
+ changed[key] = updated[key];
59
+ previous[key] = existing[key];
60
+ }
61
+ }
62
+ return {
63
+ hasFieldChanges: Object.keys(changed).length > 0,
64
+ details: {
65
+ ...changed,
66
+ ...metadata,
67
+ ...(Object.keys(previous).length > 0 ? { _previous: previous } : {}),
68
+ },
69
+ };
70
+ }
10
71
  export function registerIssueMutationRoutes(ctx) {
11
72
  const { router, db, storage, svc, access, agentsSvc, projectsSvc, goalsSvc, heartbeat, issueApprovalsSvc, automationsSvc, executionWorkspacesSvc, assertCanAssignTasks, boardUserId, assertAgentRunCheckoutOwnership, resolveAgentIssueRunId, requireAgentRunId, issueHasReviewer, isReviewerAgentForIssue, canAgentCompleteIssue, statusForReviewDecision, statusAcceptsReviewerDecision, reviewerDecisionRequiresHumanHandoff, commitSubject, } = ctx;
12
73
  router.post("/orgs/:orgId/issues", validate(createIssueSchema), async (req, res) => {
@@ -164,43 +225,39 @@ export function registerIssueMutationRoutes(ctx) {
164
225
  if (actor.runId) {
165
226
  await heartbeat.reportRunActivity(actor.runId).catch((err) => logger.warn({ err, runId: actor.runId }, "failed to clear detached run warning after issue activity"));
166
227
  }
167
- // Build activity details with previous values for changed fields
168
- const previous = {};
169
- for (const key of Object.keys(updateFields)) {
170
- if (key in existing && existing[key] !== updateFields[key]) {
171
- previous[key] = existing[key];
172
- }
173
- }
174
- const hasFieldChanges = Object.keys(previous).length > 0;
228
+ const issueUpdateActivity = buildIssueUpdateActivityDetails(existing, issue, {
229
+ identifier: issue.identifier,
230
+ ...(commentBody ? { source: "comment" } : {}),
231
+ ...(reviewedCompletionNormalized
232
+ ? {
233
+ normalizedFromStatus: "done",
234
+ normalizedReason: "reviewed_issue_assignee_completion",
235
+ }
236
+ : {}),
237
+ });
238
+ const hasFieldChanges = issueUpdateActivity.hasFieldChanges;
175
239
  const reopened = commentBody &&
176
240
  reopenRequested === true &&
177
241
  isClosed &&
178
- previous.status !== undefined &&
242
+ issueUpdateActivity.details._previous?.status !== undefined &&
179
243
  issue.status === "todo";
180
244
  const reopenFromStatus = reopened ? existing.status : null;
181
- await logActivity(db, {
182
- orgId: issue.orgId,
183
- actorType: actor.actorType,
184
- actorId: actor.actorId,
185
- agentId: actor.agentId,
186
- runId: actor.runId,
187
- action: "issue.updated",
188
- entityType: "issue",
189
- entityId: issue.id,
190
- details: {
191
- ...updateFields,
192
- identifier: issue.identifier,
193
- ...(commentBody ? { source: "comment" } : {}),
194
- ...(reopened ? { reopened: true, reopenedFrom: reopenFromStatus } : {}),
195
- ...(reviewedCompletionNormalized
196
- ? {
197
- normalizedFromStatus: "done",
198
- normalizedReason: "reviewed_issue_assignee_completion",
199
- }
200
- : {}),
201
- _previous: hasFieldChanges ? previous : undefined,
202
- },
203
- });
245
+ if (hasFieldChanges || reopened || reviewedCompletionNormalized) {
246
+ await logActivity(db, {
247
+ orgId: issue.orgId,
248
+ actorType: actor.actorType,
249
+ actorId: actor.actorId,
250
+ agentId: actor.agentId,
251
+ runId: actor.runId,
252
+ action: "issue.updated",
253
+ entityType: "issue",
254
+ entityId: issue.id,
255
+ details: {
256
+ ...issueUpdateActivity.details,
257
+ ...(reopened ? { reopened: true, reopenedFrom: reopenFromStatus } : {}),
258
+ },
259
+ });
260
+ }
204
261
  let comment = null;
205
262
  if (commentBody) {
206
263
  comment = await svc.addComment(id, commentBody, {
@@ -1 +1 @@
1
- {"version":3,"file":"issues.mutations.js","sourceRoot":"","sources":["../../src/routes/issues.mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.mutations.js","sourceRoot":"","sources":["../../src/routes/issues.mutations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orgs.d.ts","sourceRoot":"","sources":["../../src/routes/orgs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAgCvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,8CAkrBlE"}
1
+ {"version":3,"file":"orgs.d.ts","sourceRoot":"","sources":["../../src/routes/orgs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAwCvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,8CA4+BlE"}
@@ -1,8 +1,9 @@
1
+ import path from "node:path";
1
2
  import { Router } from "express";
2
- import { organizationPortabilityExportSchema, organizationPortabilityImportSchema, organizationPortabilityPreviewSchema, createOrganizationResourceSchema, createOrganizationSchema, updateOrganizationResourceSchema, updateOrganizationBrandingSchema, updateOrganizationSchema, updateOrganizationWorkspaceFileSchema, organizationIntelligenceProfilePurposeSchema, upsertOrganizationIntelligenceProfileSchema, createWorkspaceBackupSchema, restoreWorkspaceBackupSchema, } from "@rudderhq/shared";
3
+ import { organizationPortabilityExportSchema, organizationPortabilityImportSchema, organizationPortabilityPreviewSchema, createOrganizationResourceSchema, createOrganizationSchema, createLibraryDocumentSchema, createOrganizationWorkspaceDirectorySchema, restoreLibraryDocumentRevisionSchema, updateOrganizationResourceSchema, updateOrganizationBrandingSchema, createOrganizationWorkspaceFileSchema, updateLibraryDocumentSchema, updateOrganizationSchema, updateOrganizationWorkspaceFileSchema, renameOrganizationWorkspaceEntrySchema, moveOrganizationWorkspaceEntrySchema, organizationIntelligenceProfilePurposeSchema, upsertOrganizationIntelligenceProfileSchema, createWorkspaceBackupSchema, restoreWorkspaceBackupSchema, } from "@rudderhq/shared";
3
4
  import { forbidden } from "../errors.js";
4
5
  import { validate } from "../middleware/validate.js";
5
- import { accessService, agentService, budgetService, resourceCatalogService, organizationExportJobService, organizationPortabilityService, workspaceBackupService, organizationSkillService, organizationIntelligenceProfileService, organizationService, logActivity, } from "../services/index.js";
6
+ import { accessService, agentService, budgetService, resourceCatalogService, organizationExportJobService, organizationPortabilityService, workspaceBackupService, organizationSkillService, organizationIntelligenceProfileService, organizationService, documentService, logActivity, } from "../services/index.js";
6
7
  import { organizationWorkspaceBrowserService } from "../services/organization-workspace-browser.js";
7
8
  import { assertBoard, assertCompanyAccess, getActorInfo } from "./authz.js";
8
9
  export function organizationRoutes(db, storage) {
@@ -15,6 +16,7 @@ export function organizationRoutes(db, storage) {
15
16
  const access = accessService(db);
16
17
  const budgets = budgetService(db);
17
18
  const resources = resourceCatalogService(db);
19
+ const documents = documentService(db);
18
20
  const workspaceBrowser = organizationWorkspaceBrowserService(db);
19
21
  const workspaceBackups = workspaceBackupService(db);
20
22
  const exportJobs = organizationExportJobService();
@@ -46,6 +48,33 @@ export function organizationRoutes(db, storage) {
46
48
  throw forbidden(`Only CEO agents can manage organization ${capability}`);
47
49
  }
48
50
  }
51
+ async function assertCanWriteWorkspaceFile(req, orgId) {
52
+ assertCompanyAccess(req, orgId);
53
+ if (req.actor.type === "board")
54
+ return;
55
+ if (!req.actor.agentId)
56
+ throw forbidden("Agent authentication required");
57
+ const actorAgent = await agents.getById(req.actor.agentId);
58
+ if (!actorAgent || actorAgent.orgId !== orgId) {
59
+ throw forbidden("Agent key cannot access another organization");
60
+ }
61
+ }
62
+ function assertAgentLibraryProjectPath(req, requestedPath, mode) {
63
+ if (req.actor.type !== "agent")
64
+ return;
65
+ const rawPath = requestedPath.trim().replaceAll("\\", "/").replace(/^\/+/, "");
66
+ const rawParts = rawPath.split("/");
67
+ const hasUnsafeSegment = rawParts.some((part) => part === "." || part === "..");
68
+ const normalizedPath = path.posix.normalize(rawPath);
69
+ const safePath = normalizedPath === "." ? "" : normalizedPath;
70
+ const parts = safePath.split("/").filter(Boolean);
71
+ const allowed = mode === "directory"
72
+ ? safePath === "projects" || (parts[0] === "projects" && parts.length >= 2)
73
+ : parts[0] === "projects" && parts.length >= 3;
74
+ if (hasUnsafeSegment || !allowed) {
75
+ throw forbidden("Agent Library file access is limited to `library:projects/<project-name>/`");
76
+ }
77
+ }
49
78
  router.get("/", async (req, res) => {
50
79
  assertBoard(req);
51
80
  const result = await svc.list();
@@ -89,6 +118,147 @@ export function organizationRoutes(db, storage) {
89
118
  }
90
119
  res.json(organization);
91
120
  });
121
+ router.get("/:orgId/library/documents", async (req, res) => {
122
+ const orgId = req.params.orgId;
123
+ assertCompanyAccess(req, orgId);
124
+ if (req.actor.type !== "agent") {
125
+ assertBoard(req);
126
+ }
127
+ const result = await documents.listLibraryDocuments(orgId);
128
+ res.json(result);
129
+ });
130
+ router.post("/:orgId/library/documents", validate(createLibraryDocumentSchema), async (req, res) => {
131
+ const orgId = req.params.orgId;
132
+ assertCompanyAccess(req, orgId);
133
+ assertBoard(req);
134
+ const actor = getActorInfo(req);
135
+ const document = await documents.createLibraryDocument({
136
+ orgId,
137
+ title: req.body.title ?? null,
138
+ format: req.body.format,
139
+ body: req.body.body ?? "",
140
+ changeSummary: req.body.changeSummary ?? null,
141
+ createdByAgentId: actor.agentId ?? null,
142
+ createdByUserId: actor.actorType === "user" ? actor.actorId : null,
143
+ });
144
+ await logActivity(db, {
145
+ orgId,
146
+ actorType: actor.actorType,
147
+ actorId: actor.actorId,
148
+ action: "library.document.created",
149
+ entityType: "document",
150
+ entityId: document.id,
151
+ agentId: actor.agentId,
152
+ runId: actor.runId,
153
+ details: {
154
+ title: document.title,
155
+ revisionNumber: document.latestRevisionNumber,
156
+ },
157
+ });
158
+ res.status(201).json(document);
159
+ });
160
+ router.get("/:orgId/library/documents/:documentId", async (req, res) => {
161
+ const orgId = req.params.orgId;
162
+ const documentId = req.params.documentId;
163
+ assertCompanyAccess(req, orgId);
164
+ if (req.actor.type !== "agent") {
165
+ assertBoard(req);
166
+ }
167
+ const document = await documents.getLibraryDocumentById(orgId, documentId);
168
+ if (!document) {
169
+ res.status(404).json({ error: "Library document not found" });
170
+ return;
171
+ }
172
+ res.json(document);
173
+ });
174
+ router.patch("/:orgId/library/documents/:documentId", validate(updateLibraryDocumentSchema), async (req, res) => {
175
+ const orgId = req.params.orgId;
176
+ const documentId = req.params.documentId;
177
+ assertCompanyAccess(req, orgId);
178
+ assertBoard(req);
179
+ const actor = getActorInfo(req);
180
+ const document = await documents.updateLibraryDocument({
181
+ orgId,
182
+ documentId,
183
+ title: req.body.title ?? null,
184
+ format: req.body.format,
185
+ body: req.body.body,
186
+ changeSummary: req.body.changeSummary ?? null,
187
+ baseRevisionId: req.body.baseRevisionId ?? null,
188
+ createdByAgentId: actor.agentId ?? null,
189
+ createdByUserId: actor.actorType === "user" ? actor.actorId : null,
190
+ });
191
+ if (!document) {
192
+ res.status(404).json({ error: "Library document not found" });
193
+ return;
194
+ }
195
+ await logActivity(db, {
196
+ orgId,
197
+ actorType: actor.actorType,
198
+ actorId: actor.actorId,
199
+ action: "library.document.updated",
200
+ entityType: "document",
201
+ entityId: document.id,
202
+ agentId: actor.agentId,
203
+ runId: actor.runId,
204
+ details: {
205
+ title: document.title,
206
+ revisionNumber: document.latestRevisionNumber,
207
+ },
208
+ });
209
+ res.json(document);
210
+ });
211
+ router.get("/:orgId/library/documents/:documentId/revisions", async (req, res) => {
212
+ const orgId = req.params.orgId;
213
+ const documentId = req.params.documentId;
214
+ assertCompanyAccess(req, orgId);
215
+ if (req.actor.type !== "agent") {
216
+ assertBoard(req);
217
+ }
218
+ const document = await documents.getLibraryDocumentById(orgId, documentId);
219
+ if (!document) {
220
+ res.status(404).json({ error: "Library document not found" });
221
+ return;
222
+ }
223
+ const revisions = await documents.listLibraryDocumentRevisions(orgId, documentId);
224
+ res.json(revisions);
225
+ });
226
+ router.post("/:orgId/library/documents/:documentId/revisions/:revisionId/restore", validate(restoreLibraryDocumentRevisionSchema), async (req, res) => {
227
+ const orgId = req.params.orgId;
228
+ const documentId = req.params.documentId;
229
+ const revisionId = req.params.revisionId;
230
+ assertCompanyAccess(req, orgId);
231
+ assertBoard(req);
232
+ const actor = getActorInfo(req);
233
+ const document = await documents.restoreLibraryDocumentRevision({
234
+ orgId,
235
+ documentId,
236
+ revisionId,
237
+ changeSummary: req.body.changeSummary ?? null,
238
+ createdByAgentId: actor.agentId ?? null,
239
+ createdByUserId: actor.actorType === "user" ? actor.actorId : null,
240
+ });
241
+ if (!document) {
242
+ res.status(404).json({ error: "Library document revision not found" });
243
+ return;
244
+ }
245
+ await logActivity(db, {
246
+ orgId,
247
+ actorType: actor.actorType,
248
+ actorId: actor.actorId,
249
+ action: "library.document.restored",
250
+ entityType: "document",
251
+ entityId: document.id,
252
+ agentId: actor.agentId,
253
+ runId: actor.runId,
254
+ details: {
255
+ title: document.title,
256
+ revisionNumber: document.latestRevisionNumber,
257
+ restoredRevisionId: revisionId,
258
+ },
259
+ });
260
+ res.json(document);
261
+ });
92
262
  router.get("/:orgId/resources", async (req, res) => {
93
263
  const orgId = req.params.orgId;
94
264
  assertCompanyAccess(req, orgId);
@@ -212,6 +382,7 @@ export function organizationRoutes(db, storage) {
212
382
  assertBoard(req);
213
383
  }
214
384
  const directoryPath = typeof req.query.path === "string" ? req.query.path : "";
385
+ assertAgentLibraryProjectPath(req, directoryPath, "directory");
215
386
  const result = await workspaceBrowser.listFiles(orgId, directoryPath);
216
387
  res.json(result);
217
388
  });
@@ -222,6 +393,7 @@ export function organizationRoutes(db, storage) {
222
393
  assertBoard(req);
223
394
  }
224
395
  const filePath = typeof req.query.path === "string" ? req.query.path : "";
396
+ assertAgentLibraryProjectPath(req, filePath, "file");
225
397
  const result = await workspaceBrowser.readFile(orgId, filePath);
226
398
  res.json(result);
227
399
  });
@@ -232,6 +404,7 @@ export function organizationRoutes(db, storage) {
232
404
  assertBoard(req);
233
405
  }
234
406
  const filePath = typeof req.query.path === "string" ? req.query.path : "";
407
+ assertAgentLibraryProjectPath(req, filePath, "file");
235
408
  const workspaceFile = await workspaceBrowser.readAttachmentFile(orgId, filePath);
236
409
  if (!workspaceFile.contentType.toLowerCase().startsWith("image/")) {
237
410
  res.status(415).json({ error: "Workspace file is not an image preview" });
@@ -247,11 +420,65 @@ export function organizationRoutes(db, storage) {
247
420
  res.setHeader("Content-Disposition", `inline; filename="${workspaceFile.originalFilename.replaceAll("\"", "")}"`);
248
421
  res.send(workspaceFile.buffer);
249
422
  });
250
- router.patch("/:orgId/workspace/file", validate(updateOrganizationWorkspaceFileSchema), async (req, res) => {
423
+ router.get("/:orgId/workspace/mention-files", async (req, res) => {
251
424
  const orgId = req.params.orgId;
252
425
  assertCompanyAccess(req, orgId);
253
426
  assertBoard(req);
427
+ const query = typeof req.query.q === "string" ? req.query.q : "";
428
+ const rawLimit = typeof req.query.limit === "string" ? Number.parseInt(req.query.limit, 10) : null;
429
+ const entries = await workspaceBrowser.listMentionableFiles(orgId, {
430
+ query,
431
+ limit: Number.isFinite(rawLimit) ? rawLimit : null,
432
+ });
433
+ res.json({ entries });
434
+ });
435
+ router.post("/:orgId/workspace/file", validate(createOrganizationWorkspaceFileSchema), async (req, res) => {
436
+ const orgId = req.params.orgId;
437
+ await assertCanWriteWorkspaceFile(req, orgId);
438
+ assertAgentLibraryProjectPath(req, req.body.filePath, "file");
439
+ const result = await workspaceBrowser.createFile(orgId, req.body.filePath, req.body.content ?? "");
440
+ const actor = getActorInfo(req);
441
+ await logActivity(db, {
442
+ orgId,
443
+ actorType: actor.actorType,
444
+ actorId: actor.actorId,
445
+ action: "organization.workspace_file.created",
446
+ entityType: "organization",
447
+ entityId: orgId,
448
+ agentId: actor.agentId,
449
+ runId: actor.runId,
450
+ details: {
451
+ path: result.filePath,
452
+ },
453
+ });
454
+ res.status(201).json(result);
455
+ });
456
+ router.post("/:orgId/workspace/directory", validate(createOrganizationWorkspaceDirectorySchema), async (req, res) => {
457
+ const orgId = req.params.orgId;
458
+ assertCompanyAccess(req, orgId);
459
+ assertBoard(req);
460
+ const result = await workspaceBrowser.createDirectory(orgId, req.body.directoryPath);
461
+ const actor = getActorInfo(req);
462
+ await logActivity(db, {
463
+ orgId,
464
+ actorType: actor.actorType,
465
+ actorId: actor.actorId,
466
+ action: "organization.workspace_directory.created",
467
+ entityType: "organization",
468
+ entityId: orgId,
469
+ agentId: actor.agentId,
470
+ runId: actor.runId,
471
+ details: {
472
+ path: result.path,
473
+ },
474
+ });
475
+ res.status(201).json(result);
476
+ });
477
+ router.patch("/:orgId/workspace/file", validate(updateOrganizationWorkspaceFileSchema), async (req, res) => {
478
+ const orgId = req.params.orgId;
479
+ await assertCanWriteWorkspaceFile(req, orgId);
254
480
  const filePath = typeof req.query.path === "string" ? req.query.path : "";
481
+ assertAgentLibraryProjectPath(req, filePath, "file");
255
482
  const result = await workspaceBrowser.writeFile(orgId, filePath, req.body.content);
256
483
  await organizationSkills.syncWorkspaceFileChange(orgId, result.filePath, req.body.content);
257
484
  const actor = getActorInfo(req);
@@ -270,6 +497,78 @@ export function organizationRoutes(db, storage) {
270
497
  });
271
498
  res.json(result);
272
499
  });
500
+ router.patch("/:orgId/workspace/entry", validate(renameOrganizationWorkspaceEntrySchema), async (req, res) => {
501
+ const orgId = req.params.orgId;
502
+ assertCompanyAccess(req, orgId);
503
+ assertBoard(req);
504
+ const entryPath = typeof req.query.path === "string" ? req.query.path : "";
505
+ const result = await workspaceBrowser.renameEntry(orgId, entryPath, req.body.name);
506
+ const actor = getActorInfo(req);
507
+ await logActivity(db, {
508
+ orgId,
509
+ actorType: actor.actorType,
510
+ actorId: actor.actorId,
511
+ action: "organization.workspace_entry.renamed",
512
+ entityType: "organization",
513
+ entityId: orgId,
514
+ agentId: actor.agentId,
515
+ runId: actor.runId,
516
+ details: {
517
+ previousPath: result.previousPath,
518
+ path: result.path,
519
+ isDirectory: result.isDirectory,
520
+ },
521
+ });
522
+ res.json(result);
523
+ });
524
+ router.patch("/:orgId/workspace/entry/move", validate(moveOrganizationWorkspaceEntrySchema), async (req, res) => {
525
+ const orgId = req.params.orgId;
526
+ assertCompanyAccess(req, orgId);
527
+ assertBoard(req);
528
+ const entryPath = typeof req.query.path === "string" ? req.query.path : "";
529
+ const result = await workspaceBrowser.moveEntry(orgId, entryPath, req.body.destinationDirectoryPath);
530
+ const actor = getActorInfo(req);
531
+ await logActivity(db, {
532
+ orgId,
533
+ actorType: actor.actorType,
534
+ actorId: actor.actorId,
535
+ action: "organization.workspace_entry.moved",
536
+ entityType: "organization",
537
+ entityId: orgId,
538
+ agentId: actor.agentId,
539
+ runId: actor.runId,
540
+ details: {
541
+ previousPath: result.previousPath,
542
+ path: result.path,
543
+ destinationDirectoryPath: req.body.destinationDirectoryPath,
544
+ isDirectory: result.isDirectory,
545
+ },
546
+ });
547
+ res.json(result);
548
+ });
549
+ router.delete("/:orgId/workspace/entry", async (req, res) => {
550
+ const orgId = req.params.orgId;
551
+ assertCompanyAccess(req, orgId);
552
+ assertBoard(req);
553
+ const entryPath = typeof req.query.path === "string" ? req.query.path : "";
554
+ const result = await workspaceBrowser.deleteEntry(orgId, entryPath);
555
+ const actor = getActorInfo(req);
556
+ await logActivity(db, {
557
+ orgId,
558
+ actorType: actor.actorType,
559
+ actorId: actor.actorId,
560
+ action: "organization.workspace_entry.deleted",
561
+ entityType: "organization",
562
+ entityId: orgId,
563
+ agentId: actor.agentId,
564
+ runId: actor.runId,
565
+ details: {
566
+ path: result.path,
567
+ isDirectory: result.isDirectory,
568
+ },
569
+ });
570
+ res.json(result);
571
+ });
273
572
  router.get("/:orgId/workspace/backups", async (req, res) => {
274
573
  const orgId = req.params.orgId;
275
574
  assertCompanyAccess(req, orgId);