@rudderhq/server 0.7.2 → 0.7.3

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 (428) hide show
  1. package/dist/agent-runtimes/registry.d.ts.map +1 -1
  2. package/dist/agent-runtimes/registry.js +0 -2
  3. package/dist/agent-runtimes/registry.js.map +1 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +1 -5
  6. package/dist/app.js.map +1 -1
  7. package/dist/bootstrap/create-http-app.d.ts +1 -2
  8. package/dist/bootstrap/create-http-app.d.ts.map +1 -1
  9. package/dist/bootstrap/create-http-app.js +13 -12
  10. package/dist/bootstrap/create-http-app.js.map +1 -1
  11. package/dist/bootstrap/register-api-routes.d.ts +1 -2
  12. package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
  13. package/dist/bootstrap/register-api-routes.js +20 -4
  14. package/dist/bootstrap/register-api-routes.js.map +1 -1
  15. package/dist/middleware/logger.js +2 -2
  16. package/dist/middleware/logger.js.map +1 -1
  17. package/dist/middleware/logger.test.js +26 -10
  18. package/dist/middleware/logger.test.js.map +1 -1
  19. package/dist/routes/agent-issue-creation.d.ts +25 -0
  20. package/dist/routes/agent-issue-creation.d.ts.map +1 -0
  21. package/dist/routes/agent-issue-creation.js +201 -0
  22. package/dist/routes/agent-issue-creation.js.map +1 -0
  23. package/dist/routes/app-builder.d.ts +3 -1
  24. package/dist/routes/app-builder.d.ts.map +1 -1
  25. package/dist/routes/app-builder.js +31 -11
  26. package/dist/routes/app-builder.js.map +1 -1
  27. package/dist/routes/computer.d.ts +30 -0
  28. package/dist/routes/computer.d.ts.map +1 -0
  29. package/dist/routes/computer.js +231 -0
  30. package/dist/routes/computer.js.map +1 -0
  31. package/dist/routes/health.d.ts.map +1 -1
  32. package/dist/routes/health.js +2 -0
  33. package/dist/routes/health.js.map +1 -1
  34. package/dist/routes/instance-settings.d.ts.map +1 -1
  35. package/dist/routes/instance-settings.js +3 -0
  36. package/dist/routes/instance-settings.js.map +1 -1
  37. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  38. package/dist/routes/issues.comments-attachments.js +90 -8
  39. package/dist/routes/issues.comments-attachments.js.map +1 -1
  40. package/dist/routes/issues.d.ts.map +1 -1
  41. package/dist/routes/issues.js +12 -1
  42. package/dist/routes/issues.js.map +1 -1
  43. package/dist/routes/issues.mutations.d.ts.map +1 -1
  44. package/dist/routes/issues.mutations.js +85 -33
  45. package/dist/routes/issues.mutations.js.map +1 -1
  46. package/dist/routes/managed-mcp-runtime.d.ts.map +1 -1
  47. package/dist/routes/managed-mcp-runtime.js +109 -7
  48. package/dist/routes/managed-mcp-runtime.js.map +1 -1
  49. package/dist/routes/rudder-plugins.d.ts +4 -0
  50. package/dist/routes/rudder-plugins.d.ts.map +1 -0
  51. package/dist/routes/rudder-plugins.js +213 -0
  52. package/dist/routes/rudder-plugins.js.map +1 -0
  53. package/dist/services/activity-log.d.ts +0 -3
  54. package/dist/services/activity-log.d.ts.map +1 -1
  55. package/dist/services/activity-log.js +0 -33
  56. package/dist/services/activity-log.js.map +1 -1
  57. package/dist/services/activity.d.ts +3 -3
  58. package/dist/services/agent-issue-creation.d.ts +344 -0
  59. package/dist/services/agent-issue-creation.d.ts.map +1 -0
  60. package/dist/services/agent-issue-creation.js +675 -0
  61. package/dist/services/agent-issue-creation.js.map +1 -0
  62. package/dist/services/agent-run-context.d.ts.map +1 -1
  63. package/dist/services/agent-run-context.js +13 -2
  64. package/dist/services/agent-run-context.js.map +1 -1
  65. package/dist/services/app-builder.d.ts.map +1 -1
  66. package/dist/services/app-builder.js +24 -3
  67. package/dist/services/app-builder.js.map +1 -1
  68. package/dist/services/chat-assistant.d.ts.map +1 -1
  69. package/dist/services/chat-assistant.helpers.d.ts +1 -1
  70. package/dist/services/chat-assistant.js +11 -2
  71. package/dist/services/chat-assistant.js.map +1 -1
  72. package/dist/services/chat-generation-protocol.test.js +2 -2
  73. package/dist/services/chat-generation-protocol.test.js.map +1 -1
  74. package/dist/services/chats.d.ts +2 -2
  75. package/dist/services/computer-broker.d.ts +35 -0
  76. package/dist/services/computer-broker.d.ts.map +1 -0
  77. package/dist/services/computer-broker.js +211 -0
  78. package/dist/services/computer-broker.js.map +1 -0
  79. package/dist/services/computer-broker.test.d.ts +2 -0
  80. package/dist/services/computer-broker.test.d.ts.map +1 -0
  81. package/dist/services/computer-broker.test.js +70 -0
  82. package/dist/services/computer-broker.test.js.map +1 -0
  83. package/dist/services/computer-capability.d.ts +13 -0
  84. package/dist/services/computer-capability.d.ts.map +1 -0
  85. package/dist/services/computer-capability.js +11 -0
  86. package/dist/services/computer-capability.js.map +1 -0
  87. package/dist/services/computer-capability.test.d.ts +2 -0
  88. package/dist/services/computer-capability.test.d.ts.map +1 -0
  89. package/dist/services/computer-capability.test.js +27 -0
  90. package/dist/services/computer-capability.test.js.map +1 -0
  91. package/dist/services/finance.d.ts +1 -1
  92. package/dist/services/index.d.ts +2 -0
  93. package/dist/services/index.d.ts.map +1 -1
  94. package/dist/services/index.js +2 -0
  95. package/dist/services/index.js.map +1 -1
  96. package/dist/services/instance-settings.d.ts.map +1 -1
  97. package/dist/services/instance-settings.js +15 -2
  98. package/dist/services/instance-settings.js.map +1 -1
  99. package/dist/services/integrations/agent-integrations.d.ts +1 -1
  100. package/dist/services/issues.d.ts +86 -1
  101. package/dist/services/issues.d.ts.map +1 -1
  102. package/dist/services/issues.helpers.d.ts +4 -0
  103. package/dist/services/issues.helpers.d.ts.map +1 -1
  104. package/dist/services/issues.helpers.js +28 -6
  105. package/dist/services/issues.helpers.js.map +1 -1
  106. package/dist/services/issues.js +207 -127
  107. package/dist/services/issues.js.map +1 -1
  108. package/dist/services/knowledge-portability/organization-portability.files.d.ts +1 -1
  109. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +7 -1
  110. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  111. package/dist/services/knowledge-portability/organization-skills.catalog.js +10 -0
  112. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  113. package/dist/services/knowledge-portability/organization-skills.d.ts +1 -0
  114. package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
  115. package/dist/services/knowledge-portability/organization-skills.js +36 -3
  116. package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
  117. package/dist/services/mcp/managed-bindings.d.ts +3 -1
  118. package/dist/services/mcp/managed-bindings.d.ts.map +1 -1
  119. package/dist/services/mcp/managed-bindings.js +20 -3
  120. package/dist/services/mcp/managed-bindings.js.map +1 -1
  121. package/dist/services/mcp/managed-client.d.ts +15 -0
  122. package/dist/services/mcp/managed-client.d.ts.map +1 -1
  123. package/dist/services/mcp/managed-client.js +23 -1
  124. package/dist/services/mcp/managed-client.js.map +1 -1
  125. package/dist/services/mcp/managed-client.test.js +73 -9
  126. package/dist/services/mcp/managed-client.test.js.map +1 -1
  127. package/dist/services/messenger.d.ts +2 -2
  128. package/dist/services/messenger.d.ts.map +1 -1
  129. package/dist/services/messenger.js +126 -49
  130. package/dist/services/messenger.js.map +1 -1
  131. package/dist/services/product-analytics.d.ts +1 -1
  132. package/dist/services/rudder-plugins.d.ts +107 -0
  133. package/dist/services/rudder-plugins.d.ts.map +1 -0
  134. package/dist/services/rudder-plugins.js +1746 -0
  135. package/dist/services/rudder-plugins.js.map +1 -0
  136. package/dist/services/rudder-plugins.test.d.ts +2 -0
  137. package/dist/services/rudder-plugins.test.d.ts.map +1 -0
  138. package/dist/services/rudder-plugins.test.js +191 -0
  139. package/dist/services/rudder-plugins.test.js.map +1 -0
  140. package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -0
  141. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  142. package/dist/services/runtime-kernel/heartbeat.core.js +1 -1
  143. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  144. package/dist/services/runtime-kernel/heartbeat.d.ts +53 -0
  145. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  146. package/dist/services/runtime-kernel/heartbeat.js +227 -107
  147. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  148. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
  149. package/dist/services/runtime-kernel/heartbeat.recovery.js +23 -2
  150. package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
  151. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +14 -1
  152. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
  153. package/dist/services/runtime-kernel/heartbeat.terminal.js +31 -0
  154. package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
  155. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  156. package/dist/services/runtime-kernel/heartbeat.wakeup.js +35 -3
  157. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  158. package/package.json +18 -18
  159. package/resources/bundled-skills/app-builder/SKILL.md +39 -9
  160. package/resources/bundled-skills/app-builder/assets/scaffold/app/globals.css +109 -16
  161. package/resources/bundled-skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
  162. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
  163. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
  164. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
  165. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
  166. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
  167. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
  168. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
  169. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
  170. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
  171. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
  172. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
  173. package/resources/bundled-skills/app-builder/assets/scaffold/components.json +20 -0
  174. package/resources/bundled-skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
  175. package/resources/bundled-skills/app-builder/assets/scaffold/next.config.ts +19 -0
  176. package/resources/bundled-skills/app-builder/assets/scaffold/package.json +2 -1
  177. package/resources/bundled-skills/app-builder/assets/scaffold/rudder.app.json +1 -1
  178. package/resources/bundled-skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
  179. package/resources/bundled-skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
  180. package/resources/bundled-skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
  181. package/resources/bundled-skills/app-builder/evals/evals.json +2 -1
  182. package/resources/bundled-skills/app-builder/references/design-guidelines.md +19 -2
  183. package/resources/bundled-skills/app-builder/references/rudder-ui-preset.md +73 -0
  184. package/resources/bundled-skills/app-builder/references/scaffold-contract.md +12 -0
  185. package/resources/bundled-skills/app-builder/references/verification.md +6 -0
  186. package/resources/bundled-skills/app-builder/scripts/report-build-status.mjs +83 -0
  187. package/resources/bundled-skills/rudder-docs/SKILL.md +2 -2
  188. package/resources/bundled-skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
  189. package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +2 -2
  190. package/resources/bundled-skills/rudder-docs/references/api-reference.md +0 -2
  191. package/resources/bundled-skills/rudder-docs/references/plugin-authoring.md +38 -114
  192. package/resources/bundled-skills/rudder-docs/references/source-map.md +2 -0
  193. package/skills/app-builder/SKILL.md +39 -9
  194. package/skills/app-builder/assets/scaffold/app/globals.css +109 -16
  195. package/skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
  196. package/skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
  197. package/skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
  198. package/skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
  199. package/skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
  200. package/skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
  201. package/skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
  202. package/skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
  203. package/skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
  204. package/skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
  205. package/skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
  206. package/skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
  207. package/skills/app-builder/assets/scaffold/components.json +20 -0
  208. package/skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
  209. package/skills/app-builder/assets/scaffold/next.config.ts +19 -0
  210. package/skills/app-builder/assets/scaffold/package.json +2 -1
  211. package/skills/app-builder/assets/scaffold/rudder.app.json +1 -1
  212. package/skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
  213. package/skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
  214. package/skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
  215. package/skills/app-builder/evals/evals.json +2 -1
  216. package/skills/app-builder/references/design-guidelines.md +19 -2
  217. package/skills/app-builder/references/rudder-ui-preset.md +73 -0
  218. package/skills/app-builder/references/scaffold-contract.md +12 -0
  219. package/skills/app-builder/references/verification.md +6 -0
  220. package/skills/app-builder/scripts/report-build-status.mjs +83 -0
  221. package/skills/rudder-docs/SKILL.md +2 -2
  222. package/skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
  223. package/skills/rudder-docs/evals/trigger-evals.json +2 -2
  224. package/skills/rudder-docs/references/api-reference.md +0 -2
  225. package/skills/rudder-docs/references/plugin-authoring.md +38 -114
  226. package/skills/rudder-docs/references/source-map.md +2 -0
  227. package/ui-dist/assets/{LibraryLiveSurface-cHCJmmsl.js → LibraryLiveSurface-CoGcDfo0.js} +1 -1
  228. package/ui-dist/assets/{abnfDiagram-VRR7QNED-BORJvkew.js → abnfDiagram-VRR7QNED-BnPHHNfu.js} +1 -1
  229. package/ui-dist/assets/{arc-DPUzhx87.js → arc-CAvqQQR_.js} +1 -1
  230. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-Bz_hY8LM.js → architectureDiagram-ZJ3FMSHR-DDa31YAK.js} +1 -1
  231. package/ui-dist/assets/{blockDiagram-677ZJIJ3-Bq1X3YkP.js → blockDiagram-677ZJIJ3-DDXLU9Ej.js} +1 -1
  232. package/ui-dist/assets/{c4Diagram-LMCZKHZV-BawEM9Pc.js → c4Diagram-LMCZKHZV-zEm0rHCp.js} +1 -1
  233. package/ui-dist/assets/channel-M_3GhwHQ.js +1 -0
  234. package/ui-dist/assets/{chunk-2Q5K7J3B-D0D5ZOaA.js → chunk-2Q5K7J3B-y1Rw45sz.js} +1 -1
  235. package/ui-dist/assets/{chunk-32BRIVSS-T90P7lug.js → chunk-32BRIVSS-Cq8cQBba.js} +1 -1
  236. package/ui-dist/assets/{chunk-5VM5RSS4-jcAERTgh.js → chunk-5VM5RSS4-CjQA6jGI.js} +1 -1
  237. package/ui-dist/assets/{chunk-EX3LRPZG-t9-JXwnR.js → chunk-EX3LRPZG-VVYt7jh3.js} +1 -1
  238. package/ui-dist/assets/{chunk-JWPE2WC7-hqgD1saC.js → chunk-JWPE2WC7-BJC3ISop.js} +1 -1
  239. package/ui-dist/assets/{chunk-MOJQB5TN-BsSUoYzd.js → chunk-MOJQB5TN-ClZgTqQk.js} +1 -1
  240. package/ui-dist/assets/{chunk-RYQCIY6F-YcdDh2Zn.js → chunk-RYQCIY6F-DRei3pn2.js} +1 -1
  241. package/ui-dist/assets/{chunk-V7JOEXUC-ChFyH9Su.js → chunk-V7JOEXUC-BGWrQfpZ.js} +1 -1
  242. package/ui-dist/assets/{chunk-VR4S4FIN-BjVK8IyX.js → chunk-VR4S4FIN-BBYT57Lt.js} +1 -1
  243. package/ui-dist/assets/{chunk-XXDRQBXY-D-TvO9vT.js → chunk-XXDRQBXY-D7P4SoZB.js} +1 -1
  244. package/ui-dist/assets/classDiagram-OUVF2IWQ-G44FJFnB.js +1 -0
  245. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-G44FJFnB.js +1 -0
  246. package/ui-dist/assets/{cose-bilkent-JH36ORCC-DBwhASJG.js → cose-bilkent-JH36ORCC-mJXY7GQo.js} +1 -1
  247. package/ui-dist/assets/{cynefin-VYW2F7L2-SlCRmwl2.js → cynefin-VYW2F7L2-C-I_lPmH.js} +1 -1
  248. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-DImV6N_p.js → cynefinDiagram-TSTJHNR4-Bm1S_w7H.js} +1 -1
  249. package/ui-dist/assets/{dagre-VKFMJZFB-FH4Wv8Zn.js → dagre-VKFMJZFB-BuPIm1AB.js} +1 -1
  250. package/ui-dist/assets/{diagram-FQU43EPY-CrZvQjId.js → diagram-FQU43EPY-DTBCuV0W.js} +1 -1
  251. package/ui-dist/assets/{diagram-G47NLZAW-B7IGl_T3.js → diagram-G47NLZAW-B4CK8uR2.js} +1 -1
  252. package/ui-dist/assets/{diagram-NH7WQ7WH-CB4i7H1a.js → diagram-NH7WQ7WH-BkbS0GkL.js} +1 -1
  253. package/ui-dist/assets/{diagram-OA4YK3LP-DNyWPYY9.js → diagram-OA4YK3LP-C_mkRe0c.js} +1 -1
  254. package/ui-dist/assets/{diagram-WEI45ONY-BAhxbhpi.js → diagram-WEI45ONY-CHUb3TIJ.js} +1 -1
  255. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-ClXtQ9qt.js → ebnfDiagram-CCIWWBDH-D_lN4ZOY.js} +1 -1
  256. package/ui-dist/assets/{erDiagram-Q63AITRT-DGXiMYfn.js → erDiagram-Q63AITRT-CRnDqcsy.js} +1 -1
  257. package/ui-dist/assets/{flowDiagram-23GEKE2U-CdZ-02zc.js → flowDiagram-23GEKE2U-ChELY-8y.js} +1 -1
  258. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-TxhzNpta.js → ganttDiagram-NO4QXBWP-QIML25-M.js} +1 -1
  259. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D6Q_w6wR.js → gitGraphDiagram-IHSO6WYX-TB_AKH8l.js} +1 -1
  260. package/ui-dist/assets/{graph-CxNmbpl9.js → graph-HKPvyYQ1.js} +1 -1
  261. package/ui-dist/assets/{index-C12QC1Ex.js → index-Ar0zIwom.js} +1 -1
  262. package/ui-dist/assets/{index-CW21qWFm.js → index-BeNxgoKd.js} +1 -1
  263. package/ui-dist/assets/{index-BujwWE3j.js → index-CB-UdrKN.js} +1 -1
  264. package/ui-dist/assets/{index-Cx6oIZPm.js → index-CfpFS1Tl.js} +555 -581
  265. package/ui-dist/assets/{index-C_nwI4Yj.js → index-CjIeIR2m.js} +1 -1
  266. package/ui-dist/assets/{index-Rau2cGm0.js → index-DCgbySwf.js} +1 -1
  267. package/ui-dist/assets/{index-Do78GymY.js → index-DDMaBNLI.js} +1 -1
  268. package/ui-dist/assets/{index-DU2LI7f9.js → index-DSZmO4bA.js} +1 -1
  269. package/ui-dist/assets/{index-BA9tMBhO.js → index-DfzFi2fx.js} +1 -1
  270. package/ui-dist/assets/{index-BoTz5S-X.js → index-DmEf_U5I.js} +1 -1
  271. package/ui-dist/assets/{index-kbWUQ1um.js → index-OfGDMJiA.js} +1 -1
  272. package/ui-dist/assets/{index-AkhgKOxC.js → index-ZzX8P4M5.js} +1 -1
  273. package/ui-dist/assets/{index-BQ87dGIq.js → index-fDtlbG8Y.js} +1 -1
  274. package/ui-dist/assets/{index-CXnqg1Oq.js → index-gdvFtffQ.js} +1 -1
  275. package/ui-dist/assets/index-noipz8bE.css +1 -0
  276. package/ui-dist/assets/{index-Bxz75ICF.js → index-rnOTiIXd.js} +1 -1
  277. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CnJd4-Jq.js → infoDiagram-FWYZ7A6U-DUR3sDTd.js} +1 -1
  278. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-Bq-qc3pD.js → ishikawaDiagram-FXEZZL3T-CcnYT0s0.js} +1 -1
  279. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-NSmpUGUA.js → journeyDiagram-5HDEW3XC-CqfbG8T1.js} +1 -1
  280. package/ui-dist/assets/{kanban-definition-HUTT4EX6-D7pgWtfA.js → kanban-definition-HUTT4EX6-CYwQM9eR.js} +1 -1
  281. package/ui-dist/assets/{layout-BRuo6LWe.js → layout-B2IlJgLE.js} +1 -1
  282. package/ui-dist/assets/{linear-CkaWI9Nd.js → linear-CcEPcfbO.js} +1 -1
  283. package/ui-dist/assets/{map-CgA6tTpZ.js → map-Bmhfvlpu.js} +1 -1
  284. package/ui-dist/assets/{mermaid.core-DrXOt-P6.js → mermaid.core-T9Q0CuQx.js} +4 -4
  285. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-D9ImeWBe.js → mindmap-definition-LN4V7U3C-CRjQlwN4.js} +1 -1
  286. package/ui-dist/assets/{pegDiagram-2B236MQR-Cq-zZ_zz.js → pegDiagram-2B236MQR-DenccdY8.js} +1 -1
  287. package/ui-dist/assets/{pieDiagram-ENE6RG2P-FgNgy726.js → pieDiagram-ENE6RG2P-CPiTrJcY.js} +1 -1
  288. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-BxQbmGmi.js → quadrantDiagram-ABIIQ3AL-fKbvGl_-.js} +1 -1
  289. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-CrpbkPH2.js → railroadDiagram-RFXS5EU6-D6uOjEmA.js} +1 -1
  290. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-DQ-65ZW6.js → requirementDiagram-TGXJPOKE-CQIQ387O.js} +1 -1
  291. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Bom0lMZm.js → sankeyDiagram-HTMAVEWB-CKrnONJL.js} +1 -1
  292. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-C1MSDLDj.js → sequenceDiagram-DBY2YBRQ-C3vaOiZO.js} +1 -1
  293. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-Bn1vxebD.js → sizeCapture-X5ZJPWSS-F39EvxY0.js} +1 -1
  294. package/ui-dist/assets/{stateDiagram-2N3HPSRC-GRRQpmzI.js → stateDiagram-2N3HPSRC-Bq2sVFQq.js} +1 -1
  295. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-B94IPtHC.js +1 -0
  296. package/ui-dist/assets/{swimlanes-5IMT3BWC-BcOOCZ4q.js → swimlanes-5IMT3BWC-CSrygB7m.js} +2 -2
  297. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-9WQr2_E9.js +8 -0
  298. package/ui-dist/assets/{timeline-definition-FHXFAJF6-gi6amswh.js → timeline-definition-FHXFAJF6-DSMMlntv.js} +1 -1
  299. package/ui-dist/assets/{vennDiagram-L72KCM5P-B9uqeyQt.js → vennDiagram-L72KCM5P-D5XH96zV.js} +1 -1
  300. package/ui-dist/assets/{wardleyDiagram-EHGQE667-BnqWAMiE.js → wardleyDiagram-EHGQE667-BXX2RFsU.js} +1 -1
  301. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-BJXKltIN.js → xychartDiagram-FW5EYKEG-awBW2lwG.js} +1 -1
  302. package/ui-dist/index.html +2 -2
  303. package/dist/bootstrap/plugin-host-runtime.d.ts +0 -116
  304. package/dist/bootstrap/plugin-host-runtime.d.ts.map +0 -1
  305. package/dist/bootstrap/plugin-host-runtime.js +0 -179
  306. package/dist/bootstrap/plugin-host-runtime.js.map +0 -1
  307. package/dist/bundled-plugins/plugin-linear/README.md +0 -22
  308. package/dist/bundled-plugins/plugin-linear/dist/manifest.js +0 -183
  309. package/dist/bundled-plugins/plugin-linear/dist/manifest.js.map +0 -7
  310. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js +0 -1285
  311. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js.map +0 -7
  312. package/dist/bundled-plugins/plugin-linear/dist/worker.js +0 -10699
  313. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +0 -7
  314. package/dist/bundled-plugins/plugin-linear/package.json +0 -42
  315. package/dist/routes/plugin-ui-static.d.ts +0 -70
  316. package/dist/routes/plugin-ui-static.d.ts.map +0 -1
  317. package/dist/routes/plugin-ui-static.js +0 -375
  318. package/dist/routes/plugin-ui-static.js.map +0 -1
  319. package/dist/routes/plugins.d.ts +0 -120
  320. package/dist/routes/plugins.d.ts.map +0 -1
  321. package/dist/routes/plugins.js +0 -1125
  322. package/dist/routes/plugins.js.map +0 -1
  323. package/dist/routes/plugins.operations-routes.d.ts +0 -28
  324. package/dist/routes/plugins.operations-routes.d.ts.map +0 -1
  325. package/dist/routes/plugins.operations-routes.js +0 -720
  326. package/dist/routes/plugins.operations-routes.js.map +0 -1
  327. package/dist/services/plugin-capability-validator.d.ts +0 -108
  328. package/dist/services/plugin-capability-validator.d.ts.map +0 -1
  329. package/dist/services/plugin-capability-validator.js +0 -268
  330. package/dist/services/plugin-capability-validator.js.map +0 -1
  331. package/dist/services/plugin-config-validator.d.ts +0 -26
  332. package/dist/services/plugin-config-validator.d.ts.map +0 -1
  333. package/dist/services/plugin-config-validator.js +0 -41
  334. package/dist/services/plugin-config-validator.js.map +0 -1
  335. package/dist/services/plugin-dev-watcher.d.ts +0 -47
  336. package/dist/services/plugin-dev-watcher.d.ts.map +0 -1
  337. package/dist/services/plugin-dev-watcher.js +0 -275
  338. package/dist/services/plugin-dev-watcher.js.map +0 -1
  339. package/dist/services/plugin-event-bus.d.ts +0 -149
  340. package/dist/services/plugin-event-bus.d.ts.map +0 -1
  341. package/dist/services/plugin-event-bus.js +0 -258
  342. package/dist/services/plugin-event-bus.js.map +0 -1
  343. package/dist/services/plugin-host-service-cleanup.d.ts +0 -14
  344. package/dist/services/plugin-host-service-cleanup.d.ts.map +0 -1
  345. package/dist/services/plugin-host-service-cleanup.js +0 -37
  346. package/dist/services/plugin-host-service-cleanup.js.map +0 -1
  347. package/dist/services/plugin-host-services.d.ts +0 -13
  348. package/dist/services/plugin-host-services.d.ts.map +0 -1
  349. package/dist/services/plugin-host-services.js +0 -933
  350. package/dist/services/plugin-host-services.js.map +0 -1
  351. package/dist/services/plugin-job-coordinator.d.ts +0 -81
  352. package/dist/services/plugin-job-coordinator.d.ts.map +0 -1
  353. package/dist/services/plugin-job-coordinator.js +0 -172
  354. package/dist/services/plugin-job-coordinator.js.map +0 -1
  355. package/dist/services/plugin-job-scheduler.d.ts +0 -163
  356. package/dist/services/plugin-job-scheduler.d.ts.map +0 -1
  357. package/dist/services/plugin-job-scheduler.js +0 -452
  358. package/dist/services/plugin-job-scheduler.js.map +0 -1
  359. package/dist/services/plugin-job-store.d.ts +0 -208
  360. package/dist/services/plugin-job-store.d.ts.map +0 -1
  361. package/dist/services/plugin-job-store.js +0 -350
  362. package/dist/services/plugin-job-store.js.map +0 -1
  363. package/dist/services/plugin-lifecycle.d.ts +0 -240
  364. package/dist/services/plugin-lifecycle.d.ts.map +0 -1
  365. package/dist/services/plugin-lifecycle.js +0 -439
  366. package/dist/services/plugin-lifecycle.js.map +0 -1
  367. package/dist/services/plugin-loader.core.d.ts +0 -40
  368. package/dist/services/plugin-loader.core.d.ts.map +0 -1
  369. package/dist/services/plugin-loader.core.js +0 -879
  370. package/dist/services/plugin-loader.core.js.map +0 -1
  371. package/dist/services/plugin-loader.d.ts +0 -30
  372. package/dist/services/plugin-loader.d.ts.map +0 -1
  373. package/dist/services/plugin-loader.helpers.d.ts +0 -495
  374. package/dist/services/plugin-loader.helpers.d.ts.map +0 -1
  375. package/dist/services/plugin-loader.helpers.js +0 -238
  376. package/dist/services/plugin-loader.helpers.js.map +0 -1
  377. package/dist/services/plugin-loader.js +0 -30
  378. package/dist/services/plugin-loader.js.map +0 -1
  379. package/dist/services/plugin-loader.worker-paths.d.ts +0 -37
  380. package/dist/services/plugin-loader.worker-paths.d.ts.map +0 -1
  381. package/dist/services/plugin-loader.worker-paths.js +0 -62
  382. package/dist/services/plugin-loader.worker-paths.js.map +0 -1
  383. package/dist/services/plugin-log-retention.d.ts +0 -20
  384. package/dist/services/plugin-log-retention.d.ts.map +0 -1
  385. package/dist/services/plugin-log-retention.js +0 -63
  386. package/dist/services/plugin-log-retention.js.map +0 -1
  387. package/dist/services/plugin-manifest-validator.d.ts +0 -90
  388. package/dist/services/plugin-manifest-validator.d.ts.map +0 -1
  389. package/dist/services/plugin-manifest-validator.js +0 -72
  390. package/dist/services/plugin-manifest-validator.js.map +0 -1
  391. package/dist/services/plugin-registry.d.ts +0 -2542
  392. package/dist/services/plugin-registry.d.ts.map +0 -1
  393. package/dist/services/plugin-registry.js +0 -536
  394. package/dist/services/plugin-registry.js.map +0 -1
  395. package/dist/services/plugin-runtime-sandbox.d.ts +0 -40
  396. package/dist/services/plugin-runtime-sandbox.d.ts.map +0 -1
  397. package/dist/services/plugin-runtime-sandbox.js +0 -154
  398. package/dist/services/plugin-runtime-sandbox.js.map +0 -1
  399. package/dist/services/plugin-secrets-handler.d.ts +0 -81
  400. package/dist/services/plugin-secrets-handler.d.ts.map +0 -1
  401. package/dist/services/plugin-secrets-handler.js +0 -275
  402. package/dist/services/plugin-secrets-handler.js.map +0 -1
  403. package/dist/services/plugin-state-store.d.ts +0 -92
  404. package/dist/services/plugin-state-store.d.ts.map +0 -1
  405. package/dist/services/plugin-state-store.js +0 -190
  406. package/dist/services/plugin-state-store.js.map +0 -1
  407. package/dist/services/plugin-stream-bus.d.ts +0 -29
  408. package/dist/services/plugin-stream-bus.d.ts.map +0 -1
  409. package/dist/services/plugin-stream-bus.js +0 -48
  410. package/dist/services/plugin-stream-bus.js.map +0 -1
  411. package/dist/services/plugin-tool-dispatcher.d.ts +0 -180
  412. package/dist/services/plugin-tool-dispatcher.d.ts.map +0 -1
  413. package/dist/services/plugin-tool-dispatcher.js +0 -224
  414. package/dist/services/plugin-tool-dispatcher.js.map +0 -1
  415. package/dist/services/plugin-tool-registry.d.ts +0 -192
  416. package/dist/services/plugin-tool-registry.d.ts.map +0 -1
  417. package/dist/services/plugin-tool-registry.js +0 -224
  418. package/dist/services/plugin-tool-registry.js.map +0 -1
  419. package/dist/services/plugin-worker-manager.d.ts +0 -260
  420. package/dist/services/plugin-worker-manager.d.ts.map +0 -1
  421. package/dist/services/plugin-worker-manager.js +0 -836
  422. package/dist/services/plugin-worker-manager.js.map +0 -1
  423. package/ui-dist/assets/channel-C08AyYJr.js +0 -1
  424. package/ui-dist/assets/classDiagram-OUVF2IWQ-BIXq6fec.js +0 -1
  425. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-BIXq6fec.js +0 -1
  426. package/ui-dist/assets/index-BmXb0yC1.css +0 -1
  427. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-KvSJhiLM.js +0 -1
  428. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-Cr92NnJ4.js +0 -8
@@ -293,7 +293,7 @@ describe("chatGenerationProtocolService", () => {
293
293
  content: `non-stream${String.fromCharCode(0xfffd)}output`,
294
294
  }),
295
295
  }]);
296
- });
296
+ }, 15_000);
297
297
  it("serializes visible events and applies an idempotent Stop cutoff", async () => {
298
298
  const generation = await seedGeneration();
299
299
  const bodies = ["First", "First second"];
@@ -705,7 +705,7 @@ describe("chatGenerationProtocolService", () => {
705
705
  status: 409,
706
706
  message: "Chat-visible output admission is closed for this generation",
707
707
  });
708
- });
708
+ }, 15_000);
709
709
  it("persists stable transcript generation provenance through reload and a Stop projection", async () => {
710
710
  const generation = await seedGeneration();
711
711
  const chatTurnId = randomUUID();
@@ -1 +1 @@
1
- {"version":3,"file":"chat-generation-protocol.test.js","sourceRoot":"","sources":["../../src/services/chat-generation-protocol.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-generation-protocol.test.js","sourceRoot":"","sources":["../../src/services/chat-generation-protocol.test.ts"],"names":[],"mappings":"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"}
@@ -319,8 +319,8 @@ export declare function chatService(db: Db): {
319
319
  expectedGenerationId: string | null;
320
320
  expectedAttemptEpoch: number | null;
321
321
  expectedControlVersion: number | null;
322
- lastError: string | null;
323
322
  requestedAt: Date;
323
+ lastError: string | null;
324
324
  controlOwnerToken: string | null;
325
325
  providerThreadId: string | null;
326
326
  providerTurnId: string | null;
@@ -421,8 +421,8 @@ export declare function chatService(db: Db): {
421
421
  expectedGenerationId: string | null;
422
422
  expectedAttemptEpoch: number | null;
423
423
  expectedControlVersion: number | null;
424
- lastError: string | null;
425
424
  requestedAt: Date;
425
+ lastError: string | null;
426
426
  controlOwnerToken: string | null;
427
427
  providerThreadId: string | null;
428
428
  providerTurnId: string | null;
@@ -0,0 +1,35 @@
1
+ import type { ComputerUseBrokerCommand } from "@rudderhq/shared";
2
+ type ComputerBrokerRegistration = {
3
+ endpoint: string;
4
+ token: string;
5
+ ownerId?: string;
6
+ generation?: number;
7
+ refresh?: boolean;
8
+ };
9
+ export declare class ComputerBrokerError extends Error {
10
+ readonly code: string;
11
+ constructor(code: string, message: string);
12
+ }
13
+ export type ComputerBrokerRegistry = ReturnType<typeof createComputerBrokerRegistry>;
14
+ export declare function createComputerBrokerRegistry(options?: {
15
+ fetchImpl?: typeof fetch;
16
+ requestTimeoutMs?: number;
17
+ maxResponseBytes?: number;
18
+ leaseTtlMs?: number;
19
+ now?: () => number;
20
+ }): {
21
+ register(input: ComputerBrokerRegistration): void;
22
+ unregister(token: string): boolean;
23
+ revoke: () => void;
24
+ isAvailable: () => boolean;
25
+ forward(command: ComputerUseBrokerCommand): Promise<unknown>;
26
+ };
27
+ export declare const computerBrokerRegistry: {
28
+ register(input: ComputerBrokerRegistration): void;
29
+ unregister(token: string): boolean;
30
+ revoke: () => void;
31
+ isAvailable: () => boolean;
32
+ forward(command: ComputerUseBrokerCommand): Promise<unknown>;
33
+ };
34
+ export {};
35
+ //# sourceMappingURL=computer-broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computer-broker.d.ts","sourceRoot":"","sources":["../../src/services/computer-broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAQF,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAiED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAErF,wBAAgB,4BAA4B,CAAC,OAAO,GAAE;IACpD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACf;oBAwBc,0BAA0B;sBA2CxB,MAAM;;;qBAUD,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;EAuDrE;AAED,eAAO,MAAM,sBAAsB;oBA9Gf,0BAA0B;sBA2CxB,MAAM;;;qBAUD,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;CAyDF,CAAC"}
@@ -0,0 +1,211 @@
1
+ const DEFAULT_MAX_RESPONSE_BYTES = 18 * 1024 * 1024;
2
+ const DEFAULT_LEASE_TTL_MS = 20_000;
3
+ export class ComputerBrokerError extends Error {
4
+ code;
5
+ constructor(code, message) {
6
+ super(message);
7
+ this.code = code;
8
+ }
9
+ }
10
+ function normalizeEndpoint(raw) {
11
+ let endpoint;
12
+ try {
13
+ endpoint = new URL(raw);
14
+ }
15
+ catch {
16
+ throw new ComputerBrokerError("computer_broker_invalid_registration", "Computer Broker endpoint is invalid.");
17
+ }
18
+ const host = endpoint.hostname.toLowerCase().replace(/^\[|\]$/g, "");
19
+ if (endpoint.protocol !== "http:" || !["127.0.0.1", "::1"].includes(host) || !endpoint.port
20
+ || endpoint.username || endpoint.password || endpoint.search || endpoint.hash) {
21
+ throw new ComputerBrokerError("computer_broker_invalid_registration", "Computer Broker endpoint must be an explicit loopback HTTP URL.");
22
+ }
23
+ return endpoint.toString();
24
+ }
25
+ function normalizeToken(raw) {
26
+ const token = raw.trim();
27
+ if (token.length < 32 || token.length > 512 || /\s/u.test(token)) {
28
+ throw new ComputerBrokerError("computer_broker_invalid_registration", "Computer Broker credential is invalid.");
29
+ }
30
+ return token;
31
+ }
32
+ function registrationKey(value) {
33
+ if (value.ownerId === undefined || value.generation === undefined)
34
+ return null;
35
+ return `${value.ownerId.trim()}:${value.generation}:${value.token}`;
36
+ }
37
+ function isRecord(value) {
38
+ return typeof value === "object" && value !== null && !Array.isArray(value);
39
+ }
40
+ async function readBounded(response, maxBytes) {
41
+ const declared = Number.parseInt(response.headers.get("content-length") ?? "", 10);
42
+ if (Number.isFinite(declared) && declared > maxBytes) {
43
+ throw new ComputerBrokerError("computer_result_too_large", "Computer Broker response exceeded the size limit.");
44
+ }
45
+ if (!response.body)
46
+ return "";
47
+ const reader = response.body.getReader();
48
+ const decoder = new TextDecoder();
49
+ const parts = [];
50
+ let bytes = 0;
51
+ try {
52
+ while (true) {
53
+ const { done, value } = await reader.read();
54
+ if (done)
55
+ break;
56
+ bytes += value.byteLength;
57
+ if (bytes > maxBytes) {
58
+ await reader.cancel().catch(() => undefined);
59
+ throw new ComputerBrokerError("computer_result_too_large", "Computer Broker response exceeded the size limit.");
60
+ }
61
+ parts.push(decoder.decode(value, { stream: true }));
62
+ }
63
+ parts.push(decoder.decode());
64
+ return parts.join("");
65
+ }
66
+ finally {
67
+ reader.releaseLock();
68
+ }
69
+ }
70
+ export function createComputerBrokerRegistry(options = {}) {
71
+ const fetchImpl = options.fetchImpl ?? globalThis.fetch;
72
+ const timeoutMs = options.requestTimeoutMs ?? 40_000;
73
+ const maxResponseBytes = options.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES;
74
+ const leaseTtlMs = options.leaseTtlMs ?? DEFAULT_LEASE_TTL_MS;
75
+ const now = options.now ?? Date.now;
76
+ let active = null;
77
+ const retired = new Map();
78
+ const requests = new Set();
79
+ const retire = (reason) => {
80
+ const key = active ? registrationKey(active) : null;
81
+ if (key)
82
+ retired.set(key, reason);
83
+ active = null;
84
+ for (const request of requests)
85
+ request.abort();
86
+ requests.clear();
87
+ };
88
+ const expireLease = () => {
89
+ if (!active || now() - active.lastSeenAt <= leaseTtlMs)
90
+ return;
91
+ active = null;
92
+ for (const request of requests)
93
+ request.abort();
94
+ requests.clear();
95
+ };
96
+ return {
97
+ register(input) {
98
+ expireLease();
99
+ const endpoint = normalizeEndpoint(input.endpoint);
100
+ const token = normalizeToken(input.token);
101
+ const hasVersion = input.ownerId !== undefined || input.generation !== undefined;
102
+ if (hasVersion && (typeof input.ownerId !== "string" || !input.ownerId.trim()
103
+ || !Number.isSafeInteger(input.generation) || Number(input.generation) < 1)) {
104
+ throw new ComputerBrokerError("computer_broker_invalid_registration", "Computer Broker generation is invalid.");
105
+ }
106
+ const next = { ...input, endpoint, token };
107
+ const key = registrationKey(next);
108
+ const retiredReason = key ? retired.get(key) : undefined;
109
+ if (input.refresh && (!key || retiredReason)) {
110
+ throw new ComputerBrokerError(retiredReason === "revoked" ? "computer_broker_revoked_registration" : "computer_broker_stale_registration", "Computer Broker registration no longer owns the Desktop lifecycle.");
111
+ }
112
+ if (input.refresh && active && registrationKey(active) !== key) {
113
+ throw new ComputerBrokerError("computer_broker_stale_registration", "Computer Broker registration is stale.");
114
+ }
115
+ if (!hasVersion && active?.ownerId) {
116
+ throw new ComputerBrokerError("computer_broker_stale_registration", "Legacy registration cannot replace Desktop ownership.");
117
+ }
118
+ const currentActive = active;
119
+ if (currentActive !== null && currentActive.ownerId === input.ownerId
120
+ && currentActive.generation !== undefined && input.generation !== undefined) {
121
+ if (input.generation < currentActive.generation || (input.generation === currentActive.generation && token !== currentActive.token)) {
122
+ throw new ComputerBrokerError("computer_broker_stale_registration", "Computer Broker registration was superseded.");
123
+ }
124
+ if (input.generation === currentActive.generation && token === currentActive.token) {
125
+ currentActive.lastSeenAt = now();
126
+ return;
127
+ }
128
+ }
129
+ retire("superseded");
130
+ active = {
131
+ endpoint,
132
+ token,
133
+ lastSeenAt: now(),
134
+ ...(hasVersion ? { ownerId: input.ownerId.trim(), generation: input.generation } : {}),
135
+ };
136
+ },
137
+ unregister(token) {
138
+ if (!active || active.token !== token)
139
+ return false;
140
+ retire("revoked");
141
+ return true;
142
+ },
143
+ revoke: () => retire("revoked"),
144
+ isAvailable: () => {
145
+ expireLease();
146
+ return active !== null;
147
+ },
148
+ async forward(command) {
149
+ expireLease();
150
+ const current = active;
151
+ if (!current)
152
+ throw new ComputerBrokerError("computer_unavailable", "Rudder Desktop Computer Use is not connected.");
153
+ const controller = new AbortController();
154
+ requests.add(controller);
155
+ let timer = null;
156
+ const timeout = new Promise((_resolve, reject) => {
157
+ timer = setTimeout(() => {
158
+ controller.abort();
159
+ reject(new ComputerBrokerError("computer_timeout", "Computer Use action timed out."));
160
+ }, timeoutMs);
161
+ });
162
+ const request = async () => {
163
+ let response;
164
+ try {
165
+ response = await fetchImpl(current.endpoint, {
166
+ method: "POST",
167
+ redirect: "error",
168
+ headers: {
169
+ accept: "application/json",
170
+ authorization: `Bearer ${current.token}`,
171
+ "content-type": "application/json",
172
+ },
173
+ body: JSON.stringify(command),
174
+ signal: controller.signal,
175
+ });
176
+ }
177
+ catch {
178
+ throw new ComputerBrokerError("computer_unavailable", "Rudder Desktop Computer Broker could not be reached.");
179
+ }
180
+ let payload;
181
+ try {
182
+ payload = JSON.parse(await readBounded(response, maxResponseBytes));
183
+ }
184
+ catch (error) {
185
+ if (error instanceof ComputerBrokerError)
186
+ throw error;
187
+ throw new ComputerBrokerError("computer_broker_protocol_error", "Computer Broker returned an invalid response.");
188
+ }
189
+ if (!response.ok || payload.ok !== true) {
190
+ const detail = isRecord(payload.error) ? payload.error : {};
191
+ const code = typeof detail.code === "string" && /^computer_[a-z0-9_]+$/u.test(detail.code)
192
+ ? detail.code : "computer_broker_error";
193
+ const message = typeof detail.message === "string" && detail.message.trim()
194
+ ? detail.message.trim().slice(0, 300) : "Computer Use action failed.";
195
+ throw new ComputerBrokerError(code, message);
196
+ }
197
+ return payload.result ?? {};
198
+ };
199
+ try {
200
+ return await Promise.race([request(), timeout]);
201
+ }
202
+ finally {
203
+ if (timer)
204
+ clearTimeout(timer);
205
+ requests.delete(controller);
206
+ }
207
+ },
208
+ };
209
+ }
210
+ export const computerBrokerRegistry = createComputerBrokerRegistry();
211
+ //# sourceMappingURL=computer-broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computer-broker.js","sourceRoot":"","sources":["../../src/services/computer-broker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=computer-broker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computer-broker.test.d.ts","sourceRoot":"","sources":["../../src/services/computer-broker.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,70 @@
1
+ import { createServer } from "node:http";
2
+ import { afterEach, describe, expect, it, vi } from "vitest";
3
+ import { ComputerBrokerError, createComputerBrokerRegistry } from "./computer-broker.js";
4
+ const servers = [];
5
+ afterEach(async () => {
6
+ await Promise.all(servers.splice(0).map((server) => new Promise((resolve) => server.close(() => resolve()))));
7
+ });
8
+ describe("Computer Broker registry", () => {
9
+ it("accepts only explicit loopback endpoints and opaque credentials", () => {
10
+ const registry = createComputerBrokerRegistry();
11
+ expect(() => registry.register({ endpoint: "https://example.com/computer", token: "a".repeat(48) }))
12
+ .toThrowError(ComputerBrokerError);
13
+ expect(() => registry.register({ endpoint: "http://127.0.0.1:4111/computer", token: "short" }))
14
+ .toThrowError(ComputerBrokerError);
15
+ registry.register({ endpoint: "http://127.0.0.1:4111/computer", token: "a".repeat(48) });
16
+ expect(registry.isAvailable()).toBe(true);
17
+ });
18
+ it("forwards bounded authenticated commands and revokes active requests", async () => {
19
+ let release;
20
+ const gate = new Promise((resolve) => { release = resolve; });
21
+ const token = "b".repeat(48);
22
+ const server = createServer(async (request, response) => {
23
+ expect(request.headers.authorization).toBe(`Bearer ${token}`);
24
+ await gate;
25
+ response.writeHead(200, { "content-type": "application/json" });
26
+ response.end(JSON.stringify({ ok: true, result: { apps: [] } }));
27
+ });
28
+ servers.push(server);
29
+ await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
30
+ const address = server.address();
31
+ if (!address || typeof address === "string")
32
+ throw new Error("missing address");
33
+ const registry = createComputerBrokerRegistry();
34
+ registry.register({ endpoint: `http://127.0.0.1:${address.port}/computer`, token });
35
+ const pending = registry.forward({
36
+ identity: { orgId: "org-1", agentId: "agent-1", runId: "run-1" },
37
+ action: "list_apps",
38
+ args: {},
39
+ });
40
+ await vi.waitFor(() => expect(server.listening).toBe(true));
41
+ registry.revoke();
42
+ release();
43
+ await expect(pending).rejects.toMatchObject({ code: "computer_unavailable" });
44
+ expect(registry.isAvailable()).toBe(false);
45
+ });
46
+ it("rejects stale lifecycle generations", () => {
47
+ const registry = createComputerBrokerRegistry();
48
+ const ownerId = "02ad71bd-dcc1-4c93-9642-b16c8c1d2e08";
49
+ registry.register({ endpoint: "http://127.0.0.1:4111/computer", token: "a".repeat(48), ownerId, generation: 2 });
50
+ expect(() => registry.register({ endpoint: "http://127.0.0.1:4112/computer", token: "c".repeat(48), ownerId, generation: 1 }))
51
+ .toThrowError(expect.objectContaining({ code: "computer_broker_stale_registration" }));
52
+ });
53
+ it("expires an unrefreshed Desktop lease and allows its owner to reconnect", () => {
54
+ let now = 1_000;
55
+ const registry = createComputerBrokerRegistry({ leaseTtlMs: 20_000, now: () => now });
56
+ const ownerId = "02ad71bd-dcc1-4c93-9642-b16c8c1d2e08";
57
+ const registration = {
58
+ endpoint: "http://127.0.0.1:4111/computer",
59
+ token: "a".repeat(48),
60
+ ownerId,
61
+ generation: 1,
62
+ };
63
+ registry.register(registration);
64
+ now += 20_001;
65
+ expect(registry.isAvailable()).toBe(false);
66
+ registry.register({ ...registration, refresh: true });
67
+ expect(registry.isAvailable()).toBe(true);
68
+ });
69
+ });
70
+ //# sourceMappingURL=computer-broker.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computer-broker.test.js","sourceRoot":"","sources":["../../src/services/computer-broker.test.ts"],"names":[],"mappings":"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"}