agent-relay 2.0.22 → 2.0.23

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 (391) 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 +31 -100
  4. package/package.json +22 -29
  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/cloud/dist/server.js +25 -4
  9. package/packages/cloud/package.json +6 -6
  10. package/packages/config/package.json +2 -2
  11. package/packages/continuity/package.json +1 -1
  12. package/packages/daemon/dist/orchestrator.js +19 -1
  13. package/packages/daemon/package.json +12 -12
  14. package/packages/hooks/package.json +4 -4
  15. package/packages/mcp/package.json +2 -2
  16. package/packages/memory/package.json +2 -2
  17. package/packages/policy/package.json +2 -2
  18. package/packages/protocol/package.json +1 -1
  19. package/packages/resiliency/package.json +1 -1
  20. package/packages/sdk/package.json +2 -2
  21. package/packages/spawner/package.json +1 -1
  22. package/packages/state/package.json +1 -1
  23. package/packages/storage/package.json +2 -2
  24. package/packages/telemetry/package.json +1 -1
  25. package/packages/trajectory/package.json +2 -2
  26. package/packages/user-directory/package.json +2 -2
  27. package/packages/utils/dist/update-checker.js +4 -0
  28. package/packages/utils/package.json +1 -1
  29. package/packages/wrapper/package.json +6 -6
  30. package/deploy/workspace/codex.config.toml +0 -20
  31. package/deploy/workspace/entrypoint-browser.sh +0 -118
  32. package/deploy/workspace/entrypoint.sh +0 -612
  33. package/deploy/workspace/gh-credential-relay +0 -90
  34. package/deploy/workspace/gh-relay +0 -156
  35. package/deploy/workspace/git-credential-relay +0 -330
  36. package/deploy/workspace/git-credential-relay.test.sh +0 -230
  37. package/dist/dashboard/out/404.html +0 -1
  38. package/dist/dashboard/out/_next/static/91mkGYq3qbG8WHE6VytQ8/_buildManifest.js +0 -1
  39. package/dist/dashboard/out/_next/static/91mkGYq3qbG8WHE6VytQ8/_ssgManifest.js +0 -1
  40. package/dist/dashboard/out/_next/static/chunks/116-a883fca163f3a5bc.js +0 -1
  41. package/dist/dashboard/out/_next/static/chunks/117-c8afed19e821a35d.js +0 -2
  42. package/dist/dashboard/out/_next/static/chunks/282-980c2eb8fff20123.js +0 -1
  43. package/dist/dashboard/out/_next/static/chunks/320-a6304232cd0ee2ce.js +0 -1
  44. package/dist/dashboard/out/_next/static/chunks/532-bace199897eeab37.js +0 -9
  45. package/dist/dashboard/out/_next/static/chunks/631-16b905e5920f9b59.js +0 -1
  46. package/dist/dashboard/out/_next/static/chunks/648-acb2ff9f77cbfbd3.js +0 -1
  47. package/dist/dashboard/out/_next/static/chunks/766-2aea80818f7eb0d8.js +0 -1
  48. package/dist/dashboard/out/_next/static/chunks/83-26d2bde54616ee90.js +0 -1
  49. package/dist/dashboard/out/_next/static/chunks/847-f1f467060f32afff.js +0 -1
  50. package/dist/dashboard/out/_next/static/chunks/891-5cb1513eeb97a891.js +0 -1
  51. package/dist/dashboard/out/_next/static/chunks/app/_not-found/page-60501fddbafba9dc.js +0 -1
  52. package/dist/dashboard/out/_next/static/chunks/app/app/onboarding/page-9914652442f7e4fb.js +0 -1
  53. package/dist/dashboard/out/_next/static/chunks/app/app/page-366fb7c078d4e9e0.js +0 -1
  54. package/dist/dashboard/out/_next/static/chunks/app/cloud/link/page-fa1d5842aa90e8a6.js +0 -1
  55. package/dist/dashboard/out/_next/static/chunks/app/complete-profile/page-dd64bbdf66b639cd.js +0 -1
  56. package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-113060009ef35bc2.js +0 -1
  57. package/dist/dashboard/out/_next/static/chunks/app/history/page-9965d2483011b846.js +0 -1
  58. package/dist/dashboard/out/_next/static/chunks/app/layout-6b91e33784c20610.js +0 -1
  59. package/dist/dashboard/out/_next/static/chunks/app/login/page-435eceb0073be027.js +0 -1
  60. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-1e37ef8e73940b40.js +0 -1
  61. package/dist/dashboard/out/_next/static/chunks/app/page-8119d4246743574e.js +0 -1
  62. package/dist/dashboard/out/_next/static/chunks/app/pricing/page-9db3ebdfa567a7c9.js +0 -1
  63. package/dist/dashboard/out/_next/static/chunks/app/providers/page-ecb16ffd3b36262b.js +0 -1
  64. package/dist/dashboard/out/_next/static/chunks/app/providers/setup/[provider]/page-4dbe33f0f7691b7c.js +0 -1
  65. package/dist/dashboard/out/_next/static/chunks/app/signup/page-c7a0a28341365ae0.js +0 -1
  66. package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +0 -18
  67. package/dist/dashboard/out/_next/static/chunks/fd9d1056-609918ca7b6280bb.js +0 -1
  68. package/dist/dashboard/out/_next/static/chunks/framework-f66176bb897dc684.js +0 -1
  69. package/dist/dashboard/out/_next/static/chunks/main-311c3db74dcfadb7.js +0 -1
  70. package/dist/dashboard/out/_next/static/chunks/main-app-fdbeb09028f57c9f.js +0 -1
  71. package/dist/dashboard/out/_next/static/chunks/pages/_app-72b849fbd24ac258.js +0 -1
  72. package/dist/dashboard/out/_next/static/chunks/pages/_error-7ba65e1336b92748.js +0 -1
  73. package/dist/dashboard/out/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  74. package/dist/dashboard/out/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +0 -1
  75. package/dist/dashboard/out/_next/static/css/4034f236dd1a3178.css +0 -1
  76. package/dist/dashboard/out/_next/static/css/6892f8422896ef7a.css +0 -1
  77. package/dist/dashboard/out/alt-logos/agent-relay-logo-128.png +0 -0
  78. package/dist/dashboard/out/alt-logos/agent-relay-logo-256.png +0 -0
  79. package/dist/dashboard/out/alt-logos/agent-relay-logo-32.png +0 -0
  80. package/dist/dashboard/out/alt-logos/agent-relay-logo-512.png +0 -0
  81. package/dist/dashboard/out/alt-logos/agent-relay-logo-64.png +0 -0
  82. package/dist/dashboard/out/alt-logos/agent-relay-logo.svg +0 -45
  83. package/dist/dashboard/out/alt-logos/logo.svg +0 -38
  84. package/dist/dashboard/out/alt-logos/monogram-logo-128.png +0 -0
  85. package/dist/dashboard/out/alt-logos/monogram-logo-256.png +0 -0
  86. package/dist/dashboard/out/alt-logos/monogram-logo-32.png +0 -0
  87. package/dist/dashboard/out/alt-logos/monogram-logo-512.png +0 -0
  88. package/dist/dashboard/out/alt-logos/monogram-logo-64.png +0 -0
  89. package/dist/dashboard/out/alt-logos/monogram-logo.svg +0 -38
  90. package/dist/dashboard/out/app/onboarding.html +0 -1
  91. package/dist/dashboard/out/app/onboarding.txt +0 -7
  92. package/dist/dashboard/out/app.html +0 -1
  93. package/dist/dashboard/out/app.txt +0 -7
  94. package/dist/dashboard/out/apple-icon.png +0 -0
  95. package/dist/dashboard/out/cloud/link.html +0 -1
  96. package/dist/dashboard/out/cloud/link.txt +0 -7
  97. package/dist/dashboard/out/complete-profile.html +0 -5
  98. package/dist/dashboard/out/complete-profile.txt +0 -7
  99. package/dist/dashboard/out/connect-repos.html +0 -1
  100. package/dist/dashboard/out/connect-repos.txt +0 -7
  101. package/dist/dashboard/out/history.html +0 -1
  102. package/dist/dashboard/out/history.txt +0 -7
  103. package/dist/dashboard/out/index.html +0 -1
  104. package/dist/dashboard/out/index.txt +0 -7
  105. package/dist/dashboard/out/login.html +0 -5
  106. package/dist/dashboard/out/login.txt +0 -7
  107. package/dist/dashboard/out/metrics.html +0 -1
  108. package/dist/dashboard/out/metrics.txt +0 -7
  109. package/dist/dashboard/out/pricing.html +0 -13
  110. package/dist/dashboard/out/pricing.txt +0 -7
  111. package/dist/dashboard/out/providers/setup/claude.html +0 -1
  112. package/dist/dashboard/out/providers/setup/claude.txt +0 -8
  113. package/dist/dashboard/out/providers/setup/codex.html +0 -1
  114. package/dist/dashboard/out/providers/setup/codex.txt +0 -8
  115. package/dist/dashboard/out/providers/setup/cursor.html +0 -1
  116. package/dist/dashboard/out/providers/setup/cursor.txt +0 -8
  117. package/dist/dashboard/out/providers.html +0 -1
  118. package/dist/dashboard/out/providers.txt +0 -7
  119. package/dist/dashboard/out/signup.html +0 -6
  120. package/dist/dashboard/out/signup.txt +0 -7
  121. package/dist/src/dashboard-server/index.d.ts +0 -8
  122. package/dist/src/dashboard-server/index.js +0 -8
  123. package/packages/dashboard/README.md +0 -48
  124. package/packages/dashboard/dist/health-worker-manager.d.ts +0 -62
  125. package/packages/dashboard/dist/health-worker-manager.js +0 -144
  126. package/packages/dashboard/dist/health-worker.d.ts +0 -9
  127. package/packages/dashboard/dist/health-worker.js +0 -79
  128. package/packages/dashboard/dist/index.d.ts +0 -20
  129. package/packages/dashboard/dist/index.js +0 -19
  130. package/packages/dashboard/dist/metrics.d.ts +0 -105
  131. package/packages/dashboard/dist/metrics.js +0 -193
  132. package/packages/dashboard/dist/needs-attention.d.ts +0 -24
  133. package/packages/dashboard/dist/needs-attention.js +0 -78
  134. package/packages/dashboard/dist/server.d.ts +0 -25
  135. package/packages/dashboard/dist/server.js +0 -5270
  136. package/packages/dashboard/dist/start.d.ts +0 -6
  137. package/packages/dashboard/dist/start.js +0 -13
  138. package/packages/dashboard/dist/types/threading.d.ts +0 -8
  139. package/packages/dashboard/dist/types/threading.js +0 -2
  140. package/packages/dashboard/dist/user-bridge.d.ts +0 -154
  141. package/packages/dashboard/dist/user-bridge.js +0 -372
  142. package/packages/dashboard/package.json +0 -65
  143. package/packages/dashboard/ui/app/app/onboarding/page.tsx +0 -394
  144. package/packages/dashboard/ui/app/app/page.tsx +0 -667
  145. package/packages/dashboard/ui/app/apple-icon.png +0 -0
  146. package/packages/dashboard/ui/app/cloud/link/page.tsx +0 -464
  147. package/packages/dashboard/ui/app/complete-profile/page.tsx +0 -204
  148. package/packages/dashboard/ui/app/connect-repos/page.tsx +0 -410
  149. package/packages/dashboard/ui/app/favicon.png +0 -0
  150. package/packages/dashboard/ui/app/globals.css +0 -59
  151. package/packages/dashboard/ui/app/history/page.tsx +0 -658
  152. package/packages/dashboard/ui/app/layout.tsx +0 -25
  153. package/packages/dashboard/ui/app/login/page.tsx +0 -424
  154. package/packages/dashboard/ui/app/metrics/page.tsx +0 -751
  155. package/packages/dashboard/ui/app/page.tsx +0 -59
  156. package/packages/dashboard/ui/app/pricing/page.tsx +0 -7
  157. package/packages/dashboard/ui/app/providers/page.tsx +0 -193
  158. package/packages/dashboard/ui/app/providers/setup/[provider]/ProviderSetupClient.tsx +0 -148
  159. package/packages/dashboard/ui/app/providers/setup/[provider]/constants.ts +0 -35
  160. package/packages/dashboard/ui/app/providers/setup/[provider]/page.tsx +0 -42
  161. package/packages/dashboard/ui/app/signup/page.tsx +0 -533
  162. package/packages/dashboard/ui/index.ts +0 -49
  163. package/packages/dashboard/ui/landing/LandingPage.tsx +0 -713
  164. package/packages/dashboard/ui/landing/PricingPage.tsx +0 -559
  165. package/packages/dashboard/ui/landing/index.ts +0 -6
  166. package/packages/dashboard/ui/landing/styles.css +0 -2850
  167. package/packages/dashboard/ui/lib/agent-merge.ts +0 -35
  168. package/packages/dashboard/ui/lib/api.ts +0 -1155
  169. package/packages/dashboard/ui/lib/cloudApi.ts +0 -877
  170. package/packages/dashboard/ui/lib/colors.ts +0 -218
  171. package/packages/dashboard/ui/lib/hierarchy.ts +0 -242
  172. package/packages/dashboard/ui/lib/stuckDetection.ts +0 -142
  173. package/packages/dashboard/ui/next-env.d.ts +0 -5
  174. package/packages/dashboard/ui/next.config.js +0 -41
  175. package/packages/dashboard/ui/package-lock.json +0 -2882
  176. package/packages/dashboard/ui/package.json +0 -33
  177. package/packages/dashboard/ui/postcss.config.js +0 -5
  178. package/packages/dashboard/ui/react-components/ActivityFeed.tsx +0 -216
  179. package/packages/dashboard/ui/react-components/AddWorkspaceModal.tsx +0 -170
  180. package/packages/dashboard/ui/react-components/AgentCard.tsx +0 -587
  181. package/packages/dashboard/ui/react-components/AgentList.tsx +0 -411
  182. package/packages/dashboard/ui/react-components/AgentProfilePanel.tsx +0 -564
  183. package/packages/dashboard/ui/react-components/App.tsx +0 -3033
  184. package/packages/dashboard/ui/react-components/BillingPanel.tsx +0 -922
  185. package/packages/dashboard/ui/react-components/BillingResult.tsx +0 -447
  186. package/packages/dashboard/ui/react-components/BroadcastComposer.tsx +0 -690
  187. package/packages/dashboard/ui/react-components/ChannelAdminPanel.tsx +0 -773
  188. package/packages/dashboard/ui/react-components/ChannelBrowser.tsx +0 -385
  189. package/packages/dashboard/ui/react-components/ChannelChat.tsx +0 -261
  190. package/packages/dashboard/ui/react-components/ChannelSidebar.tsx +0 -399
  191. package/packages/dashboard/ui/react-components/CloudSessionProvider.tsx +0 -130
  192. package/packages/dashboard/ui/react-components/CommandPalette.tsx +0 -815
  193. package/packages/dashboard/ui/react-components/ConfirmationDialog.tsx +0 -133
  194. package/packages/dashboard/ui/react-components/ConversationHistory.tsx +0 -518
  195. package/packages/dashboard/ui/react-components/CoordinatorPanel.tsx +0 -944
  196. package/packages/dashboard/ui/react-components/DecisionQueue.tsx +0 -717
  197. package/packages/dashboard/ui/react-components/DirectMessageView.tsx +0 -164
  198. package/packages/dashboard/ui/react-components/FileAutocomplete.tsx +0 -368
  199. package/packages/dashboard/ui/react-components/FleetOverview.tsx +0 -278
  200. package/packages/dashboard/ui/react-components/LogViewer.tsx +0 -310
  201. package/packages/dashboard/ui/react-components/LogViewerPanel.tsx +0 -482
  202. package/packages/dashboard/ui/react-components/Logo.tsx +0 -284
  203. package/packages/dashboard/ui/react-components/MentionAutocomplete.tsx +0 -384
  204. package/packages/dashboard/ui/react-components/MessageComposer.tsx +0 -457
  205. package/packages/dashboard/ui/react-components/MessageList.tsx +0 -649
  206. package/packages/dashboard/ui/react-components/MessageSenderName.tsx +0 -91
  207. package/packages/dashboard/ui/react-components/MessageStatusIndicator.tsx +0 -142
  208. package/packages/dashboard/ui/react-components/NewConversationModal.tsx +0 -400
  209. package/packages/dashboard/ui/react-components/NotificationToast.tsx +0 -488
  210. package/packages/dashboard/ui/react-components/OnlineUsersIndicator.tsx +0 -164
  211. package/packages/dashboard/ui/react-components/Pagination.tsx +0 -124
  212. package/packages/dashboard/ui/react-components/PricingPlans.tsx +0 -386
  213. package/packages/dashboard/ui/react-components/ProjectList.tsx +0 -625
  214. package/packages/dashboard/ui/react-components/ProviderAuthFlow.tsx +0 -853
  215. package/packages/dashboard/ui/react-components/ProviderConnectionList.tsx +0 -378
  216. package/packages/dashboard/ui/react-components/ProvisioningProgress.tsx +0 -730
  217. package/packages/dashboard/ui/react-components/RepoAccessPanel.tsx +0 -549
  218. package/packages/dashboard/ui/react-components/ServerCard.tsx +0 -202
  219. package/packages/dashboard/ui/react-components/SessionExpiredModal.tsx +0 -128
  220. package/packages/dashboard/ui/react-components/SpawnModal.tsx +0 -804
  221. package/packages/dashboard/ui/react-components/TaskAssignmentUI.tsx +0 -375
  222. package/packages/dashboard/ui/react-components/TerminalProviderSetup.tsx +0 -608
  223. package/packages/dashboard/ui/react-components/ThemeProvider.tsx +0 -325
  224. package/packages/dashboard/ui/react-components/ThinkingIndicator.tsx +0 -231
  225. package/packages/dashboard/ui/react-components/ThreadList.tsx +0 -198
  226. package/packages/dashboard/ui/react-components/ThreadPanel.tsx +0 -346
  227. package/packages/dashboard/ui/react-components/TrajectoryViewer.tsx +0 -698
  228. package/packages/dashboard/ui/react-components/TypingIndicator.tsx +0 -69
  229. package/packages/dashboard/ui/react-components/UsageBanner.tsx +0 -231
  230. package/packages/dashboard/ui/react-components/UserProfilePanel.tsx +0 -233
  231. package/packages/dashboard/ui/react-components/WorkspaceContext.tsx +0 -107
  232. package/packages/dashboard/ui/react-components/WorkspaceSelector.tsx +0 -234
  233. package/packages/dashboard/ui/react-components/WorkspaceStatusIndicator.tsx +0 -370
  234. package/packages/dashboard/ui/react-components/XTermInteractive.tsx +0 -510
  235. package/packages/dashboard/ui/react-components/XTermLogViewer.tsx +0 -719
  236. package/packages/dashboard/ui/react-components/channels/ChannelDialogs.tsx +0 -1411
  237. package/packages/dashboard/ui/react-components/channels/ChannelHeader.tsx +0 -317
  238. package/packages/dashboard/ui/react-components/channels/ChannelMessageList.tsx +0 -463
  239. package/packages/dashboard/ui/react-components/channels/ChannelViewV1.tsx +0 -146
  240. package/packages/dashboard/ui/react-components/channels/MessageInput.tsx +0 -288
  241. package/packages/dashboard/ui/react-components/channels/SearchInput.tsx +0 -172
  242. package/packages/dashboard/ui/react-components/channels/SearchResults.tsx +0 -336
  243. package/packages/dashboard/ui/react-components/channels/api.ts +0 -697
  244. package/packages/dashboard/ui/react-components/channels/index.ts +0 -76
  245. package/packages/dashboard/ui/react-components/channels/mockApi.ts +0 -344
  246. package/packages/dashboard/ui/react-components/channels/types.ts +0 -566
  247. package/packages/dashboard/ui/react-components/hooks/index.ts +0 -57
  248. package/packages/dashboard/ui/react-components/hooks/useAgentLogs.ts +0 -394
  249. package/packages/dashboard/ui/react-components/hooks/useAgents.ts +0 -127
  250. package/packages/dashboard/ui/react-components/hooks/useBroadcastDedup.ts +0 -86
  251. package/packages/dashboard/ui/react-components/hooks/useChannelAdmin.ts +0 -329
  252. package/packages/dashboard/ui/react-components/hooks/useChannelBrowser.ts +0 -239
  253. package/packages/dashboard/ui/react-components/hooks/useChannelCommands.ts +0 -138
  254. package/packages/dashboard/ui/react-components/hooks/useChannels.ts +0 -328
  255. package/packages/dashboard/ui/react-components/hooks/useDebounce.ts +0 -29
  256. package/packages/dashboard/ui/react-components/hooks/useDirectMessage.ts +0 -141
  257. package/packages/dashboard/ui/react-components/hooks/useMessages.ts +0 -309
  258. package/packages/dashboard/ui/react-components/hooks/useOrchestrator.ts +0 -364
  259. package/packages/dashboard/ui/react-components/hooks/usePinnedAgents.ts +0 -140
  260. package/packages/dashboard/ui/react-components/hooks/usePresence.ts +0 -340
  261. package/packages/dashboard/ui/react-components/hooks/useRecentRepos.ts +0 -130
  262. package/packages/dashboard/ui/react-components/hooks/useSession.ts +0 -209
  263. package/packages/dashboard/ui/react-components/hooks/useTrajectory.ts +0 -265
  264. package/packages/dashboard/ui/react-components/hooks/useWebSocket.ts +0 -169
  265. package/packages/dashboard/ui/react-components/hooks/useWorkspaceMembers.ts +0 -120
  266. package/packages/dashboard/ui/react-components/hooks/useWorkspaceRepos.ts +0 -73
  267. package/packages/dashboard/ui/react-components/hooks/useWorkspaceStatus.ts +0 -237
  268. package/packages/dashboard/ui/react-components/index.ts +0 -81
  269. package/packages/dashboard/ui/react-components/layout/Header.tsx +0 -355
  270. package/packages/dashboard/ui/react-components/layout/RepoContextHeader.tsx +0 -361
  271. package/packages/dashboard/ui/react-components/layout/Sidebar.archive.test.tsx +0 -126
  272. package/packages/dashboard/ui/react-components/layout/Sidebar.test.tsx +0 -691
  273. package/packages/dashboard/ui/react-components/layout/Sidebar.tsx +0 -930
  274. package/packages/dashboard/ui/react-components/layout/index.ts +0 -7
  275. package/packages/dashboard/ui/react-components/settings/BillingSettingsPanel.tsx +0 -564
  276. package/packages/dashboard/ui/react-components/settings/SettingsPage.tsx +0 -544
  277. package/packages/dashboard/ui/react-components/settings/TeamSettingsPanel.tsx +0 -560
  278. package/packages/dashboard/ui/react-components/settings/WorkspaceSettingsPanel.tsx +0 -1386
  279. package/packages/dashboard/ui/react-components/settings/index.ts +0 -11
  280. package/packages/dashboard/ui/react-components/settings/types.ts +0 -53
  281. package/packages/dashboard/ui/react-components/utils/messageFormatting.tsx +0 -370
  282. package/packages/dashboard/ui/tailwind.config.js +0 -148
  283. package/packages/dashboard/ui/types/index.ts +0 -304
  284. package/packages/dashboard/ui/types/threading.ts +0 -7
  285. package/packages/dashboard/ui-dist/404.html +0 -1
  286. package/packages/dashboard/ui-dist/_next/static/91mkGYq3qbG8WHE6VytQ8/_buildManifest.js +0 -1
  287. package/packages/dashboard/ui-dist/_next/static/91mkGYq3qbG8WHE6VytQ8/_ssgManifest.js +0 -1
  288. package/packages/dashboard/ui-dist/_next/static/T2rV14eEU5OweDeV29SvG/_buildManifest.js +0 -1
  289. package/packages/dashboard/ui-dist/_next/static/T2rV14eEU5OweDeV29SvG/_ssgManifest.js +0 -1
  290. package/packages/dashboard/ui-dist/_next/static/chunks/116-a883fca163f3a5bc.js +0 -1
  291. package/packages/dashboard/ui-dist/_next/static/chunks/117-c8afed19e821a35d.js +0 -2
  292. package/packages/dashboard/ui-dist/_next/static/chunks/282-980c2eb8fff20123.js +0 -1
  293. package/packages/dashboard/ui-dist/_next/static/chunks/320-a6304232cd0ee2ce.js +0 -1
  294. package/packages/dashboard/ui-dist/_next/static/chunks/532-bace199897eeab37.js +0 -9
  295. package/packages/dashboard/ui-dist/_next/static/chunks/631-16b905e5920f9b59.js +0 -1
  296. package/packages/dashboard/ui-dist/_next/static/chunks/648-acb2ff9f77cbfbd3.js +0 -1
  297. package/packages/dashboard/ui-dist/_next/static/chunks/766-2aea80818f7eb0d8.js +0 -1
  298. package/packages/dashboard/ui-dist/_next/static/chunks/83-26d2bde54616ee90.js +0 -1
  299. package/packages/dashboard/ui-dist/_next/static/chunks/847-f1f467060f32afff.js +0 -1
  300. package/packages/dashboard/ui-dist/_next/static/chunks/891-5cb1513eeb97a891.js +0 -1
  301. package/packages/dashboard/ui-dist/_next/static/chunks/app/_not-found/page-60501fddbafba9dc.js +0 -1
  302. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/onboarding/page-9914652442f7e4fb.js +0 -1
  303. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/page-366fb7c078d4e9e0.js +0 -1
  304. package/packages/dashboard/ui-dist/_next/static/chunks/app/cloud/link/page-fa1d5842aa90e8a6.js +0 -1
  305. package/packages/dashboard/ui-dist/_next/static/chunks/app/complete-profile/page-dd64bbdf66b639cd.js +0 -1
  306. package/packages/dashboard/ui-dist/_next/static/chunks/app/connect-repos/page-113060009ef35bc2.js +0 -1
  307. package/packages/dashboard/ui-dist/_next/static/chunks/app/history/page-9965d2483011b846.js +0 -1
  308. package/packages/dashboard/ui-dist/_next/static/chunks/app/layout-6b91e33784c20610.js +0 -1
  309. package/packages/dashboard/ui-dist/_next/static/chunks/app/login/page-435eceb0073be027.js +0 -1
  310. package/packages/dashboard/ui-dist/_next/static/chunks/app/metrics/page-1e37ef8e73940b40.js +0 -1
  311. package/packages/dashboard/ui-dist/_next/static/chunks/app/page-8119d4246743574e.js +0 -1
  312. package/packages/dashboard/ui-dist/_next/static/chunks/app/pricing/page-9db3ebdfa567a7c9.js +0 -1
  313. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/page-ecb16ffd3b36262b.js +0 -1
  314. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/setup/[provider]/page-4dbe33f0f7691b7c.js +0 -1
  315. package/packages/dashboard/ui-dist/_next/static/chunks/app/signup/page-c7a0a28341365ae0.js +0 -1
  316. package/packages/dashboard/ui-dist/_next/static/chunks/e868780c-48e5f147c90a3a41.js +0 -18
  317. package/packages/dashboard/ui-dist/_next/static/chunks/fd9d1056-609918ca7b6280bb.js +0 -1
  318. package/packages/dashboard/ui-dist/_next/static/chunks/framework-f66176bb897dc684.js +0 -1
  319. package/packages/dashboard/ui-dist/_next/static/chunks/main-311c3db74dcfadb7.js +0 -1
  320. package/packages/dashboard/ui-dist/_next/static/chunks/main-app-fdbeb09028f57c9f.js +0 -1
  321. package/packages/dashboard/ui-dist/_next/static/chunks/pages/_app-72b849fbd24ac258.js +0 -1
  322. package/packages/dashboard/ui-dist/_next/static/chunks/pages/_error-7ba65e1336b92748.js +0 -1
  323. package/packages/dashboard/ui-dist/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  324. package/packages/dashboard/ui-dist/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +0 -1
  325. package/packages/dashboard/ui-dist/_next/static/css/4034f236dd1a3178.css +0 -1
  326. package/packages/dashboard/ui-dist/_next/static/css/6892f8422896ef7a.css +0 -1
  327. package/packages/dashboard/ui-dist/_next/static/l8L2OscDSR2vsMIlWcC48/_buildManifest.js +0 -1
  328. package/packages/dashboard/ui-dist/_next/static/l8L2OscDSR2vsMIlWcC48/_ssgManifest.js +0 -1
  329. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-128.png +0 -0
  330. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-256.png +0 -0
  331. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-32.png +0 -0
  332. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-512.png +0 -0
  333. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-64.png +0 -0
  334. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo.svg +0 -45
  335. package/packages/dashboard/ui-dist/alt-logos/logo.svg +0 -38
  336. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-128.png +0 -0
  337. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-256.png +0 -0
  338. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-32.png +0 -0
  339. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-512.png +0 -0
  340. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-64.png +0 -0
  341. package/packages/dashboard/ui-dist/alt-logos/monogram-logo.svg +0 -38
  342. package/packages/dashboard/ui-dist/app/onboarding.html +0 -1
  343. package/packages/dashboard/ui-dist/app/onboarding.txt +0 -7
  344. package/packages/dashboard/ui-dist/app.html +0 -1
  345. package/packages/dashboard/ui-dist/app.txt +0 -7
  346. package/packages/dashboard/ui-dist/apple-icon.png +0 -0
  347. package/packages/dashboard/ui-dist/cloud/link.html +0 -1
  348. package/packages/dashboard/ui-dist/cloud/link.txt +0 -7
  349. package/packages/dashboard/ui-dist/complete-profile.html +0 -5
  350. package/packages/dashboard/ui-dist/complete-profile.txt +0 -7
  351. package/packages/dashboard/ui-dist/connect-repos.html +0 -1
  352. package/packages/dashboard/ui-dist/connect-repos.txt +0 -7
  353. package/packages/dashboard/ui-dist/history.html +0 -1
  354. package/packages/dashboard/ui-dist/history.txt +0 -7
  355. package/packages/dashboard/ui-dist/index.html +0 -1
  356. package/packages/dashboard/ui-dist/index.txt +0 -7
  357. package/packages/dashboard/ui-dist/login.html +0 -5
  358. package/packages/dashboard/ui-dist/login.txt +0 -7
  359. package/packages/dashboard/ui-dist/metrics.html +0 -1
  360. package/packages/dashboard/ui-dist/metrics.txt +0 -7
  361. package/packages/dashboard/ui-dist/pricing.html +0 -13
  362. package/packages/dashboard/ui-dist/pricing.txt +0 -7
  363. package/packages/dashboard/ui-dist/providers/setup/claude.html +0 -1
  364. package/packages/dashboard/ui-dist/providers/setup/claude.txt +0 -8
  365. package/packages/dashboard/ui-dist/providers/setup/codex.html +0 -1
  366. package/packages/dashboard/ui-dist/providers/setup/codex.txt +0 -8
  367. package/packages/dashboard/ui-dist/providers/setup/cursor.html +0 -1
  368. package/packages/dashboard/ui-dist/providers/setup/cursor.txt +0 -8
  369. package/packages/dashboard/ui-dist/providers.html +0 -1
  370. package/packages/dashboard/ui-dist/providers.txt +0 -7
  371. package/packages/dashboard/ui-dist/signup.html +0 -6
  372. package/packages/dashboard/ui-dist/signup.txt +0 -7
  373. package/packages/dashboard-server/dist/health-worker-manager.d.ts +0 -62
  374. package/packages/dashboard-server/dist/health-worker-manager.js +0 -144
  375. package/packages/dashboard-server/dist/health-worker.d.ts +0 -9
  376. package/packages/dashboard-server/dist/health-worker.js +0 -79
  377. package/packages/dashboard-server/dist/index.d.ts +0 -18
  378. package/packages/dashboard-server/dist/index.js +0 -17
  379. package/packages/dashboard-server/dist/metrics.d.ts +0 -105
  380. package/packages/dashboard-server/dist/metrics.js +0 -193
  381. package/packages/dashboard-server/dist/needs-attention.d.ts +0 -24
  382. package/packages/dashboard-server/dist/needs-attention.js +0 -78
  383. package/packages/dashboard-server/dist/server.d.ts +0 -25
  384. package/packages/dashboard-server/dist/server.js +0 -5158
  385. package/packages/dashboard-server/dist/start.d.ts +0 -6
  386. package/packages/dashboard-server/dist/start.js +0 -13
  387. package/packages/dashboard-server/dist/types/threading.d.ts +0 -8
  388. package/packages/dashboard-server/dist/types/threading.js +0 -2
  389. package/packages/dashboard-server/dist/user-bridge.d.ts +0 -158
  390. package/packages/dashboard-server/dist/user-bridge.js +0 -390
  391. package/packages/dashboard-server/package.json +0 -55
Binary file
@@ -3,11 +3,11 @@
3
3
  * Agent Relay CLI
4
4
  *
5
5
  * Commands:
6
- * relay claude - Start daemon + Dashboard coordinator with Claude
7
- * relay codex - Start daemon + Dasbboard coordinator with Codex
6
+ * relay claude - Start daemon with Claude coordinator
7
+ * relay codex - Start daemon with Codex coordinator
8
8
  * relay create-agent <cmd> - Wrap agent with real-time messaging
9
9
  * relay create-agent -n Name cmd - Wrap with specific agent name
10
- * relay up - Start daemon + dashboard
10
+ * relay up - Start daemon
11
11
  * relay read <id> - Read full message by ID
12
12
  * relay agents - List connected agents
13
13
  * relay who - Show currently active agents
@@ -3,11 +3,11 @@
3
3
  * Agent Relay CLI
4
4
  *
5
5
  * Commands:
6
- * relay claude - Start daemon + Dashboard coordinator with Claude
7
- * relay codex - Start daemon + Dasbboard coordinator with Codex
6
+ * relay claude - Start daemon with Claude coordinator
7
+ * relay codex - Start daemon with Codex coordinator
8
8
  * relay create-agent <cmd> - Wrap agent with real-time messaging
9
9
  * relay create-agent -n Name cmd - Wrap with specific agent name
10
- * relay up - Start daemon + dashboard
10
+ * relay up - Start daemon
11
11
  * relay read <id> - Read full message by ID
12
12
  * relay agents - List connected agents
13
13
  * relay who - Show currently active agents
@@ -26,10 +26,11 @@ import fs from 'node:fs';
26
26
  import path from 'node:path';
27
27
  import readline from 'node:readline';
28
28
  import { promisify } from 'node:util';
29
- import { exec, spawn as spawnProcess } from 'node:child_process';
29
+ import { exec } from 'node:child_process';
30
30
  import { fileURLToPath } from 'node:url';
31
+ const RELAY_DASHBOARD_REPO = 'https://github.com/AgentWorkforce/relay-dashboard';
31
32
  /**
32
- * Prompt user to choose how to handle missing dashboard package
33
+ * Prompt user to choose how to handle missing dashboard package.
33
34
  * Returns: 'install' | 'skip'
34
35
  */
35
36
  async function promptDashboardInstall() {
@@ -38,11 +39,11 @@ async function promptDashboardInstall() {
38
39
  output: process.stdout,
39
40
  });
40
41
  console.log(`
41
- Dashboard package not installed.
42
+ The web dashboard is now an external package.
42
43
 
43
44
  How would you like to proceed?
44
- 1. Install now (npm install -g @agent-relay/dashboard)
45
- 2. Continue without dashboard
45
+ 1. View installation instructions for relay-dashboard
46
+ 2. Skip and continue without dashboard
46
47
  `);
47
48
  return new Promise((resolve) => {
48
49
  rl.question('Choose [1/2]: ', (answer) => {
@@ -58,29 +59,24 @@ How would you like to proceed?
58
59
  });
59
60
  }
60
61
  /**
61
- * Install dashboard package globally
62
+ * Show instructions for installing the external relay-dashboard package.
62
63
  */
63
- async function installDashboardGlobally() {
64
- console.log('\nInstalling @agent-relay/dashboard globally...\n');
65
- return new Promise((resolve) => {
66
- const proc = spawnProcess('npm', ['install', '-g', '@agent-relay/dashboard'], {
67
- stdio: 'inherit',
68
- });
69
- proc.on('close', (code) => {
70
- if (code === 0) {
71
- console.log('\n✓ Dashboard installed successfully.\n');
72
- resolve(true);
73
- }
74
- else {
75
- console.error('\n✗ Installation failed. Try running manually:\n npm install -g @agent-relay/dashboard\n');
76
- resolve(false);
77
- }
78
- });
79
- proc.on('error', () => {
80
- console.error('\n✗ Installation failed. Try running manually:\n npm install -g @agent-relay/dashboard\n');
81
- resolve(false);
82
- });
83
- });
64
+ function showDashboardInstallInstructions() {
65
+ console.log(`
66
+ To install the relay-dashboard, visit:
67
+
68
+ ${RELAY_DASHBOARD_REPO}
69
+
70
+ Install via npm:
71
+
72
+ npm install -g relay-dashboard
73
+
74
+ Then start the dashboard alongside the daemon:
75
+
76
+ relay-dashboard --port 3888
77
+
78
+ See the repository README for full configuration options.
79
+ `);
84
80
  }
85
81
  dotenvConfig();
86
82
  const DEFAULT_DASHBOARD_PORT = process.env.AGENT_RELAY_DASHBOARD_PORT || '3888';
@@ -492,76 +488,7 @@ program
492
488
  try {
493
489
  await daemon.start();
494
490
  console.log('Daemon started.');
495
- let dashboardPort;
496
- // Dashboard is disabled by default (use --dashboard to enable)
497
- // Dashboard is an optional separate package: @agent-relay/dashboard
498
- if (options.dashboard === true) {
499
- const port = parseInt(options.port, 10);
500
- try {
501
- const { startDashboard } = await import('@agent-relay/dashboard');
502
- dashboardPort = await startDashboard({
503
- port,
504
- dataDir: paths.dataDir,
505
- teamDir: paths.teamDir,
506
- dbPath,
507
- enableSpawner: true,
508
- projectRoot: paths.projectRoot,
509
- // Pass spawn tracking callbacks so messages can be queued before HELLO completes
510
- onMarkSpawning: (name) => daemon.markSpawning(name),
511
- onClearSpawning: (name) => daemon.clearSpawning(name),
512
- });
513
- console.log(`Dashboard: http://localhost:${dashboardPort}`);
514
- // Hook daemon log output to dashboard WebSocket
515
- daemon.onLogOutput = (agentName, data, _timestamp) => {
516
- const broadcast = global.__broadcastLogOutput;
517
- if (broadcast) {
518
- broadcast(agentName, data);
519
- }
520
- };
521
- }
522
- catch (err) {
523
- const error = err;
524
- if (error.code === 'ERR_MODULE_NOT_FOUND' || error.code === 'MODULE_NOT_FOUND') {
525
- // Interactive prompt for dashboard installation
526
- const choice = await promptDashboardInstall();
527
- if (choice === 'install') {
528
- const installed = await installDashboardGlobally();
529
- if (installed) {
530
- // Retry import after installation
531
- try {
532
- const { startDashboard } = await import('@agent-relay/dashboard');
533
- dashboardPort = await startDashboard({
534
- port,
535
- dataDir: paths.dataDir,
536
- teamDir: paths.teamDir,
537
- dbPath,
538
- enableSpawner: true,
539
- projectRoot: paths.projectRoot,
540
- onMarkSpawning: (name) => daemon.markSpawning(name),
541
- onClearSpawning: (name) => daemon.clearSpawning(name),
542
- });
543
- console.log(`Dashboard: http://localhost:${dashboardPort}`);
544
- daemon.onLogOutput = (agentName, data, _timestamp) => {
545
- const broadcast = global.__broadcastLogOutput;
546
- if (broadcast) {
547
- broadcast(agentName, data);
548
- }
549
- };
550
- }
551
- catch {
552
- console.error('Dashboard still not found after installation. Continuing without dashboard.');
553
- }
554
- }
555
- }
556
- else {
557
- console.log('\nContinuing without dashboard...\n');
558
- }
559
- }
560
- else {
561
- throw err;
562
- }
563
- }
564
- }
491
+ const dashboardPort = undefined;
565
492
  // Determine if we should auto-spawn agents
566
493
  // --spawn: force spawn
567
494
  // --no-spawn: never spawn
@@ -1519,6 +1446,10 @@ program
1519
1446
  console.log(`\nCleaned up ${killed}/${orphaned.length} session(s).`);
1520
1447
  });
1521
1448
  async function discoverRelaySessions() {
1449
+ // Skip tmux discovery in test environments to avoid hangs
1450
+ if (process.env.AGENT_RELAY_SKIP_TMUX === '1') {
1451
+ return [];
1452
+ }
1522
1453
  try {
1523
1454
  const tmuxPath = getTmuxPath();
1524
1455
  const { stdout } = await execAsync(`"${tmuxPath}" list-sessions -F "#{session_name}"`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-relay",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Real-time agent-to-agent communication system",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -16,9 +16,9 @@
16
16
  },
17
17
  "scripts": {
18
18
  "postinstall": "npm rebuild better-sqlite3 && node scripts/postinstall.js",
19
- "build": "npm run clean && npm run build:rust && turbo run build --filter='./packages/*' && tsc && npm run build:dashboard",
20
- "build:sequential": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:cloud && npm run build:daemon && npm run build:sdk && npm run build:dashboard-server && npm run build:dashboard-pkg && npm run build:api-types && npm run build:spawner && tsc && npm run build:dashboard",
21
- "build:workspace": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:cloud && npm run build:daemon && npm run build:sdk && npm run build:dashboard-server && npm run build:dashboard-pkg && npm run build:api-types && npm run build:spawner && tsc",
19
+ "build": "npm run clean && npm run build:rust && turbo run build --filter='./packages/*' && tsc",
20
+ "build:sequential": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:cloud && npm run build:daemon && npm run build:sdk && npm run build:api-types && npm run build:spawner && tsc",
21
+ "build:workspace": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:cloud && npm run build:daemon && npm run build:sdk && npm run build:api-types && npm run build:spawner && tsc",
22
22
  "build:packages": "turbo run build --filter='./packages/*'",
23
23
  "build:packages:watch": "turbo run build --filter='./packages/*' --watch",
24
24
  "build:mcp": "cd packages/mcp && npm run build",
@@ -38,27 +38,20 @@
38
38
  "build:wrapper": "cd packages/wrapper && npm run build",
39
39
  "build:cloud": "cd packages/cloud && npm run build",
40
40
  "build:daemon": "cd packages/daemon && npm run build",
41
- "build:dashboard-server": "cd packages/dashboard-server && npm run build",
42
- "build:dashboard-pkg": "cd packages/dashboard && npm run build:server",
43
41
  "build:sdk": "cd packages/sdk && npm run build",
44
42
  "build:api-types": "cd packages/api-types && npm run build",
45
43
  "build:spawner": "cd packages/spawner && npm run build",
46
44
  "build:telemetry": "cd packages/telemetry && npm run build",
47
- "build:dashboard": "cd packages/dashboard/ui && npm ci && npm run build",
48
- "postbuild": "chmod +x dist/src/cli/index.js && mkdir -p dist/dashboard && cp -r packages/dashboard/ui/out dist/dashboard/ && mkdir -p packages/dashboard/ui-dist && cp -r packages/dashboard/ui/out/* packages/dashboard/ui-dist/",
45
+ "postbuild": "chmod +x dist/src/cli/index.js",
49
46
  "dev:watch": "tsc -w",
50
47
  "predev": "npm run clean && npm run build:packages && tsc && chmod +x dist/src/cli/index.js",
51
- "dev": "concurrently -n daemon,next -c blue,magenta \"npm run dev:daemon\" \"npm run dev:next\"",
52
- "dev:daemon": "node dist/src/cli/index.js up --dashboard --port 3889",
53
- "dev:next": "cd packages/dashboard/ui && npm run dev",
54
- "dev:simple": "node dist/src/cli/index.js up --dashboard --port 3888",
48
+ "dev": "node dist/src/cli/index.js up --dashboard --port 3888",
55
49
  "dev:local": "npm run build && npm link && echo '✓ agent-relay linked globally'",
56
50
  "dev:unlink": "npm unlink -g agent-relay && echo '✓ agent-relay unlinked'",
57
51
  "dev:rebuild": "npm run build && echo '✓ Rebuilt (linked version updated)'",
58
52
  "build:rust": "if command -v ~/.cargo/bin/cargo >/dev/null 2>&1; then cd relay-pty && ~/.cargo/bin/cargo build --release && cp target/release/relay-pty ../bin/relay-pty && node -e \"const os=require('os'); const fs=require('fs'); const p=os.platform(); const a=os.arch(); const name='relay-pty-'+p+'-'+a; fs.copyFileSync('target/release/relay-pty', '../bin/'+name); console.log('✓ relay-pty binary built and copied to bin/ and bin/'+name)\"; else echo '⚠ Rust not installed, using prebuilt binaries from bin/'; fi",
59
53
  "start": "node dist/src/cli/index.js",
60
54
  "daemon": "node packages/daemon/dist/server.js",
61
- "dashboard": "node packages/dashboard-server/dist/start.js",
62
55
  "pretest": "npm run build",
63
56
  "test": "vitest run",
64
57
  "test:integration": "vitest run test/cloud/*.integration.test.ts",
@@ -84,7 +77,7 @@
84
77
  "cloud:setup": "./scripts/cloud-setup.sh",
85
78
  "cloud:api": "WORKSPACE_IMAGE=relay-workspace:local WORKSPACE_DEV_MOUNT=true node -r dotenv/config packages/cloud/dist/index.js",
86
79
  "precloud": "./scripts/cloud-setup.sh --skip-data",
87
- "cloud": "concurrently -n api,daemon,dashboard -c cyan,blue,magenta \"npm run cloud:api\" \"npm run dev:daemon\" \"npm run dev:next\"",
80
+ "cloud": "npm run cloud:api",
88
81
  "docs:dev": "cd docs && npm run dev",
89
82
  "cli-tester:start": "cd packages/cli-tester && ./scripts/start.sh",
90
83
  "cli-tester:start:clean": "cd packages/cli-tester && ./scripts/start.sh --clean",
@@ -114,21 +107,21 @@
114
107
  },
115
108
  "homepage": "https://github.com/AgentWorkforce/relay#readme",
116
109
  "dependencies": {
117
- "@agent-relay/bridge": "2.0.22",
118
- "@agent-relay/config": "2.0.22",
119
- "@agent-relay/continuity": "2.0.22",
120
- "@agent-relay/daemon": "2.0.22",
121
- "@agent-relay/hooks": "2.0.22",
122
- "@agent-relay/mcp": "2.0.22",
123
- "@agent-relay/protocol": "2.0.22",
124
- "@agent-relay/resiliency": "2.0.22",
125
- "@agent-relay/sdk": "2.0.22",
126
- "@agent-relay/storage": "2.0.22",
127
- "@agent-relay/telemetry": "2.0.22",
128
- "@agent-relay/trajectory": "2.0.22",
129
- "@agent-relay/user-directory": "2.0.22",
130
- "@agent-relay/utils": "2.0.22",
131
- "@agent-relay/wrapper": "2.0.22",
110
+ "@agent-relay/bridge": "2.0.23",
111
+ "@agent-relay/config": "2.0.23",
112
+ "@agent-relay/continuity": "2.0.23",
113
+ "@agent-relay/daemon": "2.0.23",
114
+ "@agent-relay/hooks": "2.0.23",
115
+ "@agent-relay/mcp": "2.0.23",
116
+ "@agent-relay/protocol": "2.0.23",
117
+ "@agent-relay/resiliency": "2.0.23",
118
+ "@agent-relay/sdk": "2.0.23",
119
+ "@agent-relay/storage": "2.0.23",
120
+ "@agent-relay/telemetry": "2.0.23",
121
+ "@agent-relay/trajectory": "2.0.23",
122
+ "@agent-relay/user-directory": "2.0.23",
123
+ "@agent-relay/utils": "2.0.23",
124
+ "@agent-relay/wrapper": "2.0.23",
132
125
  "@nangohq/node": "^0.69.20",
133
126
  "@types/jsonwebtoken": "^9.0.10",
134
127
  "agent-trajectories": "^0.2.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/api-types",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Shared API types and Zod schemas for Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/bridge",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Multi-project bridge client utilities for Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,13 +22,13 @@
22
22
  "test:watch": "vitest"
23
23
  },
24
24
  "dependencies": {
25
- "@agent-relay/protocol": "2.0.22",
26
- "@agent-relay/config": "2.0.22",
27
- "@agent-relay/utils": "2.0.22",
28
- "@agent-relay/policy": "2.0.22",
29
- "@agent-relay/user-directory": "2.0.22",
30
- "@agent-relay/wrapper": "2.0.22",
31
- "@agent-relay/mcp": "2.0.22"
25
+ "@agent-relay/protocol": "2.0.23",
26
+ "@agent-relay/config": "2.0.23",
27
+ "@agent-relay/utils": "2.0.23",
28
+ "@agent-relay/policy": "2.0.23",
29
+ "@agent-relay/user-directory": "2.0.23",
30
+ "@agent-relay/wrapper": "2.0.23",
31
+ "@agent-relay/mcp": "2.0.23"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^22.19.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/cli-tester",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Manual interactive testing for CLI authentication flows",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1153,10 +1153,31 @@ export async function createServer() {
1153
1153
  // Teams router - MUST BE LAST among /api routes
1154
1154
  // Handles /workspaces/:id/members and /invites with requireAuth on all routes
1155
1155
  app.use('/api', teamsRouter);
1156
- // Serve static dashboard files (Next.js static export)
1157
- // Path: packages/cloud/dist/server.js -> ../../dashboard/ui/out
1158
- // In Docker: /app/packages/cloud/dist -> /app/packages/dashboard/ui/out
1159
- const dashboardPath = path.join(__dirname, '../../dashboard/ui/out');
1156
+ // Serve static dashboard files from @agent-relay/dashboard npm package
1157
+ // The npm package exports pre-built Next.js static files in its 'out' directory
1158
+ const npmDashboardPaths = [
1159
+ // When running from packages/cloud/dist/server.js
1160
+ path.join(__dirname, '../../../node_modules/@agent-relay/dashboard/out'),
1161
+ // When running from root node_modules (monorepo hoisting)
1162
+ path.join(__dirname, '../../../../node_modules/@agent-relay/dashboard/out'),
1163
+ // Docker deployment path
1164
+ '/app/node_modules/@agent-relay/dashboard/out',
1165
+ ];
1166
+ // Find the first path that exists
1167
+ let dashboardPath = null;
1168
+ for (const npmPath of npmDashboardPaths) {
1169
+ if (fs.existsSync(npmPath)) {
1170
+ dashboardPath = npmPath;
1171
+ console.log(`[cloud] Serving dashboard from: ${npmPath}`);
1172
+ break;
1173
+ }
1174
+ }
1175
+ if (!dashboardPath) {
1176
+ console.error(`[cloud] Dashboard not found! Install @agent-relay/dashboard package.`);
1177
+ console.error(`[cloud] Checked paths: ${npmDashboardPaths.join(', ')}`);
1178
+ // Use first path as fallback (will 404 but won't crash)
1179
+ dashboardPath = npmDashboardPaths[0];
1180
+ }
1160
1181
  // Serve static files (JS, CSS, images, etc.)
1161
1182
  app.use(express.static(dashboardPath));
1162
1183
  // Handle clean URLs for Next.js static export
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/cloud",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Cloud API server and services for Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -38,11 +38,11 @@
38
38
  "test:watch": "vitest"
39
39
  },
40
40
  "dependencies": {
41
- "@agent-relay/wrapper": "2.0.22",
42
- "@agent-relay/config": "2.0.22",
43
- "@agent-relay/resiliency": "2.0.22",
44
- "@agent-relay/storage": "2.0.22",
45
- "@agent-relay/protocol": "2.0.22"
41
+ "@agent-relay/wrapper": "2.0.23",
42
+ "@agent-relay/config": "2.0.23",
43
+ "@agent-relay/resiliency": "2.0.23",
44
+ "@agent-relay/storage": "2.0.23",
45
+ "@agent-relay/protocol": "2.0.23"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/node": "^22.19.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/config",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Shared configuration schemas and loaders for Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -83,7 +83,7 @@
83
83
  "test:watch": "vitest"
84
84
  },
85
85
  "dependencies": {
86
- "@agent-relay/protocol": "2.0.22",
86
+ "@agent-relay/protocol": "2.0.23",
87
87
  "zod": "^3.23.8",
88
88
  "zod-to-json-schema": "^3.23.1"
89
89
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/continuity",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Session continuity manager for Relay (ledgers, handoffs, resume)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,9 +19,27 @@ const logger = createLogger('orchestrator');
19
19
  function generateId() {
20
20
  return Math.random().toString(36).substring(2, 15);
21
21
  }
22
+ /**
23
+ * Determine the default host binding.
24
+ * - In cloud environments (Fly.io, Docker with WORKSPACE_ID), bind to 0.0.0.0 for external access
25
+ * - Locally, bind to localhost for security
26
+ * - Can be overridden with AGENT_RELAY_API_HOST env var
27
+ */
28
+ function getDefaultHost() {
29
+ // Explicit override
30
+ if (process.env.AGENT_RELAY_API_HOST) {
31
+ return process.env.AGENT_RELAY_API_HOST;
32
+ }
33
+ // Cloud environment detection - bind to all interfaces for load balancer access
34
+ const isCloudEnvironment = process.env.FLY_APP_NAME || // Fly.io
35
+ process.env.WORKSPACE_ID || // Agent Relay workspace
36
+ process.env.RELAY_WORKSPACE_ID || // Alternative workspace ID
37
+ process.env.RUNNING_IN_DOCKER === 'true'; // Docker container
38
+ return isCloudEnvironment ? '0.0.0.0' : 'localhost';
39
+ }
22
40
  const DEFAULT_CONFIG = {
23
41
  port: 3456,
24
- host: 'localhost',
42
+ host: getDefaultHost(),
25
43
  dataDir: path.join(process.env.HOME || '', '.agent-relay', 'orchestrator'),
26
44
  autoStartDaemons: true,
27
45
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/daemon",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Relay daemon server - agent coordination and message routing",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,17 +22,17 @@
22
22
  "test:watch": "vitest"
23
23
  },
24
24
  "dependencies": {
25
- "@agent-relay/protocol": "2.0.22",
26
- "@agent-relay/config": "2.0.22",
27
- "@agent-relay/storage": "2.0.22",
28
- "@agent-relay/bridge": "2.0.22",
29
- "@agent-relay/utils": "2.0.22",
30
- "@agent-relay/policy": "2.0.22",
31
- "@agent-relay/memory": "2.0.22",
32
- "@agent-relay/resiliency": "2.0.22",
33
- "@agent-relay/user-directory": "2.0.22",
34
- "@agent-relay/wrapper": "2.0.22",
35
- "@agent-relay/telemetry": "2.0.22",
25
+ "@agent-relay/protocol": "2.0.23",
26
+ "@agent-relay/config": "2.0.23",
27
+ "@agent-relay/storage": "2.0.23",
28
+ "@agent-relay/bridge": "2.0.23",
29
+ "@agent-relay/utils": "2.0.23",
30
+ "@agent-relay/policy": "2.0.23",
31
+ "@agent-relay/memory": "2.0.23",
32
+ "@agent-relay/resiliency": "2.0.23",
33
+ "@agent-relay/user-directory": "2.0.23",
34
+ "@agent-relay/wrapper": "2.0.23",
35
+ "@agent-relay/telemetry": "2.0.23",
36
36
  "ws": "^8.18.3",
37
37
  "better-sqlite3": "^12.6.2",
38
38
  "pg": "^8.16.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/hooks",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Hook emitter, registry, and trajectory hooks for Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,9 +37,9 @@
37
37
  "test:watch": "vitest"
38
38
  },
39
39
  "dependencies": {
40
- "@agent-relay/protocol": "2.0.22",
41
- "@agent-relay/config": "2.0.22",
42
- "@agent-relay/trajectory": "2.0.22"
40
+ "@agent-relay/protocol": "2.0.23",
41
+ "@agent-relay/config": "2.0.23",
42
+ "@agent-relay/trajectory": "2.0.23"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.19.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/mcp",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "MCP server for Agent Relay - native messaging tools for AI agents in Claude, Cursor, and VS Code",
5
5
  "author": "Agent Workforce Inc.",
6
6
  "license": "Apache-2.0",
@@ -47,7 +47,7 @@
47
47
  "prepublishOnly": "npm run clean && npm run build && npm test"
48
48
  },
49
49
  "dependencies": {
50
- "@agent-relay/config": "2.0.22",
50
+ "@agent-relay/config": "2.0.23",
51
51
  "@modelcontextprotocol/sdk": "^1.0.0",
52
52
  "smol-toml": "^1.6.0",
53
53
  "zod": "^3.23.8"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/memory",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Semantic memory storage and retrieval system for agent-relay with multiple backend support",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "test:watch": "vitest"
23
23
  },
24
24
  "dependencies": {
25
- "@agent-relay/hooks": "2.0.22"
25
+ "@agent-relay/hooks": "2.0.23"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^22.19.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/policy",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Agent policy management with multi-level fallback (repo, local PRPM, cloud workspace)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "test:watch": "vitest"
23
23
  },
24
24
  "dependencies": {
25
- "@agent-relay/config": "2.0.22"
25
+ "@agent-relay/config": "2.0.23"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^22.19.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/protocol",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Wire protocol types and framing for Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/resiliency",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Health monitoring, logging, metrics, and crash resilience utilities for Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/sdk",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Lightweight SDK for agent-to-agent communication via Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -55,7 +55,7 @@
55
55
  "access": "public"
56
56
  },
57
57
  "dependencies": {
58
- "@agent-relay/protocol": "2.0.22"
58
+ "@agent-relay/protocol": "2.0.23"
59
59
  },
60
60
  "engines": {
61
61
  "node": ">=18.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/spawner",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Agent spawning types and utilities for Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/state",
3
- "version": "2.0.22",
3
+ "version": "2.0.23",
4
4
  "description": "Agent state persistence for non-hook CLIs (Codex, Gemini, etc.)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",