@rudderhq/server 0.1.0-canary.2 → 0.1.0-canary.20

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 (147) hide show
  1. package/dist/bootstrap/register-api-routes.js +1 -1
  2. package/dist/bootstrap/register-api-routes.js.map +1 -1
  3. package/dist/dev-server-status.d.ts +1 -7
  4. package/dist/dev-server-status.d.ts.map +1 -1
  5. package/dist/dev-server-status.js +1 -4
  6. package/dist/dev-server-status.js.map +1 -1
  7. package/dist/routes/agents.d.ts +2 -1
  8. package/dist/routes/agents.d.ts.map +1 -1
  9. package/dist/routes/agents.js +158 -1
  10. package/dist/routes/agents.js.map +1 -1
  11. package/dist/routes/chats.d.ts.map +1 -1
  12. package/dist/routes/chats.js +149 -21
  13. package/dist/routes/chats.js.map +1 -1
  14. package/dist/routes/dashboard.d.ts.map +1 -1
  15. package/dist/routes/dashboard.js +24 -0
  16. package/dist/routes/dashboard.js.map +1 -1
  17. package/dist/routes/health.d.ts.map +1 -1
  18. package/dist/routes/health.js +3 -12
  19. package/dist/routes/health.js.map +1 -1
  20. package/dist/routes/instance-settings.d.ts.map +1 -1
  21. package/dist/routes/instance-settings.js +1 -26
  22. package/dist/routes/instance-settings.js.map +1 -1
  23. package/dist/routes/issues.d.ts.map +1 -1
  24. package/dist/routes/issues.js +19 -17
  25. package/dist/routes/issues.js.map +1 -1
  26. package/dist/services/agent-run-context.d.ts +1 -1
  27. package/dist/services/agents.d.ts +13 -13
  28. package/dist/services/chat-assistant.d.ts.map +1 -1
  29. package/dist/services/chat-assistant.js +75 -15
  30. package/dist/services/chat-assistant.js.map +1 -1
  31. package/dist/services/chat-generation-locks.d.ts +2 -1
  32. package/dist/services/chat-generation-locks.d.ts.map +1 -1
  33. package/dist/services/chat-generation-locks.js +12 -3
  34. package/dist/services/chat-generation-locks.js.map +1 -1
  35. package/dist/services/chats.d.ts +1 -1
  36. package/dist/services/costs.d.ts +1 -1
  37. package/dist/services/documents.d.ts +23 -0
  38. package/dist/services/documents.d.ts.map +1 -1
  39. package/dist/services/documents.js +17 -1
  40. package/dist/services/documents.js.map +1 -1
  41. package/dist/services/finance.d.ts +2 -2
  42. package/dist/services/heartbeat.d.ts +1 -1
  43. package/dist/services/heartbeat.d.ts.map +1 -1
  44. package/dist/services/heartbeat.js +1 -1
  45. package/dist/services/heartbeat.js.map +1 -1
  46. package/dist/services/instance-settings.d.ts +1 -3
  47. package/dist/services/instance-settings.d.ts.map +1 -1
  48. package/dist/services/instance-settings.js +1 -38
  49. package/dist/services/instance-settings.js.map +1 -1
  50. package/dist/services/messenger.d.ts +1 -1
  51. package/dist/services/messenger.d.ts.map +1 -1
  52. package/dist/services/messenger.js +59 -12
  53. package/dist/services/messenger.js.map +1 -1
  54. package/dist/services/runtime-kernel/heartbeat.d.ts +15 -0
  55. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  56. package/dist/services/runtime-kernel/heartbeat.js +143 -100
  57. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  58. package/dist/services/runtime-kernel/model-fallback.d.ts +10 -0
  59. package/dist/services/runtime-kernel/model-fallback.d.ts.map +1 -0
  60. package/dist/services/runtime-kernel/model-fallback.js +147 -0
  61. package/dist/services/runtime-kernel/model-fallback.js.map +1 -0
  62. package/package.json +14 -14
  63. package/resources/bundled-skills/rudder-create-agent/SKILL.md +1 -1
  64. package/resources/bundled-skills/rudder-create-agent/references/api-reference.md +4 -2
  65. package/resources/bundled-skills/rudder-create-agent/references/cli-reference.md +1 -1
  66. package/skills/rudder-create-agent/SKILL.md +1 -1
  67. package/skills/rudder-create-agent/references/api-reference.md +4 -2
  68. package/skills/rudder-create-agent/references/cli-reference.md +1 -1
  69. package/ui-dist/assets/{_basePickBy-C8ZhuJlI.js → _basePickBy-8ndlG73I.js} +1 -1
  70. package/ui-dist/assets/{_baseUniq-BRCVYeJb.js → _baseUniq-CdTmd3cs.js} +1 -1
  71. package/ui-dist/assets/{arc-B1R0dxYm.js → arc-Dg3IWr1w.js} +1 -1
  72. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-D7sRWBaf.js → architectureDiagram-2XIMDMQ5-CL4FzMl4.js} +1 -1
  73. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-Byw6t-Eq.js → blockDiagram-WCTKOSBZ-CPAHP8wf.js} +1 -1
  74. package/ui-dist/assets/{c4Diagram-IC4MRINW-RsrU80Hc.js → c4Diagram-IC4MRINW-D9LRotnb.js} +1 -1
  75. package/ui-dist/assets/channel-W_reUgPl.js +1 -0
  76. package/ui-dist/assets/{chunk-4BX2VUAB-D9oP4FJ_.js → chunk-4BX2VUAB-CXYF-alC.js} +1 -1
  77. package/ui-dist/assets/{chunk-55IACEB6-DT8xQAKU.js → chunk-55IACEB6-_6gEPxwb.js} +1 -1
  78. package/ui-dist/assets/{chunk-FMBD7UC4-FwqsP6AV.js → chunk-FMBD7UC4-DBztD7i6.js} +1 -1
  79. package/ui-dist/assets/{chunk-JSJVCQXG-CTOvJxU3.js → chunk-JSJVCQXG-D_JITQMs.js} +1 -1
  80. package/ui-dist/assets/{chunk-KX2RTZJC-8oze7Khf.js → chunk-KX2RTZJC-CDYC8R4t.js} +1 -1
  81. package/ui-dist/assets/{chunk-NQ4KR5QH-D38LrSCR.js → chunk-NQ4KR5QH-CuyjnaxX.js} +1 -1
  82. package/ui-dist/assets/{chunk-QZHKN3VN-B3ZhJA7D.js → chunk-QZHKN3VN-BcmldUA2.js} +1 -1
  83. package/ui-dist/assets/{chunk-WL4C6EOR-CSTjCHX6.js → chunk-WL4C6EOR-Csc-gUp3.js} +1 -1
  84. package/ui-dist/assets/classDiagram-VBA2DB6C-Z8KHPV3I.js +1 -0
  85. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-Z8KHPV3I.js +1 -0
  86. package/ui-dist/assets/clone-C8TVMdfS.js +1 -0
  87. package/ui-dist/assets/{cose-bilkent-S5V4N54A-CI_3Qz62.js → cose-bilkent-S5V4N54A-AQtv05lK.js} +1 -1
  88. package/ui-dist/assets/{dagre-KLK3FWXG-BNakeJ5Q.js → dagre-KLK3FWXG-qsyPc9zE.js} +1 -1
  89. package/ui-dist/assets/{diagram-E7M64L7V-UubVu-IN.js → diagram-E7M64L7V-D1y3CfX-.js} +1 -1
  90. package/ui-dist/assets/{diagram-IFDJBPK2-DRu8FSPT.js → diagram-IFDJBPK2-CXddZqNx.js} +1 -1
  91. package/ui-dist/assets/{diagram-P4PSJMXO-t2_nA6WC.js → diagram-P4PSJMXO-bH_AOwhx.js} +1 -1
  92. package/ui-dist/assets/{erDiagram-INFDFZHY-ET8QDHtO.js → erDiagram-INFDFZHY-Dm0NQ5o9.js} +1 -1
  93. package/ui-dist/assets/{flowDiagram-PKNHOUZH-QXQeM_4d.js → flowDiagram-PKNHOUZH-Bw0gdk4S.js} +1 -1
  94. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-B6yFn5Hd.js → ganttDiagram-A5KZAMGK-DDg3IOSh.js} +1 -1
  95. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-DZAeG6MG.js → gitGraphDiagram-K3NZZRJ6-COVQ396E.js} +1 -1
  96. package/ui-dist/assets/{graph-BaTTyfU1.js → graph-bwl15Qpv.js} +1 -1
  97. package/ui-dist/assets/{index-CRtxHtSg.js → index--J4W4di0.js} +1 -1
  98. package/ui-dist/assets/{index-ym7ZDmXE.js → index-9o_SvY62.js} +1 -1
  99. package/ui-dist/assets/{index-qVKE_HM2.js → index-B0lMF-6n.js} +1 -1
  100. package/ui-dist/assets/{index-D-mb6cn2.js → index-B4zUm3gQ.js} +1 -1
  101. package/ui-dist/assets/{index-D_ZvBEXt.js → index-BFOm-l2T.js} +1 -1
  102. package/ui-dist/assets/{index-h_UqLbty.js → index-BQMKQUTE.js} +1 -1
  103. package/ui-dist/assets/index-C8zmIhnp.css +1 -0
  104. package/ui-dist/assets/{index-MYVA1f40.js → index-CC_A8kzq.js} +1 -1
  105. package/ui-dist/assets/{index-C7kEQtA_.js → index-CGKSC15M.js} +1 -1
  106. package/ui-dist/assets/{index-BXxi8m3U.js → index-CUPVi6ek.js} +1 -1
  107. package/ui-dist/assets/{index-DQeEMbWr.js → index-C_bGxC5L.js} +1 -1
  108. package/ui-dist/assets/{index-Cftoq4bF.js → index-Cej9C4tf.js} +1 -1
  109. package/ui-dist/assets/index-D7r_XRYD.js +1363 -0
  110. package/ui-dist/assets/{index-BSfIb9qw.js → index-DBLGXUKf.js} +1 -1
  111. package/ui-dist/assets/{index-C2T1FM7J.js → index-DSuhUSKb.js} +1 -1
  112. package/ui-dist/assets/{index-BWEA-ibM.js → index-DTsttLIs.js} +1 -1
  113. package/ui-dist/assets/{index-DvQZ5FJk.js → index-DozeI_ea.js} +1 -1
  114. package/ui-dist/assets/{index-Bo1sSJ7x.js → index-DxMAOmox.js} +1 -1
  115. package/ui-dist/assets/{index-BGOxzMvq.js → index-J1ga5P92.js} +1 -1
  116. package/ui-dist/assets/{index-CAcJz5d9.js → index-RhFrB2n9.js} +1 -1
  117. package/ui-dist/assets/{index-DBsb_N5Q.js → index-WRD2om5d.js} +1 -1
  118. package/ui-dist/assets/{index-eessTUZm.js → index-bWQpv8XB.js} +1 -1
  119. package/ui-dist/assets/{index-DPbDGs74.js → index-dewwxxca.js} +1 -1
  120. package/ui-dist/assets/{index-ZHLqhZdz.js → index-stSzYVUi.js} +1 -1
  121. package/ui-dist/assets/{infoDiagram-LFFYTUFH-BOnKcq7S.js → infoDiagram-LFFYTUFH-DjdShR-K.js} +1 -1
  122. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-etV-MroN.js → ishikawaDiagram-PHBUUO56-DXZf7GwF.js} +1 -1
  123. package/ui-dist/assets/{journeyDiagram-4ABVD52K-mvjGNrBx.js → journeyDiagram-4ABVD52K-70bcudq0.js} +1 -1
  124. package/ui-dist/assets/{kanban-definition-K7BYSVSG-CW-Dw_bU.js → kanban-definition-K7BYSVSG-BCdouCZ4.js} +1 -1
  125. package/ui-dist/assets/{layout-DUcWZ3H3.js → layout-Mhq2HNeN.js} +1 -1
  126. package/ui-dist/assets/{linear-B0r1V0oG.js → linear-6jA82SeB.js} +1 -1
  127. package/ui-dist/assets/{mermaid.core-Bo_YuNee.js → mermaid.core-Bytv0x0U.js} +4 -4
  128. package/ui-dist/assets/{mindmap-definition-YRQLILUH-BmEjkBnz.js → mindmap-definition-YRQLILUH-DK1H9m3i.js} +1 -1
  129. package/ui-dist/assets/{pieDiagram-SKSYHLDU-BRER3VVx.js → pieDiagram-SKSYHLDU-DOIMV3g5.js} +1 -1
  130. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-oYnSbQKi.js → quadrantDiagram-337W2JSQ-DTfxtKqh.js} +1 -1
  131. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-BRLFZsts.js → requirementDiagram-Z7DCOOCP-DjXfzNQ_.js} +1 -1
  132. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-YOKeMxIU.js → sankeyDiagram-WA2Y5GQK-DCIL8YBw.js} +1 -1
  133. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-Bj-YKQMs.js → sequenceDiagram-2WXFIKYE-DB7gJ2NE.js} +1 -1
  134. package/ui-dist/assets/{stateDiagram-RAJIS63D-BYf-CeWe.js → stateDiagram-RAJIS63D-ByB0ZTgH.js} +1 -1
  135. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-DHKGN5HJ.js +1 -0
  136. package/ui-dist/assets/{timeline-definition-YZTLITO2-CG6r3GP4.js → timeline-definition-YZTLITO2-BgCHIIAF.js} +1 -1
  137. package/ui-dist/assets/{treemap-KZPCXAKY-DCX4FLGH.js → treemap-KZPCXAKY-CN3Dkmq8.js} +1 -1
  138. package/ui-dist/assets/{vennDiagram-LZ73GAT5-CpbbhHdY.js → vennDiagram-LZ73GAT5-DoESURJl.js} +1 -1
  139. package/ui-dist/assets/{xychartDiagram-JWTSCODW-Biq5EV_L.js → xychartDiagram-JWTSCODW-CRDlcdUc.js} +1 -1
  140. package/ui-dist/index.html +2 -2
  141. package/ui-dist/assets/channel-BExT12GI.js +0 -1
  142. package/ui-dist/assets/classDiagram-VBA2DB6C-B3FSZmLP.js +0 -1
  143. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-B3FSZmLP.js +0 -1
  144. package/ui-dist/assets/clone-DxXNeJhJ.js +0 -1
  145. package/ui-dist/assets/index-2Hx2TlnA.css +0 -1
  146. package/ui-dist/assets/index-wzjO7KZw.js +0 -1343
  147. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-g0byx18e.js +0 -1
@@ -36,7 +36,7 @@ export function registerApiRoutes(db, opts, pluginRuntime) {
36
36
  }));
37
37
  api.use("/orgs", organizationRoutes(db, opts.storageService));
38
38
  api.use(organizationSkillRoutes(db));
39
- api.use(agentRoutes(db));
39
+ api.use(agentRoutes(db, opts.storageService));
40
40
  api.use(assetRoutes(db, opts.storageService));
41
41
  api.use(projectRoutes(db));
42
42
  api.use(issueRoutes(db, opts.storageService));
@@ -1 +1 @@
1
- {"version":3,"file":"register-api-routes.js","sourceRoot":"","sources":["../../src/bootstrap/register-api-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-api-routes.js","sourceRoot":"","sources":["../../src/bootstrap/register-api-routes.ts"],"names":[],"mappings":"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"}
@@ -16,14 +16,8 @@ export type DevServerHealthStatus = {
16
16
  changedPathsSample: string[];
17
17
  envFileChanged: boolean;
18
18
  pendingMigrations: string[];
19
- autoRestartEnabled: boolean;
20
- activeRunCount: number;
21
- waitingForIdle: boolean;
22
19
  lastRestartAt: string | null;
23
20
  };
24
21
  export declare function readPersistedDevServerStatus(env?: NodeJS.ProcessEnv): PersistedDevServerStatus | null;
25
- export declare function toDevServerHealthStatus(persisted: PersistedDevServerStatus, opts: {
26
- autoRestartEnabled: boolean;
27
- activeRunCount: number;
28
- }): DevServerHealthStatus;
22
+ export declare function toDevServerHealthStatus(persisted: PersistedDevServerStatus): DevServerHealthStatus;
29
23
  //# sourceMappingURL=dev-server-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server-status.d.ts","sourceRoot":"","sources":["../src/dev-server-status.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,wCAAwC,GAAG,IAAI,CAAC;IACnG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAgBF,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,wBAAwB,GAAG,IAAI,CAmCjC;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,wBAAwB,EACnC,IAAI,EAAE;IAAE,kBAAkB,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC5D,qBAAqB,CA2BvB"}
1
+ {"version":3,"file":"dev-server-status.d.ts","sourceRoot":"","sources":["../src/dev-server-status.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,wCAAwC,GAAG,IAAI,CAAC;IACnG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAgBF,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,wBAAwB,GAAG,IAAI,CAmCjC;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,wBAAwB,GAClC,qBAAqB,CAwBvB"}
@@ -46,7 +46,7 @@ export function readPersistedDevServerStatus(env = process.env) {
46
46
  return null;
47
47
  }
48
48
  }
49
- export function toDevServerHealthStatus(persisted, opts) {
49
+ export function toDevServerHealthStatus(persisted) {
50
50
  const hasPathChanges = persisted.changedPathCount > 0;
51
51
  const hasPendingMigrations = persisted.pendingMigrations.length > 0;
52
52
  const reason = hasPathChanges && hasPendingMigrations
@@ -66,9 +66,6 @@ export function toDevServerHealthStatus(persisted, opts) {
66
66
  changedPathsSample: persisted.changedPathsSample,
67
67
  envFileChanged: persisted.envFileChanged,
68
68
  pendingMigrations: persisted.pendingMigrations,
69
- autoRestartEnabled: opts.autoRestartEnabled,
70
- activeRunCount: opts.activeRunCount,
71
- waitingForIdle: restartRequired && opts.autoRestartEnabled && opts.activeRunCount > 0,
72
69
  lastRestartAt: persisted.lastRestartAt,
73
70
  };
74
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server-status.js","sourceRoot":"","sources":["../src/dev-server-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server-status.js","sourceRoot":"","sources":["../src/dev-server-status.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { Db } from "@rudderhq/db";
2
- export declare function agentRoutes(db: Db): import("express-serve-static-core").Router;
2
+ import type { StorageService } from "../storage/types.js";
3
+ export declare function agentRoutes(db: Db, storage?: StorageService): import("express-serve-static-core").Router;
3
4
  //# sourceMappingURL=agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AA4DvC,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,8CAy1EjC"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAwCvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAmF1D,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,8CA08E3D"}
@@ -1,4 +1,6 @@
1
1
  import { Router } from "express";
2
+ import multer from "multer";
3
+ import sharp from "sharp";
2
4
  import { generateKeyPairSync, randomUUID } from "node:crypto";
3
5
  import path from "node:path";
4
6
  import { agents as agentsTable, organizations, heartbeatRuns } from "@rudderhq/db";
@@ -6,11 +8,13 @@ import { and, desc, eq, inArray, not, sql } from "drizzle-orm";
6
8
  import { agentSkillSyncSchema, createAgentKeySchema, createAgentHireSchema, createAgentSchema, deriveAgentUrlKey, isUuidLike, organizationSkillCreateSchema, resetAgentSessionSchema, testAgentRuntimeEnvironmentSchema, upsertAgentInstructionsFileSchema, updateAgentInstructionsBundleSchema, updateAgentPermissionsSchema, updateAgentInstructionsPathSchema, wakeAgentSchema, updateAgentSchema, } from "@rudderhq/shared";
7
9
  import { validate } from "../middleware/validate.js";
8
10
  import { agentService, agentInstructionsService, accessService, approvalService, organizationSkillService, budgetService, heartbeatService, issueApprovalService, issueService, logActivity, secretService, syncInstructionsBundleConfigFromFilePath, workspaceOperationService, } from "../services/index.js";
11
+ import { assetService } from "../services/assets.js";
9
12
  import { conflict, forbidden, notFound, unprocessable } from "../errors.js";
10
13
  import { assertBoard, assertCompanyAccess, assertInstanceAdmin, getActorInfo } from "./authz.js";
11
14
  import { findServerAdapter, listAgentRuntimeModels } from "../agent-runtimes/index.js";
12
15
  import { redactEventPayload } from "../redaction.js";
13
16
  import { redactCurrentUserValue } from "../log-redaction.js";
17
+ import { MAX_ATTACHMENT_BYTES } from "../attachment-types.js";
14
18
  import { renderOrgChartSvg, renderOrgChartPng, ORG_CHART_STYLES } from "./org-chart-svg.js";
15
19
  import { instanceSettingsService } from "../services/instance-settings.js";
16
20
  import { runClaudeLogin } from "@rudderhq/agent-runtime-claude-local/server";
@@ -19,7 +23,56 @@ import { DEFAULT_CURSOR_LOCAL_MODEL } from "@rudderhq/agent-runtime-cursor-local
19
23
  import { DEFAULT_GEMINI_LOCAL_MODEL } from "@rudderhq/agent-runtime-gemini-local";
20
24
  import { ensureOpenCodeModelConfiguredAndAvailable } from "@rudderhq/agent-runtime-opencode-local/server";
21
25
  import { loadDefaultAgentInstructionsBundle, resolveDefaultAgentInstructionsBundleRole, } from "../services/default-agent-instructions.js";
22
- export function agentRoutes(db) {
26
+ const AGENT_AVATAR_CONTENT_TYPES = new Set([
27
+ "image/png",
28
+ "image/jpeg",
29
+ "image/jpg",
30
+ "image/webp",
31
+ "image/gif",
32
+ ]);
33
+ const AGENT_AVATAR_SIZE_PX = 256;
34
+ const AGENT_AVATAR_WEBP_QUALITY = 82;
35
+ const AGENT_AVATAR_ASSET_RE = /^asset:([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i;
36
+ function extractAgentAvatarAssetId(icon) {
37
+ if (typeof icon !== "string")
38
+ return null;
39
+ const match = icon.trim().match(AGENT_AVATAR_ASSET_RE);
40
+ return match?.[1] ?? null;
41
+ }
42
+ async function runSingleFileUpload(upload, req, res) {
43
+ await new Promise((resolve, reject) => {
44
+ upload.single("file")(req, res, (err) => {
45
+ if (err)
46
+ reject(err);
47
+ else
48
+ resolve();
49
+ });
50
+ });
51
+ }
52
+ async function compressAgentAvatar(file) {
53
+ try {
54
+ const output = await sharp(file.buffer, {
55
+ animated: false,
56
+ limitInputPixels: 24_000_000,
57
+ })
58
+ .rotate()
59
+ .resize(AGENT_AVATAR_SIZE_PX, AGENT_AVATAR_SIZE_PX, {
60
+ fit: "cover",
61
+ position: "center",
62
+ withoutEnlargement: true,
63
+ })
64
+ .webp({ quality: AGENT_AVATAR_WEBP_QUALITY, effort: 4 })
65
+ .toBuffer();
66
+ if (output.length <= 0) {
67
+ throw new Error("empty avatar output");
68
+ }
69
+ return output;
70
+ }
71
+ catch {
72
+ throw unprocessable("Avatar image could not be processed");
73
+ }
74
+ }
75
+ export function agentRoutes(db, storage) {
23
76
  function stripPersistedSkillSyncConfig(config) {
24
77
  const next = { ...config };
25
78
  delete next.rudderSkillSync;
@@ -56,6 +109,7 @@ export function agentRoutes(db) {
56
109
  ];
57
110
  const router = Router();
58
111
  const svc = agentService(db);
112
+ const assets = assetService(db);
59
113
  const access = accessService(db);
60
114
  const approvalsSvc = approvalService(db);
61
115
  const budgets = budgetService(db);
@@ -67,6 +121,10 @@ export function agentRoutes(db) {
67
121
  const workspaceOperations = workspaceOperationService(db);
68
122
  const instanceSettings = instanceSettingsService(db);
69
123
  const strictSecretsMode = process.env.RUDDER_SECRETS_STRICT_MODE === "true";
124
+ const avatarUpload = multer({
125
+ storage: multer.memoryStorage(),
126
+ limits: { fileSize: MAX_ATTACHMENT_BYTES, files: 1 },
127
+ });
70
128
  async function persistReconciledInstructionsBundle(agent, result) {
71
129
  if (!result.changed)
72
130
  return agent;
@@ -177,6 +235,21 @@ export function agentRoutes(db) {
177
235
  const allowedByGrant = await access.hasPermission(orgId, "agent", actorAgent.id, "agents:create");
178
236
  return allowedByGrant || canCreateAgents(actorAgent);
179
237
  }
238
+ async function assertAgentAvatarAssetBelongsToOrg(orgId, icon) {
239
+ const assetId = extractAgentAvatarAssetId(icon);
240
+ if (!assetId)
241
+ return;
242
+ const asset = await assets.getById(assetId);
243
+ if (!asset) {
244
+ throw unprocessable("Avatar asset not found");
245
+ }
246
+ if (asset.orgId !== orgId) {
247
+ throw forbidden("Avatar asset belongs to another organization");
248
+ }
249
+ if (!asset.contentType.toLowerCase().startsWith("image/")) {
250
+ throw unprocessable("Avatar asset must be an image");
251
+ }
252
+ }
180
253
  async function assertCanUpdateAgent(req, targetAgent) {
181
254
  assertCompanyAccess(req, targetAgent.orgId);
182
255
  if (req.actor.type === "board")
@@ -983,6 +1056,7 @@ export function agentRoutes(db) {
983
1056
  ...hireInput,
984
1057
  agentRuntimeConfig: normalizedAdapterConfig,
985
1058
  };
1059
+ await assertAgentAvatarAssetBelongsToOrg(orgId, normalizedHireInput.icon);
986
1060
  const organization = await db
987
1061
  .select()
988
1062
  .from(organizations)
@@ -1096,6 +1170,7 @@ export function agentRoutes(db) {
1096
1170
  const { config: runtimeAdapterConfig } = await secretsSvc.resolveAdapterConfigForRuntime(orgId, normalizedAdapterConfig);
1097
1171
  const desiredSkillAssignment = await resolveDesiredSkillAssignment(orgId, createInput.agentRuntimeType, runtimeAdapterConfig, Array.isArray(requestedDesiredSkills) ? requestedDesiredSkills : undefined);
1098
1172
  await assertAdapterConfigConstraints(orgId, createInput.agentRuntimeType, normalizedAdapterConfig);
1173
+ await assertAgentAvatarAssetBelongsToOrg(orgId, createInput.icon);
1099
1174
  const createdAgent = await svc.create(orgId, {
1100
1175
  ...createInput,
1101
1176
  agentRuntimeConfig: normalizedAdapterConfig,
@@ -1176,6 +1251,85 @@ export function agentRoutes(db) {
1176
1251
  });
1177
1252
  res.json(await buildAgentDetail(agent));
1178
1253
  });
1254
+ router.post("/agents/:id/avatar", async (req, res) => {
1255
+ if (!storage) {
1256
+ res.status(500).json({ error: "Storage service unavailable" });
1257
+ return;
1258
+ }
1259
+ const id = req.params.id;
1260
+ const existing = await svc.getById(id);
1261
+ if (!existing) {
1262
+ res.status(404).json({ error: "Agent not found" });
1263
+ return;
1264
+ }
1265
+ await assertCanUpdateAgent(req, existing);
1266
+ try {
1267
+ await runSingleFileUpload(avatarUpload, req, res);
1268
+ }
1269
+ catch (err) {
1270
+ if (err instanceof multer.MulterError) {
1271
+ if (err.code === "LIMIT_FILE_SIZE") {
1272
+ res.status(422).json({ error: `Image exceeds ${MAX_ATTACHMENT_BYTES} bytes` });
1273
+ return;
1274
+ }
1275
+ res.status(400).json({ error: err.message });
1276
+ return;
1277
+ }
1278
+ throw err;
1279
+ }
1280
+ const file = req.file;
1281
+ if (!file) {
1282
+ res.status(400).json({ error: "Missing file field 'file'" });
1283
+ return;
1284
+ }
1285
+ const inputContentType = (file.mimetype || "").toLowerCase();
1286
+ if (!AGENT_AVATAR_CONTENT_TYPES.has(inputContentType)) {
1287
+ res.status(422).json({ error: `Unsupported avatar image type: ${inputContentType || "unknown"}` });
1288
+ return;
1289
+ }
1290
+ const compressed = await compressAgentAvatar(file);
1291
+ const actor = getActorInfo(req);
1292
+ const stored = await storage.putFile({
1293
+ orgId: existing.orgId,
1294
+ namespace: `assets/agents/${existing.id}/avatars`,
1295
+ originalFilename: file.originalname || "avatar.webp",
1296
+ contentType: "image/webp",
1297
+ body: compressed,
1298
+ });
1299
+ const asset = await assets.create(existing.orgId, {
1300
+ provider: stored.provider,
1301
+ objectKey: stored.objectKey,
1302
+ contentType: stored.contentType,
1303
+ byteSize: stored.byteSize,
1304
+ sha256: stored.sha256,
1305
+ originalFilename: stored.originalFilename,
1306
+ createdByAgentId: actor.agentId,
1307
+ createdByUserId: actor.actorType === "user" ? actor.actorId : null,
1308
+ });
1309
+ const avatarIcon = `asset:${asset.id}`;
1310
+ const agent = await svc.update(existing.id, { icon: avatarIcon });
1311
+ if (!agent) {
1312
+ res.status(404).json({ error: "Agent not found" });
1313
+ return;
1314
+ }
1315
+ await logActivity(db, {
1316
+ orgId: agent.orgId,
1317
+ actorType: actor.actorType,
1318
+ actorId: actor.actorId,
1319
+ agentId: actor.agentId,
1320
+ runId: actor.runId,
1321
+ action: "agent.avatar_updated",
1322
+ entityType: "agent",
1323
+ entityId: agent.id,
1324
+ details: {
1325
+ assetId: asset.id,
1326
+ contentType: asset.contentType,
1327
+ byteSize: asset.byteSize,
1328
+ originalFilename: asset.originalFilename,
1329
+ },
1330
+ });
1331
+ res.status(201).json(agent);
1332
+ });
1179
1333
  router.patch("/agents/:id/instructions-path", validate(updateAgentInstructionsPathSchema), async (req, res) => {
1180
1334
  const id = req.params.id;
1181
1335
  const existing = await svc.getInternalById(id);
@@ -1435,6 +1589,9 @@ export function agentRoutes(db) {
1435
1589
  const effectiveAdapterConfig = asRecord(patchData.agentRuntimeConfig) ?? {};
1436
1590
  await assertAdapterConfigConstraints(existing.orgId, requestedAdapterType, effectiveAdapterConfig);
1437
1591
  }
1592
+ if (Object.prototype.hasOwnProperty.call(patchData, "icon")) {
1593
+ await assertAgentAvatarAssetBelongsToOrg(existing.orgId, patchData.icon);
1594
+ }
1438
1595
  const actor = getActorInfo(req);
1439
1596
  const agent = await svc.update(id, patchData, {
1440
1597
  recordRevision: {