agent-relay 2.0.22 → 2.0.24

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 (534) hide show
  1. package/bin/relay-pty-linux-arm64 +0 -0
  2. package/dist/src/cli/index.d.ts +3 -3
  3. package/dist/src/cli/index.js +58 -74
  4. package/package.json +21 -62
  5. package/packages/api-types/package.json +1 -1
  6. package/packages/bridge/package.json +8 -8
  7. package/packages/cli-tester/package.json +1 -1
  8. package/packages/config/package.json +2 -2
  9. package/packages/continuity/package.json +1 -1
  10. package/packages/daemon/dist/orchestrator.js +19 -1
  11. package/packages/daemon/package.json +12 -12
  12. package/packages/hooks/package.json +4 -4
  13. package/packages/mcp/package.json +2 -2
  14. package/packages/memory/package.json +2 -2
  15. package/packages/policy/package.json +2 -2
  16. package/packages/protocol/package.json +1 -1
  17. package/packages/resiliency/package.json +1 -1
  18. package/packages/sdk/package.json +2 -2
  19. package/packages/spawner/package.json +1 -1
  20. package/packages/state/package.json +1 -1
  21. package/packages/storage/package.json +2 -2
  22. package/packages/telemetry/package.json +1 -1
  23. package/packages/trajectory/package.json +2 -2
  24. package/packages/user-directory/package.json +2 -2
  25. package/packages/utils/dist/update-checker.js +4 -0
  26. package/packages/utils/package.json +1 -1
  27. package/packages/wrapper/package.json +6 -6
  28. package/deploy/init-db.sql +0 -5
  29. package/deploy/scripts/setup-fly-workspaces.sh +0 -69
  30. package/deploy/scripts/setup-railway.sh +0 -75
  31. package/deploy/workspace/codex.config.toml +0 -20
  32. package/deploy/workspace/entrypoint-browser.sh +0 -118
  33. package/deploy/workspace/entrypoint.sh +0 -612
  34. package/deploy/workspace/gh-credential-relay +0 -90
  35. package/deploy/workspace/gh-relay +0 -156
  36. package/deploy/workspace/git-credential-relay +0 -330
  37. package/deploy/workspace/git-credential-relay.test.sh +0 -230
  38. package/dist/dashboard/out/404.html +0 -1
  39. package/dist/dashboard/out/_next/static/91mkGYq3qbG8WHE6VytQ8/_buildManifest.js +0 -1
  40. package/dist/dashboard/out/_next/static/91mkGYq3qbG8WHE6VytQ8/_ssgManifest.js +0 -1
  41. package/dist/dashboard/out/_next/static/chunks/116-a883fca163f3a5bc.js +0 -1
  42. package/dist/dashboard/out/_next/static/chunks/117-c8afed19e821a35d.js +0 -2
  43. package/dist/dashboard/out/_next/static/chunks/282-980c2eb8fff20123.js +0 -1
  44. package/dist/dashboard/out/_next/static/chunks/320-a6304232cd0ee2ce.js +0 -1
  45. package/dist/dashboard/out/_next/static/chunks/532-bace199897eeab37.js +0 -9
  46. package/dist/dashboard/out/_next/static/chunks/631-16b905e5920f9b59.js +0 -1
  47. package/dist/dashboard/out/_next/static/chunks/648-acb2ff9f77cbfbd3.js +0 -1
  48. package/dist/dashboard/out/_next/static/chunks/766-2aea80818f7eb0d8.js +0 -1
  49. package/dist/dashboard/out/_next/static/chunks/83-26d2bde54616ee90.js +0 -1
  50. package/dist/dashboard/out/_next/static/chunks/847-f1f467060f32afff.js +0 -1
  51. package/dist/dashboard/out/_next/static/chunks/891-5cb1513eeb97a891.js +0 -1
  52. package/dist/dashboard/out/_next/static/chunks/app/_not-found/page-60501fddbafba9dc.js +0 -1
  53. package/dist/dashboard/out/_next/static/chunks/app/app/onboarding/page-9914652442f7e4fb.js +0 -1
  54. package/dist/dashboard/out/_next/static/chunks/app/app/page-366fb7c078d4e9e0.js +0 -1
  55. package/dist/dashboard/out/_next/static/chunks/app/cloud/link/page-fa1d5842aa90e8a6.js +0 -1
  56. package/dist/dashboard/out/_next/static/chunks/app/complete-profile/page-dd64bbdf66b639cd.js +0 -1
  57. package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-113060009ef35bc2.js +0 -1
  58. package/dist/dashboard/out/_next/static/chunks/app/history/page-9965d2483011b846.js +0 -1
  59. package/dist/dashboard/out/_next/static/chunks/app/layout-6b91e33784c20610.js +0 -1
  60. package/dist/dashboard/out/_next/static/chunks/app/login/page-435eceb0073be027.js +0 -1
  61. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-1e37ef8e73940b40.js +0 -1
  62. package/dist/dashboard/out/_next/static/chunks/app/page-8119d4246743574e.js +0 -1
  63. package/dist/dashboard/out/_next/static/chunks/app/pricing/page-9db3ebdfa567a7c9.js +0 -1
  64. package/dist/dashboard/out/_next/static/chunks/app/providers/page-ecb16ffd3b36262b.js +0 -1
  65. package/dist/dashboard/out/_next/static/chunks/app/providers/setup/[provider]/page-4dbe33f0f7691b7c.js +0 -1
  66. package/dist/dashboard/out/_next/static/chunks/app/signup/page-c7a0a28341365ae0.js +0 -1
  67. package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +0 -18
  68. package/dist/dashboard/out/_next/static/chunks/fd9d1056-609918ca7b6280bb.js +0 -1
  69. package/dist/dashboard/out/_next/static/chunks/framework-f66176bb897dc684.js +0 -1
  70. package/dist/dashboard/out/_next/static/chunks/main-311c3db74dcfadb7.js +0 -1
  71. package/dist/dashboard/out/_next/static/chunks/main-app-fdbeb09028f57c9f.js +0 -1
  72. package/dist/dashboard/out/_next/static/chunks/pages/_app-72b849fbd24ac258.js +0 -1
  73. package/dist/dashboard/out/_next/static/chunks/pages/_error-7ba65e1336b92748.js +0 -1
  74. package/dist/dashboard/out/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  75. package/dist/dashboard/out/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +0 -1
  76. package/dist/dashboard/out/_next/static/css/4034f236dd1a3178.css +0 -1
  77. package/dist/dashboard/out/_next/static/css/6892f8422896ef7a.css +0 -1
  78. package/dist/dashboard/out/alt-logos/agent-relay-logo-128.png +0 -0
  79. package/dist/dashboard/out/alt-logos/agent-relay-logo-256.png +0 -0
  80. package/dist/dashboard/out/alt-logos/agent-relay-logo-32.png +0 -0
  81. package/dist/dashboard/out/alt-logos/agent-relay-logo-512.png +0 -0
  82. package/dist/dashboard/out/alt-logos/agent-relay-logo-64.png +0 -0
  83. package/dist/dashboard/out/alt-logos/agent-relay-logo.svg +0 -45
  84. package/dist/dashboard/out/alt-logos/logo.svg +0 -38
  85. package/dist/dashboard/out/alt-logos/monogram-logo-128.png +0 -0
  86. package/dist/dashboard/out/alt-logos/monogram-logo-256.png +0 -0
  87. package/dist/dashboard/out/alt-logos/monogram-logo-32.png +0 -0
  88. package/dist/dashboard/out/alt-logos/monogram-logo-512.png +0 -0
  89. package/dist/dashboard/out/alt-logos/monogram-logo-64.png +0 -0
  90. package/dist/dashboard/out/alt-logos/monogram-logo.svg +0 -38
  91. package/dist/dashboard/out/app/onboarding.html +0 -1
  92. package/dist/dashboard/out/app/onboarding.txt +0 -7
  93. package/dist/dashboard/out/app.html +0 -1
  94. package/dist/dashboard/out/app.txt +0 -7
  95. package/dist/dashboard/out/apple-icon.png +0 -0
  96. package/dist/dashboard/out/cloud/link.html +0 -1
  97. package/dist/dashboard/out/cloud/link.txt +0 -7
  98. package/dist/dashboard/out/complete-profile.html +0 -5
  99. package/dist/dashboard/out/complete-profile.txt +0 -7
  100. package/dist/dashboard/out/connect-repos.html +0 -1
  101. package/dist/dashboard/out/connect-repos.txt +0 -7
  102. package/dist/dashboard/out/history.html +0 -1
  103. package/dist/dashboard/out/history.txt +0 -7
  104. package/dist/dashboard/out/index.html +0 -1
  105. package/dist/dashboard/out/index.txt +0 -7
  106. package/dist/dashboard/out/login.html +0 -5
  107. package/dist/dashboard/out/login.txt +0 -7
  108. package/dist/dashboard/out/metrics.html +0 -1
  109. package/dist/dashboard/out/metrics.txt +0 -7
  110. package/dist/dashboard/out/pricing.html +0 -13
  111. package/dist/dashboard/out/pricing.txt +0 -7
  112. package/dist/dashboard/out/providers/setup/claude.html +0 -1
  113. package/dist/dashboard/out/providers/setup/claude.txt +0 -8
  114. package/dist/dashboard/out/providers/setup/codex.html +0 -1
  115. package/dist/dashboard/out/providers/setup/codex.txt +0 -8
  116. package/dist/dashboard/out/providers/setup/cursor.html +0 -1
  117. package/dist/dashboard/out/providers/setup/cursor.txt +0 -8
  118. package/dist/dashboard/out/providers.html +0 -1
  119. package/dist/dashboard/out/providers.txt +0 -7
  120. package/dist/dashboard/out/signup.html +0 -6
  121. package/dist/dashboard/out/signup.txt +0 -7
  122. package/dist/src/cloud/index.d.ts +0 -8
  123. package/dist/src/cloud/index.js +0 -8
  124. package/dist/src/dashboard-server/index.d.ts +0 -8
  125. package/dist/src/dashboard-server/index.js +0 -8
  126. package/packages/cloud/dist/api/admin.d.ts +0 -8
  127. package/packages/cloud/dist/api/admin.js +0 -225
  128. package/packages/cloud/dist/api/auth.d.ts +0 -20
  129. package/packages/cloud/dist/api/auth.js +0 -138
  130. package/packages/cloud/dist/api/billing.d.ts +0 -7
  131. package/packages/cloud/dist/api/billing.js +0 -564
  132. package/packages/cloud/dist/api/cli-pty-runner.d.ts +0 -53
  133. package/packages/cloud/dist/api/cli-pty-runner.js +0 -175
  134. package/packages/cloud/dist/api/codex-auth-helper.d.ts +0 -21
  135. package/packages/cloud/dist/api/codex-auth-helper.js +0 -327
  136. package/packages/cloud/dist/api/consensus.d.ts +0 -13
  137. package/packages/cloud/dist/api/consensus.js +0 -261
  138. package/packages/cloud/dist/api/coordinators.d.ts +0 -8
  139. package/packages/cloud/dist/api/coordinators.js +0 -750
  140. package/packages/cloud/dist/api/daemons.d.ts +0 -12
  141. package/packages/cloud/dist/api/daemons.js +0 -535
  142. package/packages/cloud/dist/api/email-auth.d.ts +0 -11
  143. package/packages/cloud/dist/api/email-auth.js +0 -347
  144. package/packages/cloud/dist/api/generic-webhooks.d.ts +0 -8
  145. package/packages/cloud/dist/api/generic-webhooks.js +0 -129
  146. package/packages/cloud/dist/api/git.d.ts +0 -8
  147. package/packages/cloud/dist/api/git.js +0 -269
  148. package/packages/cloud/dist/api/github-app.d.ts +0 -11
  149. package/packages/cloud/dist/api/github-app.js +0 -223
  150. package/packages/cloud/dist/api/middleware/planLimits.d.ts +0 -43
  151. package/packages/cloud/dist/api/middleware/planLimits.js +0 -202
  152. package/packages/cloud/dist/api/monitoring.d.ts +0 -11
  153. package/packages/cloud/dist/api/monitoring.js +0 -578
  154. package/packages/cloud/dist/api/nango-auth.d.ts +0 -9
  155. package/packages/cloud/dist/api/nango-auth.js +0 -741
  156. package/packages/cloud/dist/api/onboarding.d.ts +0 -15
  157. package/packages/cloud/dist/api/onboarding.js +0 -679
  158. package/packages/cloud/dist/api/policy.d.ts +0 -8
  159. package/packages/cloud/dist/api/policy.js +0 -229
  160. package/packages/cloud/dist/api/provider-env.d.ts +0 -26
  161. package/packages/cloud/dist/api/provider-env.js +0 -141
  162. package/packages/cloud/dist/api/providers.d.ts +0 -7
  163. package/packages/cloud/dist/api/providers.js +0 -574
  164. package/packages/cloud/dist/api/repos.d.ts +0 -8
  165. package/packages/cloud/dist/api/repos.js +0 -577
  166. package/packages/cloud/dist/api/sessions.d.ts +0 -11
  167. package/packages/cloud/dist/api/sessions.js +0 -302
  168. package/packages/cloud/dist/api/teams.d.ts +0 -7
  169. package/packages/cloud/dist/api/teams.js +0 -281
  170. package/packages/cloud/dist/api/test-helpers.d.ts +0 -10
  171. package/packages/cloud/dist/api/test-helpers.js +0 -745
  172. package/packages/cloud/dist/api/usage.d.ts +0 -7
  173. package/packages/cloud/dist/api/usage.js +0 -111
  174. package/packages/cloud/dist/api/webhooks.d.ts +0 -8
  175. package/packages/cloud/dist/api/webhooks.js +0 -645
  176. package/packages/cloud/dist/api/workspaces.d.ts +0 -25
  177. package/packages/cloud/dist/api/workspaces.js +0 -1799
  178. package/packages/cloud/dist/billing/index.d.ts +0 -9
  179. package/packages/cloud/dist/billing/index.js +0 -9
  180. package/packages/cloud/dist/billing/plans.d.ts +0 -39
  181. package/packages/cloud/dist/billing/plans.js +0 -245
  182. package/packages/cloud/dist/billing/service.d.ts +0 -80
  183. package/packages/cloud/dist/billing/service.js +0 -388
  184. package/packages/cloud/dist/billing/types.d.ts +0 -141
  185. package/packages/cloud/dist/billing/types.js +0 -7
  186. package/packages/cloud/dist/config.d.ts +0 -5
  187. package/packages/cloud/dist/config.js +0 -5
  188. package/packages/cloud/dist/db/bulk-ingest.d.ts +0 -89
  189. package/packages/cloud/dist/db/bulk-ingest.js +0 -268
  190. package/packages/cloud/dist/db/drizzle.d.ts +0 -290
  191. package/packages/cloud/dist/db/drizzle.js +0 -1422
  192. package/packages/cloud/dist/db/index.d.ts +0 -56
  193. package/packages/cloud/dist/db/index.js +0 -70
  194. package/packages/cloud/dist/db/schema.d.ts +0 -5117
  195. package/packages/cloud/dist/db/schema.js +0 -656
  196. package/packages/cloud/dist/index.d.ts +0 -11
  197. package/packages/cloud/dist/index.js +0 -38
  198. package/packages/cloud/dist/provisioner/index.d.ts +0 -207
  199. package/packages/cloud/dist/provisioner/index.js +0 -2118
  200. package/packages/cloud/dist/server.d.ts +0 -17
  201. package/packages/cloud/dist/server.js +0 -2034
  202. package/packages/cloud/dist/services/auto-scaler.d.ts +0 -152
  203. package/packages/cloud/dist/services/auto-scaler.js +0 -439
  204. package/packages/cloud/dist/services/capacity-manager.d.ts +0 -148
  205. package/packages/cloud/dist/services/capacity-manager.js +0 -449
  206. package/packages/cloud/dist/services/ci-agent-spawner.d.ts +0 -49
  207. package/packages/cloud/dist/services/ci-agent-spawner.js +0 -373
  208. package/packages/cloud/dist/services/cloud-message-bus.d.ts +0 -28
  209. package/packages/cloud/dist/services/cloud-message-bus.js +0 -19
  210. package/packages/cloud/dist/services/compute-enforcement.d.ts +0 -57
  211. package/packages/cloud/dist/services/compute-enforcement.js +0 -175
  212. package/packages/cloud/dist/services/coordinator.d.ts +0 -62
  213. package/packages/cloud/dist/services/coordinator.js +0 -389
  214. package/packages/cloud/dist/services/index.d.ts +0 -17
  215. package/packages/cloud/dist/services/index.js +0 -25
  216. package/packages/cloud/dist/services/intro-expiration.d.ts +0 -60
  217. package/packages/cloud/dist/services/intro-expiration.js +0 -252
  218. package/packages/cloud/dist/services/mention-handler.d.ts +0 -65
  219. package/packages/cloud/dist/services/mention-handler.js +0 -405
  220. package/packages/cloud/dist/services/nango.d.ts +0 -219
  221. package/packages/cloud/dist/services/nango.js +0 -424
  222. package/packages/cloud/dist/services/persistence.d.ts +0 -131
  223. package/packages/cloud/dist/services/persistence.js +0 -200
  224. package/packages/cloud/dist/services/planLimits.d.ts +0 -147
  225. package/packages/cloud/dist/services/planLimits.js +0 -335
  226. package/packages/cloud/dist/services/presence-registry.d.ts +0 -56
  227. package/packages/cloud/dist/services/presence-registry.js +0 -91
  228. package/packages/cloud/dist/services/scaling-orchestrator.d.ts +0 -159
  229. package/packages/cloud/dist/services/scaling-orchestrator.js +0 -502
  230. package/packages/cloud/dist/services/scaling-policy.d.ts +0 -121
  231. package/packages/cloud/dist/services/scaling-policy.js +0 -415
  232. package/packages/cloud/dist/services/ssh-security.d.ts +0 -31
  233. package/packages/cloud/dist/services/ssh-security.js +0 -63
  234. package/packages/cloud/dist/services/workspace-keepalive.d.ts +0 -76
  235. package/packages/cloud/dist/services/workspace-keepalive.js +0 -234
  236. package/packages/cloud/dist/shims/consensus.d.ts +0 -23
  237. package/packages/cloud/dist/shims/consensus.js +0 -5
  238. package/packages/cloud/dist/webhooks/index.d.ts +0 -24
  239. package/packages/cloud/dist/webhooks/index.js +0 -29
  240. package/packages/cloud/dist/webhooks/parsers/github.d.ts +0 -8
  241. package/packages/cloud/dist/webhooks/parsers/github.js +0 -234
  242. package/packages/cloud/dist/webhooks/parsers/index.d.ts +0 -23
  243. package/packages/cloud/dist/webhooks/parsers/index.js +0 -30
  244. package/packages/cloud/dist/webhooks/parsers/linear.d.ts +0 -9
  245. package/packages/cloud/dist/webhooks/parsers/linear.js +0 -258
  246. package/packages/cloud/dist/webhooks/parsers/slack.d.ts +0 -9
  247. package/packages/cloud/dist/webhooks/parsers/slack.js +0 -214
  248. package/packages/cloud/dist/webhooks/responders/github.d.ts +0 -8
  249. package/packages/cloud/dist/webhooks/responders/github.js +0 -73
  250. package/packages/cloud/dist/webhooks/responders/index.d.ts +0 -23
  251. package/packages/cloud/dist/webhooks/responders/index.js +0 -30
  252. package/packages/cloud/dist/webhooks/responders/linear.d.ts +0 -9
  253. package/packages/cloud/dist/webhooks/responders/linear.js +0 -149
  254. package/packages/cloud/dist/webhooks/responders/slack.d.ts +0 -20
  255. package/packages/cloud/dist/webhooks/responders/slack.js +0 -178
  256. package/packages/cloud/dist/webhooks/router.d.ts +0 -25
  257. package/packages/cloud/dist/webhooks/router.js +0 -504
  258. package/packages/cloud/dist/webhooks/rules-engine.d.ts +0 -24
  259. package/packages/cloud/dist/webhooks/rules-engine.js +0 -287
  260. package/packages/cloud/dist/webhooks/types.d.ts +0 -186
  261. package/packages/cloud/dist/webhooks/types.js +0 -8
  262. package/packages/cloud/package.json +0 -60
  263. package/packages/dashboard/README.md +0 -48
  264. package/packages/dashboard/dist/health-worker-manager.d.ts +0 -62
  265. package/packages/dashboard/dist/health-worker-manager.js +0 -144
  266. package/packages/dashboard/dist/health-worker.d.ts +0 -9
  267. package/packages/dashboard/dist/health-worker.js +0 -79
  268. package/packages/dashboard/dist/index.d.ts +0 -20
  269. package/packages/dashboard/dist/index.js +0 -19
  270. package/packages/dashboard/dist/metrics.d.ts +0 -105
  271. package/packages/dashboard/dist/metrics.js +0 -193
  272. package/packages/dashboard/dist/needs-attention.d.ts +0 -24
  273. package/packages/dashboard/dist/needs-attention.js +0 -78
  274. package/packages/dashboard/dist/server.d.ts +0 -25
  275. package/packages/dashboard/dist/server.js +0 -5270
  276. package/packages/dashboard/dist/start.d.ts +0 -6
  277. package/packages/dashboard/dist/start.js +0 -13
  278. package/packages/dashboard/dist/types/threading.d.ts +0 -8
  279. package/packages/dashboard/dist/types/threading.js +0 -2
  280. package/packages/dashboard/dist/user-bridge.d.ts +0 -154
  281. package/packages/dashboard/dist/user-bridge.js +0 -372
  282. package/packages/dashboard/package.json +0 -65
  283. package/packages/dashboard/ui/app/app/onboarding/page.tsx +0 -394
  284. package/packages/dashboard/ui/app/app/page.tsx +0 -667
  285. package/packages/dashboard/ui/app/apple-icon.png +0 -0
  286. package/packages/dashboard/ui/app/cloud/link/page.tsx +0 -464
  287. package/packages/dashboard/ui/app/complete-profile/page.tsx +0 -204
  288. package/packages/dashboard/ui/app/connect-repos/page.tsx +0 -410
  289. package/packages/dashboard/ui/app/favicon.png +0 -0
  290. package/packages/dashboard/ui/app/globals.css +0 -59
  291. package/packages/dashboard/ui/app/history/page.tsx +0 -658
  292. package/packages/dashboard/ui/app/layout.tsx +0 -25
  293. package/packages/dashboard/ui/app/login/page.tsx +0 -424
  294. package/packages/dashboard/ui/app/metrics/page.tsx +0 -751
  295. package/packages/dashboard/ui/app/page.tsx +0 -59
  296. package/packages/dashboard/ui/app/pricing/page.tsx +0 -7
  297. package/packages/dashboard/ui/app/providers/page.tsx +0 -193
  298. package/packages/dashboard/ui/app/providers/setup/[provider]/ProviderSetupClient.tsx +0 -148
  299. package/packages/dashboard/ui/app/providers/setup/[provider]/constants.ts +0 -35
  300. package/packages/dashboard/ui/app/providers/setup/[provider]/page.tsx +0 -42
  301. package/packages/dashboard/ui/app/signup/page.tsx +0 -533
  302. package/packages/dashboard/ui/index.ts +0 -49
  303. package/packages/dashboard/ui/landing/LandingPage.tsx +0 -713
  304. package/packages/dashboard/ui/landing/PricingPage.tsx +0 -559
  305. package/packages/dashboard/ui/landing/index.ts +0 -6
  306. package/packages/dashboard/ui/landing/styles.css +0 -2850
  307. package/packages/dashboard/ui/lib/agent-merge.ts +0 -35
  308. package/packages/dashboard/ui/lib/api.ts +0 -1155
  309. package/packages/dashboard/ui/lib/cloudApi.ts +0 -877
  310. package/packages/dashboard/ui/lib/colors.ts +0 -218
  311. package/packages/dashboard/ui/lib/hierarchy.ts +0 -242
  312. package/packages/dashboard/ui/lib/stuckDetection.ts +0 -142
  313. package/packages/dashboard/ui/next-env.d.ts +0 -5
  314. package/packages/dashboard/ui/next.config.js +0 -41
  315. package/packages/dashboard/ui/package-lock.json +0 -2882
  316. package/packages/dashboard/ui/package.json +0 -33
  317. package/packages/dashboard/ui/postcss.config.js +0 -5
  318. package/packages/dashboard/ui/react-components/ActivityFeed.tsx +0 -216
  319. package/packages/dashboard/ui/react-components/AddWorkspaceModal.tsx +0 -170
  320. package/packages/dashboard/ui/react-components/AgentCard.tsx +0 -587
  321. package/packages/dashboard/ui/react-components/AgentList.tsx +0 -411
  322. package/packages/dashboard/ui/react-components/AgentProfilePanel.tsx +0 -564
  323. package/packages/dashboard/ui/react-components/App.tsx +0 -3033
  324. package/packages/dashboard/ui/react-components/BillingPanel.tsx +0 -922
  325. package/packages/dashboard/ui/react-components/BillingResult.tsx +0 -447
  326. package/packages/dashboard/ui/react-components/BroadcastComposer.tsx +0 -690
  327. package/packages/dashboard/ui/react-components/ChannelAdminPanel.tsx +0 -773
  328. package/packages/dashboard/ui/react-components/ChannelBrowser.tsx +0 -385
  329. package/packages/dashboard/ui/react-components/ChannelChat.tsx +0 -261
  330. package/packages/dashboard/ui/react-components/ChannelSidebar.tsx +0 -399
  331. package/packages/dashboard/ui/react-components/CloudSessionProvider.tsx +0 -130
  332. package/packages/dashboard/ui/react-components/CommandPalette.tsx +0 -815
  333. package/packages/dashboard/ui/react-components/ConfirmationDialog.tsx +0 -133
  334. package/packages/dashboard/ui/react-components/ConversationHistory.tsx +0 -518
  335. package/packages/dashboard/ui/react-components/CoordinatorPanel.tsx +0 -944
  336. package/packages/dashboard/ui/react-components/DecisionQueue.tsx +0 -717
  337. package/packages/dashboard/ui/react-components/DirectMessageView.tsx +0 -164
  338. package/packages/dashboard/ui/react-components/FileAutocomplete.tsx +0 -368
  339. package/packages/dashboard/ui/react-components/FleetOverview.tsx +0 -278
  340. package/packages/dashboard/ui/react-components/LogViewer.tsx +0 -310
  341. package/packages/dashboard/ui/react-components/LogViewerPanel.tsx +0 -482
  342. package/packages/dashboard/ui/react-components/Logo.tsx +0 -284
  343. package/packages/dashboard/ui/react-components/MentionAutocomplete.tsx +0 -384
  344. package/packages/dashboard/ui/react-components/MessageComposer.tsx +0 -457
  345. package/packages/dashboard/ui/react-components/MessageList.tsx +0 -649
  346. package/packages/dashboard/ui/react-components/MessageSenderName.tsx +0 -91
  347. package/packages/dashboard/ui/react-components/MessageStatusIndicator.tsx +0 -142
  348. package/packages/dashboard/ui/react-components/NewConversationModal.tsx +0 -400
  349. package/packages/dashboard/ui/react-components/NotificationToast.tsx +0 -488
  350. package/packages/dashboard/ui/react-components/OnlineUsersIndicator.tsx +0 -164
  351. package/packages/dashboard/ui/react-components/Pagination.tsx +0 -124
  352. package/packages/dashboard/ui/react-components/PricingPlans.tsx +0 -386
  353. package/packages/dashboard/ui/react-components/ProjectList.tsx +0 -625
  354. package/packages/dashboard/ui/react-components/ProviderAuthFlow.tsx +0 -853
  355. package/packages/dashboard/ui/react-components/ProviderConnectionList.tsx +0 -378
  356. package/packages/dashboard/ui/react-components/ProvisioningProgress.tsx +0 -730
  357. package/packages/dashboard/ui/react-components/RepoAccessPanel.tsx +0 -549
  358. package/packages/dashboard/ui/react-components/ServerCard.tsx +0 -202
  359. package/packages/dashboard/ui/react-components/SessionExpiredModal.tsx +0 -128
  360. package/packages/dashboard/ui/react-components/SpawnModal.tsx +0 -804
  361. package/packages/dashboard/ui/react-components/TaskAssignmentUI.tsx +0 -375
  362. package/packages/dashboard/ui/react-components/TerminalProviderSetup.tsx +0 -608
  363. package/packages/dashboard/ui/react-components/ThemeProvider.tsx +0 -325
  364. package/packages/dashboard/ui/react-components/ThinkingIndicator.tsx +0 -231
  365. package/packages/dashboard/ui/react-components/ThreadList.tsx +0 -198
  366. package/packages/dashboard/ui/react-components/ThreadPanel.tsx +0 -346
  367. package/packages/dashboard/ui/react-components/TrajectoryViewer.tsx +0 -698
  368. package/packages/dashboard/ui/react-components/TypingIndicator.tsx +0 -69
  369. package/packages/dashboard/ui/react-components/UsageBanner.tsx +0 -231
  370. package/packages/dashboard/ui/react-components/UserProfilePanel.tsx +0 -233
  371. package/packages/dashboard/ui/react-components/WorkspaceContext.tsx +0 -107
  372. package/packages/dashboard/ui/react-components/WorkspaceSelector.tsx +0 -234
  373. package/packages/dashboard/ui/react-components/WorkspaceStatusIndicator.tsx +0 -370
  374. package/packages/dashboard/ui/react-components/XTermInteractive.tsx +0 -510
  375. package/packages/dashboard/ui/react-components/XTermLogViewer.tsx +0 -719
  376. package/packages/dashboard/ui/react-components/channels/ChannelDialogs.tsx +0 -1411
  377. package/packages/dashboard/ui/react-components/channels/ChannelHeader.tsx +0 -317
  378. package/packages/dashboard/ui/react-components/channels/ChannelMessageList.tsx +0 -463
  379. package/packages/dashboard/ui/react-components/channels/ChannelViewV1.tsx +0 -146
  380. package/packages/dashboard/ui/react-components/channels/MessageInput.tsx +0 -288
  381. package/packages/dashboard/ui/react-components/channels/SearchInput.tsx +0 -172
  382. package/packages/dashboard/ui/react-components/channels/SearchResults.tsx +0 -336
  383. package/packages/dashboard/ui/react-components/channels/api.ts +0 -697
  384. package/packages/dashboard/ui/react-components/channels/index.ts +0 -76
  385. package/packages/dashboard/ui/react-components/channels/mockApi.ts +0 -344
  386. package/packages/dashboard/ui/react-components/channels/types.ts +0 -566
  387. package/packages/dashboard/ui/react-components/hooks/index.ts +0 -57
  388. package/packages/dashboard/ui/react-components/hooks/useAgentLogs.ts +0 -394
  389. package/packages/dashboard/ui/react-components/hooks/useAgents.ts +0 -127
  390. package/packages/dashboard/ui/react-components/hooks/useBroadcastDedup.ts +0 -86
  391. package/packages/dashboard/ui/react-components/hooks/useChannelAdmin.ts +0 -329
  392. package/packages/dashboard/ui/react-components/hooks/useChannelBrowser.ts +0 -239
  393. package/packages/dashboard/ui/react-components/hooks/useChannelCommands.ts +0 -138
  394. package/packages/dashboard/ui/react-components/hooks/useChannels.ts +0 -328
  395. package/packages/dashboard/ui/react-components/hooks/useDebounce.ts +0 -29
  396. package/packages/dashboard/ui/react-components/hooks/useDirectMessage.ts +0 -141
  397. package/packages/dashboard/ui/react-components/hooks/useMessages.ts +0 -309
  398. package/packages/dashboard/ui/react-components/hooks/useOrchestrator.ts +0 -364
  399. package/packages/dashboard/ui/react-components/hooks/usePinnedAgents.ts +0 -140
  400. package/packages/dashboard/ui/react-components/hooks/usePresence.ts +0 -340
  401. package/packages/dashboard/ui/react-components/hooks/useRecentRepos.ts +0 -130
  402. package/packages/dashboard/ui/react-components/hooks/useSession.ts +0 -209
  403. package/packages/dashboard/ui/react-components/hooks/useTrajectory.ts +0 -265
  404. package/packages/dashboard/ui/react-components/hooks/useWebSocket.ts +0 -169
  405. package/packages/dashboard/ui/react-components/hooks/useWorkspaceMembers.ts +0 -120
  406. package/packages/dashboard/ui/react-components/hooks/useWorkspaceRepos.ts +0 -73
  407. package/packages/dashboard/ui/react-components/hooks/useWorkspaceStatus.ts +0 -237
  408. package/packages/dashboard/ui/react-components/index.ts +0 -81
  409. package/packages/dashboard/ui/react-components/layout/Header.tsx +0 -355
  410. package/packages/dashboard/ui/react-components/layout/RepoContextHeader.tsx +0 -361
  411. package/packages/dashboard/ui/react-components/layout/Sidebar.archive.test.tsx +0 -126
  412. package/packages/dashboard/ui/react-components/layout/Sidebar.test.tsx +0 -691
  413. package/packages/dashboard/ui/react-components/layout/Sidebar.tsx +0 -930
  414. package/packages/dashboard/ui/react-components/layout/index.ts +0 -7
  415. package/packages/dashboard/ui/react-components/settings/BillingSettingsPanel.tsx +0 -564
  416. package/packages/dashboard/ui/react-components/settings/SettingsPage.tsx +0 -544
  417. package/packages/dashboard/ui/react-components/settings/TeamSettingsPanel.tsx +0 -560
  418. package/packages/dashboard/ui/react-components/settings/WorkspaceSettingsPanel.tsx +0 -1386
  419. package/packages/dashboard/ui/react-components/settings/index.ts +0 -11
  420. package/packages/dashboard/ui/react-components/settings/types.ts +0 -53
  421. package/packages/dashboard/ui/react-components/utils/messageFormatting.tsx +0 -370
  422. package/packages/dashboard/ui/tailwind.config.js +0 -148
  423. package/packages/dashboard/ui/types/index.ts +0 -304
  424. package/packages/dashboard/ui/types/threading.ts +0 -7
  425. package/packages/dashboard/ui-dist/404.html +0 -1
  426. package/packages/dashboard/ui-dist/_next/static/91mkGYq3qbG8WHE6VytQ8/_buildManifest.js +0 -1
  427. package/packages/dashboard/ui-dist/_next/static/91mkGYq3qbG8WHE6VytQ8/_ssgManifest.js +0 -1
  428. package/packages/dashboard/ui-dist/_next/static/T2rV14eEU5OweDeV29SvG/_buildManifest.js +0 -1
  429. package/packages/dashboard/ui-dist/_next/static/T2rV14eEU5OweDeV29SvG/_ssgManifest.js +0 -1
  430. package/packages/dashboard/ui-dist/_next/static/chunks/116-a883fca163f3a5bc.js +0 -1
  431. package/packages/dashboard/ui-dist/_next/static/chunks/117-c8afed19e821a35d.js +0 -2
  432. package/packages/dashboard/ui-dist/_next/static/chunks/282-980c2eb8fff20123.js +0 -1
  433. package/packages/dashboard/ui-dist/_next/static/chunks/320-a6304232cd0ee2ce.js +0 -1
  434. package/packages/dashboard/ui-dist/_next/static/chunks/532-bace199897eeab37.js +0 -9
  435. package/packages/dashboard/ui-dist/_next/static/chunks/631-16b905e5920f9b59.js +0 -1
  436. package/packages/dashboard/ui-dist/_next/static/chunks/648-acb2ff9f77cbfbd3.js +0 -1
  437. package/packages/dashboard/ui-dist/_next/static/chunks/766-2aea80818f7eb0d8.js +0 -1
  438. package/packages/dashboard/ui-dist/_next/static/chunks/83-26d2bde54616ee90.js +0 -1
  439. package/packages/dashboard/ui-dist/_next/static/chunks/847-f1f467060f32afff.js +0 -1
  440. package/packages/dashboard/ui-dist/_next/static/chunks/891-5cb1513eeb97a891.js +0 -1
  441. package/packages/dashboard/ui-dist/_next/static/chunks/app/_not-found/page-60501fddbafba9dc.js +0 -1
  442. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/onboarding/page-9914652442f7e4fb.js +0 -1
  443. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/page-366fb7c078d4e9e0.js +0 -1
  444. package/packages/dashboard/ui-dist/_next/static/chunks/app/cloud/link/page-fa1d5842aa90e8a6.js +0 -1
  445. package/packages/dashboard/ui-dist/_next/static/chunks/app/complete-profile/page-dd64bbdf66b639cd.js +0 -1
  446. package/packages/dashboard/ui-dist/_next/static/chunks/app/connect-repos/page-113060009ef35bc2.js +0 -1
  447. package/packages/dashboard/ui-dist/_next/static/chunks/app/history/page-9965d2483011b846.js +0 -1
  448. package/packages/dashboard/ui-dist/_next/static/chunks/app/layout-6b91e33784c20610.js +0 -1
  449. package/packages/dashboard/ui-dist/_next/static/chunks/app/login/page-435eceb0073be027.js +0 -1
  450. package/packages/dashboard/ui-dist/_next/static/chunks/app/metrics/page-1e37ef8e73940b40.js +0 -1
  451. package/packages/dashboard/ui-dist/_next/static/chunks/app/page-8119d4246743574e.js +0 -1
  452. package/packages/dashboard/ui-dist/_next/static/chunks/app/pricing/page-9db3ebdfa567a7c9.js +0 -1
  453. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/page-ecb16ffd3b36262b.js +0 -1
  454. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/setup/[provider]/page-4dbe33f0f7691b7c.js +0 -1
  455. package/packages/dashboard/ui-dist/_next/static/chunks/app/signup/page-c7a0a28341365ae0.js +0 -1
  456. package/packages/dashboard/ui-dist/_next/static/chunks/e868780c-48e5f147c90a3a41.js +0 -18
  457. package/packages/dashboard/ui-dist/_next/static/chunks/fd9d1056-609918ca7b6280bb.js +0 -1
  458. package/packages/dashboard/ui-dist/_next/static/chunks/framework-f66176bb897dc684.js +0 -1
  459. package/packages/dashboard/ui-dist/_next/static/chunks/main-311c3db74dcfadb7.js +0 -1
  460. package/packages/dashboard/ui-dist/_next/static/chunks/main-app-fdbeb09028f57c9f.js +0 -1
  461. package/packages/dashboard/ui-dist/_next/static/chunks/pages/_app-72b849fbd24ac258.js +0 -1
  462. package/packages/dashboard/ui-dist/_next/static/chunks/pages/_error-7ba65e1336b92748.js +0 -1
  463. package/packages/dashboard/ui-dist/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  464. package/packages/dashboard/ui-dist/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +0 -1
  465. package/packages/dashboard/ui-dist/_next/static/css/4034f236dd1a3178.css +0 -1
  466. package/packages/dashboard/ui-dist/_next/static/css/6892f8422896ef7a.css +0 -1
  467. package/packages/dashboard/ui-dist/_next/static/l8L2OscDSR2vsMIlWcC48/_buildManifest.js +0 -1
  468. package/packages/dashboard/ui-dist/_next/static/l8L2OscDSR2vsMIlWcC48/_ssgManifest.js +0 -1
  469. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-128.png +0 -0
  470. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-256.png +0 -0
  471. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-32.png +0 -0
  472. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-512.png +0 -0
  473. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-64.png +0 -0
  474. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo.svg +0 -45
  475. package/packages/dashboard/ui-dist/alt-logos/logo.svg +0 -38
  476. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-128.png +0 -0
  477. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-256.png +0 -0
  478. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-32.png +0 -0
  479. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-512.png +0 -0
  480. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-64.png +0 -0
  481. package/packages/dashboard/ui-dist/alt-logos/monogram-logo.svg +0 -38
  482. package/packages/dashboard/ui-dist/app/onboarding.html +0 -1
  483. package/packages/dashboard/ui-dist/app/onboarding.txt +0 -7
  484. package/packages/dashboard/ui-dist/app.html +0 -1
  485. package/packages/dashboard/ui-dist/app.txt +0 -7
  486. package/packages/dashboard/ui-dist/apple-icon.png +0 -0
  487. package/packages/dashboard/ui-dist/cloud/link.html +0 -1
  488. package/packages/dashboard/ui-dist/cloud/link.txt +0 -7
  489. package/packages/dashboard/ui-dist/complete-profile.html +0 -5
  490. package/packages/dashboard/ui-dist/complete-profile.txt +0 -7
  491. package/packages/dashboard/ui-dist/connect-repos.html +0 -1
  492. package/packages/dashboard/ui-dist/connect-repos.txt +0 -7
  493. package/packages/dashboard/ui-dist/history.html +0 -1
  494. package/packages/dashboard/ui-dist/history.txt +0 -7
  495. package/packages/dashboard/ui-dist/index.html +0 -1
  496. package/packages/dashboard/ui-dist/index.txt +0 -7
  497. package/packages/dashboard/ui-dist/login.html +0 -5
  498. package/packages/dashboard/ui-dist/login.txt +0 -7
  499. package/packages/dashboard/ui-dist/metrics.html +0 -1
  500. package/packages/dashboard/ui-dist/metrics.txt +0 -7
  501. package/packages/dashboard/ui-dist/pricing.html +0 -13
  502. package/packages/dashboard/ui-dist/pricing.txt +0 -7
  503. package/packages/dashboard/ui-dist/providers/setup/claude.html +0 -1
  504. package/packages/dashboard/ui-dist/providers/setup/claude.txt +0 -8
  505. package/packages/dashboard/ui-dist/providers/setup/codex.html +0 -1
  506. package/packages/dashboard/ui-dist/providers/setup/codex.txt +0 -8
  507. package/packages/dashboard/ui-dist/providers/setup/cursor.html +0 -1
  508. package/packages/dashboard/ui-dist/providers/setup/cursor.txt +0 -8
  509. package/packages/dashboard/ui-dist/providers.html +0 -1
  510. package/packages/dashboard/ui-dist/providers.txt +0 -7
  511. package/packages/dashboard/ui-dist/signup.html +0 -6
  512. package/packages/dashboard/ui-dist/signup.txt +0 -7
  513. package/packages/dashboard-server/dist/health-worker-manager.d.ts +0 -62
  514. package/packages/dashboard-server/dist/health-worker-manager.js +0 -144
  515. package/packages/dashboard-server/dist/health-worker.d.ts +0 -9
  516. package/packages/dashboard-server/dist/health-worker.js +0 -79
  517. package/packages/dashboard-server/dist/index.d.ts +0 -18
  518. package/packages/dashboard-server/dist/index.js +0 -17
  519. package/packages/dashboard-server/dist/metrics.d.ts +0 -105
  520. package/packages/dashboard-server/dist/metrics.js +0 -193
  521. package/packages/dashboard-server/dist/needs-attention.d.ts +0 -24
  522. package/packages/dashboard-server/dist/needs-attention.js +0 -78
  523. package/packages/dashboard-server/dist/server.d.ts +0 -25
  524. package/packages/dashboard-server/dist/server.js +0 -5158
  525. package/packages/dashboard-server/dist/start.d.ts +0 -6
  526. package/packages/dashboard-server/dist/start.js +0 -13
  527. package/packages/dashboard-server/dist/types/threading.d.ts +0 -8
  528. package/packages/dashboard-server/dist/types/threading.js +0 -2
  529. package/packages/dashboard-server/dist/user-bridge.d.ts +0 -158
  530. package/packages/dashboard-server/dist/user-bridge.js +0 -390
  531. package/packages/dashboard-server/package.json +0 -55
  532. package/scripts/run-migrations.js +0 -43
  533. package/scripts/setup-stripe-products.ts +0 -312
  534. package/scripts/verify-schema.js +0 -134
@@ -1,144 +0,0 @@
1
- /**
2
- * Health Worker Manager
3
- *
4
- * Manages the health check worker thread, sending periodic stats updates
5
- * and handling worker lifecycle.
6
- */
7
- import { Worker } from 'node:worker_threads';
8
- import path from 'node:path';
9
- import { fileURLToPath } from 'node:url';
10
- const __filename = fileURLToPath(import.meta.url);
11
- const __dirname = path.dirname(__filename);
12
- export class HealthWorkerManager {
13
- worker = null;
14
- statsInterval = null;
15
- config;
16
- statsProvider;
17
- ready = false;
18
- constructor(config, statsProvider) {
19
- this.config = {
20
- statsInterval: 5000,
21
- ...config,
22
- };
23
- this.statsProvider = statsProvider;
24
- }
25
- /**
26
- * Start the health worker thread
27
- */
28
- async start() {
29
- if (this.worker) {
30
- console.warn('[health-manager] Worker already running');
31
- return;
32
- }
33
- return new Promise((resolve, reject) => {
34
- // Worker script path - handle both dev (src) and prod (dist)
35
- const workerPath = path.join(__dirname, 'health-worker.js');
36
- this.worker = new Worker(workerPath, {
37
- workerData: { port: this.config.port },
38
- });
39
- this.worker.on('message', (msg) => {
40
- if (msg.type === 'ready') {
41
- this.ready = true;
42
- console.log(`[health-manager] Worker ready on port ${msg.port}`);
43
- this.startStatsUpdates();
44
- resolve();
45
- }
46
- else if (msg.type === 'error') {
47
- console.error('[health-manager] Worker error:', msg.error);
48
- }
49
- });
50
- this.worker.on('error', (err) => {
51
- console.error('[health-manager] Worker thread error:', err);
52
- if (!this.ready) {
53
- reject(err);
54
- }
55
- });
56
- this.worker.on('exit', (code) => {
57
- console.log(`[health-manager] Worker exited with code ${code}`);
58
- this.ready = false;
59
- this.worker = null;
60
- this.stopStatsUpdates();
61
- });
62
- // Timeout for worker startup
63
- setTimeout(() => {
64
- if (!this.ready) {
65
- reject(new Error('Health worker startup timeout'));
66
- }
67
- }, 10000);
68
- });
69
- }
70
- /**
71
- * Stop the health worker thread
72
- */
73
- async stop() {
74
- this.stopStatsUpdates();
75
- if (this.worker) {
76
- await this.worker.terminate();
77
- this.worker = null;
78
- this.ready = false;
79
- }
80
- }
81
- /**
82
- * Check if worker is ready
83
- */
84
- isReady() {
85
- return this.ready;
86
- }
87
- /**
88
- * Get the port the health worker is listening on
89
- */
90
- getPort() {
91
- return this.config.port;
92
- }
93
- /**
94
- * Start periodic stats updates to worker
95
- */
96
- startStatsUpdates() {
97
- if (this.statsInterval)
98
- return;
99
- // Send initial stats
100
- this.sendStats();
101
- // Send periodic updates
102
- this.statsInterval = setInterval(() => {
103
- this.sendStats();
104
- }, this.config.statsInterval);
105
- }
106
- /**
107
- * Stop stats updates
108
- */
109
- stopStatsUpdates() {
110
- if (this.statsInterval) {
111
- clearInterval(this.statsInterval);
112
- this.statsInterval = null;
113
- }
114
- }
115
- /**
116
- * Send current stats to worker
117
- */
118
- sendStats() {
119
- if (!this.worker || !this.ready)
120
- return;
121
- try {
122
- const stats = {
123
- uptime: this.statsProvider.getUptime(),
124
- memoryMB: this.statsProvider.getMemoryMB(),
125
- relayConnected: this.statsProvider.getRelayConnected(),
126
- agentCount: this.statsProvider.getAgentCount(),
127
- status: this.statsProvider.getStatus(),
128
- };
129
- this.worker.postMessage(stats);
130
- }
131
- catch (err) {
132
- console.error('[health-manager] Failed to send stats:', err);
133
- }
134
- }
135
- }
136
- /** Default health port offset from main port */
137
- export const HEALTH_PORT_OFFSET = 1;
138
- /**
139
- * Calculate health port from main port
140
- */
141
- export function getHealthPort(mainPort) {
142
- return mainPort + HEALTH_PORT_OFFSET;
143
- }
144
- //# sourceMappingURL=health-worker-manager.js.map
@@ -1,9 +0,0 @@
1
- /**
2
- * Health Check Worker Thread
3
- *
4
- * Runs a minimal HTTP server on a separate thread to handle health checks.
5
- * This ensures health checks respond even when the main event loop is blocked
6
- * by heavy compute tasks (builds, large file operations, etc.).
7
- */
8
- export {};
9
- //# sourceMappingURL=health-worker.d.ts.map
@@ -1,79 +0,0 @@
1
- /**
2
- * Health Check Worker Thread
3
- *
4
- * Runs a minimal HTTP server on a separate thread to handle health checks.
5
- * This ensures health checks respond even when the main event loop is blocked
6
- * by heavy compute tasks (builds, large file operations, etc.).
7
- */
8
- import { parentPort, workerData } from 'node:worker_threads';
9
- import http from 'node:http';
10
- // Default stats until we receive updates from main thread
11
- let currentStats = {
12
- uptime: 0,
13
- memoryMB: 0,
14
- relayConnected: false,
15
- agentCount: 0,
16
- status: 'healthy',
17
- };
18
- // Track when we last received stats from main thread
19
- let lastStatsUpdate = Date.now();
20
- const STATS_STALE_THRESHOLD_MS = 60_000; // 1 minute
21
- // Listen for stats updates from main thread
22
- if (parentPort) {
23
- parentPort.on('message', (stats) => {
24
- currentStats = stats;
25
- lastStatsUpdate = Date.now();
26
- });
27
- }
28
- const { port } = workerData;
29
- const server = http.createServer((req, res) => {
30
- // Only handle /health endpoint
31
- if (req.url !== '/health' && req.url !== '/') {
32
- res.writeHead(404, { 'Content-Type': 'application/json' });
33
- res.end(JSON.stringify({ error: 'Not found' }));
34
- return;
35
- }
36
- // Check if stats are stale (main thread might be blocked)
37
- const statsAge = Date.now() - lastStatsUpdate;
38
- const isStale = statsAge > STATS_STALE_THRESHOLD_MS;
39
- // Determine status
40
- let status = currentStats.status;
41
- if (isStale) {
42
- status = 'busy'; // Main thread is likely blocked
43
- }
44
- const response = {
45
- status,
46
- uptime: currentStats.uptime,
47
- memoryMB: currentStats.memoryMB,
48
- relayConnected: currentStats.relayConnected,
49
- agentCount: currentStats.agentCount,
50
- statsAgeMs: statsAge,
51
- worker: true, // Indicates response is from worker thread
52
- };
53
- // Return 200 for healthy/busy, 503 for degraded
54
- const statusCode = status === 'degraded' ? 503 : 200;
55
- res.writeHead(statusCode, { 'Content-Type': 'application/json' });
56
- res.end(JSON.stringify(response));
57
- });
58
- server.listen(port, '0.0.0.0', () => {
59
- console.log(`[health-worker] Health check server listening on port ${port}`);
60
- // Notify main thread we're ready
61
- if (parentPort) {
62
- parentPort.postMessage({ type: 'ready', port });
63
- }
64
- });
65
- // Handle errors gracefully
66
- server.on('error', (err) => {
67
- console.error('[health-worker] Server error:', err);
68
- if (parentPort) {
69
- parentPort.postMessage({ type: 'error', error: String(err) });
70
- }
71
- });
72
- // Keep the worker alive
73
- process.on('uncaughtException', (err) => {
74
- console.error('[health-worker] Uncaught exception:', err);
75
- });
76
- process.on('unhandledRejection', (err) => {
77
- console.error('[health-worker] Unhandled rejection:', err);
78
- });
79
- //# sourceMappingURL=health-worker.js.map
@@ -1,20 +0,0 @@
1
- /**
2
- * @agent-relay/dashboard
3
- *
4
- * Optional web dashboard for Agent Relay.
5
- * Install separately: npm install -g @agent-relay/dashboard
6
- *
7
- * This package provides:
8
- * - Dashboard HTTP API for agent management
9
- * - WebSocket connections for real-time updates
10
- * - User bridge for browser-based users
11
- * - Metrics collection and reporting
12
- * - Static Next.js UI for visual agent coordination
13
- */
14
- export { startDashboard } from './server.js';
15
- export { UserBridge, type IRelayClient } from './user-bridge.js';
16
- export { computeNeedsAttention, type AttentionMessage } from './needs-attention.js';
17
- export { computeSystemMetrics, formatPrometheusMetrics, type AgentMetrics, type ThroughputMetrics, } from './metrics.js';
18
- export { HealthWorkerManager, getHealthPort, type HealthWorkerConfig, type HealthStatsProvider } from './health-worker-manager.js';
19
- export type { ThreadMetadata } from './types/threading.js';
20
- //# sourceMappingURL=index.d.ts.map
@@ -1,19 +0,0 @@
1
- /**
2
- * @agent-relay/dashboard
3
- *
4
- * Optional web dashboard for Agent Relay.
5
- * Install separately: npm install -g @agent-relay/dashboard
6
- *
7
- * This package provides:
8
- * - Dashboard HTTP API for agent management
9
- * - WebSocket connections for real-time updates
10
- * - User bridge for browser-based users
11
- * - Metrics collection and reporting
12
- * - Static Next.js UI for visual agent coordination
13
- */
14
- export { startDashboard } from './server.js';
15
- export { UserBridge } from './user-bridge.js';
16
- export { computeNeedsAttention } from './needs-attention.js';
17
- export { computeSystemMetrics, formatPrometheusMetrics, } from './metrics.js';
18
- export { HealthWorkerManager, getHealthPort } from './health-worker-manager.js';
19
- //# sourceMappingURL=index.js.map
@@ -1,105 +0,0 @@
1
- /**
2
- * Metrics collection and computation for the Agent Relay dashboard.
3
- * Provides real-time metrics for monitoring: throughput, agent health, error rates.
4
- */
5
- export interface AgentMetrics {
6
- name: string;
7
- messagesSent: number;
8
- messagesReceived: number;
9
- firstSeen: string;
10
- lastSeen: string;
11
- isOnline: boolean;
12
- uptimeSeconds: number;
13
- }
14
- export interface ThroughputMetrics {
15
- messagesLastMinute: number;
16
- messagesLastHour: number;
17
- messagesLast24Hours: number;
18
- avgMessagesPerMinute: number;
19
- }
20
- export interface SessionMetrics {
21
- totalSessions: number;
22
- activeSessions: number;
23
- closedByAgent: number;
24
- closedByDisconnect: number;
25
- closedByError: number;
26
- errorRate: number;
27
- recentSessions: Array<{
28
- id: string;
29
- agentName: string;
30
- startedAt: string;
31
- endedAt?: string;
32
- closedBy?: 'agent' | 'disconnect' | 'error';
33
- messageCount: number;
34
- }>;
35
- }
36
- export interface SystemMetrics {
37
- totalAgents: number;
38
- onlineAgents: number;
39
- offlineAgents: number;
40
- totalMessages: number;
41
- throughput: ThroughputMetrics;
42
- sessions: SessionMetrics;
43
- agents: AgentMetrics[];
44
- timestamp: string;
45
- }
46
- export interface PrometheusMetric {
47
- name: string;
48
- help: string;
49
- type: 'counter' | 'gauge' | 'histogram';
50
- values: Array<{
51
- labels: Record<string, string>;
52
- value: number;
53
- }>;
54
- }
55
- /**
56
- * Compute agent-level metrics from registry data
57
- */
58
- export declare function computeAgentMetrics(agents: Array<{
59
- name: string;
60
- messagesSent: number;
61
- messagesReceived: number;
62
- firstSeen: string;
63
- lastSeen: string;
64
- }>): AgentMetrics[];
65
- /**
66
- * Compute throughput metrics from message history
67
- */
68
- export declare function computeThroughputMetrics(messages: Array<{
69
- timestamp: string;
70
- }>): ThroughputMetrics;
71
- /**
72
- * Compute session lifecycle metrics from session history
73
- */
74
- export declare function computeSessionMetrics(sessions: Array<{
75
- id: string;
76
- agentName: string;
77
- startedAt: number;
78
- endedAt?: number;
79
- closedBy?: 'agent' | 'disconnect' | 'error';
80
- messageCount: number;
81
- }>): SessionMetrics;
82
- /**
83
- * Compute full system metrics
84
- */
85
- export declare function computeSystemMetrics(agents: Array<{
86
- name: string;
87
- messagesSent: number;
88
- messagesReceived: number;
89
- firstSeen: string;
90
- lastSeen: string;
91
- }>, messages: Array<{
92
- timestamp: string;
93
- }>, sessions?: Array<{
94
- id: string;
95
- agentName: string;
96
- startedAt: number;
97
- endedAt?: number;
98
- closedBy?: 'agent' | 'disconnect' | 'error';
99
- messageCount: number;
100
- }>): SystemMetrics;
101
- /**
102
- * Format metrics in Prometheus exposition format
103
- */
104
- export declare function formatPrometheusMetrics(metrics: SystemMetrics): string;
105
- //# sourceMappingURL=metrics.d.ts.map
@@ -1,193 +0,0 @@
1
- /**
2
- * Metrics collection and computation for the Agent Relay dashboard.
3
- * Provides real-time metrics for monitoring: throughput, agent health, error rates.
4
- */
5
- // Consider agents offline after 30 seconds of inactivity
6
- // Aligns with heartbeat timeout (5s heartbeat * 6 multiplier = 30s)
7
- const OFFLINE_THRESHOLD_MS = 30 * 1000;
8
- /**
9
- * Compute agent-level metrics from registry data
10
- */
11
- export function computeAgentMetrics(agents) {
12
- const now = Date.now();
13
- return agents.map((agent) => {
14
- const lastSeenTime = new Date(agent.lastSeen).getTime();
15
- const firstSeenTime = new Date(agent.firstSeen).getTime();
16
- const isOnline = now - lastSeenTime < OFFLINE_THRESHOLD_MS;
17
- const uptimeSeconds = Math.floor((now - firstSeenTime) / 1000);
18
- return {
19
- name: agent.name,
20
- messagesSent: agent.messagesSent,
21
- messagesReceived: agent.messagesReceived,
22
- firstSeen: agent.firstSeen,
23
- lastSeen: agent.lastSeen,
24
- isOnline,
25
- uptimeSeconds,
26
- };
27
- });
28
- }
29
- /**
30
- * Compute throughput metrics from message history
31
- */
32
- export function computeThroughputMetrics(messages) {
33
- const now = Date.now();
34
- const oneMinuteAgo = now - 60 * 1000;
35
- const oneHourAgo = now - 60 * 60 * 1000;
36
- const oneDayAgo = now - 24 * 60 * 60 * 1000;
37
- let lastMinute = 0;
38
- let lastHour = 0;
39
- let last24Hours = 0;
40
- for (const msg of messages) {
41
- const ts = new Date(msg.timestamp).getTime();
42
- if (ts >= oneMinuteAgo)
43
- lastMinute++;
44
- if (ts >= oneHourAgo)
45
- lastHour++;
46
- if (ts >= oneDayAgo)
47
- last24Hours++;
48
- }
49
- // Calculate average messages per minute over the last hour
50
- const avgMessagesPerMinute = lastHour / 60;
51
- return {
52
- messagesLastMinute: lastMinute,
53
- messagesLastHour: lastHour,
54
- messagesLast24Hours: last24Hours,
55
- avgMessagesPerMinute: Math.round(avgMessagesPerMinute * 100) / 100,
56
- };
57
- }
58
- /**
59
- * Compute session lifecycle metrics from session history
60
- */
61
- export function computeSessionMetrics(sessions) {
62
- let activeSessions = 0;
63
- let closedByAgent = 0;
64
- let closedByDisconnect = 0;
65
- let closedByError = 0;
66
- for (const session of sessions) {
67
- if (!session.endedAt) {
68
- activeSessions++;
69
- }
70
- else {
71
- switch (session.closedBy) {
72
- case 'agent':
73
- closedByAgent++;
74
- break;
75
- case 'disconnect':
76
- closedByDisconnect++;
77
- break;
78
- case 'error':
79
- closedByError++;
80
- break;
81
- default:
82
- // Ended but no closedBy - treat as disconnect
83
- closedByDisconnect++;
84
- }
85
- }
86
- }
87
- const closedSessions = closedByAgent + closedByDisconnect + closedByError;
88
- const errorRate = closedSessions > 0 ? (closedByError / closedSessions) * 100 : 0;
89
- // Format recent sessions for display (most recent 10)
90
- const recentSessions = sessions
91
- .slice(0, 10)
92
- .map((s) => ({
93
- id: s.id,
94
- agentName: s.agentName,
95
- startedAt: new Date(s.startedAt).toISOString(),
96
- endedAt: s.endedAt ? new Date(s.endedAt).toISOString() : undefined,
97
- closedBy: s.closedBy,
98
- messageCount: s.messageCount,
99
- }));
100
- return {
101
- totalSessions: sessions.length,
102
- activeSessions,
103
- closedByAgent,
104
- closedByDisconnect,
105
- closedByError,
106
- errorRate: Math.round(errorRate * 100) / 100,
107
- recentSessions,
108
- };
109
- }
110
- /**
111
- * Compute full system metrics
112
- */
113
- export function computeSystemMetrics(agents, messages, sessions = []) {
114
- const agentMetrics = computeAgentMetrics(agents);
115
- const throughput = computeThroughputMetrics(messages);
116
- const sessionMetrics = computeSessionMetrics(sessions);
117
- const onlineAgents = agentMetrics.filter((a) => a.isOnline).length;
118
- const totalMessages = agents.reduce((sum, a) => sum + a.messagesSent + a.messagesReceived, 0) / 2; // Divide by 2 since each message is counted twice (sent + received)
119
- return {
120
- totalAgents: agents.length,
121
- onlineAgents,
122
- offlineAgents: agents.length - onlineAgents,
123
- totalMessages: Math.round(totalMessages),
124
- throughput,
125
- sessions: sessionMetrics,
126
- agents: agentMetrics,
127
- timestamp: new Date().toISOString(),
128
- };
129
- }
130
- /**
131
- * Format metrics in Prometheus exposition format
132
- */
133
- export function formatPrometheusMetrics(metrics) {
134
- const lines = [];
135
- // Agent counts
136
- lines.push('# HELP agent_relay_agents_total Total number of registered agents');
137
- lines.push('# TYPE agent_relay_agents_total gauge');
138
- lines.push(`agent_relay_agents_total ${metrics.totalAgents}`);
139
- lines.push('# HELP agent_relay_agents_online Number of online agents');
140
- lines.push('# TYPE agent_relay_agents_online gauge');
141
- lines.push(`agent_relay_agents_online ${metrics.onlineAgents}`);
142
- // Message throughput
143
- lines.push('# HELP agent_relay_messages_total Total messages processed');
144
- lines.push('# TYPE agent_relay_messages_total counter');
145
- lines.push(`agent_relay_messages_total ${metrics.totalMessages}`);
146
- lines.push('# HELP agent_relay_messages_last_minute Messages in last minute');
147
- lines.push('# TYPE agent_relay_messages_last_minute gauge');
148
- lines.push(`agent_relay_messages_last_minute ${metrics.throughput.messagesLastMinute}`);
149
- lines.push('# HELP agent_relay_messages_last_hour Messages in last hour');
150
- lines.push('# TYPE agent_relay_messages_last_hour gauge');
151
- lines.push(`agent_relay_messages_last_hour ${metrics.throughput.messagesLastHour}`);
152
- lines.push('# HELP agent_relay_messages_avg_per_minute Average messages per minute');
153
- lines.push('# TYPE agent_relay_messages_avg_per_minute gauge');
154
- lines.push(`agent_relay_messages_avg_per_minute ${metrics.throughput.avgMessagesPerMinute}`);
155
- // Per-agent metrics
156
- lines.push('# HELP agent_relay_agent_messages_sent Messages sent by agent');
157
- lines.push('# TYPE agent_relay_agent_messages_sent counter');
158
- for (const agent of metrics.agents) {
159
- lines.push(`agent_relay_agent_messages_sent{agent="${agent.name}"} ${agent.messagesSent}`);
160
- }
161
- lines.push('# HELP agent_relay_agent_messages_received Messages received by agent');
162
- lines.push('# TYPE agent_relay_agent_messages_received counter');
163
- for (const agent of metrics.agents) {
164
- lines.push(`agent_relay_agent_messages_received{agent="${agent.name}"} ${agent.messagesReceived}`);
165
- }
166
- lines.push('# HELP agent_relay_agent_online Agent online status (1=online, 0=offline)');
167
- lines.push('# TYPE agent_relay_agent_online gauge');
168
- for (const agent of metrics.agents) {
169
- lines.push(`agent_relay_agent_online{agent="${agent.name}"} ${agent.isOnline ? 1 : 0}`);
170
- }
171
- lines.push('# HELP agent_relay_agent_uptime_seconds Agent uptime in seconds');
172
- lines.push('# TYPE agent_relay_agent_uptime_seconds gauge');
173
- for (const agent of metrics.agents) {
174
- lines.push(`agent_relay_agent_uptime_seconds{agent="${agent.name}"} ${agent.uptimeSeconds}`);
175
- }
176
- // Session lifecycle metrics
177
- lines.push('# HELP agent_relay_sessions_total Total number of sessions');
178
- lines.push('# TYPE agent_relay_sessions_total counter');
179
- lines.push(`agent_relay_sessions_total ${metrics.sessions.totalSessions}`);
180
- lines.push('# HELP agent_relay_sessions_active Number of active sessions');
181
- lines.push('# TYPE agent_relay_sessions_active gauge');
182
- lines.push(`agent_relay_sessions_active ${metrics.sessions.activeSessions}`);
183
- lines.push('# HELP agent_relay_sessions_closed_total Sessions closed by type');
184
- lines.push('# TYPE agent_relay_sessions_closed_total counter');
185
- lines.push(`agent_relay_sessions_closed_total{closed_by="agent"} ${metrics.sessions.closedByAgent}`);
186
- lines.push(`agent_relay_sessions_closed_total{closed_by="disconnect"} ${metrics.sessions.closedByDisconnect}`);
187
- lines.push(`agent_relay_sessions_closed_total{closed_by="error"} ${metrics.sessions.closedByError}`);
188
- lines.push('# HELP agent_relay_sessions_error_rate Percentage of sessions closed by error');
189
- lines.push('# TYPE agent_relay_sessions_error_rate gauge');
190
- lines.push(`agent_relay_sessions_error_rate ${metrics.sessions.errorRate}`);
191
- return lines.join('\n') + '\n';
192
- }
193
- //# sourceMappingURL=metrics.js.map
@@ -1,24 +0,0 @@
1
- /**
2
- * Derive which agents currently need attention based on message history.
3
- *
4
- * Heuristic:
5
- * - Track the most recent inbound message to an agent for each conversation key.
6
- * - Conversation key is thread ID if present, otherwise the counterparty agent.
7
- * - Track the most recent outbound message from the agent for the same key.
8
- * - An agent needs attention if their latest inbound message for any key is newer
9
- * than their latest outbound message for that key.
10
- */
11
- export interface AttentionMessage {
12
- from: string;
13
- to: string;
14
- timestamp: string;
15
- thread?: string;
16
- /** Whether the message was sent as a broadcast (to: '*') */
17
- isBroadcast?: boolean;
18
- }
19
- /**
20
- * Compute which agents have pending inbound messages they haven't answered.
21
- * Only considers messages within the attention window (last 30 minutes).
22
- */
23
- export declare function computeNeedsAttention(messages: AttentionMessage[]): Set<string>;
24
- //# sourceMappingURL=needs-attention.d.ts.map
@@ -1,78 +0,0 @@
1
- /**
2
- * Derive which agents currently need attention based on message history.
3
- *
4
- * Heuristic:
5
- * - Track the most recent inbound message to an agent for each conversation key.
6
- * - Conversation key is thread ID if present, otherwise the counterparty agent.
7
- * - Track the most recent outbound message from the agent for the same key.
8
- * - An agent needs attention if their latest inbound message for any key is newer
9
- * than their latest outbound message for that key.
10
- */
11
- // Only consider messages from the last 30 minutes for "needs attention"
12
- const ATTENTION_WINDOW_MS = 30 * 60 * 1000;
13
- function updateLatest(map, agent, key, ts) {
14
- const agentMap = map.get(agent) ?? new Map();
15
- const prev = agentMap.get(key) ?? -Infinity;
16
- if (ts > prev) {
17
- agentMap.set(key, ts);
18
- map.set(agent, agentMap);
19
- }
20
- }
21
- /**
22
- * Compute which agents have pending inbound messages they haven't answered.
23
- * Only considers messages within the attention window (last 30 minutes).
24
- */
25
- export function computeNeedsAttention(messages) {
26
- const latestInbound = new Map(); // agent -> (key -> ts)
27
- const latestOutbound = new Map(); // agent -> (key -> ts)
28
- const now = Date.now();
29
- const cutoffTime = now - ATTENTION_WINDOW_MS;
30
- for (const message of messages) {
31
- const ts = Date.parse(message.timestamp);
32
- if (Number.isNaN(ts))
33
- continue;
34
- // Detect broadcasts: either explicit isBroadcast flag or to === '*'
35
- const isBroadcast = message.isBroadcast || message.to === '*';
36
- // Inbound: messages directed to a specific agent (ignore broadcasts)
37
- // Note: isBroadcast indicates the message was originally a broadcast, even though
38
- // the 'to' field is set to the individual recipient for storage purposes
39
- if (message.to && !isBroadcast) {
40
- const inboundKey = message.thread ? `thread:${message.thread}` : `sender:${message.from}`;
41
- updateLatest(latestInbound, message.to, inboundKey, ts);
42
- }
43
- // Outbound: track replies by thread (preferred) or by target agent
44
- // Also treat broadcasts as clearing attention for all prior senders
45
- if (message.from) {
46
- const outboundKey = message.thread
47
- ? `thread:${message.thread}`
48
- : (message.to && !isBroadcast)
49
- ? `sender:${message.to}`
50
- : null;
51
- if (outboundKey) {
52
- updateLatest(latestOutbound, message.from, outboundKey, ts);
53
- }
54
- // Broadcasts clear attention: agent is actively participating
55
- // Track as a "catch-all" outbound timestamp for this agent
56
- if (isBroadcast) {
57
- updateLatest(latestOutbound, message.from, '__broadcast__', ts);
58
- }
59
- }
60
- }
61
- const needsAttention = new Set();
62
- latestInbound.forEach((keyMap, agent) => {
63
- keyMap.forEach((inboundTs, key) => {
64
- // Skip if inbound message is too old (outside attention window)
65
- if (inboundTs < cutoffTime)
66
- return;
67
- const outboundTs = latestOutbound.get(agent)?.get(key) ?? -Infinity;
68
- // Also check if agent sent a broadcast after the inbound message
69
- const broadcastTs = latestOutbound.get(agent)?.get('__broadcast__') ?? -Infinity;
70
- const latestReply = Math.max(outboundTs, broadcastTs);
71
- if (inboundTs > latestReply) {
72
- needsAttention.add(agent);
73
- }
74
- });
75
- });
76
- return needsAttention;
77
- }
78
- //# sourceMappingURL=needs-attention.js.map