@rudderhq/server 0.3.5-canary.9 → 0.3.5

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 (231) hide show
  1. package/dist/agent-runtimes/registry.d.ts.map +1 -1
  2. package/dist/agent-runtimes/registry.js +17 -2
  3. package/dist/agent-runtimes/registry.js.map +1 -1
  4. package/dist/bootstrap/plugin-host-runtime.d.ts +4 -4
  5. package/dist/bundled-plugins/plugin-linear/dist/worker.js +57 -1
  6. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
  7. package/dist/home-paths.d.ts +13 -0
  8. package/dist/home-paths.d.ts.map +1 -1
  9. package/dist/home-paths.js +141 -9
  10. package/dist/home-paths.js.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +68 -3
  13. package/dist/index.js.map +1 -1
  14. package/dist/routes/activity.d.ts.map +1 -1
  15. package/dist/routes/activity.js +64 -0
  16. package/dist/routes/activity.js.map +1 -1
  17. package/dist/routes/agents.d.ts.map +1 -1
  18. package/dist/routes/agents.js +9 -3
  19. package/dist/routes/agents.js.map +1 -1
  20. package/dist/routes/agents.management-routes.d.ts.map +1 -1
  21. package/dist/routes/agents.management-routes.js +10 -8
  22. package/dist/routes/agents.management-routes.js.map +1 -1
  23. package/dist/routes/authz.d.ts +1 -0
  24. package/dist/routes/authz.d.ts.map +1 -1
  25. package/dist/routes/authz.js +15 -0
  26. package/dist/routes/authz.js.map +1 -1
  27. package/dist/routes/chats.d.ts.map +1 -1
  28. package/dist/routes/chats.js +168 -11
  29. package/dist/routes/chats.js.map +1 -1
  30. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  31. package/dist/routes/chats.stream-routes.js +35 -7
  32. package/dist/routes/chats.stream-routes.js.map +1 -1
  33. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  34. package/dist/routes/issues.comments-attachments.js +23 -8
  35. package/dist/routes/issues.comments-attachments.js.map +1 -1
  36. package/dist/routes/issues.d.ts.map +1 -1
  37. package/dist/routes/issues.js +10 -0
  38. package/dist/routes/issues.js.map +1 -1
  39. package/dist/routes/messenger.d.ts.map +1 -1
  40. package/dist/routes/messenger.js +55 -1
  41. package/dist/routes/messenger.js.map +1 -1
  42. package/dist/routes/orgs.d.ts.map +1 -1
  43. package/dist/routes/orgs.js +68 -4
  44. package/dist/routes/orgs.js.map +1 -1
  45. package/dist/routes/run-intelligence.d.ts.map +1 -1
  46. package/dist/routes/run-intelligence.js +15 -9
  47. package/dist/routes/run-intelligence.js.map +1 -1
  48. package/dist/services/activity.d.ts +17 -0
  49. package/dist/services/activity.d.ts.map +1 -1
  50. package/dist/services/activity.js +515 -3
  51. package/dist/services/activity.js.map +1 -1
  52. package/dist/services/agents.d.ts +48 -13
  53. package/dist/services/agents.d.ts.map +1 -1
  54. package/dist/services/automation-chat-output.d.ts +1 -0
  55. package/dist/services/automation-chat-output.d.ts.map +1 -1
  56. package/dist/services/automations.d.ts.map +1 -1
  57. package/dist/services/automations.js +35 -5
  58. package/dist/services/automations.js.map +1 -1
  59. package/dist/services/board-auth.d.ts +2 -2
  60. package/dist/services/chat-agent-runs.d.ts +65 -0
  61. package/dist/services/chat-agent-runs.d.ts.map +1 -0
  62. package/dist/services/chat-agent-runs.js +267 -0
  63. package/dist/services/chat-agent-runs.js.map +1 -0
  64. package/dist/services/chat-assistant.d.ts.map +1 -1
  65. package/dist/services/chat-assistant.helpers.d.ts +12 -0
  66. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  67. package/dist/services/chat-assistant.helpers.js +23 -1
  68. package/dist/services/chat-assistant.helpers.js.map +1 -1
  69. package/dist/services/chat-assistant.js +312 -177
  70. package/dist/services/chat-assistant.js.map +1 -1
  71. package/dist/services/chats.d.ts +37 -1
  72. package/dist/services/chats.d.ts.map +1 -1
  73. package/dist/services/chats.js +21 -2
  74. package/dist/services/chats.js.map +1 -1
  75. package/dist/services/heartbeat-run-reference.d.ts +9 -0
  76. package/dist/services/heartbeat-run-reference.d.ts.map +1 -0
  77. package/dist/services/heartbeat-run-reference.js +51 -0
  78. package/dist/services/heartbeat-run-reference.js.map +1 -0
  79. package/dist/services/index.d.ts +2 -1
  80. package/dist/services/index.d.ts.map +1 -1
  81. package/dist/services/index.js +2 -1
  82. package/dist/services/index.js.map +1 -1
  83. package/dist/services/integrations/agent-integrations.d.ts +661 -0
  84. package/dist/services/integrations/agent-integrations.d.ts.map +1 -0
  85. package/dist/services/integrations/agent-integrations.js +72 -0
  86. package/dist/services/integrations/agent-integrations.js.map +1 -0
  87. package/dist/services/integrations/feishu/inbound-dispatcher.d.ts +85 -0
  88. package/dist/services/integrations/feishu/inbound-dispatcher.d.ts.map +1 -0
  89. package/dist/services/integrations/feishu/inbound-dispatcher.js +79 -0
  90. package/dist/services/integrations/feishu/inbound-dispatcher.js.map +1 -0
  91. package/dist/services/issues.d.ts.map +1 -1
  92. package/dist/services/issues.helpers.d.ts +1 -0
  93. package/dist/services/issues.helpers.d.ts.map +1 -1
  94. package/dist/services/issues.helpers.js.map +1 -1
  95. package/dist/services/issues.js +17 -2
  96. package/dist/services/issues.js.map +1 -1
  97. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +1 -0
  98. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  99. package/dist/services/knowledge-portability/organization-skills.catalog.js +18 -0
  100. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  101. package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
  102. package/dist/services/knowledge-portability/organization-skills.js +2 -9
  103. package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
  104. package/dist/services/messenger.d.ts +67 -2
  105. package/dist/services/messenger.d.ts.map +1 -1
  106. package/dist/services/messenger.js +220 -3
  107. package/dist/services/messenger.js.map +1 -1
  108. package/dist/services/organization-intelligence-profiles.js +3 -3
  109. package/dist/services/organization-intelligence-profiles.js.map +1 -1
  110. package/dist/services/organization-skills.d.ts +1 -1
  111. package/dist/services/organization-skills.d.ts.map +1 -1
  112. package/dist/services/organization-skills.js +1 -1
  113. package/dist/services/organization-skills.js.map +1 -1
  114. package/dist/services/organization-workspace-browser.d.ts.map +1 -1
  115. package/dist/services/organization-workspace-browser.js +7 -1
  116. package/dist/services/organization-workspace-browser.js.map +1 -1
  117. package/dist/services/plugin-registry.d.ts +11 -11
  118. package/dist/services/run-intelligence.d.ts +8 -4
  119. package/dist/services/run-intelligence.d.ts.map +1 -1
  120. package/dist/services/run-intelligence.js +25 -14
  121. package/dist/services/run-intelligence.js.map +1 -1
  122. package/dist/services/runtime-kernel/heartbeat.core.d.ts +17 -0
  123. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  124. package/dist/services/runtime-kernel/heartbeat.core.js +1 -0
  125. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  126. package/dist/services/runtime-kernel/heartbeat.d.ts +4 -0
  127. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  128. package/dist/services/runtime-kernel/heartbeat.js +2 -1
  129. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  130. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
  131. package/dist/services/runtime-kernel/heartbeat.recovery.js +2 -0
  132. package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
  133. package/dist/services/workspace-backups.d.ts +20 -0
  134. package/dist/services/workspace-backups.d.ts.map +1 -1
  135. package/dist/services/workspace-backups.js +136 -2
  136. package/dist/services/workspace-backups.js.map +1 -1
  137. package/dist/services/workspace-runtime.services.d.ts +1 -1
  138. package/package.json +13 -13
  139. package/resources/bundled-skills/para-memory-files/SKILL.md +80 -4
  140. package/resources/bundled-skills/para-memory-files/evals/conversation-capture.md +128 -0
  141. package/resources/bundled-skills/para-memory-files/references/schemas.md +31 -0
  142. package/resources/bundled-skills/rudder/SKILL.md +29 -6
  143. package/resources/bundled-skills/rudder/references/api-reference.md +8 -2
  144. package/resources/bundled-skills/rudder/references/cli-reference.md +8 -3
  145. package/resources/bundled-skills/rudder/references/organization-skills.md +2 -1
  146. package/skills/para-memory-files/SKILL.md +80 -4
  147. package/skills/para-memory-files/evals/conversation-capture.md +128 -0
  148. package/skills/para-memory-files/references/schemas.md +31 -0
  149. package/skills/rudder/SKILL.md +29 -6
  150. package/skills/rudder/references/api-reference.md +8 -2
  151. package/skills/rudder/references/cli-reference.md +8 -3
  152. package/skills/rudder/references/organization-skills.md +2 -1
  153. package/ui-dist/assets/{_basePickBy-BeGw6yPN.js → _basePickBy-BB7g62ME.js} +1 -1
  154. package/ui-dist/assets/{_baseUniq-B_d_CJIg.js → _baseUniq-CPTrhgCa.js} +1 -1
  155. package/ui-dist/assets/{arc-8bNLMIw3.js → arc-B7NTQPhP.js} +1 -1
  156. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-dzsCv5_r.js → architectureDiagram-2XIMDMQ5-Bfd7rJIb.js} +1 -1
  157. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-CRBCNn9x.js → blockDiagram-WCTKOSBZ-BTrM4r_V.js} +1 -1
  158. package/ui-dist/assets/{c4Diagram-IC4MRINW-Ah3QIn59.js → c4Diagram-IC4MRINW-BYtI6FYL.js} +1 -1
  159. package/ui-dist/assets/channel-DURfI6uy.js +1 -0
  160. package/ui-dist/assets/{chunk-4BX2VUAB-DtSGv1-8.js → chunk-4BX2VUAB--Ppxnmb_.js} +1 -1
  161. package/ui-dist/assets/{chunk-55IACEB6-DHbsIQzy.js → chunk-55IACEB6-CQ83eeoT.js} +1 -1
  162. package/ui-dist/assets/{chunk-FMBD7UC4-BIDVo8nG.js → chunk-FMBD7UC4-OVtz1nfu.js} +1 -1
  163. package/ui-dist/assets/{chunk-JSJVCQXG-DGLOty6i.js → chunk-JSJVCQXG-CUm2fIgz.js} +1 -1
  164. package/ui-dist/assets/{chunk-KX2RTZJC-DTDnY7xh.js → chunk-KX2RTZJC-SXc6fGM7.js} +1 -1
  165. package/ui-dist/assets/{chunk-NQ4KR5QH-B9zsMptQ.js → chunk-NQ4KR5QH-DwGxW1TD.js} +1 -1
  166. package/ui-dist/assets/{chunk-QZHKN3VN-K-zTY8xv.js → chunk-QZHKN3VN-Ck5sO31S.js} +1 -1
  167. package/ui-dist/assets/{chunk-WL4C6EOR-DFzSWFVd.js → chunk-WL4C6EOR-BUSXe5E8.js} +1 -1
  168. package/ui-dist/assets/classDiagram-VBA2DB6C-dFkERNjc.js +1 -0
  169. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-dFkERNjc.js +1 -0
  170. package/ui-dist/assets/clone-CDyUD1RA.js +1 -0
  171. package/ui-dist/assets/{cose-bilkent-S5V4N54A-CCV9Cm-h.js → cose-bilkent-S5V4N54A-CAc4VjLs.js} +1 -1
  172. package/ui-dist/assets/{dagre-KLK3FWXG-Bh6EEf-G.js → dagre-KLK3FWXG-8nuHebTb.js} +1 -1
  173. package/ui-dist/assets/{diagram-E7M64L7V-Cb2jXGdL.js → diagram-E7M64L7V-Cv94_Ur8.js} +1 -1
  174. package/ui-dist/assets/{diagram-IFDJBPK2-CDLxVWQt.js → diagram-IFDJBPK2-DU76Wofo.js} +1 -1
  175. package/ui-dist/assets/{diagram-P4PSJMXO-Cg7GwIaC.js → diagram-P4PSJMXO-BY2jd1q0.js} +1 -1
  176. package/ui-dist/assets/{erDiagram-INFDFZHY-DuGsmc2f.js → erDiagram-INFDFZHY-D8SNSe_N.js} +1 -1
  177. package/ui-dist/assets/{flowDiagram-PKNHOUZH-BmREaGXm.js → flowDiagram-PKNHOUZH-CnyHXWrs.js} +1 -1
  178. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-a8msCa5B.js → ganttDiagram-A5KZAMGK-BBQy4AfN.js} +1 -1
  179. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-D4m7lXm9.js → gitGraphDiagram-K3NZZRJ6-No-FiKKg.js} +1 -1
  180. package/ui-dist/assets/{graph-CkjaVrOw.js → graph-DLjJiX57.js} +1 -1
  181. package/ui-dist/assets/{index-B4L4s51Q.js → index-Bg1K4IPR.js} +1 -1
  182. package/ui-dist/assets/{index-DVYToq2o.js → index-BidXCe8A.js} +1 -1
  183. package/ui-dist/assets/{index-D59BXCKZ.js → index-BmKWlvnC.js} +1 -1
  184. package/ui-dist/assets/{index-DdaMyXkX.js → index-BozRwWt9.js} +1 -1
  185. package/ui-dist/assets/{index-DtWAPmnc.js → index-CCmTOQyL.js} +1 -1
  186. package/ui-dist/assets/{index-CKpDSfPg.js → index-CH7djPxu.js} +1 -1
  187. package/ui-dist/assets/index-CQJhrxim.css +1 -0
  188. package/ui-dist/assets/{index-ujPK-wRA.js → index-CVCK0DNv.js} +1 -1
  189. package/ui-dist/assets/{index-BFYl6kMk.js → index-CgrToN7g.js} +1 -1
  190. package/ui-dist/assets/{index-ChfOUXpI.js → index-CtHNqKUz.js} +1 -1
  191. package/ui-dist/assets/{index-n8l_UmHL.js → index-D7FFHYtM.js} +1 -1
  192. package/ui-dist/assets/{index-J5OYIu2E.js → index-DAf6hKOQ.js} +1 -1
  193. package/ui-dist/assets/{index-BscmQ7c0.js → index-DRZmptwI.js} +1 -1
  194. package/ui-dist/assets/{index-D2lvoIvs.js → index-DZ-V8KVP.js} +1 -1
  195. package/ui-dist/assets/{index-B8KN8Ez6.js → index-DZb9m95s.js} +1 -1
  196. package/ui-dist/assets/{index-B33HSdVl.js → index-Dqlt5nna.js} +1 -1
  197. package/ui-dist/assets/{index-DAMTVbxG.js → index-Dr13cMjz.js} +1 -1
  198. package/ui-dist/assets/{index-BITAxUrz.js → index-R3qcUUQM.js} +1 -1
  199. package/ui-dist/assets/{index-BaV0AR4-.js → index-Ugzuyk1m.js} +1 -1
  200. package/ui-dist/assets/{index-BPvi7yRy.js → index-_DT1YhSt.js} +1 -1
  201. package/ui-dist/assets/{index-CKPEFmiY.js → index-n2PKHeE9.js} +1 -1
  202. package/ui-dist/assets/{index-D86QmhyP.js → index-p9AqxRLQ.js} +1 -1
  203. package/ui-dist/assets/index-utOKzUnM.js +1749 -0
  204. package/ui-dist/assets/{index-RPMWyQL8.js → index-v7rD-G_w.js} +1 -1
  205. package/ui-dist/assets/{infoDiagram-LFFYTUFH-C_AShKEg.js → infoDiagram-LFFYTUFH-B6T3mObQ.js} +1 -1
  206. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-Cxyb0eaD.js → ishikawaDiagram-PHBUUO56-D6ffyu9A.js} +1 -1
  207. package/ui-dist/assets/{journeyDiagram-4ABVD52K-B4suTCzv.js → journeyDiagram-4ABVD52K-CT1nha3u.js} +1 -1
  208. package/ui-dist/assets/{kanban-definition-K7BYSVSG-D2HC2Taq.js → kanban-definition-K7BYSVSG-d8GJ4n_-.js} +1 -1
  209. package/ui-dist/assets/{layout-BgyQ-er6.js → layout-gL287YTy.js} +1 -1
  210. package/ui-dist/assets/{linear-oBKZA5FE.js → linear-Bf1ea6Jq.js} +1 -1
  211. package/ui-dist/assets/{mermaid.core-svvsawGQ.js → mermaid.core-dHWytwA_.js} +4 -4
  212. package/ui-dist/assets/{mindmap-definition-YRQLILUH-BQ6MD1H6.js → mindmap-definition-YRQLILUH-JrUFNpGy.js} +1 -1
  213. package/ui-dist/assets/{pieDiagram-SKSYHLDU-wgDaBfpY.js → pieDiagram-SKSYHLDU-D4Wfs-K5.js} +1 -1
  214. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-C9hYLaBW.js → quadrantDiagram-337W2JSQ-BVITuQui.js} +1 -1
  215. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-CJbix_7K.js → requirementDiagram-Z7DCOOCP-CwJeuuXP.js} +1 -1
  216. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-DO8_xxSo.js → sankeyDiagram-WA2Y5GQK-Cj7QPF5g.js} +1 -1
  217. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-CYpveR6M.js → sequenceDiagram-2WXFIKYE-CaCPs0da.js} +1 -1
  218. package/ui-dist/assets/{stateDiagram-RAJIS63D-B6aZuQGF.js → stateDiagram-RAJIS63D-DLlYG-8N.js} +1 -1
  219. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-I_TDliKE.js +1 -0
  220. package/ui-dist/assets/{timeline-definition-YZTLITO2-CqdAx4KQ.js → timeline-definition-YZTLITO2-C_G6klSp.js} +1 -1
  221. package/ui-dist/assets/{treemap-KZPCXAKY-CikGDExS.js → treemap-KZPCXAKY-BLd4RSVW.js} +1 -1
  222. package/ui-dist/assets/{vennDiagram-LZ73GAT5-D37YdYTG.js → vennDiagram-LZ73GAT5-CxeNzJkA.js} +1 -1
  223. package/ui-dist/assets/{xychartDiagram-JWTSCODW-Djnfai-4.js → xychartDiagram-JWTSCODW-BJEoZfiu.js} +1 -1
  224. package/ui-dist/index.html +2 -2
  225. package/ui-dist/assets/channel-Cg8MJhfF.js +0 -1
  226. package/ui-dist/assets/classDiagram-VBA2DB6C-CMl1x4aX.js +0 -1
  227. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-CMl1x4aX.js +0 -1
  228. package/ui-dist/assets/clone-DNkbPMsy.js +0 -1
  229. package/ui-dist/assets/index-BPhaMNo-.css +0 -1
  230. package/ui-dist/assets/index-Dh7efGpC.js +0 -1734
  231. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-Dh8LljHj.js +0 -1
@@ -1,12 +1,21 @@
1
- import { activityLog, chatContextLinks, chatConversations, heartbeatRuns, issues } from "@rudderhq/db";
2
- import { isLowSignalIssueContentOnlyUpdate } from "@rudderhq/shared";
3
- import { and, desc, eq, isNotNull, isNull, ne, or, sql } from "drizzle-orm";
1
+ import { activityLog, agents, approvalComments, approvals, chatContextLinks, chatConversations, chatMessages, heartbeatRuns, issueComments, issues, operatorProfiles, } from "@rudderhq/db";
2
+ import { isLowSignalIssueContentOnlyUpdate, } from "@rudderhq/shared";
3
+ import { and, asc, desc, eq, gte, isNotNull, isNull, lt, lte, ne, or, sql } from "drizzle-orm";
4
4
  import { badRequest } from "../errors.js";
5
5
  import { issueLowSignalContentOnlyActivitySql } from "./issue-activity-filters.js";
6
6
  const DEFAULT_ACTIVITY_PAGE_LIMIT = 30;
7
7
  const MAX_ACTIVITY_PAGE_LIMIT = 100;
8
8
  const ACTIVITY_CURSOR_TIMESTAMP_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}Z$/;
9
+ const USER_ACTIVITY_CURSOR_TIMESTAMP_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
9
10
  const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
11
+ const DEFAULT_USER_ACTIVITY_PAGE_LIMIT = 30;
12
+ const MAX_USER_ACTIVITY_PAGE_LIMIT = 100;
13
+ const DEFAULT_USER_ACTIVITY_INCLUDES = [
14
+ "chat",
15
+ "comments",
16
+ "approvals",
17
+ "activity",
18
+ ];
10
19
  function normalizeActivityPageLimit(limit) {
11
20
  if (limit === undefined)
12
21
  return DEFAULT_ACTIVITY_PAGE_LIMIT;
@@ -42,6 +51,93 @@ function decodeActivityCursor(cursor) {
42
51
  throw badRequest("Activity cursor is invalid or expired");
43
52
  }
44
53
  }
54
+ function normalizeUserActivityPageLimit(limit) {
55
+ if (limit === undefined)
56
+ return DEFAULT_USER_ACTIVITY_PAGE_LIMIT;
57
+ if (!Number.isFinite(limit))
58
+ throw badRequest("invalid 'limit' value");
59
+ const normalized = Math.floor(limit);
60
+ if (normalized < 1 || normalized > MAX_USER_ACTIVITY_PAGE_LIMIT) {
61
+ throw badRequest(`'limit' must be between 1 and ${MAX_USER_ACTIVITY_PAGE_LIMIT}`);
62
+ }
63
+ return normalized;
64
+ }
65
+ function normalizeUserActivityIncludes(include) {
66
+ const values = include && include.length > 0 ? include : DEFAULT_USER_ACTIVITY_INCLUDES;
67
+ return new Set(values);
68
+ }
69
+ function encodeUserActivityCursor(item) {
70
+ return Buffer.from(JSON.stringify({
71
+ occurredAt: item.occurredAt,
72
+ kind: item.kind,
73
+ id: item.id,
74
+ })).toString("base64url");
75
+ }
76
+ function decodeUserActivityCursor(cursor) {
77
+ if (!cursor)
78
+ return null;
79
+ try {
80
+ const decoded = JSON.parse(Buffer.from(cursor, "base64url").toString("utf8"));
81
+ if (typeof decoded.id !== "string"
82
+ || typeof decoded.kind !== "string"
83
+ || typeof decoded.occurredAt !== "string"
84
+ || !UUID_RE.test(decoded.id)
85
+ || !USER_ACTIVITY_CURSOR_TIMESTAMP_RE.test(decoded.occurredAt)
86
+ || Number.isNaN(new Date(decoded.occurredAt).getTime())) {
87
+ throw new Error("invalid cursor");
88
+ }
89
+ return {
90
+ id: decoded.id,
91
+ kind: decoded.kind,
92
+ occurredAt: decoded.occurredAt,
93
+ };
94
+ }
95
+ catch {
96
+ throw badRequest("User activity cursor is invalid or expired");
97
+ }
98
+ }
99
+ function compareUserActivityItems(a, b) {
100
+ const timeDiff = Date.parse(b.occurredAt) - Date.parse(a.occurredAt);
101
+ if (timeDiff !== 0)
102
+ return timeDiff;
103
+ const kindDiff = a.kind.localeCompare(b.kind);
104
+ if (kindDiff !== 0)
105
+ return kindDiff;
106
+ return a.id.localeCompare(b.id);
107
+ }
108
+ function itemIsAfterCursor(item, cursor) {
109
+ if (!cursor)
110
+ return true;
111
+ return compareUserActivityItems(item, {
112
+ id: cursor.id,
113
+ kind: cursor.kind,
114
+ occurredAt: cursor.occurredAt,
115
+ userId: item.userId,
116
+ actor: item.actor,
117
+ summary: "",
118
+ excerpt: null,
119
+ source: item.source,
120
+ related: [],
121
+ }) > 0;
122
+ }
123
+ function safeExcerpt(value, maxLength = 240) {
124
+ const collapsed = value?.replace(/\s+/g, " ").trim();
125
+ if (!collapsed)
126
+ return null;
127
+ if (collapsed.length <= maxLength)
128
+ return collapsed;
129
+ return `${collapsed.slice(0, maxLength - 3).trimEnd()}...`;
130
+ }
131
+ function titleFromDetails(details) {
132
+ if (!details)
133
+ return null;
134
+ for (const key of ["title", "issueTitle", "name", "summary"]) {
135
+ const value = details[key];
136
+ if (typeof value === "string" && value.trim())
137
+ return value.trim();
138
+ }
139
+ return null;
140
+ }
45
141
  function isLowSignalContentOnlyIssueUpdate(event) {
46
142
  return isLowSignalIssueContentOnlyUpdate(event.action, event.details);
47
143
  }
@@ -59,9 +155,57 @@ function shouldShowOrganizationActivity(event) {
59
155
  }
60
156
  export function activityService(db) {
61
157
  const issueIdAsText = sql `${issues.id}::text`;
158
+ const approvalIdAsText = sql `${approvals.id}::text`;
62
159
  const conversationIdAsText = sql `${chatConversations.id}::text`;
63
160
  const organizationActivityVisibleCondition = and(ne(activityLog.action, "issue.read_marked"), sql `not (${issueLowSignalContentOnlyActivitySql("activity_log")})`);
64
161
  const activityCursorCreatedAt = sql `to_char(${activityLog.createdAt} AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"')`;
162
+ function userActivityCursorCondition(createdAtColumn, idColumn, kind, cursor) {
163
+ if (!cursor)
164
+ return undefined;
165
+ const cursorDate = new Date(cursor.occurredAt);
166
+ const cursorTimestamp = cursor.occurredAt;
167
+ const kindOrder = kind.localeCompare(cursor.kind);
168
+ const sameTimestampCondition = kindOrder > 0
169
+ ? sql `${createdAtColumn} = ${cursorTimestamp}::timestamptz`
170
+ : kindOrder === 0
171
+ ? and(sql `${createdAtColumn} = ${cursorTimestamp}::timestamptz`, sql `${idColumn}::text > ${cursor.id}`)
172
+ : undefined;
173
+ return sameTimestampCondition
174
+ ? or(lt(createdAtColumn, cursorDate), sameTimestampCondition)
175
+ : lt(createdAtColumn, cursorDate);
176
+ }
177
+ function timeConditions(createdAtColumn, filters) {
178
+ const conditions = [];
179
+ if (filters.since)
180
+ conditions.push(gte(createdAtColumn, filters.since));
181
+ if (filters.until)
182
+ conditions.push(lte(createdAtColumn, filters.until));
183
+ return conditions;
184
+ }
185
+ function approvalLinkedIssueCondition(issueId) {
186
+ return or(sql `${approvals.payload}->>'issueId' = ${issueId}`, sql `${approvals.payload}->>'primaryIssueId' = ${issueId}`, sql `${approvals.payload}->'issueIds' ? ${issueId}`);
187
+ }
188
+ function approvalProjectCondition(projectId) {
189
+ return or(sql `${approvals.payload}->>'projectId' = ${projectId}`, sql `exists (
190
+ select 1
191
+ from ${issues}
192
+ where ${issues.orgId} = ${approvals.orgId}
193
+ and ${issues.projectId} = ${projectId}
194
+ and ${issues.hiddenAt} is null
195
+ and (
196
+ ${issues.id}::text = ${approvals.payload}->>'issueId'
197
+ or ${issues.id}::text = ${approvals.payload}->>'primaryIssueId'
198
+ or ${approvals.payload}->'issueIds' ? ${issues.id}::text
199
+ )
200
+ )`);
201
+ }
202
+ function withUserActor(userId, displayName) {
203
+ return {
204
+ type: "user",
205
+ id: userId,
206
+ displayName: displayName ?? null,
207
+ };
208
+ }
65
209
  function activityRowWithIssueDetails(row) {
66
210
  if (row.activityLog.entityType !== "issue")
67
211
  return row.activityLog;
@@ -107,6 +251,374 @@ export function activityService(db) {
107
251
  return conditions;
108
252
  }
109
253
  return {
254
+ listUserActivityLedger: async (filters) => {
255
+ const limit = normalizeUserActivityPageLimit(filters.limit);
256
+ const cursor = decodeUserActivityCursor(filters.cursor);
257
+ const includes = normalizeUserActivityIncludes(filters.include);
258
+ const perSourceLimit = limit + 1;
259
+ const [profile] = await db
260
+ .select({ nickname: operatorProfiles.nickname })
261
+ .from(operatorProfiles)
262
+ .where(eq(operatorProfiles.userId, filters.userId))
263
+ .limit(1);
264
+ const actor = withUserActor(filters.userId, profile?.nickname);
265
+ const items = [];
266
+ if (includes.has("chat")) {
267
+ const conditions = [
268
+ eq(chatMessages.orgId, filters.orgId),
269
+ eq(chatMessages.role, "user"),
270
+ eq(chatConversations.orgId, filters.orgId),
271
+ eq(chatConversations.createdByUserId, filters.userId),
272
+ isNull(chatMessages.supersededAt),
273
+ ...timeConditions(chatMessages.createdAt, filters),
274
+ ];
275
+ const cursorSql = userActivityCursorCondition(chatMessages.createdAt, chatMessages.id, "chat_message", cursor);
276
+ if (cursorSql)
277
+ conditions.push(cursorSql);
278
+ if (filters.agentId) {
279
+ conditions.push(or(eq(chatMessages.replyingAgentId, filters.agentId), eq(chatConversations.preferredAgentId, filters.agentId), eq(chatConversations.routedAgentId, filters.agentId)));
280
+ }
281
+ if (filters.projectId) {
282
+ conditions.push(eq(issues.projectId, filters.projectId));
283
+ }
284
+ if (filters.issueId) {
285
+ conditions.push(eq(chatConversations.primaryIssueId, filters.issueId));
286
+ }
287
+ const rows = await db
288
+ .select({
289
+ message: chatMessages,
290
+ conversationTitle: chatConversations.title,
291
+ preferredAgentId: chatConversations.preferredAgentId,
292
+ routedAgentId: chatConversations.routedAgentId,
293
+ primaryIssueId: chatConversations.primaryIssueId,
294
+ issueIdentifier: issues.identifier,
295
+ issueTitle: issues.title,
296
+ issueProjectId: issues.projectId,
297
+ issueGoalId: issues.goalId,
298
+ })
299
+ .from(chatMessages)
300
+ .innerJoin(chatConversations, and(eq(chatMessages.conversationId, chatConversations.id), eq(chatMessages.orgId, chatConversations.orgId)))
301
+ .leftJoin(issues, and(eq(chatConversations.primaryIssueId, issues.id), eq(chatConversations.orgId, issues.orgId), isNull(issues.hiddenAt)))
302
+ .where(and(...conditions))
303
+ .orderBy(desc(chatMessages.createdAt), asc(chatMessages.id))
304
+ .limit(perSourceLimit);
305
+ for (const row of rows) {
306
+ const related = [
307
+ { type: "chat", id: row.message.conversationId, label: row.conversationTitle },
308
+ ];
309
+ if (row.message.replyingAgentId)
310
+ related.push({ type: "agent", id: row.message.replyingAgentId });
311
+ if (row.preferredAgentId && row.preferredAgentId !== row.message.replyingAgentId) {
312
+ related.push({ type: "agent", id: row.preferredAgentId });
313
+ }
314
+ if (row.routedAgentId && row.routedAgentId !== row.message.replyingAgentId && row.routedAgentId !== row.preferredAgentId) {
315
+ related.push({ type: "agent", id: row.routedAgentId });
316
+ }
317
+ if (row.primaryIssueId) {
318
+ related.push({
319
+ type: "issue",
320
+ id: row.primaryIssueId,
321
+ label: row.issueIdentifier ?? row.issueTitle,
322
+ });
323
+ }
324
+ if (row.issueProjectId)
325
+ related.push({ type: "project", id: row.issueProjectId });
326
+ if (row.issueGoalId)
327
+ related.push({ type: "goal", id: row.issueGoalId });
328
+ items.push({
329
+ id: row.message.id,
330
+ kind: "chat_message",
331
+ occurredAt: row.message.createdAt.toISOString(),
332
+ userId: filters.userId,
333
+ actor,
334
+ summary: `User message in chat: ${row.conversationTitle || "Untitled chat"}`,
335
+ excerpt: safeExcerpt(row.message.body),
336
+ source: {
337
+ type: "chat",
338
+ id: row.message.conversationId,
339
+ link: `chat://${row.message.conversationId}`,
340
+ provenance: {
341
+ table: "chat_messages",
342
+ id: row.message.id,
343
+ orgId: row.message.orgId,
344
+ },
345
+ },
346
+ related,
347
+ metadata: {
348
+ messageId: row.message.id,
349
+ messageKind: row.message.kind,
350
+ messageStatus: row.message.status,
351
+ runId: row.message.runId,
352
+ },
353
+ });
354
+ }
355
+ }
356
+ if (includes.has("comments") || includes.has("issues")) {
357
+ const conditions = [
358
+ eq(issueComments.orgId, filters.orgId),
359
+ eq(issueComments.authorUserId, filters.userId),
360
+ eq(issues.orgId, filters.orgId),
361
+ isNull(issueComments.deletedAt),
362
+ isNull(issues.hiddenAt),
363
+ ...timeConditions(issueComments.createdAt, filters),
364
+ ];
365
+ const cursorSql = userActivityCursorCondition(issueComments.createdAt, issueComments.id, "issue_comment", cursor);
366
+ if (cursorSql)
367
+ conditions.push(cursorSql);
368
+ if (filters.projectId)
369
+ conditions.push(eq(issues.projectId, filters.projectId));
370
+ if (filters.issueId)
371
+ conditions.push(eq(issueComments.issueId, filters.issueId));
372
+ if (filters.agentId) {
373
+ conditions.push(or(eq(issues.assigneeAgentId, filters.agentId), eq(issues.reviewerAgentId, filters.agentId)));
374
+ }
375
+ const rows = await db
376
+ .select({
377
+ comment: issueComments,
378
+ issueIdentifier: issues.identifier,
379
+ issueTitle: issues.title,
380
+ issueStatus: issues.status,
381
+ projectId: issues.projectId,
382
+ goalId: issues.goalId,
383
+ assigneeAgentId: issues.assigneeAgentId,
384
+ reviewerAgentId: issues.reviewerAgentId,
385
+ })
386
+ .from(issueComments)
387
+ .innerJoin(issues, and(eq(issueComments.issueId, issues.id), eq(issueComments.orgId, issues.orgId)))
388
+ .where(and(...conditions))
389
+ .orderBy(desc(issueComments.createdAt), asc(issueComments.id))
390
+ .limit(perSourceLimit);
391
+ for (const row of rows) {
392
+ const related = [
393
+ {
394
+ type: "issue",
395
+ id: row.comment.issueId,
396
+ label: row.issueIdentifier ?? row.issueTitle,
397
+ },
398
+ ];
399
+ if (row.projectId)
400
+ related.push({ type: "project", id: row.projectId });
401
+ if (row.goalId)
402
+ related.push({ type: "goal", id: row.goalId });
403
+ if (row.assigneeAgentId)
404
+ related.push({ type: "agent", id: row.assigneeAgentId });
405
+ if (row.reviewerAgentId && row.reviewerAgentId !== row.assigneeAgentId) {
406
+ related.push({ type: "agent", id: row.reviewerAgentId });
407
+ }
408
+ items.push({
409
+ id: row.comment.id,
410
+ kind: "issue_comment",
411
+ occurredAt: row.comment.createdAt.toISOString(),
412
+ userId: filters.userId,
413
+ actor,
414
+ summary: `User commented on ${row.issueIdentifier ?? "issue"}: ${row.issueTitle}`,
415
+ excerpt: safeExcerpt(row.comment.body),
416
+ source: {
417
+ type: "comment",
418
+ id: row.comment.id,
419
+ link: `issue://${row.comment.issueId}?c=${row.comment.id}`,
420
+ provenance: {
421
+ table: "issue_comments",
422
+ id: row.comment.id,
423
+ orgId: row.comment.orgId,
424
+ },
425
+ },
426
+ related,
427
+ metadata: {
428
+ issueId: row.comment.issueId,
429
+ issueIdentifier: row.issueIdentifier,
430
+ issueStatus: row.issueStatus,
431
+ },
432
+ });
433
+ }
434
+ }
435
+ if (includes.has("approvals")) {
436
+ const conditions = [
437
+ eq(approvalComments.orgId, filters.orgId),
438
+ eq(approvalComments.authorUserId, filters.userId),
439
+ eq(approvals.orgId, filters.orgId),
440
+ ...timeConditions(approvalComments.createdAt, filters),
441
+ ];
442
+ const cursorSql = userActivityCursorCondition(approvalComments.createdAt, approvalComments.id, "approval_comment", cursor);
443
+ if (cursorSql)
444
+ conditions.push(cursorSql);
445
+ if (filters.agentId)
446
+ conditions.push(eq(approvals.requestedByAgentId, filters.agentId));
447
+ if (filters.issueId) {
448
+ conditions.push(approvalLinkedIssueCondition(filters.issueId));
449
+ }
450
+ if (filters.projectId) {
451
+ conditions.push(approvalProjectCondition(filters.projectId));
452
+ }
453
+ const rows = await db
454
+ .select({
455
+ comment: approvalComments,
456
+ approvalType: approvals.type,
457
+ approvalStatus: approvals.status,
458
+ requestedByAgentId: approvals.requestedByAgentId,
459
+ })
460
+ .from(approvalComments)
461
+ .innerJoin(approvals, and(eq(approvalComments.approvalId, approvals.id), eq(approvalComments.orgId, approvals.orgId)))
462
+ .where(and(...conditions))
463
+ .orderBy(desc(approvalComments.createdAt), asc(approvalComments.id))
464
+ .limit(perSourceLimit);
465
+ for (const row of rows) {
466
+ const related = [
467
+ { type: "approval", id: row.comment.approvalId, label: row.approvalType },
468
+ ];
469
+ if (row.requestedByAgentId)
470
+ related.push({ type: "agent", id: row.requestedByAgentId });
471
+ items.push({
472
+ id: row.comment.id,
473
+ kind: "approval_comment",
474
+ occurredAt: row.comment.createdAt.toISOString(),
475
+ userId: filters.userId,
476
+ actor,
477
+ summary: `User commented on ${row.approvalType} approval`,
478
+ excerpt: safeExcerpt(row.comment.body),
479
+ source: {
480
+ type: "approval",
481
+ id: row.comment.approvalId,
482
+ link: `approval://${row.comment.approvalId}?c=${row.comment.id}`,
483
+ provenance: {
484
+ table: "approval_comments",
485
+ id: row.comment.id,
486
+ orgId: row.comment.orgId,
487
+ },
488
+ },
489
+ related,
490
+ metadata: {
491
+ approvalId: row.comment.approvalId,
492
+ approvalType: row.approvalType,
493
+ approvalStatus: row.approvalStatus,
494
+ },
495
+ });
496
+ }
497
+ }
498
+ if (includes.has("activity") || includes.has("issues") || includes.has("approvals")) {
499
+ const activityIncludeCondition = includes.has("activity")
500
+ ? undefined
501
+ : or(includes.has("issues") ? eq(activityLog.entityType, "issue") : undefined, includes.has("approvals") ? eq(activityLog.entityType, "approval") : undefined);
502
+ const conditions = [
503
+ eq(activityLog.orgId, filters.orgId),
504
+ eq(activityLog.actorType, "user"),
505
+ eq(activityLog.actorId, filters.userId),
506
+ ne(activityLog.action, "issue.comment_added"),
507
+ ne(activityLog.action, "approval.comment_added"),
508
+ ne(activityLog.action, "issue.read_marked"),
509
+ sql `not (${issueLowSignalContentOnlyActivitySql("activity_log")})`,
510
+ ...timeConditions(activityLog.createdAt, filters),
511
+ ];
512
+ if (activityIncludeCondition)
513
+ conditions.push(activityIncludeCondition);
514
+ const cursorSql = userActivityCursorCondition(activityLog.createdAt, activityLog.id, "activity_event", cursor);
515
+ if (cursorSql)
516
+ conditions.push(cursorSql);
517
+ if (filters.agentId) {
518
+ conditions.push(or(eq(activityLog.agentId, filters.agentId), and(eq(activityLog.actorType, "agent"), eq(activityLog.actorId, filters.agentId)), eq(approvals.requestedByAgentId, filters.agentId)));
519
+ }
520
+ if (filters.issueId) {
521
+ conditions.push(or(and(eq(activityLog.entityType, "issue"), eq(activityLog.entityId, filters.issueId)), and(eq(activityLog.entityType, "approval"), approvalLinkedIssueCondition(filters.issueId))));
522
+ }
523
+ if (filters.projectId) {
524
+ conditions.push(or(and(eq(activityLog.entityType, "project"), eq(activityLog.entityId, filters.projectId)), eq(issues.projectId, filters.projectId), and(eq(activityLog.entityType, "approval"), approvalProjectCondition(filters.projectId))));
525
+ }
526
+ const rows = await db
527
+ .select({
528
+ event: activityLog,
529
+ issueIdentifier: issues.identifier,
530
+ issueTitle: issues.title,
531
+ issueProjectId: issues.projectId,
532
+ issueGoalId: issues.goalId,
533
+ agentName: agents.name,
534
+ approvalType: approvals.type,
535
+ approvalRequestedByAgentId: approvals.requestedByAgentId,
536
+ })
537
+ .from(activityLog)
538
+ .leftJoin(issues, and(eq(activityLog.entityType, sql `'issue'`), eq(issues.orgId, activityLog.orgId), eq(activityLog.entityId, issueIdAsText), isNull(issues.hiddenAt)))
539
+ .leftJoin(approvals, and(eq(activityLog.entityType, sql `'approval'`), eq(approvals.orgId, activityLog.orgId), eq(activityLog.entityId, approvalIdAsText)))
540
+ .leftJoin(agents, and(eq(activityLog.agentId, agents.id), eq(activityLog.orgId, agents.orgId)))
541
+ .where(and(...conditions))
542
+ .orderBy(desc(activityLog.createdAt), asc(activityLog.id))
543
+ .limit(perSourceLimit);
544
+ for (const row of rows) {
545
+ if (row.event.entityType === "issue" && !row.issueIdentifier && !row.issueTitle)
546
+ continue;
547
+ if (row.event.entityType === "approval" && !row.approvalType)
548
+ continue;
549
+ const details = row.event.details ?? null;
550
+ const related = [];
551
+ if (row.event.agentId)
552
+ related.push({ type: "agent", id: row.event.agentId, label: row.agentName });
553
+ if (row.approvalRequestedByAgentId && row.approvalRequestedByAgentId !== row.event.agentId) {
554
+ related.push({ type: "agent", id: row.approvalRequestedByAgentId });
555
+ }
556
+ if (row.event.runId)
557
+ related.push({ type: "run", id: row.event.runId });
558
+ if (row.event.entityType === "issue") {
559
+ related.push({
560
+ type: "issue",
561
+ id: row.event.entityId,
562
+ label: row.issueIdentifier ?? row.issueTitle,
563
+ });
564
+ }
565
+ if (row.event.entityType === "chat")
566
+ related.push({ type: "chat", id: row.event.entityId });
567
+ if (row.event.entityType === "approval") {
568
+ related.push({ type: "approval", id: row.event.entityId, label: row.approvalType });
569
+ }
570
+ if (row.event.entityType === "project")
571
+ related.push({ type: "project", id: row.event.entityId });
572
+ if (row.issueProjectId)
573
+ related.push({ type: "project", id: row.issueProjectId });
574
+ if (row.issueGoalId)
575
+ related.push({ type: "goal", id: row.issueGoalId });
576
+ const detailTitle = titleFromDetails(details);
577
+ items.push({
578
+ id: row.event.id,
579
+ kind: "activity_event",
580
+ occurredAt: row.event.createdAt.toISOString(),
581
+ userId: filters.userId,
582
+ actor,
583
+ summary: detailTitle
584
+ ? `User ${row.event.action} on ${row.event.entityType}: ${detailTitle}`
585
+ : `User ${row.event.action} on ${row.event.entityType}`,
586
+ excerpt: safeExcerpt(typeof details?.note === "string"
587
+ ? details.note
588
+ : typeof details?.comment === "string"
589
+ ? details.comment
590
+ : null),
591
+ source: {
592
+ type: "activity",
593
+ id: row.event.id,
594
+ link: row.event.entityType === "issue" ? `issue://${row.event.entityId}` : null,
595
+ provenance: {
596
+ table: "activity_log",
597
+ id: row.event.id,
598
+ orgId: row.event.orgId,
599
+ },
600
+ },
601
+ related,
602
+ metadata: {
603
+ action: row.event.action,
604
+ entityType: row.event.entityType,
605
+ entityId: row.event.entityId,
606
+ details,
607
+ },
608
+ });
609
+ }
610
+ }
611
+ const sortedItems = items
612
+ .filter((item) => itemIsAfterCursor(item, cursor))
613
+ .sort(compareUserActivityItems);
614
+ const pageItems = sortedItems.slice(0, limit);
615
+ return {
616
+ items: pageItems,
617
+ nextCursor: sortedItems.length > limit && pageItems.length > 0
618
+ ? encodeUserActivityCursor(pageItems[pageItems.length - 1])
619
+ : null,
620
+ };
621
+ },
110
622
  list: (filters) => {
111
623
  const conditions = organizationActivityConditions(filters);
112
624
  return db
@@ -1 +1 @@
1
- {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/services/activity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/services/activity.ts"],"names":[],"mappings":"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"}