agent-relay 1.5.2 → 2.0.0

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 (1314) hide show
  1. package/.cursor/mcp.json +11 -0
  2. package/.gitleaks.toml +26 -0
  3. package/.mcp.json +11 -0
  4. package/.nvmrc +1 -1
  5. package/.turbo/cache/013415461711937f-meta.json +1 -0
  6. package/.turbo/cache/013415461711937f.tar.zst +0 -0
  7. package/.turbo/cache/0562b1ff326acd6d-meta.json +1 -0
  8. package/.turbo/cache/0562b1ff326acd6d.tar.zst +0 -0
  9. package/.turbo/cache/0b46e0e17254882f-meta.json +1 -0
  10. package/.turbo/cache/0b46e0e17254882f.tar.zst +0 -0
  11. package/.turbo/cache/3799eda981d53d14-meta.json +1 -0
  12. package/.turbo/cache/3799eda981d53d14.tar.zst +0 -0
  13. package/.turbo/cache/47e9d8f404ed064d-meta.json +1 -0
  14. package/.turbo/cache/47e9d8f404ed064d.tar.zst +0 -0
  15. package/.turbo/cache/4cde1d1e5b298099-meta.json +1 -0
  16. package/.turbo/cache/4cde1d1e5b298099.tar.zst +0 -0
  17. package/.turbo/cache/538eea955c0936ef-meta.json +1 -0
  18. package/.turbo/cache/538eea955c0936ef.tar.zst +0 -0
  19. package/.turbo/cache/5dceac7f229f5d5d-meta.json +1 -0
  20. package/.turbo/cache/5dceac7f229f5d5d.tar.zst +0 -0
  21. package/.turbo/cache/64c15b201819367d-meta.json +1 -0
  22. package/.turbo/cache/64c15b201819367d.tar.zst +0 -0
  23. package/.turbo/cache/6d6a21a05efca434-meta.json +1 -0
  24. package/.turbo/cache/6d6a21a05efca434.tar.zst +0 -0
  25. package/.turbo/cache/7562610cb03ec040-meta.json +1 -0
  26. package/.turbo/cache/7562610cb03ec040.tar.zst +0 -0
  27. package/.turbo/cache/81a2456e17af4d7f-meta.json +1 -0
  28. package/.turbo/cache/81a2456e17af4d7f.tar.zst +0 -0
  29. package/.turbo/cache/823fc2a7b12f724c-meta.json +1 -0
  30. package/.turbo/cache/823fc2a7b12f724c.tar.zst +0 -0
  31. package/.turbo/cache/9daad16a073d1f91-meta.json +1 -0
  32. package/.turbo/cache/9daad16a073d1f91.tar.zst +0 -0
  33. package/.turbo/cache/b81ccbab0a606b60-meta.json +1 -0
  34. package/.turbo/cache/b81ccbab0a606b60.tar.zst +0 -0
  35. package/.turbo/cache/cf98487988bfcf91-meta.json +1 -0
  36. package/.turbo/cache/cf98487988bfcf91.tar.zst +0 -0
  37. package/.turbo/cache/cfdf7c57dca71f27-meta.json +1 -0
  38. package/.turbo/cache/cfdf7c57dca71f27.tar.zst +0 -0
  39. package/.turbo/cache/d3063ef43811b1e5-meta.json +1 -0
  40. package/.turbo/cache/d3063ef43811b1e5.tar.zst +0 -0
  41. package/.turbo/cache/de28892eb7678e65-meta.json +1 -0
  42. package/.turbo/cache/de28892eb7678e65.tar.zst +0 -0
  43. package/.turbo/cache/ec29adce408132ba-meta.json +1 -0
  44. package/.turbo/cache/ec29adce408132ba.tar.zst +0 -0
  45. package/.turbo/cache/f70450d8d305f172-meta.json +1 -0
  46. package/.turbo/cache/f70450d8d305f172.tar.zst +0 -0
  47. package/.turbo/cache/fe384d5d6b7a983a-meta.json +1 -0
  48. package/.turbo/cache/fe384d5d6b7a983a.tar.zst +0 -0
  49. package/ARCHITECTURE.md +10 -10
  50. package/CHANGELOG.md +38 -0
  51. package/LICENSE +185 -17
  52. package/README.md +43 -5
  53. package/SESSION_HANDOFF.md +67 -0
  54. package/bin/relay-pty +0 -0
  55. package/bin/relay-pty-darwin-arm64 +0 -0
  56. package/bin/relay-pty-darwin-x64 +0 -0
  57. package/bin/relay-pty-linux-x64 +0 -0
  58. package/deploy/workspace/entrypoint.sh +79 -11
  59. package/deploy/workspace/git-credential-relay +152 -27
  60. package/deploy/workspace/git-credential-relay.test.sh +230 -0
  61. package/dist/dashboard/out/404.html +1 -1
  62. package/dist/dashboard/out/_next/static/chunks/116-a883fca163f3a5bc.js +1 -0
  63. package/dist/dashboard/out/_next/static/chunks/320-900169c942e31422.js +1 -0
  64. package/dist/dashboard/out/_next/static/chunks/631-af51bad94027527a.js +1 -0
  65. package/dist/dashboard/out/_next/static/chunks/766-2aea80818f7eb0d8.js +1 -0
  66. package/dist/dashboard/out/_next/static/chunks/891-5cb1513eeb97a891.js +1 -0
  67. package/dist/dashboard/out/_next/static/chunks/app/app/page-2e525b1dcc790967.js +1 -0
  68. package/dist/dashboard/out/_next/static/chunks/app/page-4e64923d73c35bc9.js +1 -0
  69. package/dist/dashboard/out/_next/static/chunks/app/providers/page-e65a0010da6ea5be.js +1 -0
  70. package/dist/dashboard/out/_next/static/chunks/app/providers/setup/[provider]/page-84161c802b020a1f.js +1 -0
  71. package/dist/dashboard/out/_next/static/css/99c2552394077586.css +1 -0
  72. package/dist/dashboard/out/app/onboarding.html +1 -1
  73. package/dist/dashboard/out/app/onboarding.txt +1 -1
  74. package/dist/dashboard/out/app.html +1 -1
  75. package/dist/dashboard/out/app.txt +2 -2
  76. package/dist/dashboard/out/cloud/link.html +1 -1
  77. package/dist/dashboard/out/cloud/link.txt +2 -2
  78. package/dist/dashboard/out/connect-repos.html +1 -1
  79. package/dist/dashboard/out/connect-repos.txt +1 -1
  80. package/dist/dashboard/out/history.html +1 -1
  81. package/dist/dashboard/out/history.txt +2 -2
  82. package/dist/dashboard/out/index.html +1 -1
  83. package/dist/dashboard/out/index.txt +2 -2
  84. package/dist/dashboard/out/login.html +2 -2
  85. package/dist/dashboard/out/login.txt +1 -1
  86. package/dist/dashboard/out/metrics.html +1 -1
  87. package/dist/dashboard/out/metrics.txt +2 -2
  88. package/dist/dashboard/out/pricing.html +3 -3
  89. package/dist/dashboard/out/pricing.txt +2 -2
  90. package/dist/dashboard/out/providers/setup/claude.html +1 -1
  91. package/dist/dashboard/out/providers/setup/claude.txt +2 -2
  92. package/dist/dashboard/out/providers/setup/codex.html +1 -1
  93. package/dist/dashboard/out/providers/setup/codex.txt +2 -2
  94. package/dist/dashboard/out/providers/setup/cursor.html +1 -0
  95. package/dist/dashboard/out/providers/setup/cursor.txt +8 -0
  96. package/dist/dashboard/out/providers.html +1 -1
  97. package/dist/dashboard/out/providers.txt +2 -2
  98. package/dist/dashboard/out/signup.html +2 -2
  99. package/dist/dashboard/out/signup.txt +1 -1
  100. package/dist/src/bridge/index.d.ts +8 -0
  101. package/dist/src/bridge/index.js +8 -0
  102. package/dist/src/cli/index.js +3089 -0
  103. package/dist/src/cloud/index.d.ts +8 -0
  104. package/dist/src/cloud/index.js +8 -0
  105. package/dist/src/config/relay-config.d.ts +5 -0
  106. package/dist/src/config/relay-config.js +5 -0
  107. package/dist/src/continuity/index.d.ts +5 -0
  108. package/dist/src/continuity/index.js +5 -0
  109. package/dist/src/daemon/index.d.ts +8 -0
  110. package/dist/src/daemon/index.js +9 -0
  111. package/dist/src/dashboard-server/index.d.ts +8 -0
  112. package/dist/src/dashboard-server/index.js +8 -0
  113. package/dist/src/hooks/index.d.ts +10 -0
  114. package/dist/src/hooks/index.js +10 -0
  115. package/dist/src/index.d.ts +13 -0
  116. package/dist/src/index.js +16 -0
  117. package/dist/src/memory/index.d.ts +5 -0
  118. package/dist/src/memory/index.js +5 -0
  119. package/dist/src/policy/index.d.ts +5 -0
  120. package/dist/src/policy/index.js +5 -0
  121. package/dist/src/protocol/index.d.ts +8 -0
  122. package/dist/src/protocol/index.js +8 -0
  123. package/dist/src/resiliency/index.d.ts +5 -0
  124. package/dist/src/resiliency/index.js +5 -0
  125. package/dist/src/shared/cli-auth-config.d.ts +5 -0
  126. package/dist/src/shared/cli-auth-config.js +5 -0
  127. package/dist/src/state/index.d.ts +5 -0
  128. package/dist/src/state/index.js +5 -0
  129. package/dist/src/storage/index.d.ts +8 -0
  130. package/dist/src/storage/index.js +8 -0
  131. package/dist/src/trajectory/index.d.ts +5 -0
  132. package/dist/src/trajectory/index.js +5 -0
  133. package/dist/src/utils/index.d.ts +5 -0
  134. package/dist/src/utils/index.js +5 -0
  135. package/dist/src/wrapper/index.d.ts +8 -0
  136. package/dist/src/wrapper/index.js +11 -0
  137. package/package.json +65 -19
  138. package/packages/api-types/dist/index.d.ts +21 -0
  139. package/packages/api-types/dist/index.js +22 -0
  140. package/packages/api-types/dist/schemas/agent.d.ts +259 -0
  141. package/packages/api-types/dist/schemas/agent.js +102 -0
  142. package/packages/api-types/dist/schemas/api.d.ts +290 -0
  143. package/packages/api-types/dist/schemas/api.js +162 -0
  144. package/packages/api-types/dist/schemas/decision.d.ts +230 -0
  145. package/packages/api-types/dist/schemas/decision.js +104 -0
  146. package/packages/api-types/dist/schemas/fleet.d.ts +615 -0
  147. package/packages/api-types/dist/schemas/fleet.js +71 -0
  148. package/packages/api-types/dist/schemas/history.d.ts +180 -0
  149. package/packages/api-types/dist/schemas/history.js +72 -0
  150. package/packages/api-types/dist/schemas/index.d.ts +14 -0
  151. package/packages/api-types/dist/schemas/index.js +22 -0
  152. package/packages/api-types/dist/schemas/message.d.ts +456 -0
  153. package/packages/api-types/dist/schemas/message.js +88 -0
  154. package/packages/api-types/dist/schemas/session.d.ts +60 -0
  155. package/packages/api-types/dist/schemas/session.js +36 -0
  156. package/packages/api-types/dist/schemas/task.d.ts +111 -0
  157. package/packages/api-types/dist/schemas/task.js +64 -0
  158. package/packages/api-types/package.json +61 -0
  159. package/packages/api-types/scripts/generate-openapi.ts +106 -0
  160. package/packages/bridge/dist/index.d.ts +8 -0
  161. package/packages/bridge/dist/index.js +9 -0
  162. package/packages/bridge/dist/multi-project-client.d.ts +99 -0
  163. package/packages/bridge/dist/multi-project-client.js +389 -0
  164. package/packages/bridge/dist/shadow-cli.js +75 -0
  165. package/packages/bridge/dist/spawner.d.ts +210 -0
  166. package/packages/bridge/dist/spawner.js +1276 -0
  167. package/packages/bridge/dist/types.d.ts +131 -0
  168. package/packages/bridge/dist/utils.d.ts +15 -0
  169. package/packages/bridge/dist/utils.js +60 -0
  170. package/packages/bridge/package.json +40 -0
  171. package/packages/cloud/dist/api/admin.js +225 -0
  172. package/packages/cloud/dist/api/billing.js +564 -0
  173. package/packages/cloud/dist/api/cli-pty-runner.d.ts +53 -0
  174. package/packages/cloud/dist/api/cli-pty-runner.js +193 -0
  175. package/packages/cloud/dist/api/codex-auth-helper.js +327 -0
  176. package/packages/cloud/dist/api/consensus.js +261 -0
  177. package/packages/cloud/dist/api/coordinators.js +750 -0
  178. package/packages/cloud/dist/api/daemons.js +535 -0
  179. package/packages/cloud/dist/api/generic-webhooks.js +129 -0
  180. package/packages/cloud/dist/api/github-app.js +223 -0
  181. package/packages/cloud/dist/api/monitoring.js +578 -0
  182. package/packages/cloud/dist/api/nango-auth.js +674 -0
  183. package/packages/cloud/dist/api/onboarding.d.ts +15 -0
  184. package/packages/cloud/dist/api/onboarding.js +679 -0
  185. package/packages/cloud/dist/api/policy.js +229 -0
  186. package/packages/cloud/dist/api/provider-env.d.ts +14 -0
  187. package/packages/cloud/dist/api/provider-env.js +75 -0
  188. package/packages/cloud/dist/api/providers.js +564 -0
  189. package/packages/cloud/dist/api/repos.js +577 -0
  190. package/packages/cloud/dist/api/sessions.d.ts +11 -0
  191. package/packages/cloud/dist/api/sessions.js +302 -0
  192. package/packages/cloud/dist/api/teams.js +281 -0
  193. package/packages/cloud/dist/api/test-helpers.js +745 -0
  194. package/packages/cloud/dist/api/workspaces.js +1799 -0
  195. package/packages/cloud/dist/billing/plans.js +245 -0
  196. package/packages/cloud/dist/config.d.ts +5 -0
  197. package/packages/cloud/dist/config.js +5 -0
  198. package/packages/cloud/dist/db/drizzle.d.ts +256 -0
  199. package/packages/cloud/dist/db/drizzle.js +1286 -0
  200. package/packages/cloud/dist/db/schema.d.ts +4873 -0
  201. package/packages/cloud/dist/db/schema.js +620 -0
  202. package/packages/cloud/dist/index.d.ts +11 -0
  203. package/packages/cloud/dist/index.js +38 -0
  204. package/packages/cloud/dist/provisioner/index.d.ts +207 -0
  205. package/packages/cloud/dist/provisioner/index.js +2114 -0
  206. package/packages/cloud/dist/server.js +1924 -0
  207. package/packages/cloud/dist/services/index.d.ts +17 -0
  208. package/packages/cloud/dist/services/index.js +25 -0
  209. package/packages/cloud/dist/services/intro-expiration.d.ts +60 -0
  210. package/packages/cloud/dist/services/intro-expiration.js +252 -0
  211. package/packages/cloud/dist/services/nango.d.ts +201 -0
  212. package/packages/cloud/dist/services/nango.js +392 -0
  213. package/packages/cloud/dist/services/persistence.d.ts +131 -0
  214. package/packages/cloud/dist/shims/consensus.d.ts +23 -0
  215. package/packages/cloud/dist/shims/consensus.js +5 -0
  216. package/packages/cloud/package.json +55 -0
  217. package/packages/config/dist/bridge-config.d.ts +52 -0
  218. package/packages/config/dist/bridge-config.js +143 -0
  219. package/packages/config/dist/bridge-utils.d.ts +30 -0
  220. package/packages/config/dist/bridge-utils.js +54 -0
  221. package/packages/config/dist/cli-auth-config.js +391 -0
  222. package/packages/config/dist/cloud-config.d.ts +75 -0
  223. package/packages/config/dist/cloud-config.js +109 -0
  224. package/packages/config/dist/index.d.ts +13 -0
  225. package/packages/config/dist/index.js +13 -0
  226. package/packages/config/dist/project-namespace.d.ts +73 -0
  227. package/packages/config/dist/project-namespace.js +280 -0
  228. package/packages/config/dist/relay-config.d.ts +25 -0
  229. package/packages/config/dist/relay-config.js +25 -0
  230. package/packages/config/dist/relay-file-writer.d.ts +200 -0
  231. package/packages/config/dist/relay-file-writer.js +407 -0
  232. package/packages/config/dist/schemas.d.ts +672 -0
  233. package/packages/config/dist/schemas.js +180 -0
  234. package/packages/config/dist/shadow-config.d.ts +87 -0
  235. package/packages/config/dist/trajectory-config.d.ts +102 -0
  236. package/packages/config/dist/trajectory-config.js +185 -0
  237. package/packages/config/package.json +98 -0
  238. package/packages/continuity/dist/index.d.ts +9 -0
  239. package/packages/continuity/dist/index.js +9 -0
  240. package/packages/continuity/dist/types.d.ts +180 -0
  241. package/packages/continuity/dist/types.js +2 -0
  242. package/packages/continuity/package.json +32 -0
  243. package/packages/daemon/dist/agent-manager.d.ts +134 -0
  244. package/packages/daemon/dist/agent-manager.js +578 -0
  245. package/packages/daemon/dist/agent-registry.js +213 -0
  246. package/packages/daemon/dist/api.d.ts +106 -0
  247. package/packages/daemon/dist/api.js +876 -0
  248. package/packages/daemon/dist/channel-membership-store.d.ts +55 -0
  249. package/packages/daemon/dist/channel-membership-store.js +176 -0
  250. package/packages/daemon/dist/cli-auth.d.ts +89 -0
  251. package/packages/daemon/dist/cli-auth.js +792 -0
  252. package/packages/daemon/dist/cloud-sync.d.ts +150 -0
  253. package/packages/daemon/dist/cloud-sync.js +446 -0
  254. package/packages/daemon/dist/connection.d.ts +130 -0
  255. package/packages/daemon/dist/connection.js +438 -0
  256. package/packages/daemon/dist/consensus-integration.js +371 -0
  257. package/packages/daemon/dist/delivery-tracker.d.ts +34 -0
  258. package/packages/daemon/dist/delivery-tracker.js +104 -0
  259. package/packages/daemon/dist/enhanced-features.d.ts +118 -0
  260. package/packages/daemon/dist/enhanced-features.js +176 -0
  261. package/packages/daemon/dist/index.d.ts +31 -0
  262. package/packages/daemon/dist/index.js +37 -0
  263. package/packages/daemon/dist/migrations/index.d.ts +73 -0
  264. package/packages/daemon/dist/migrations/index.js +241 -0
  265. package/packages/daemon/dist/orchestrator.d.ts +217 -0
  266. package/packages/daemon/dist/orchestrator.js +1143 -0
  267. package/packages/daemon/dist/relay-ledger.d.ts +261 -0
  268. package/packages/daemon/dist/relay-ledger.js +532 -0
  269. package/packages/daemon/dist/relay-watchdog.d.ts +125 -0
  270. package/packages/daemon/dist/relay-watchdog.js +611 -0
  271. package/packages/daemon/dist/repo-manager.js +384 -0
  272. package/packages/daemon/dist/router.d.ts +370 -0
  273. package/packages/daemon/dist/router.js +1437 -0
  274. package/packages/daemon/dist/server.d.ts +174 -0
  275. package/packages/daemon/dist/server.js +1001 -0
  276. package/packages/daemon/dist/spawn-manager.d.ts +78 -0
  277. package/packages/daemon/dist/spawn-manager.js +165 -0
  278. package/packages/daemon/dist/sync-queue.d.ts +116 -0
  279. package/packages/daemon/dist/sync-queue.js +361 -0
  280. package/packages/daemon/dist/types.d.ts +133 -0
  281. package/packages/daemon/dist/workspace-manager.js +314 -0
  282. package/packages/daemon/package.json +52 -0
  283. package/packages/dashboard/README.md +48 -0
  284. package/packages/dashboard/dist/health-worker-manager.d.ts +62 -0
  285. package/packages/dashboard/dist/health-worker-manager.js +144 -0
  286. package/packages/dashboard/dist/health-worker.d.ts +9 -0
  287. package/packages/dashboard/dist/health-worker.js +79 -0
  288. package/packages/dashboard/dist/index.d.ts +20 -0
  289. package/packages/dashboard/dist/index.js +19 -0
  290. package/packages/dashboard/dist/metrics.d.ts +105 -0
  291. package/packages/dashboard/dist/metrics.js +193 -0
  292. package/packages/dashboard/dist/needs-attention.d.ts +24 -0
  293. package/packages/dashboard/dist/needs-attention.js +78 -0
  294. package/packages/dashboard/dist/server.d.ts +25 -0
  295. package/packages/dashboard/dist/server.js +5107 -0
  296. package/packages/dashboard/dist/start.d.ts +6 -0
  297. package/packages/dashboard/dist/start.js +13 -0
  298. package/packages/dashboard/dist/types/threading.d.ts +8 -0
  299. package/packages/dashboard/dist/types/threading.js +2 -0
  300. package/packages/dashboard/dist/user-bridge.d.ts +154 -0
  301. package/packages/dashboard/dist/user-bridge.js +372 -0
  302. package/packages/dashboard/package.json +72 -0
  303. package/packages/dashboard/ui/.next/BUILD_ID +1 -0
  304. package/packages/dashboard/ui/.next/app-build-manifest.json +135 -0
  305. package/packages/dashboard/ui/.next/app-path-routes-manifest.json +1 -0
  306. package/packages/dashboard/ui/.next/build-manifest.json +32 -0
  307. package/packages/dashboard/ui/.next/cache/config.json +7 -0
  308. package/packages/dashboard/ui/.next/cache/eslint/.cache_1asv1h5 +1 -0
  309. package/packages/dashboard/ui/.next/cache/webpack/client-production/0.pack +0 -0
  310. package/packages/dashboard/ui/.next/cache/webpack/client-production/index.pack +0 -0
  311. package/packages/dashboard/ui/.next/cache/webpack/edge-server-production/0.pack +0 -0
  312. package/packages/dashboard/ui/.next/cache/webpack/edge-server-production/index.pack +0 -0
  313. package/packages/dashboard/ui/.next/cache/webpack/server-production/0.pack +0 -0
  314. package/packages/dashboard/ui/.next/cache/webpack/server-production/index.pack +0 -0
  315. package/packages/dashboard/ui/.next/export-detail.json +1 -0
  316. package/packages/dashboard/ui/.next/export-marker.json +1 -0
  317. package/packages/dashboard/ui/.next/images-manifest.json +1 -0
  318. package/packages/dashboard/ui/.next/next-minimal-server.js.nft.json +1 -0
  319. package/packages/dashboard/ui/.next/next-server.js.nft.json +1 -0
  320. package/packages/dashboard/ui/.next/package.json +1 -0
  321. package/packages/dashboard/ui/.next/prerender-manifest.json +1 -0
  322. package/packages/dashboard/ui/.next/react-loadable-manifest.json +1970 -0
  323. package/packages/dashboard/ui/.next/required-server-files.json +1 -0
  324. package/packages/dashboard/ui/.next/routes-manifest.json +1 -0
  325. package/packages/dashboard/ui/.next/server/app/_not-found/page.js +1 -0
  326. package/packages/dashboard/ui/.next/server/app/_not-found/page.js.nft.json +1 -0
  327. package/packages/dashboard/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  328. package/packages/dashboard/ui/.next/server/app/_not-found.html +1 -0
  329. package/packages/dashboard/ui/.next/server/app/_not-found.meta +6 -0
  330. package/packages/dashboard/ui/.next/server/app/_not-found.rsc +9 -0
  331. package/packages/dashboard/ui/.next/server/app/app/onboarding/page.js +6 -0
  332. package/packages/dashboard/ui/.next/server/app/app/onboarding/page.js.nft.json +1 -0
  333. package/packages/dashboard/ui/.next/server/app/app/onboarding/page_client-reference-manifest.js +1 -0
  334. package/packages/dashboard/ui/.next/server/app/app/onboarding.html +1 -0
  335. package/packages/dashboard/ui/.next/server/app/app/onboarding.meta +5 -0
  336. package/packages/dashboard/ui/.next/server/app/app/onboarding.rsc +7 -0
  337. package/packages/dashboard/ui/.next/server/app/app/page.js +436 -0
  338. package/packages/dashboard/ui/.next/server/app/app/page.js.nft.json +1 -0
  339. package/packages/dashboard/ui/.next/server/app/app/page_client-reference-manifest.js +1 -0
  340. package/packages/dashboard/ui/.next/server/app/app.html +1 -0
  341. package/packages/dashboard/ui/.next/server/app/app.meta +5 -0
  342. package/packages/dashboard/ui/.next/server/app/app.rsc +7 -0
  343. package/packages/dashboard/ui/.next/server/app/apple-icon.png/route.js +12 -0
  344. package/packages/dashboard/ui/.next/server/app/apple-icon.png/route.js.nft.json +1 -0
  345. package/packages/dashboard/ui/.next/server/app/apple-icon.png.body +0 -0
  346. package/packages/dashboard/ui/.next/server/app/apple-icon.png.meta +1 -0
  347. package/packages/dashboard/ui/.next/server/app/cloud/link/page.js +1 -0
  348. package/packages/dashboard/ui/.next/server/app/cloud/link/page.js.nft.json +1 -0
  349. package/packages/dashboard/ui/.next/server/app/cloud/link/page_client-reference-manifest.js +1 -0
  350. package/packages/dashboard/ui/.next/server/app/cloud/link.html +1 -0
  351. package/packages/dashboard/ui/.next/server/app/cloud/link.meta +5 -0
  352. package/packages/dashboard/ui/.next/server/app/cloud/link.rsc +7 -0
  353. package/packages/dashboard/ui/.next/server/app/connect-repos/page.js +6 -0
  354. package/packages/dashboard/ui/.next/server/app/connect-repos/page.js.nft.json +1 -0
  355. package/packages/dashboard/ui/.next/server/app/connect-repos/page_client-reference-manifest.js +1 -0
  356. package/packages/dashboard/ui/.next/server/app/connect-repos.html +1 -0
  357. package/packages/dashboard/ui/.next/server/app/connect-repos.meta +5 -0
  358. package/packages/dashboard/ui/.next/server/app/connect-repos.rsc +7 -0
  359. package/packages/dashboard/ui/.next/server/app/history/page.js +1 -0
  360. package/packages/dashboard/ui/.next/server/app/history/page.js.nft.json +1 -0
  361. package/packages/dashboard/ui/.next/server/app/history/page_client-reference-manifest.js +1 -0
  362. package/packages/dashboard/ui/.next/server/app/history.html +1 -0
  363. package/packages/dashboard/ui/.next/server/app/history.meta +5 -0
  364. package/packages/dashboard/ui/.next/server/app/history.rsc +7 -0
  365. package/packages/dashboard/ui/.next/server/app/index.html +1 -0
  366. package/packages/dashboard/ui/.next/server/app/index.meta +5 -0
  367. package/packages/dashboard/ui/.next/server/app/index.rsc +7 -0
  368. package/packages/dashboard/ui/.next/server/app/login/page.js +6 -0
  369. package/packages/dashboard/ui/.next/server/app/login/page.js.nft.json +1 -0
  370. package/packages/dashboard/ui/.next/server/app/login/page_client-reference-manifest.js +1 -0
  371. package/packages/dashboard/ui/.next/server/app/login.html +5 -0
  372. package/packages/dashboard/ui/.next/server/app/login.meta +5 -0
  373. package/packages/dashboard/ui/.next/server/app/login.rsc +7 -0
  374. package/packages/dashboard/ui/.next/server/app/metrics/page.js +1 -0
  375. package/packages/dashboard/ui/.next/server/app/metrics/page.js.nft.json +1 -0
  376. package/packages/dashboard/ui/.next/server/app/metrics/page_client-reference-manifest.js +1 -0
  377. package/packages/dashboard/ui/.next/server/app/metrics.html +1 -0
  378. package/packages/dashboard/ui/.next/server/app/metrics.meta +5 -0
  379. package/packages/dashboard/ui/.next/server/app/metrics.rsc +7 -0
  380. package/packages/dashboard/ui/.next/server/app/page.js +1 -0
  381. package/packages/dashboard/ui/.next/server/app/page.js.nft.json +1 -0
  382. package/packages/dashboard/ui/.next/server/app/page_client-reference-manifest.js +1 -0
  383. package/packages/dashboard/ui/.next/server/app/pricing/page.js +5 -0
  384. package/packages/dashboard/ui/.next/server/app/pricing/page.js.nft.json +1 -0
  385. package/packages/dashboard/ui/.next/server/app/pricing/page_client-reference-manifest.js +1 -0
  386. package/packages/dashboard/ui/.next/server/app/pricing.html +13 -0
  387. package/packages/dashboard/ui/.next/server/app/pricing.meta +5 -0
  388. package/packages/dashboard/ui/.next/server/app/pricing.rsc +7 -0
  389. package/packages/dashboard/ui/.next/server/app/providers/page.js +2 -0
  390. package/packages/dashboard/ui/.next/server/app/providers/page.js.nft.json +1 -0
  391. package/packages/dashboard/ui/.next/server/app/providers/page_client-reference-manifest.js +1 -0
  392. package/packages/dashboard/ui/.next/server/app/providers/setup/[provider]/page.js +1 -0
  393. package/packages/dashboard/ui/.next/server/app/providers/setup/[provider]/page.js.nft.json +1 -0
  394. package/packages/dashboard/ui/.next/server/app/providers/setup/[provider]/page_client-reference-manifest.js +1 -0
  395. package/packages/dashboard/ui/.next/server/app/providers/setup/claude.html +1 -0
  396. package/packages/dashboard/ui/.next/server/app/providers/setup/claude.meta +5 -0
  397. package/packages/dashboard/ui/.next/server/app/providers/setup/claude.rsc +8 -0
  398. package/packages/dashboard/ui/.next/server/app/providers/setup/codex.html +1 -0
  399. package/packages/dashboard/ui/.next/server/app/providers/setup/codex.meta +5 -0
  400. package/packages/dashboard/ui/.next/server/app/providers/setup/codex.rsc +8 -0
  401. package/packages/dashboard/ui/.next/server/app/providers/setup/cursor.html +1 -0
  402. package/packages/dashboard/ui/.next/server/app/providers/setup/cursor.meta +5 -0
  403. package/packages/dashboard/ui/.next/server/app/providers/setup/cursor.rsc +8 -0
  404. package/packages/dashboard/ui/.next/server/app/providers.html +1 -0
  405. package/packages/dashboard/ui/.next/server/app/providers.meta +5 -0
  406. package/packages/dashboard/ui/.next/server/app/providers.rsc +7 -0
  407. package/packages/dashboard/ui/.next/server/app/signup/page.js +6 -0
  408. package/packages/dashboard/ui/.next/server/app/signup/page.js.nft.json +1 -0
  409. package/packages/dashboard/ui/.next/server/app/signup/page_client-reference-manifest.js +1 -0
  410. package/packages/dashboard/ui/.next/server/app/signup.html +6 -0
  411. package/packages/dashboard/ui/.next/server/app/signup.meta +5 -0
  412. package/packages/dashboard/ui/.next/server/app/signup.rsc +7 -0
  413. package/packages/dashboard/ui/.next/server/app-paths-manifest.json +16 -0
  414. package/packages/dashboard/ui/.next/server/chunks/190.js +1 -0
  415. package/packages/dashboard/ui/.next/server/chunks/205.js +1 -0
  416. package/packages/dashboard/ui/.next/server/chunks/251.js +9 -0
  417. package/packages/dashboard/ui/.next/server/chunks/288.js +1 -0
  418. package/packages/dashboard/ui/.next/server/chunks/434.js +1 -0
  419. package/packages/dashboard/ui/.next/server/chunks/471.js +2 -0
  420. package/packages/dashboard/ui/.next/server/chunks/621.js +1 -0
  421. package/packages/dashboard/ui/.next/server/chunks/680.js +5 -0
  422. package/packages/dashboard/ui/.next/server/chunks/682.js +6 -0
  423. package/packages/dashboard/ui/.next/server/chunks/684.js +1 -0
  424. package/packages/dashboard/ui/.next/server/chunks/71.js +196 -0
  425. package/packages/dashboard/ui/.next/server/chunks/711.js +1 -0
  426. package/packages/dashboard/ui/.next/server/chunks/90.js +17 -0
  427. package/packages/dashboard/ui/.next/server/chunks/948.js +2 -0
  428. package/packages/dashboard/ui/.next/server/chunks/font-manifest.json +1 -0
  429. package/packages/dashboard/ui/.next/server/font-manifest.json +1 -0
  430. package/packages/dashboard/ui/.next/server/functions-config-manifest.json +1 -0
  431. package/packages/dashboard/ui/.next/server/interception-route-rewrite-manifest.js +1 -0
  432. package/packages/dashboard/ui/.next/server/middleware-build-manifest.js +1 -0
  433. package/packages/dashboard/ui/.next/server/middleware-manifest.json +6 -0
  434. package/packages/dashboard/ui/.next/server/middleware-react-loadable-manifest.js +1 -0
  435. package/packages/dashboard/ui/.next/server/next-font-manifest.js +1 -0
  436. package/packages/dashboard/ui/.next/server/next-font-manifest.json +1 -0
  437. package/packages/dashboard/ui/.next/server/pages/404.html +1 -0
  438. package/packages/dashboard/ui/.next/server/pages/500.html +1 -0
  439. package/packages/dashboard/ui/.next/server/pages/_app.js +1 -0
  440. package/packages/dashboard/ui/.next/server/pages/_app.js.nft.json +1 -0
  441. package/packages/dashboard/ui/.next/server/pages/_document.js +1 -0
  442. package/packages/dashboard/ui/.next/server/pages/_document.js.nft.json +1 -0
  443. package/packages/dashboard/ui/.next/server/pages/_error.js +1 -0
  444. package/packages/dashboard/ui/.next/server/pages/_error.js.nft.json +1 -0
  445. package/packages/dashboard/ui/.next/server/pages-manifest.json +1 -0
  446. package/packages/dashboard/ui/.next/server/server-reference-manifest.js +1 -0
  447. package/packages/dashboard/ui/.next/server/server-reference-manifest.json +1 -0
  448. package/packages/dashboard/ui/.next/server/webpack-runtime.js +1 -0
  449. package/packages/dashboard/ui/.next/static/HR7W9z1PPVPFqUboUVZFZ/_buildManifest.js +1 -0
  450. package/packages/dashboard/ui/.next/static/HR7W9z1PPVPFqUboUVZFZ/_ssgManifest.js +1 -0
  451. package/packages/dashboard/ui/.next/static/chunks/116-a883fca163f3a5bc.js +1 -0
  452. package/packages/dashboard/ui/.next/static/chunks/117-c8afed19e821a35d.js +2 -0
  453. package/packages/dashboard/ui/.next/static/chunks/282-980c2eb8fff20123.js +1 -0
  454. package/packages/dashboard/ui/.next/static/chunks/532-bace199897eeab37.js +9 -0
  455. package/packages/dashboard/ui/.next/static/chunks/631-af51bad94027527a.js +1 -0
  456. package/packages/dashboard/ui/.next/static/chunks/648-acb2ff9f77cbfbd3.js +1 -0
  457. package/packages/dashboard/ui/.next/static/chunks/677-30e60cb0b47875b6.js +1 -0
  458. package/packages/dashboard/ui/.next/static/chunks/766-2aea80818f7eb0d8.js +1 -0
  459. package/packages/dashboard/ui/.next/static/chunks/83-4f08122d4e7e79a6.js +1 -0
  460. package/packages/dashboard/ui/.next/static/chunks/847-f1f467060f32afff.js +1 -0
  461. package/packages/dashboard/ui/.next/static/chunks/891-5cb1513eeb97a891.js +1 -0
  462. package/packages/dashboard/ui/.next/static/chunks/app/_not-found/page-60501fddbafba9dc.js +1 -0
  463. package/packages/dashboard/ui/.next/static/chunks/app/app/onboarding/page-9914652442f7e4fb.js +1 -0
  464. package/packages/dashboard/ui/.next/static/chunks/app/app/page-44813aa26ad19681.js +1 -0
  465. package/packages/dashboard/ui/.next/static/chunks/app/cloud/link/page-fa1d5842aa90e8a6.js +1 -0
  466. package/packages/dashboard/ui/.next/static/chunks/app/connect-repos/page-113060009ef35bc2.js +1 -0
  467. package/packages/dashboard/ui/.next/static/chunks/app/history/page-9965d2483011b846.js +1 -0
  468. package/packages/dashboard/ui/.next/static/chunks/app/layout-6b91e33784c20610.js +1 -0
  469. package/packages/dashboard/ui/.next/static/chunks/app/login/page-a0ca6f7ca6a100b8.js +1 -0
  470. package/packages/dashboard/ui/.next/static/chunks/app/metrics/page-1e37ef8e73940b40.js +1 -0
  471. package/packages/dashboard/ui/.next/static/chunks/app/page-7993778218818ace.js +1 -0
  472. package/packages/dashboard/ui/.next/static/chunks/app/pricing/page-9db3ebdfa567a7c9.js +1 -0
  473. package/packages/dashboard/ui/.next/static/chunks/app/providers/page-bcf46064ac4474ce.js +1 -0
  474. package/packages/dashboard/ui/.next/static/chunks/app/providers/setup/[provider]/page-4dbe33f0f7691b7c.js +1 -0
  475. package/packages/dashboard/ui/.next/static/chunks/app/signup/page-1ede2205b58649ca.js +1 -0
  476. package/packages/dashboard/ui/.next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
  477. package/packages/dashboard/ui/.next/static/chunks/fd9d1056-609918ca7b6280bb.js +1 -0
  478. package/packages/dashboard/ui/.next/static/chunks/framework-f66176bb897dc684.js +1 -0
  479. package/packages/dashboard/ui/.next/static/chunks/main-5a40a5ae29646e1b.js +1 -0
  480. package/packages/dashboard/ui/.next/static/chunks/main-app-fdbeb09028f57c9f.js +1 -0
  481. package/packages/dashboard/ui/.next/static/chunks/pages/_app-72b849fbd24ac258.js +1 -0
  482. package/packages/dashboard/ui/.next/static/chunks/pages/_error-7ba65e1336b92748.js +1 -0
  483. package/packages/dashboard/ui/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  484. package/packages/dashboard/ui/.next/static/chunks/webpack-1cdd8ed57114d5e1.js +1 -0
  485. package/packages/dashboard/ui/.next/static/css/4034f236dd1a3178.css +1 -0
  486. package/packages/dashboard/ui/.next/static/css/99c2552394077586.css +1 -0
  487. package/packages/dashboard/ui/.next/trace +63 -0
  488. package/packages/dashboard/ui/.next/types/app/app/onboarding/page.ts +79 -0
  489. package/packages/dashboard/ui/.next/types/app/app/page.ts +79 -0
  490. package/packages/dashboard/ui/.next/types/app/cloud/link/page.ts +79 -0
  491. package/packages/dashboard/ui/.next/types/app/connect-repos/page.ts +79 -0
  492. package/packages/dashboard/ui/.next/types/app/history/page.ts +79 -0
  493. package/packages/dashboard/ui/.next/types/app/layout.ts +79 -0
  494. package/packages/dashboard/ui/.next/types/app/login/page.ts +79 -0
  495. package/packages/dashboard/ui/.next/types/app/metrics/page.ts +79 -0
  496. package/packages/dashboard/ui/.next/types/app/page.ts +79 -0
  497. package/packages/dashboard/ui/.next/types/app/pricing/page.ts +79 -0
  498. package/packages/dashboard/ui/.next/types/app/providers/page.ts +79 -0
  499. package/packages/dashboard/ui/.next/types/app/providers/setup/[provider]/page.ts +79 -0
  500. package/packages/dashboard/ui/.next/types/app/signup/page.ts +79 -0
  501. package/packages/dashboard/ui/.next/types/package.json +1 -0
  502. package/packages/dashboard/ui/app/app/onboarding/page.tsx +394 -0
  503. package/packages/dashboard/ui/app/app/page.tsx +667 -0
  504. package/packages/dashboard/ui/app/apple-icon.png +0 -0
  505. package/packages/dashboard/ui/app/cloud/link/page.tsx +464 -0
  506. package/packages/dashboard/ui/app/connect-repos/page.tsx +410 -0
  507. package/packages/dashboard/ui/app/favicon.png +0 -0
  508. package/packages/dashboard/ui/app/globals.css +59 -0
  509. package/packages/dashboard/ui/app/history/page.tsx +658 -0
  510. package/packages/dashboard/ui/app/layout.tsx +25 -0
  511. package/packages/dashboard/ui/app/login/page.tsx +280 -0
  512. package/packages/dashboard/ui/app/metrics/page.tsx +751 -0
  513. package/packages/dashboard/ui/app/page.tsx +59 -0
  514. package/packages/dashboard/ui/app/pricing/page.tsx +7 -0
  515. package/packages/dashboard/ui/app/providers/page.tsx +193 -0
  516. package/packages/dashboard/ui/app/providers/setup/[provider]/ProviderSetupClient.tsx +148 -0
  517. package/packages/dashboard/ui/app/providers/setup/[provider]/constants.ts +35 -0
  518. package/packages/dashboard/ui/app/providers/setup/[provider]/page.tsx +42 -0
  519. package/packages/dashboard/ui/app/signup/page.tsx +343 -0
  520. package/packages/dashboard/ui/index.ts +49 -0
  521. package/packages/dashboard/ui/landing/LandingPage.tsx +713 -0
  522. package/packages/dashboard/ui/landing/PricingPage.tsx +559 -0
  523. package/packages/dashboard/ui/landing/index.ts +6 -0
  524. package/packages/dashboard/ui/landing/styles.css +2850 -0
  525. package/packages/dashboard/ui/lib/agent-merge.ts +35 -0
  526. package/packages/dashboard/ui/lib/api.ts +1155 -0
  527. package/packages/dashboard/ui/lib/cloudApi.ts +876 -0
  528. package/packages/dashboard/ui/lib/colors.ts +218 -0
  529. package/packages/dashboard/ui/lib/hierarchy.ts +242 -0
  530. package/packages/dashboard/ui/lib/stuckDetection.ts +142 -0
  531. package/packages/dashboard/ui/next-env.d.ts +5 -0
  532. package/packages/dashboard/ui/next.config.js +41 -0
  533. package/packages/dashboard/ui/package-lock.json +2882 -0
  534. package/packages/dashboard/ui/package.json +33 -0
  535. package/packages/dashboard/ui/postcss.config.js +5 -0
  536. package/packages/dashboard/ui/react-components/ActivityFeed.tsx +216 -0
  537. package/packages/dashboard/ui/react-components/AddWorkspaceModal.tsx +170 -0
  538. package/packages/dashboard/ui/react-components/AgentCard.tsx +587 -0
  539. package/packages/dashboard/ui/react-components/AgentList.tsx +411 -0
  540. package/packages/dashboard/ui/react-components/AgentProfilePanel.tsx +564 -0
  541. package/packages/dashboard/ui/react-components/App.tsx +3447 -0
  542. package/packages/dashboard/ui/react-components/BillingPanel.tsx +922 -0
  543. package/packages/dashboard/ui/react-components/BillingResult.tsx +447 -0
  544. package/packages/dashboard/ui/react-components/BroadcastComposer.tsx +690 -0
  545. package/packages/dashboard/ui/react-components/ChannelAdminPanel.tsx +773 -0
  546. package/packages/dashboard/ui/react-components/ChannelBrowser.tsx +385 -0
  547. package/packages/dashboard/ui/react-components/ChannelChat.tsx +307 -0
  548. package/packages/dashboard/ui/react-components/ChannelSidebar.tsx +399 -0
  549. package/packages/dashboard/ui/react-components/CloudSessionProvider.tsx +130 -0
  550. package/packages/dashboard/ui/react-components/CommandPalette.tsx +815 -0
  551. package/packages/dashboard/ui/react-components/ConfirmationDialog.tsx +133 -0
  552. package/packages/dashboard/ui/react-components/ConversationHistory.tsx +518 -0
  553. package/packages/dashboard/ui/react-components/CoordinatorPanel.tsx +944 -0
  554. package/packages/dashboard/ui/react-components/DecisionQueue.tsx +717 -0
  555. package/packages/dashboard/ui/react-components/DirectMessageView.tsx +164 -0
  556. package/packages/dashboard/ui/react-components/FileAutocomplete.tsx +368 -0
  557. package/packages/dashboard/ui/react-components/FleetOverview.tsx +278 -0
  558. package/packages/dashboard/ui/react-components/LogViewer.tsx +310 -0
  559. package/packages/dashboard/ui/react-components/LogViewerPanel.tsx +482 -0
  560. package/packages/dashboard/ui/react-components/Logo.tsx +284 -0
  561. package/packages/dashboard/ui/react-components/MentionAutocomplete.tsx +384 -0
  562. package/packages/dashboard/ui/react-components/MessageList.tsx +649 -0
  563. package/packages/dashboard/ui/react-components/MessageSenderName.tsx +91 -0
  564. package/packages/dashboard/ui/react-components/MessageStatusIndicator.tsx +142 -0
  565. package/packages/dashboard/ui/react-components/NewConversationModal.tsx +400 -0
  566. package/packages/dashboard/ui/react-components/NotificationToast.tsx +488 -0
  567. package/packages/dashboard/ui/react-components/OnlineUsersIndicator.tsx +164 -0
  568. package/packages/dashboard/ui/react-components/Pagination.tsx +124 -0
  569. package/packages/dashboard/ui/react-components/PricingPlans.tsx +386 -0
  570. package/packages/dashboard/ui/react-components/ProjectList.tsx +625 -0
  571. package/packages/dashboard/ui/react-components/ProviderAuthFlow.tsx +843 -0
  572. package/packages/dashboard/ui/react-components/ProviderConnectionList.tsx +363 -0
  573. package/packages/dashboard/ui/react-components/ProvisioningProgress.tsx +730 -0
  574. package/packages/dashboard/ui/react-components/RepoAccessPanel.tsx +392 -0
  575. package/packages/dashboard/ui/react-components/ServerCard.tsx +202 -0
  576. package/packages/dashboard/ui/react-components/SessionExpiredModal.tsx +128 -0
  577. package/packages/dashboard/ui/react-components/SpawnModal.tsx +704 -0
  578. package/packages/dashboard/ui/react-components/TaskAssignmentUI.tsx +375 -0
  579. package/packages/dashboard/ui/react-components/TerminalProviderSetup.tsx +608 -0
  580. package/packages/dashboard/ui/react-components/ThemeProvider.tsx +325 -0
  581. package/packages/dashboard/ui/react-components/ThinkingIndicator.tsx +231 -0
  582. package/packages/dashboard/ui/react-components/ThreadList.tsx +198 -0
  583. package/packages/dashboard/ui/react-components/ThreadPanel.tsx +346 -0
  584. package/packages/dashboard/ui/react-components/TrajectoryViewer.tsx +698 -0
  585. package/packages/dashboard/ui/react-components/TypingIndicator.tsx +69 -0
  586. package/packages/dashboard/ui/react-components/UsageBanner.tsx +231 -0
  587. package/packages/dashboard/ui/react-components/UserProfilePanel.tsx +233 -0
  588. package/packages/dashboard/ui/react-components/WorkspaceContext.tsx +107 -0
  589. package/packages/dashboard/ui/react-components/WorkspaceSelector.tsx +234 -0
  590. package/packages/dashboard/ui/react-components/WorkspaceStatusIndicator.tsx +370 -0
  591. package/packages/dashboard/ui/react-components/XTermInteractive.tsx +510 -0
  592. package/packages/dashboard/ui/react-components/XTermLogViewer.tsx +719 -0
  593. package/packages/dashboard/ui/react-components/channels/ChannelDialogs.tsx +1411 -0
  594. package/packages/dashboard/ui/react-components/channels/ChannelHeader.tsx +317 -0
  595. package/packages/dashboard/ui/react-components/channels/ChannelMessageList.tsx +463 -0
  596. package/packages/dashboard/ui/react-components/channels/ChannelViewV1.tsx +146 -0
  597. package/packages/dashboard/ui/react-components/channels/MessageInput.tsx +288 -0
  598. package/packages/dashboard/ui/react-components/channels/SearchInput.tsx +172 -0
  599. package/packages/dashboard/ui/react-components/channels/SearchResults.tsx +336 -0
  600. package/packages/dashboard/ui/react-components/channels/api.ts +697 -0
  601. package/packages/dashboard/ui/react-components/channels/index.ts +76 -0
  602. package/packages/dashboard/ui/react-components/channels/mockApi.ts +344 -0
  603. package/packages/dashboard/ui/react-components/channels/types.ts +566 -0
  604. package/packages/dashboard/ui/react-components/hooks/index.ts +57 -0
  605. package/packages/dashboard/ui/react-components/hooks/useAgentLogs.ts +394 -0
  606. package/packages/dashboard/ui/react-components/hooks/useAgents.ts +127 -0
  607. package/packages/dashboard/ui/react-components/hooks/useBroadcastDedup.ts +86 -0
  608. package/packages/dashboard/ui/react-components/hooks/useChannelAdmin.ts +329 -0
  609. package/packages/dashboard/ui/react-components/hooks/useChannelBrowser.ts +239 -0
  610. package/packages/dashboard/ui/react-components/hooks/useChannelCommands.ts +138 -0
  611. package/packages/dashboard/ui/react-components/hooks/useChannels.ts +328 -0
  612. package/packages/dashboard/ui/react-components/hooks/useDebounce.ts +29 -0
  613. package/packages/dashboard/ui/react-components/hooks/useDirectMessage.ts +141 -0
  614. package/packages/dashboard/ui/react-components/hooks/useMessages.ts +309 -0
  615. package/packages/dashboard/ui/react-components/hooks/useOrchestrator.ts +364 -0
  616. package/packages/dashboard/ui/react-components/hooks/usePinnedAgents.ts +140 -0
  617. package/packages/dashboard/ui/react-components/hooks/usePresence.ts +340 -0
  618. package/packages/dashboard/ui/react-components/hooks/useRecentRepos.ts +130 -0
  619. package/packages/dashboard/ui/react-components/hooks/useSession.ts +209 -0
  620. package/packages/dashboard/ui/react-components/hooks/useTrajectory.ts +265 -0
  621. package/packages/dashboard/ui/react-components/hooks/useWebSocket.ts +169 -0
  622. package/packages/dashboard/ui/react-components/hooks/useWorkspaceMembers.ts +120 -0
  623. package/packages/dashboard/ui/react-components/hooks/useWorkspaceRepos.ts +73 -0
  624. package/packages/dashboard/ui/react-components/hooks/useWorkspaceStatus.ts +237 -0
  625. package/packages/dashboard/ui/react-components/index.ts +81 -0
  626. package/packages/dashboard/ui/react-components/layout/Header.tsx +355 -0
  627. package/packages/dashboard/ui/react-components/layout/RepoContextHeader.tsx +361 -0
  628. package/packages/dashboard/ui/react-components/layout/Sidebar.archive.test.tsx +126 -0
  629. package/packages/dashboard/ui/react-components/layout/Sidebar.test.tsx +691 -0
  630. package/packages/dashboard/ui/react-components/layout/Sidebar.tsx +930 -0
  631. package/packages/dashboard/ui/react-components/layout/index.ts +7 -0
  632. package/packages/dashboard/ui/react-components/settings/BillingSettingsPanel.tsx +564 -0
  633. package/packages/dashboard/ui/react-components/settings/SettingsPage.tsx +544 -0
  634. package/packages/dashboard/ui/react-components/settings/TeamSettingsPanel.tsx +560 -0
  635. package/packages/dashboard/ui/react-components/settings/WorkspaceSettingsPanel.tsx +1329 -0
  636. package/packages/dashboard/ui/react-components/settings/index.ts +11 -0
  637. package/packages/dashboard/ui/react-components/settings/types.ts +53 -0
  638. package/packages/dashboard/ui/react-components/utils/messageFormatting.tsx +370 -0
  639. package/packages/dashboard/ui/tailwind.config.js +148 -0
  640. package/packages/dashboard/ui/types/index.ts +304 -0
  641. package/packages/dashboard/ui/types/threading.ts +7 -0
  642. package/packages/dashboard/ui-dist/404.html +1 -0
  643. package/packages/dashboard/ui-dist/_next/static/HR7W9z1PPVPFqUboUVZFZ/_buildManifest.js +1 -0
  644. package/packages/dashboard/ui-dist/_next/static/HR7W9z1PPVPFqUboUVZFZ/_ssgManifest.js +1 -0
  645. package/packages/dashboard/ui-dist/_next/static/ZCFjHbkF8yDKS2md3lVgb/_buildManifest.js +1 -0
  646. package/packages/dashboard/ui-dist/_next/static/ZCFjHbkF8yDKS2md3lVgb/_ssgManifest.js +1 -0
  647. package/packages/dashboard/ui-dist/_next/static/chunks/116-a883fca163f3a5bc.js +1 -0
  648. package/packages/dashboard/ui-dist/_next/static/chunks/117-c8afed19e821a35d.js +2 -0
  649. package/packages/dashboard/ui-dist/_next/static/chunks/282-980c2eb8fff20123.js +1 -0
  650. package/packages/dashboard/ui-dist/_next/static/chunks/320-900169c942e31422.js +1 -0
  651. package/packages/dashboard/ui-dist/_next/static/chunks/532-bace199897eeab37.js +9 -0
  652. package/packages/dashboard/ui-dist/_next/static/chunks/631-af51bad94027527a.js +1 -0
  653. package/packages/dashboard/ui-dist/_next/static/chunks/648-acb2ff9f77cbfbd3.js +1 -0
  654. package/packages/dashboard/ui-dist/_next/static/chunks/677-30e60cb0b47875b6.js +1 -0
  655. package/packages/dashboard/ui-dist/_next/static/chunks/766-2aea80818f7eb0d8.js +1 -0
  656. package/packages/dashboard/ui-dist/_next/static/chunks/83-4f08122d4e7e79a6.js +1 -0
  657. package/packages/dashboard/ui-dist/_next/static/chunks/847-f1f467060f32afff.js +1 -0
  658. package/packages/dashboard/ui-dist/_next/static/chunks/891-5cb1513eeb97a891.js +1 -0
  659. package/packages/dashboard/ui-dist/_next/static/chunks/app/_not-found/page-60501fddbafba9dc.js +1 -0
  660. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/onboarding/page-9914652442f7e4fb.js +1 -0
  661. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/onboarding/page-f746f29e01fffc43.js +1 -0
  662. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/page-2e525b1dcc790967.js +1 -0
  663. package/packages/dashboard/ui-dist/_next/static/chunks/app/app/page-44813aa26ad19681.js +1 -0
  664. package/packages/dashboard/ui-dist/_next/static/chunks/app/cloud/link/page-5011ae044b90449d.js +1 -0
  665. package/packages/dashboard/ui-dist/_next/static/chunks/app/cloud/link/page-fa1d5842aa90e8a6.js +1 -0
  666. package/packages/dashboard/ui-dist/_next/static/chunks/app/connect-repos/page-03ac6f35a6654ea6.js +1 -0
  667. package/packages/dashboard/ui-dist/_next/static/chunks/app/connect-repos/page-113060009ef35bc2.js +1 -0
  668. package/packages/dashboard/ui-dist/_next/static/chunks/app/history/page-9965d2483011b846.js +1 -0
  669. package/packages/dashboard/ui-dist/_next/static/chunks/app/history/page-b2ce7c96ed0931da.js +1 -0
  670. package/packages/dashboard/ui-dist/_next/static/chunks/app/layout-6b91e33784c20610.js +1 -0
  671. package/packages/dashboard/ui-dist/_next/static/chunks/app/layout-c0d118c0f92d969c.js +1 -0
  672. package/packages/dashboard/ui-dist/_next/static/chunks/app/login/page-6ec54eee75877971.js +1 -0
  673. package/packages/dashboard/ui-dist/_next/static/chunks/app/login/page-a0ca6f7ca6a100b8.js +1 -0
  674. package/packages/dashboard/ui-dist/_next/static/chunks/app/metrics/page-1e37ef8e73940b40.js +1 -0
  675. package/packages/dashboard/ui-dist/_next/static/chunks/app/metrics/page-bf2cb1e5915bc92d.js +1 -0
  676. package/packages/dashboard/ui-dist/_next/static/chunks/app/page-4e64923d73c35bc9.js +1 -0
  677. package/packages/dashboard/ui-dist/_next/static/chunks/app/page-7993778218818ace.js +1 -0
  678. package/packages/dashboard/ui-dist/_next/static/chunks/app/pricing/page-0efa024c28ba4597.js +1 -0
  679. package/packages/dashboard/ui-dist/_next/static/chunks/app/pricing/page-9db3ebdfa567a7c9.js +1 -0
  680. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/page-bcf46064ac4474ce.js +1 -0
  681. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/page-e65a0010da6ea5be.js +1 -0
  682. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/setup/[provider]/page-4dbe33f0f7691b7c.js +1 -0
  683. package/packages/dashboard/ui-dist/_next/static/chunks/app/providers/setup/[provider]/page-84161c802b020a1f.js +1 -0
  684. package/packages/dashboard/ui-dist/_next/static/chunks/app/signup/page-18a4665665f6be11.js +1 -0
  685. package/packages/dashboard/ui-dist/_next/static/chunks/app/signup/page-1ede2205b58649ca.js +1 -0
  686. package/packages/dashboard/ui-dist/_next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
  687. package/packages/dashboard/ui-dist/_next/static/chunks/fd9d1056-609918ca7b6280bb.js +1 -0
  688. package/packages/dashboard/ui-dist/_next/static/chunks/framework-f66176bb897dc684.js +1 -0
  689. package/packages/dashboard/ui-dist/_next/static/chunks/main-5a40a5ae29646e1b.js +1 -0
  690. package/packages/dashboard/ui-dist/_next/static/chunks/main-app-6e8e8d3ef4e0192a.js +1 -0
  691. package/packages/dashboard/ui-dist/_next/static/chunks/main-app-fdbeb09028f57c9f.js +1 -0
  692. package/packages/dashboard/ui-dist/_next/static/chunks/pages/_app-72b849fbd24ac258.js +1 -0
  693. package/packages/dashboard/ui-dist/_next/static/chunks/pages/_error-7ba65e1336b92748.js +1 -0
  694. package/packages/dashboard/ui-dist/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  695. package/packages/dashboard/ui-dist/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +1 -0
  696. package/packages/dashboard/ui-dist/_next/static/css/4034f236dd1a3178.css +1 -0
  697. package/packages/dashboard/ui-dist/_next/static/css/99c2552394077586.css +1 -0
  698. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-128.png +0 -0
  699. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-256.png +0 -0
  700. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-32.png +0 -0
  701. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-512.png +0 -0
  702. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo-64.png +0 -0
  703. package/packages/dashboard/ui-dist/alt-logos/agent-relay-logo.svg +45 -0
  704. package/packages/dashboard/ui-dist/alt-logos/logo.svg +38 -0
  705. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-128.png +0 -0
  706. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-256.png +0 -0
  707. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-32.png +0 -0
  708. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-512.png +0 -0
  709. package/packages/dashboard/ui-dist/alt-logos/monogram-logo-64.png +0 -0
  710. package/packages/dashboard/ui-dist/alt-logos/monogram-logo.svg +38 -0
  711. package/packages/dashboard/ui-dist/app/onboarding.html +1 -0
  712. package/packages/dashboard/ui-dist/app/onboarding.txt +7 -0
  713. package/packages/dashboard/ui-dist/app.html +1 -0
  714. package/packages/dashboard/ui-dist/app.txt +7 -0
  715. package/packages/dashboard/ui-dist/apple-icon.png +0 -0
  716. package/packages/dashboard/ui-dist/cloud/link.html +1 -0
  717. package/packages/dashboard/ui-dist/cloud/link.txt +7 -0
  718. package/packages/dashboard/ui-dist/connect-repos.html +1 -0
  719. package/packages/dashboard/ui-dist/connect-repos.txt +7 -0
  720. package/packages/dashboard/ui-dist/history.html +1 -0
  721. package/packages/dashboard/ui-dist/history.txt +7 -0
  722. package/packages/dashboard/ui-dist/index.html +1 -0
  723. package/packages/dashboard/ui-dist/index.txt +7 -0
  724. package/packages/dashboard/ui-dist/login.html +5 -0
  725. package/packages/dashboard/ui-dist/login.txt +7 -0
  726. package/packages/dashboard/ui-dist/metrics.html +1 -0
  727. package/packages/dashboard/ui-dist/metrics.txt +7 -0
  728. package/packages/dashboard/ui-dist/pricing.html +13 -0
  729. package/packages/dashboard/ui-dist/pricing.txt +7 -0
  730. package/packages/dashboard/ui-dist/providers/setup/claude.html +1 -0
  731. package/packages/dashboard/ui-dist/providers/setup/claude.txt +8 -0
  732. package/packages/dashboard/ui-dist/providers/setup/codex.html +1 -0
  733. package/packages/dashboard/ui-dist/providers/setup/codex.txt +8 -0
  734. package/packages/dashboard/ui-dist/providers/setup/cursor.html +1 -0
  735. package/packages/dashboard/ui-dist/providers/setup/cursor.txt +8 -0
  736. package/packages/dashboard/ui-dist/providers.html +1 -0
  737. package/packages/dashboard/ui-dist/providers.txt +7 -0
  738. package/packages/dashboard/ui-dist/signup.html +6 -0
  739. package/packages/dashboard/ui-dist/signup.txt +7 -0
  740. package/packages/dashboard-server/dist/health-worker-manager.d.ts +62 -0
  741. package/packages/dashboard-server/dist/health-worker-manager.js +144 -0
  742. package/packages/dashboard-server/dist/health-worker.d.ts +9 -0
  743. package/packages/dashboard-server/dist/health-worker.js +79 -0
  744. package/packages/dashboard-server/dist/index.d.ts +18 -0
  745. package/packages/dashboard-server/dist/index.js +17 -0
  746. package/packages/dashboard-server/dist/server.d.ts +25 -0
  747. package/packages/dashboard-server/dist/server.js +5099 -0
  748. package/packages/dashboard-server/dist/start.js +13 -0
  749. package/packages/dashboard-server/dist/types/threading.d.ts +8 -0
  750. package/packages/dashboard-server/dist/types/threading.js +2 -0
  751. package/packages/dashboard-server/dist/user-bridge.d.ts +154 -0
  752. package/packages/dashboard-server/dist/user-bridge.js +372 -0
  753. package/packages/dashboard-server/package.json +49 -0
  754. package/packages/hooks/dist/browser.d.ts +2 -0
  755. package/packages/hooks/dist/browser.js +3 -0
  756. package/packages/hooks/dist/index.d.ts +11 -0
  757. package/packages/hooks/dist/index.js +11 -0
  758. package/packages/hooks/dist/registry.js +476 -0
  759. package/packages/hooks/dist/trajectory-hooks.js +183 -0
  760. package/packages/hooks/dist/types.d.ts +285 -0
  761. package/packages/hooks/dist/types.js +10 -0
  762. package/packages/hooks/package.json +52 -0
  763. package/packages/mcp/LICENSE +190 -0
  764. package/packages/mcp/README.md +214 -0
  765. package/packages/mcp/SPEC.md +1922 -0
  766. package/packages/mcp/STAFFING_PLAN.md +294 -0
  767. package/packages/mcp/dist/bin.d.ts +12 -0
  768. package/packages/mcp/dist/bin.js +127 -0
  769. package/packages/mcp/dist/client.d.ts +68 -0
  770. package/packages/mcp/dist/client.js +115 -0
  771. package/packages/mcp/dist/cloud.d.ts +108 -0
  772. package/packages/mcp/dist/cloud.js +279 -0
  773. package/packages/mcp/dist/errors.d.ts +27 -0
  774. package/packages/mcp/dist/errors.js +48 -0
  775. package/packages/mcp/dist/index.d.ts +10 -0
  776. package/packages/mcp/dist/index.js +16 -0
  777. package/packages/mcp/dist/install-cli.d.ts +35 -0
  778. package/packages/mcp/dist/install-cli.js +157 -0
  779. package/packages/mcp/dist/install.d.ts +101 -0
  780. package/packages/mcp/dist/install.js +398 -0
  781. package/packages/mcp/dist/prompts/index.d.ts +2 -0
  782. package/packages/mcp/dist/prompts/index.js +2 -0
  783. package/packages/mcp/dist/prompts/protocol.d.ts +11 -0
  784. package/packages/mcp/dist/prompts/protocol.js +168 -0
  785. package/packages/mcp/dist/resources/agents.d.ts +11 -0
  786. package/packages/mcp/dist/resources/agents.js +17 -0
  787. package/packages/mcp/dist/resources/inbox.d.ts +11 -0
  788. package/packages/mcp/dist/resources/inbox.js +17 -0
  789. package/packages/mcp/dist/resources/index.d.ts +4 -0
  790. package/packages/mcp/dist/resources/index.js +4 -0
  791. package/packages/mcp/dist/resources/project.d.ts +11 -0
  792. package/packages/mcp/dist/resources/project.js +21 -0
  793. package/packages/mcp/dist/server.d.ts +19 -0
  794. package/packages/mcp/dist/server.js +215 -0
  795. package/packages/mcp/dist/simple.d.ts +173 -0
  796. package/packages/mcp/dist/simple.js +120 -0
  797. package/packages/mcp/dist/tools/index.d.ts +10 -0
  798. package/packages/mcp/dist/tools/index.js +10 -0
  799. package/packages/mcp/dist/tools/relay-health.d.ts +23 -0
  800. package/packages/mcp/dist/tools/relay-health.js +138 -0
  801. package/packages/mcp/dist/tools/relay-inbox.d.ts +26 -0
  802. package/packages/mcp/dist/tools/relay-inbox.js +58 -0
  803. package/packages/mcp/dist/tools/relay-logs.d.ts +20 -0
  804. package/packages/mcp/dist/tools/relay-logs.js +88 -0
  805. package/packages/mcp/dist/tools/relay-metrics.d.ts +20 -0
  806. package/packages/mcp/dist/tools/relay-metrics.js +135 -0
  807. package/packages/mcp/dist/tools/relay-release.d.ts +20 -0
  808. package/packages/mcp/dist/tools/relay-release.js +44 -0
  809. package/packages/mcp/dist/tools/relay-send.d.ts +29 -0
  810. package/packages/mcp/dist/tools/relay-send.js +71 -0
  811. package/packages/mcp/dist/tools/relay-spawn.d.ts +36 -0
  812. package/packages/mcp/dist/tools/relay-spawn.js +73 -0
  813. package/packages/mcp/dist/tools/relay-status.d.ts +11 -0
  814. package/packages/mcp/dist/tools/relay-status.js +43 -0
  815. package/packages/mcp/dist/tools/relay-who.d.ts +20 -0
  816. package/packages/mcp/dist/tools/relay-who.js +47 -0
  817. package/packages/mcp/package.json +69 -0
  818. package/packages/memory/dist/memory-hooks.d.ts +60 -0
  819. package/packages/memory/package.json +35 -0
  820. package/packages/policy/dist/agent-policy.js +665 -0
  821. package/packages/policy/dist/index.d.ts +12 -0
  822. package/packages/policy/dist/index.js +12 -0
  823. package/packages/policy/package.json +35 -0
  824. package/packages/protocol/dist/channels.d.ts +137 -0
  825. package/packages/protocol/dist/channels.js +154 -0
  826. package/packages/protocol/dist/framing.d.ts +80 -0
  827. package/packages/protocol/dist/framing.js +206 -0
  828. package/packages/protocol/dist/index.d.ts +5 -0
  829. package/packages/protocol/dist/index.js +5 -0
  830. package/packages/protocol/dist/relay-pty-schemas.d.ts +258 -0
  831. package/packages/protocol/dist/types.d.ts +341 -0
  832. package/packages/protocol/dist/types.js +8 -0
  833. package/packages/protocol/package.json +56 -0
  834. package/packages/resiliency/dist/memory-monitor.js +599 -0
  835. package/packages/resiliency/dist/provider-context.d.ts +100 -0
  836. package/packages/resiliency/package.json +33 -0
  837. package/packages/sdk/README.md +171 -0
  838. package/packages/sdk/dist/client.d.ts +181 -0
  839. package/packages/sdk/dist/client.js +695 -0
  840. package/packages/sdk/dist/index.d.ts +32 -0
  841. package/packages/sdk/dist/index.js +36 -0
  842. package/packages/sdk/dist/protocol/framing.d.ts +80 -0
  843. package/packages/sdk/dist/protocol/framing.js +206 -0
  844. package/packages/sdk/dist/protocol/index.d.ts +6 -0
  845. package/packages/sdk/dist/protocol/index.js +6 -0
  846. package/packages/sdk/dist/protocol/types.d.ts +341 -0
  847. package/packages/sdk/dist/protocol/types.js +8 -0
  848. package/packages/sdk/dist/standalone.d.ts +87 -0
  849. package/packages/sdk/dist/standalone.js +126 -0
  850. package/packages/sdk/package.json +80 -0
  851. package/packages/spawner/API.md +256 -0
  852. package/packages/spawner/dist/index.d.ts +8 -0
  853. package/packages/spawner/dist/index.js +8 -0
  854. package/packages/spawner/dist/types.d.ts +552 -0
  855. package/packages/spawner/dist/types.js +193 -0
  856. package/packages/spawner/package.json +47 -0
  857. package/packages/state/dist/agent-state.js +120 -0
  858. package/packages/state/dist/index.d.ts +8 -0
  859. package/packages/state/dist/index.js +8 -0
  860. package/packages/state/package.json +32 -0
  861. package/packages/storage/dist/adapter.d.ts +156 -0
  862. package/packages/storage/dist/batched-sqlite-adapter.d.ts +75 -0
  863. package/packages/storage/dist/batched-sqlite-adapter.js +189 -0
  864. package/packages/storage/dist/index.d.ts +5 -0
  865. package/packages/storage/dist/index.js +6 -0
  866. package/packages/storage/dist/sqlite-adapter.d.ts +113 -0
  867. package/packages/storage/dist/sqlite-adapter.js +752 -0
  868. package/packages/storage/package.json +69 -0
  869. package/packages/trajectory/dist/index.d.ts +2 -0
  870. package/packages/trajectory/dist/index.js +2 -0
  871. package/packages/trajectory/dist/integration.js +987 -0
  872. package/packages/trajectory/package.json +35 -0
  873. package/packages/user-directory/dist/index.d.ts +7 -0
  874. package/packages/user-directory/dist/index.js +7 -0
  875. package/packages/user-directory/dist/user-directory.d.ts +121 -0
  876. package/packages/user-directory/dist/user-directory.js +267 -0
  877. package/packages/user-directory/package.json +35 -0
  878. package/packages/utils/dist/command-resolver.js +80 -0
  879. package/packages/utils/dist/error-tracking.d.ts +103 -0
  880. package/packages/utils/dist/error-tracking.js +149 -0
  881. package/packages/utils/dist/index.d.ts +9 -0
  882. package/packages/utils/dist/index.js +9 -0
  883. package/packages/utils/dist/model-mapping.d.ts +28 -0
  884. package/packages/utils/dist/model-mapping.js +55 -0
  885. package/packages/utils/package.json +75 -0
  886. package/packages/wrapper/dist/__fixtures__/claude-outputs.d.ts +49 -0
  887. package/packages/wrapper/dist/__fixtures__/claude-outputs.js +443 -0
  888. package/packages/wrapper/dist/__fixtures__/codex-outputs.d.ts +9 -0
  889. package/packages/wrapper/dist/__fixtures__/codex-outputs.js +94 -0
  890. package/packages/wrapper/dist/__fixtures__/gemini-outputs.d.ts +19 -0
  891. package/packages/wrapper/dist/__fixtures__/gemini-outputs.js +144 -0
  892. package/packages/wrapper/dist/__fixtures__/index.d.ts +68 -0
  893. package/packages/wrapper/dist/__fixtures__/index.js +44 -0
  894. package/packages/wrapper/dist/base-wrapper.d.ts +225 -0
  895. package/packages/wrapper/dist/base-wrapper.js +572 -0
  896. package/packages/wrapper/dist/client.d.ts +254 -0
  897. package/packages/wrapper/dist/client.js +801 -0
  898. package/packages/wrapper/dist/id-generator.d.ts +35 -0
  899. package/packages/wrapper/dist/id-generator.js +60 -0
  900. package/packages/wrapper/dist/idle-detector.d.ts +110 -0
  901. package/packages/wrapper/dist/idle-detector.js +304 -0
  902. package/packages/wrapper/dist/index.d.ts +37 -0
  903. package/packages/wrapper/dist/index.js +47 -0
  904. package/packages/wrapper/dist/parser.d.ts +236 -0
  905. package/packages/wrapper/dist/parser.js +1238 -0
  906. package/packages/wrapper/dist/relay-pty-orchestrator.d.ts +407 -0
  907. package/packages/wrapper/dist/relay-pty-orchestrator.js +1885 -0
  908. package/packages/wrapper/dist/shared.d.ts +201 -0
  909. package/packages/wrapper/dist/shared.js +341 -0
  910. package/packages/wrapper/dist/stuck-detector.d.ts +161 -0
  911. package/packages/wrapper/dist/stuck-detector.js +402 -0
  912. package/packages/wrapper/dist/tmux-wrapper.d.ts +345 -0
  913. package/packages/wrapper/dist/tmux-wrapper.js +1747 -0
  914. package/packages/wrapper/dist/trajectory-integration.d.ts +292 -0
  915. package/packages/wrapper/dist/trajectory-integration.js +979 -0
  916. package/packages/wrapper/dist/wrapper-types.d.ts +41 -0
  917. package/packages/wrapper/dist/wrapper-types.js +7 -0
  918. package/packages/wrapper/package.json +63 -0
  919. package/scripts/setup-stripe-products.ts +312 -0
  920. package/scripts/stress-test-orchestrator-integration.mts +1366 -0
  921. package/scripts/stress-test-orchestrator.mjs +584 -0
  922. package/scripts/stress-test-relay-pty.sh +452 -0
  923. package/scripts/verify-schema.js +1 -1
  924. package/turbo.json +37 -0
  925. package/dist/bridge/config.d.ts +0 -41
  926. package/dist/bridge/config.js +0 -143
  927. package/dist/bridge/index.d.ts +0 -10
  928. package/dist/bridge/index.js +0 -10
  929. package/dist/bridge/multi-project-client.d.ts +0 -99
  930. package/dist/bridge/multi-project-client.js +0 -389
  931. package/dist/bridge/shadow-cli.js +0 -75
  932. package/dist/bridge/shadow-config.d.ts +0 -87
  933. package/dist/bridge/spawner.d.ts +0 -167
  934. package/dist/bridge/spawner.js +0 -858
  935. package/dist/bridge/types.d.ts +0 -129
  936. package/dist/bridge/utils.d.ts +0 -30
  937. package/dist/bridge/utils.js +0 -54
  938. package/dist/cli/index.js +0 -2781
  939. package/dist/cloud/api/admin.js +0 -225
  940. package/dist/cloud/api/billing.js +0 -564
  941. package/dist/cloud/api/cli-pty-runner.d.ts +0 -54
  942. package/dist/cloud/api/cli-pty-runner.js +0 -119
  943. package/dist/cloud/api/codex-auth-helper.js +0 -327
  944. package/dist/cloud/api/consensus.js +0 -259
  945. package/dist/cloud/api/coordinators.js +0 -749
  946. package/dist/cloud/api/daemons.js +0 -535
  947. package/dist/cloud/api/generic-webhooks.js +0 -129
  948. package/dist/cloud/api/github-app.js +0 -223
  949. package/dist/cloud/api/monitoring.js +0 -578
  950. package/dist/cloud/api/nango-auth.js +0 -658
  951. package/dist/cloud/api/onboarding.d.ts +0 -15
  952. package/dist/cloud/api/onboarding.js +0 -666
  953. package/dist/cloud/api/policy.js +0 -229
  954. package/dist/cloud/api/provider-env.d.ts +0 -5
  955. package/dist/cloud/api/provider-env.js +0 -27
  956. package/dist/cloud/api/providers.js +0 -511
  957. package/dist/cloud/api/repos.js +0 -576
  958. package/dist/cloud/api/teams.js +0 -279
  959. package/dist/cloud/api/test-helpers.js +0 -745
  960. package/dist/cloud/api/workspaces.js +0 -1783
  961. package/dist/cloud/billing/plans.js +0 -245
  962. package/dist/cloud/config.d.ts +0 -75
  963. package/dist/cloud/config.js +0 -109
  964. package/dist/cloud/db/drizzle.d.ts +0 -246
  965. package/dist/cloud/db/drizzle.js +0 -1249
  966. package/dist/cloud/db/schema.d.ts +0 -4854
  967. package/dist/cloud/db/schema.js +0 -610
  968. package/dist/cloud/index.d.ts +0 -11
  969. package/dist/cloud/index.js +0 -38
  970. package/dist/cloud/provisioner/index.d.ts +0 -207
  971. package/dist/cloud/provisioner/index.js +0 -2069
  972. package/dist/cloud/server.js +0 -1599
  973. package/dist/cloud/services/index.d.ts +0 -17
  974. package/dist/cloud/services/index.js +0 -25
  975. package/dist/cloud/services/intro-expiration.d.ts +0 -55
  976. package/dist/cloud/services/intro-expiration.js +0 -211
  977. package/dist/cloud/services/nango.d.ts +0 -199
  978. package/dist/cloud/services/nango.js +0 -382
  979. package/dist/cloud/services/persistence.d.ts +0 -131
  980. package/dist/config/relay-config.d.ts +0 -23
  981. package/dist/config/relay-config.js +0 -23
  982. package/dist/continuity/index.d.ts +0 -45
  983. package/dist/continuity/index.js +0 -48
  984. package/dist/continuity/types.d.ts +0 -180
  985. package/dist/continuity/types.js +0 -9
  986. package/dist/daemon/agent-manager.d.ts +0 -134
  987. package/dist/daemon/agent-manager.js +0 -564
  988. package/dist/daemon/agent-registry.js +0 -213
  989. package/dist/daemon/api.d.ts +0 -83
  990. package/dist/daemon/api.js +0 -780
  991. package/dist/daemon/channel-membership-store.d.ts +0 -48
  992. package/dist/daemon/channel-membership-store.js +0 -149
  993. package/dist/daemon/cli-auth.d.ts +0 -82
  994. package/dist/daemon/cli-auth.js +0 -700
  995. package/dist/daemon/cloud-sync.d.ts +0 -150
  996. package/dist/daemon/cloud-sync.js +0 -424
  997. package/dist/daemon/connection.d.ts +0 -130
  998. package/dist/daemon/connection.js +0 -438
  999. package/dist/daemon/consensus-integration.js +0 -371
  1000. package/dist/daemon/delivery-tracker.d.ts +0 -34
  1001. package/dist/daemon/delivery-tracker.js +0 -104
  1002. package/dist/daemon/enhanced-features.d.ts +0 -118
  1003. package/dist/daemon/enhanced-features.js +0 -178
  1004. package/dist/daemon/index.d.ts +0 -14
  1005. package/dist/daemon/index.js +0 -17
  1006. package/dist/daemon/orchestrator.d.ts +0 -157
  1007. package/dist/daemon/orchestrator.js +0 -792
  1008. package/dist/daemon/repo-manager.js +0 -384
  1009. package/dist/daemon/router.d.ts +0 -332
  1010. package/dist/daemon/router.js +0 -1259
  1011. package/dist/daemon/server.d.ts +0 -148
  1012. package/dist/daemon/server.js +0 -773
  1013. package/dist/daemon/services/browser-testing.d.ts +0 -88
  1014. package/dist/daemon/services/browser-testing.js +0 -244
  1015. package/dist/daemon/services/container-spawner.d.ts +0 -135
  1016. package/dist/daemon/services/container-spawner.js +0 -313
  1017. package/dist/daemon/sync-queue.d.ts +0 -116
  1018. package/dist/daemon/sync-queue.js +0 -361
  1019. package/dist/daemon/types.d.ts +0 -131
  1020. package/dist/daemon/user-directory.d.ts +0 -111
  1021. package/dist/daemon/user-directory.js +0 -233
  1022. package/dist/daemon/workspace-manager.js +0 -314
  1023. package/dist/dashboard/out/_next/static/chunks/116-eacf84a131b80db9.js +0 -1
  1024. package/dist/dashboard/out/_next/static/chunks/64-f4268c2ac6f4d7d4.js +0 -1
  1025. package/dist/dashboard/out/_next/static/chunks/766-aa7c8c9900ff5f53.js +0 -1
  1026. package/dist/dashboard/out/_next/static/chunks/891-a024fbe4b619cf6f.js +0 -1
  1027. package/dist/dashboard/out/_next/static/chunks/app/app/page-ffad986adfcc8b31.js +0 -1
  1028. package/dist/dashboard/out/_next/static/chunks/app/page-671037943b2f2e43.js +0 -1
  1029. package/dist/dashboard/out/_next/static/chunks/app/providers/page-57cbd738c6a73859.js +0 -1
  1030. package/dist/dashboard/out/_next/static/chunks/app/providers/setup/[provider]/page-5ab0854472b402b0.js +0 -1
  1031. package/dist/dashboard/out/_next/static/css/8f9ed310f454e5a5.css +0 -1
  1032. package/dist/dashboard-server/server.d.ts +0 -15
  1033. package/dist/dashboard-server/server.js +0 -4799
  1034. package/dist/dashboard-server/start.js +0 -13
  1035. package/dist/dashboard-server/user-bridge.d.ts +0 -138
  1036. package/dist/dashboard-server/user-bridge.js +0 -348
  1037. package/dist/hooks/index.d.ts +0 -10
  1038. package/dist/hooks/index.js +0 -10
  1039. package/dist/hooks/registry.js +0 -476
  1040. package/dist/hooks/trajectory-hooks.js +0 -183
  1041. package/dist/hooks/types.d.ts +0 -284
  1042. package/dist/hooks/types.js +0 -8
  1043. package/dist/index.d.ts +0 -13
  1044. package/dist/index.js +0 -16
  1045. package/dist/memory/memory-hooks.d.ts +0 -60
  1046. package/dist/policy/agent-policy.js +0 -665
  1047. package/dist/protocol/channels.d.ts +0 -211
  1048. package/dist/protocol/channels.js +0 -154
  1049. package/dist/protocol/framing.d.ts +0 -94
  1050. package/dist/protocol/framing.js +0 -240
  1051. package/dist/protocol/index.d.ts +0 -4
  1052. package/dist/protocol/index.js +0 -4
  1053. package/dist/protocol/relay-pty-schemas.d.ts +0 -209
  1054. package/dist/protocol/types.d.ts +0 -168
  1055. package/dist/protocol/types.js +0 -6
  1056. package/dist/resiliency/memory-monitor.js +0 -593
  1057. package/dist/resiliency/provider-context.d.ts +0 -100
  1058. package/dist/shared/cli-auth-config.js +0 -320
  1059. package/dist/state/agent-state.js +0 -120
  1060. package/dist/storage/adapter.d.ts +0 -154
  1061. package/dist/storage/batched-sqlite-adapter.d.ts +0 -71
  1062. package/dist/storage/batched-sqlite-adapter.js +0 -183
  1063. package/dist/storage/sqlite-adapter.d.ts +0 -107
  1064. package/dist/storage/sqlite-adapter.js +0 -717
  1065. package/dist/trajectory/config.d.ts +0 -102
  1066. package/dist/trajectory/config.js +0 -185
  1067. package/dist/trajectory/index.d.ts +0 -8
  1068. package/dist/trajectory/index.js +0 -8
  1069. package/dist/trajectory/integration.js +0 -987
  1070. package/dist/utils/command-resolver.js +0 -76
  1071. package/dist/utils/index.d.ts +0 -4
  1072. package/dist/utils/index.js +0 -4
  1073. package/dist/utils/project-namespace.d.ts +0 -70
  1074. package/dist/utils/project-namespace.js +0 -216
  1075. package/dist/wrapper/base-wrapper.d.ts +0 -217
  1076. package/dist/wrapper/base-wrapper.js +0 -538
  1077. package/dist/wrapper/client.d.ts +0 -199
  1078. package/dist/wrapper/client.js +0 -677
  1079. package/dist/wrapper/idle-detector.d.ts +0 -102
  1080. package/dist/wrapper/idle-detector.js +0 -279
  1081. package/dist/wrapper/index.d.ts +0 -4
  1082. package/dist/wrapper/index.js +0 -7
  1083. package/dist/wrapper/parser.d.ts +0 -230
  1084. package/dist/wrapper/parser.js +0 -1178
  1085. package/dist/wrapper/pty-wrapper.d.ts +0 -343
  1086. package/dist/wrapper/pty-wrapper.js +0 -1593
  1087. package/dist/wrapper/relay-pty-orchestrator.d.ts +0 -272
  1088. package/dist/wrapper/relay-pty-orchestrator.js +0 -1023
  1089. package/dist/wrapper/shared.d.ts +0 -165
  1090. package/dist/wrapper/shared.js +0 -290
  1091. package/dist/wrapper/stuck-detector.d.ts +0 -101
  1092. package/dist/wrapper/stuck-detector.js +0 -228
  1093. package/dist/wrapper/tmux-wrapper.d.ts +0 -344
  1094. package/dist/wrapper/tmux-wrapper.js +0 -1711
  1095. /package/dist/dashboard/out/_next/static/{GJBDsC7hXtM9tz8MXWjHf → ZCFjHbkF8yDKS2md3lVgb}/_buildManifest.js +0 -0
  1096. /package/dist/dashboard/out/_next/static/{GJBDsC7hXtM9tz8MXWjHf → ZCFjHbkF8yDKS2md3lVgb}/_ssgManifest.js +0 -0
  1097. /package/dist/dashboard/out/_next/static/chunks/app/cloud/link/{page-cfeb437f08a12ed9.js → page-5011ae044b90449d.js} +0 -0
  1098. /package/dist/dashboard/out/_next/static/chunks/app/history/{page-240f91e8b06ba8ac.js → page-b2ce7c96ed0931da.js} +0 -0
  1099. /package/dist/dashboard/out/_next/static/chunks/app/metrics/{page-82938ab8fcf44694.js → page-bf2cb1e5915bc92d.js} +0 -0
  1100. /package/dist/{cli → src/cli}/index.d.ts +0 -0
  1101. /package/dist/{health-worker-manager.d.ts → src/health-worker-manager.d.ts} +0 -0
  1102. /package/dist/{health-worker-manager.js → src/health-worker-manager.js} +0 -0
  1103. /package/dist/{health-worker.d.ts → src/health-worker.d.ts} +0 -0
  1104. /package/dist/{health-worker.js → src/health-worker.js} +0 -0
  1105. /package/{dist/bridge → packages/bridge/dist}/shadow-cli.d.ts +0 -0
  1106. /package/{dist/bridge → packages/bridge/dist}/types.js +0 -0
  1107. /package/{dist/cloud → packages/cloud/dist}/api/admin.d.ts +0 -0
  1108. /package/{dist/cloud → packages/cloud/dist}/api/auth.d.ts +0 -0
  1109. /package/{dist/cloud → packages/cloud/dist}/api/auth.js +0 -0
  1110. /package/{dist/cloud → packages/cloud/dist}/api/billing.d.ts +0 -0
  1111. /package/{dist/cloud → packages/cloud/dist}/api/codex-auth-helper.d.ts +0 -0
  1112. /package/{dist/cloud → packages/cloud/dist}/api/consensus.d.ts +0 -0
  1113. /package/{dist/cloud → packages/cloud/dist}/api/coordinators.d.ts +0 -0
  1114. /package/{dist/cloud → packages/cloud/dist}/api/daemons.d.ts +0 -0
  1115. /package/{dist/cloud → packages/cloud/dist}/api/generic-webhooks.d.ts +0 -0
  1116. /package/{dist/cloud → packages/cloud/dist}/api/git.d.ts +0 -0
  1117. /package/{dist/cloud → packages/cloud/dist}/api/git.js +0 -0
  1118. /package/{dist/cloud → packages/cloud/dist}/api/github-app.d.ts +0 -0
  1119. /package/{dist/cloud → packages/cloud/dist}/api/middleware/planLimits.d.ts +0 -0
  1120. /package/{dist/cloud → packages/cloud/dist}/api/middleware/planLimits.js +0 -0
  1121. /package/{dist/cloud → packages/cloud/dist}/api/monitoring.d.ts +0 -0
  1122. /package/{dist/cloud → packages/cloud/dist}/api/nango-auth.d.ts +0 -0
  1123. /package/{dist/cloud → packages/cloud/dist}/api/policy.d.ts +0 -0
  1124. /package/{dist/cloud → packages/cloud/dist}/api/providers.d.ts +0 -0
  1125. /package/{dist/cloud → packages/cloud/dist}/api/repos.d.ts +0 -0
  1126. /package/{dist/cloud → packages/cloud/dist}/api/teams.d.ts +0 -0
  1127. /package/{dist/cloud → packages/cloud/dist}/api/test-helpers.d.ts +0 -0
  1128. /package/{dist/cloud → packages/cloud/dist}/api/usage.d.ts +0 -0
  1129. /package/{dist/cloud → packages/cloud/dist}/api/usage.js +0 -0
  1130. /package/{dist/cloud → packages/cloud/dist}/api/webhooks.d.ts +0 -0
  1131. /package/{dist/cloud → packages/cloud/dist}/api/webhooks.js +0 -0
  1132. /package/{dist/cloud → packages/cloud/dist}/api/workspaces.d.ts +0 -0
  1133. /package/{dist/cloud → packages/cloud/dist}/billing/index.d.ts +0 -0
  1134. /package/{dist/cloud → packages/cloud/dist}/billing/index.js +0 -0
  1135. /package/{dist/cloud → packages/cloud/dist}/billing/plans.d.ts +0 -0
  1136. /package/{dist/cloud → packages/cloud/dist}/billing/service.d.ts +0 -0
  1137. /package/{dist/cloud → packages/cloud/dist}/billing/service.js +0 -0
  1138. /package/{dist/cloud → packages/cloud/dist}/billing/types.d.ts +0 -0
  1139. /package/{dist/cloud → packages/cloud/dist}/billing/types.js +0 -0
  1140. /package/{dist/cloud → packages/cloud/dist}/db/bulk-ingest.d.ts +0 -0
  1141. /package/{dist/cloud → packages/cloud/dist}/db/bulk-ingest.js +0 -0
  1142. /package/{dist/cloud → packages/cloud/dist}/db/index.d.ts +0 -0
  1143. /package/{dist/cloud → packages/cloud/dist}/db/index.js +0 -0
  1144. /package/{dist/cloud → packages/cloud/dist}/server.d.ts +0 -0
  1145. /package/{dist/cloud → packages/cloud/dist}/services/auto-scaler.d.ts +0 -0
  1146. /package/{dist/cloud → packages/cloud/dist}/services/auto-scaler.js +0 -0
  1147. /package/{dist/cloud → packages/cloud/dist}/services/capacity-manager.d.ts +0 -0
  1148. /package/{dist/cloud → packages/cloud/dist}/services/capacity-manager.js +0 -0
  1149. /package/{dist/cloud → packages/cloud/dist}/services/ci-agent-spawner.d.ts +0 -0
  1150. /package/{dist/cloud → packages/cloud/dist}/services/ci-agent-spawner.js +0 -0
  1151. /package/{dist/cloud → packages/cloud/dist}/services/cloud-message-bus.d.ts +0 -0
  1152. /package/{dist/cloud → packages/cloud/dist}/services/cloud-message-bus.js +0 -0
  1153. /package/{dist/cloud → packages/cloud/dist}/services/compute-enforcement.d.ts +0 -0
  1154. /package/{dist/cloud → packages/cloud/dist}/services/compute-enforcement.js +0 -0
  1155. /package/{dist/cloud → packages/cloud/dist}/services/coordinator.d.ts +0 -0
  1156. /package/{dist/cloud → packages/cloud/dist}/services/coordinator.js +0 -0
  1157. /package/{dist/cloud → packages/cloud/dist}/services/mention-handler.d.ts +0 -0
  1158. /package/{dist/cloud → packages/cloud/dist}/services/mention-handler.js +0 -0
  1159. /package/{dist/cloud → packages/cloud/dist}/services/persistence.js +0 -0
  1160. /package/{dist/cloud → packages/cloud/dist}/services/planLimits.d.ts +0 -0
  1161. /package/{dist/cloud → packages/cloud/dist}/services/planLimits.js +0 -0
  1162. /package/{dist/cloud → packages/cloud/dist}/services/presence-registry.d.ts +0 -0
  1163. /package/{dist/cloud → packages/cloud/dist}/services/presence-registry.js +0 -0
  1164. /package/{dist/cloud → packages/cloud/dist}/services/scaling-orchestrator.d.ts +0 -0
  1165. /package/{dist/cloud → packages/cloud/dist}/services/scaling-orchestrator.js +0 -0
  1166. /package/{dist/cloud → packages/cloud/dist}/services/scaling-policy.d.ts +0 -0
  1167. /package/{dist/cloud → packages/cloud/dist}/services/scaling-policy.js +0 -0
  1168. /package/{dist/cloud → packages/cloud/dist}/services/ssh-security.d.ts +0 -0
  1169. /package/{dist/cloud → packages/cloud/dist}/services/ssh-security.js +0 -0
  1170. /package/{dist/cloud → packages/cloud/dist}/services/workspace-keepalive.d.ts +0 -0
  1171. /package/{dist/cloud → packages/cloud/dist}/services/workspace-keepalive.js +0 -0
  1172. /package/{dist/cloud → packages/cloud/dist}/webhooks/index.d.ts +0 -0
  1173. /package/{dist/cloud → packages/cloud/dist}/webhooks/index.js +0 -0
  1174. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/github.d.ts +0 -0
  1175. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/github.js +0 -0
  1176. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/index.d.ts +0 -0
  1177. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/index.js +0 -0
  1178. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/linear.d.ts +0 -0
  1179. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/linear.js +0 -0
  1180. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/slack.d.ts +0 -0
  1181. /package/{dist/cloud → packages/cloud/dist}/webhooks/parsers/slack.js +0 -0
  1182. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/github.d.ts +0 -0
  1183. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/github.js +0 -0
  1184. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/index.d.ts +0 -0
  1185. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/index.js +0 -0
  1186. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/linear.d.ts +0 -0
  1187. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/linear.js +0 -0
  1188. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/slack.d.ts +0 -0
  1189. /package/{dist/cloud → packages/cloud/dist}/webhooks/responders/slack.js +0 -0
  1190. /package/{dist/cloud → packages/cloud/dist}/webhooks/router.d.ts +0 -0
  1191. /package/{dist/cloud → packages/cloud/dist}/webhooks/router.js +0 -0
  1192. /package/{dist/cloud → packages/cloud/dist}/webhooks/rules-engine.d.ts +0 -0
  1193. /package/{dist/cloud → packages/cloud/dist}/webhooks/rules-engine.js +0 -0
  1194. /package/{dist/cloud → packages/cloud/dist}/webhooks/types.d.ts +0 -0
  1195. /package/{dist/cloud → packages/cloud/dist}/webhooks/types.js +0 -0
  1196. /package/{dist/utils → packages/config/dist}/agent-config.d.ts +0 -0
  1197. /package/{dist/utils → packages/config/dist}/agent-config.js +0 -0
  1198. /package/{dist/shared → packages/config/dist}/cli-auth-config.d.ts +0 -0
  1199. /package/{dist/bridge → packages/config/dist}/shadow-config.js +0 -0
  1200. /package/{dist/bridge → packages/config/dist}/teams-config.d.ts +0 -0
  1201. /package/{dist/bridge → packages/config/dist}/teams-config.js +0 -0
  1202. /package/{dist/continuity → packages/continuity/dist}/formatter.d.ts +0 -0
  1203. /package/{dist/continuity → packages/continuity/dist}/formatter.js +0 -0
  1204. /package/{dist/continuity → packages/continuity/dist}/handoff-store.d.ts +0 -0
  1205. /package/{dist/continuity → packages/continuity/dist}/handoff-store.js +0 -0
  1206. /package/{dist/continuity → packages/continuity/dist}/ledger-store.d.ts +0 -0
  1207. /package/{dist/continuity → packages/continuity/dist}/ledger-store.js +0 -0
  1208. /package/{dist/continuity → packages/continuity/dist}/manager.d.ts +0 -0
  1209. /package/{dist/continuity → packages/continuity/dist}/manager.js +0 -0
  1210. /package/{dist/continuity → packages/continuity/dist}/parser.d.ts +0 -0
  1211. /package/{dist/continuity → packages/continuity/dist}/parser.js +0 -0
  1212. /package/{dist/daemon → packages/daemon/dist}/agent-registry.d.ts +0 -0
  1213. /package/{dist/daemon → packages/daemon/dist}/agent-signing.d.ts +0 -0
  1214. /package/{dist/daemon → packages/daemon/dist}/agent-signing.js +0 -0
  1215. /package/{dist/daemon → packages/daemon/dist}/auth.d.ts +0 -0
  1216. /package/{dist/daemon → packages/daemon/dist}/auth.js +0 -0
  1217. /package/{dist/daemon → packages/daemon/dist}/consensus-integration.d.ts +0 -0
  1218. /package/{dist/daemon → packages/daemon/dist}/consensus.d.ts +0 -0
  1219. /package/{dist/daemon → packages/daemon/dist}/consensus.js +0 -0
  1220. /package/{dist/daemon → packages/daemon/dist}/rate-limiter.d.ts +0 -0
  1221. /package/{dist/daemon → packages/daemon/dist}/rate-limiter.js +0 -0
  1222. /package/{dist/daemon → packages/daemon/dist}/registry.d.ts +0 -0
  1223. /package/{dist/daemon → packages/daemon/dist}/registry.js +0 -0
  1224. /package/{dist/daemon → packages/daemon/dist}/repo-manager.d.ts +0 -0
  1225. /package/{dist/daemon → packages/daemon/dist}/types.js +0 -0
  1226. /package/{dist/daemon → packages/daemon/dist}/workspace-manager.d.ts +0 -0
  1227. /package/{dist/dashboard-server → packages/dashboard-server/dist}/metrics.d.ts +0 -0
  1228. /package/{dist/dashboard-server → packages/dashboard-server/dist}/metrics.js +0 -0
  1229. /package/{dist/dashboard-server → packages/dashboard-server/dist}/needs-attention.d.ts +0 -0
  1230. /package/{dist/dashboard-server → packages/dashboard-server/dist}/needs-attention.js +0 -0
  1231. /package/{dist/dashboard-server → packages/dashboard-server/dist}/start.d.ts +0 -0
  1232. /package/{dist/hooks → packages/hooks/dist}/emitter.d.ts +0 -0
  1233. /package/{dist/hooks → packages/hooks/dist}/emitter.js +0 -0
  1234. /package/{dist/hooks → packages/hooks/dist}/inbox-check/hook.d.ts +0 -0
  1235. /package/{dist/hooks → packages/hooks/dist}/inbox-check/hook.js +0 -0
  1236. /package/{dist/hooks → packages/hooks/dist}/inbox-check/index.d.ts +0 -0
  1237. /package/{dist/hooks → packages/hooks/dist}/inbox-check/index.js +0 -0
  1238. /package/{dist/hooks → packages/hooks/dist}/inbox-check/types.d.ts +0 -0
  1239. /package/{dist/hooks → packages/hooks/dist}/inbox-check/types.js +0 -0
  1240. /package/{dist/hooks → packages/hooks/dist}/inbox-check/utils.d.ts +0 -0
  1241. /package/{dist/hooks → packages/hooks/dist}/inbox-check/utils.js +0 -0
  1242. /package/{dist/hooks → packages/hooks/dist}/registry.d.ts +0 -0
  1243. /package/{dist/hooks → packages/hooks/dist}/trajectory-hooks.d.ts +0 -0
  1244. /package/{dist/memory → packages/memory/dist}/adapters/index.d.ts +0 -0
  1245. /package/{dist/memory → packages/memory/dist}/adapters/index.js +0 -0
  1246. /package/{dist/memory → packages/memory/dist}/adapters/inmemory.d.ts +0 -0
  1247. /package/{dist/memory → packages/memory/dist}/adapters/inmemory.js +0 -0
  1248. /package/{dist/memory → packages/memory/dist}/adapters/supermemory.d.ts +0 -0
  1249. /package/{dist/memory → packages/memory/dist}/adapters/supermemory.js +0 -0
  1250. /package/{dist/memory → packages/memory/dist}/context-compaction.d.ts +0 -0
  1251. /package/{dist/memory → packages/memory/dist}/context-compaction.js +0 -0
  1252. /package/{dist/memory → packages/memory/dist}/factory.d.ts +0 -0
  1253. /package/{dist/memory → packages/memory/dist}/factory.js +0 -0
  1254. /package/{dist/memory → packages/memory/dist}/index.d.ts +0 -0
  1255. /package/{dist/memory → packages/memory/dist}/index.js +0 -0
  1256. /package/{dist/memory → packages/memory/dist}/memory-hooks.js +0 -0
  1257. /package/{dist/memory → packages/memory/dist}/service.d.ts +0 -0
  1258. /package/{dist/memory → packages/memory/dist}/service.js +0 -0
  1259. /package/{dist/memory → packages/memory/dist}/types.d.ts +0 -0
  1260. /package/{dist/memory → packages/memory/dist}/types.js +0 -0
  1261. /package/{dist/policy → packages/policy/dist}/agent-policy.d.ts +0 -0
  1262. /package/{dist/policy → packages/policy/dist}/cloud-policy-fetcher.d.ts +0 -0
  1263. /package/{dist/policy → packages/policy/dist}/cloud-policy-fetcher.js +0 -0
  1264. /package/{dist/utils → packages/protocol/dist}/id-generator.d.ts +0 -0
  1265. /package/{dist/utils → packages/protocol/dist}/id-generator.js +0 -0
  1266. /package/{dist/protocol → packages/protocol/dist}/relay-pty-schemas.js +0 -0
  1267. /package/{dist/resiliency → packages/resiliency/dist}/context-persistence.d.ts +0 -0
  1268. /package/{dist/resiliency → packages/resiliency/dist}/context-persistence.js +0 -0
  1269. /package/{dist/resiliency → packages/resiliency/dist}/crash-insights.d.ts +0 -0
  1270. /package/{dist/resiliency → packages/resiliency/dist}/crash-insights.js +0 -0
  1271. /package/{dist/resiliency → packages/resiliency/dist}/gossip-health.d.ts +0 -0
  1272. /package/{dist/resiliency → packages/resiliency/dist}/gossip-health.js +0 -0
  1273. /package/{dist/resiliency → packages/resiliency/dist}/health-monitor.d.ts +0 -0
  1274. /package/{dist/resiliency → packages/resiliency/dist}/health-monitor.js +0 -0
  1275. /package/{dist/resiliency → packages/resiliency/dist}/index.d.ts +0 -0
  1276. /package/{dist/resiliency → packages/resiliency/dist}/index.js +0 -0
  1277. /package/{dist/resiliency → packages/resiliency/dist}/leader-watchdog.d.ts +0 -0
  1278. /package/{dist/resiliency → packages/resiliency/dist}/leader-watchdog.js +0 -0
  1279. /package/{dist/resiliency → packages/resiliency/dist}/logger.d.ts +0 -0
  1280. /package/{dist/resiliency → packages/resiliency/dist}/logger.js +0 -0
  1281. /package/{dist/resiliency → packages/resiliency/dist}/memory-monitor.d.ts +0 -0
  1282. /package/{dist/resiliency → packages/resiliency/dist}/metrics.d.ts +0 -0
  1283. /package/{dist/resiliency → packages/resiliency/dist}/metrics.js +0 -0
  1284. /package/{dist/resiliency → packages/resiliency/dist}/provider-context.js +0 -0
  1285. /package/{dist/resiliency → packages/resiliency/dist}/stateless-lead.d.ts +0 -0
  1286. /package/{dist/resiliency → packages/resiliency/dist}/stateless-lead.js +0 -0
  1287. /package/{dist/resiliency → packages/resiliency/dist}/supervisor.d.ts +0 -0
  1288. /package/{dist/resiliency → packages/resiliency/dist}/supervisor.js +0 -0
  1289. /package/{dist/state → packages/state/dist}/agent-state.d.ts +0 -0
  1290. /package/{dist/storage → packages/storage/dist}/adapter.js +0 -0
  1291. /package/{dist/storage → packages/storage/dist}/dead-letter-queue.d.ts +0 -0
  1292. /package/{dist/storage → packages/storage/dist}/dead-letter-queue.js +0 -0
  1293. /package/{dist/storage → packages/storage/dist}/dlq-adapter.d.ts +0 -0
  1294. /package/{dist/storage → packages/storage/dist}/dlq-adapter.js +0 -0
  1295. /package/{dist/trajectory → packages/trajectory/dist}/integration.d.ts +0 -0
  1296. /package/{dist/utils → packages/utils/dist}/command-resolver.d.ts +0 -0
  1297. /package/{dist/utils → packages/utils/dist}/git-remote.d.ts +0 -0
  1298. /package/{dist/utils → packages/utils/dist}/git-remote.js +0 -0
  1299. /package/{dist/utils → packages/utils/dist}/logger.d.ts +0 -0
  1300. /package/{dist/utils → packages/utils/dist}/logger.js +0 -0
  1301. /package/{dist/utils → packages/utils/dist}/name-generator.d.ts +0 -0
  1302. /package/{dist/utils → packages/utils/dist}/name-generator.js +0 -0
  1303. /package/{dist/utils → packages/utils/dist}/precompiled-patterns.d.ts +0 -0
  1304. /package/{dist/utils → packages/utils/dist}/precompiled-patterns.js +0 -0
  1305. /package/{dist/utils → packages/utils/dist}/update-checker.d.ts +0 -0
  1306. /package/{dist/utils → packages/utils/dist}/update-checker.js +0 -0
  1307. /package/{dist/wrapper → packages/wrapper/dist}/auth-detection.d.ts +0 -0
  1308. /package/{dist/wrapper → packages/wrapper/dist}/auth-detection.js +0 -0
  1309. /package/{dist/wrapper → packages/wrapper/dist}/inbox.d.ts +0 -0
  1310. /package/{dist/wrapper → packages/wrapper/dist}/inbox.js +0 -0
  1311. /package/{dist/wrapper → packages/wrapper/dist}/prompt-composer.d.ts +0 -0
  1312. /package/{dist/wrapper → packages/wrapper/dist}/prompt-composer.js +0 -0
  1313. /package/{dist/utils → packages/wrapper/dist}/tmux-resolver.d.ts +0 -0
  1314. /package/{dist/utils → packages/wrapper/dist}/tmux-resolver.js +0 -0
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Shared types and utilities for TmuxWrapper and PtyWrapper
3
+ *
4
+ * This module contains common code to prevent drift between the two
5
+ * wrapper implementations and reduce duplication.
6
+ */
7
+ import type { SyncMeta } from '@agent-relay/protocol/types';
8
+ /**
9
+ * Message queued for injection into an agent's terminal
10
+ */
11
+ export interface QueuedMessage {
12
+ from: string;
13
+ body: string;
14
+ messageId: string;
15
+ thread?: string;
16
+ importance?: number;
17
+ data?: Record<string, unknown>;
18
+ sync?: SyncMeta;
19
+ /** Original 'to' field - '*' indicates broadcast */
20
+ originalTo?: string;
21
+ }
22
+ /**
23
+ * Result of an injection attempt with retry
24
+ */
25
+ export interface InjectionResult {
26
+ success: boolean;
27
+ attempts: number;
28
+ fallbackUsed?: boolean;
29
+ }
30
+ /**
31
+ * Metrics tracking injection reliability
32
+ */
33
+ export interface InjectionMetrics {
34
+ total: number;
35
+ successFirstTry: number;
36
+ successWithRetry: number;
37
+ failed: number;
38
+ }
39
+ /**
40
+ * CLI types for special handling
41
+ */
42
+ export type CliType = 'claude' | 'codex' | 'gemini' | 'droid' | 'opencode' | 'cursor' | 'spawned' | 'other';
43
+ /**
44
+ * Injection timing constants
45
+ *
46
+ * Performance tuning (2024-01):
47
+ * - QUEUE_PROCESS_DELAY_MS: 500ms → 100ms (5x faster message throughput)
48
+ * - STABILITY_POLL_MS: 200ms → 100ms (faster idle detection)
49
+ * - ENTER_DELAY_MS: 100ms → 50ms (faster message completion)
50
+ * - RETRY_BACKOFF_MS: 300ms → 200ms (faster recovery)
51
+ *
52
+ * Use AdaptiveThrottle class for dynamic backpressure handling.
53
+ */
54
+ export declare const INJECTION_CONSTANTS: {
55
+ /** Maximum retry attempts for injection */
56
+ readonly MAX_RETRIES: 3;
57
+ /** Timeout for output stability check (ms) */
58
+ readonly STABILITY_TIMEOUT_MS: 3000;
59
+ /** Polling interval for stability check (ms) - reduced from 200ms */
60
+ readonly STABILITY_POLL_MS: 100;
61
+ /** Required consecutive stable polls before injection */
62
+ readonly REQUIRED_STABLE_POLLS: 2;
63
+ /** Timeout for injection verification (ms) */
64
+ readonly VERIFICATION_TIMEOUT_MS: 2000;
65
+ /** Delay between message and Enter key (ms) - reduced from 100ms */
66
+ readonly ENTER_DELAY_MS: 50;
67
+ /** Backoff multiplier for retries (ms per attempt) - reduced from 300ms */
68
+ readonly RETRY_BACKOFF_MS: 200;
69
+ /** Base delay between processing queued messages (ms) - reduced from 500ms */
70
+ readonly QUEUE_PROCESS_DELAY_MS: 100;
71
+ /** Maximum delay when under backpressure (ms) */
72
+ readonly QUEUE_PROCESS_DELAY_MAX_MS: 500;
73
+ /** Threshold for increasing delay (consecutive failures) */
74
+ readonly BACKPRESSURE_THRESHOLD: 2;
75
+ };
76
+ /**
77
+ * Adaptive throttle for message queue processing.
78
+ * Increases delay when failures occur, decreases on success.
79
+ *
80
+ * This allows fast messaging under normal conditions (~100ms between messages)
81
+ * while automatically backing off when the system is under stress.
82
+ */
83
+ export declare class AdaptiveThrottle {
84
+ private consecutiveFailures;
85
+ private currentDelay;
86
+ /** Get current delay in milliseconds */
87
+ getDelay(): number;
88
+ /** Record a successful injection - decrease delay */
89
+ recordSuccess(): void;
90
+ /** Record a failed injection - increase delay if threshold exceeded */
91
+ recordFailure(): void;
92
+ /** Reset to default state */
93
+ reset(): void;
94
+ }
95
+ /**
96
+ * Strip ANSI escape codes from a string.
97
+ * Converts cursor movements to spaces to preserve visual layout.
98
+ */
99
+ export declare function stripAnsi(str: string): string;
100
+ /**
101
+ * Sleep for a given number of milliseconds
102
+ */
103
+ export declare function sleep(ms: number): Promise<void>;
104
+ /**
105
+ * Build the injection string for a relay message.
106
+ * Format: Relay message from {from} [{shortId}]{hints}: {body}
107
+ *
108
+ * If the body is already formatted (starts with "Relay message from"),
109
+ * returns it as-is to prevent double-wrapping.
110
+ */
111
+ export declare function buildInjectionString(msg: QueuedMessage): string;
112
+ /**
113
+ * Calculate injection success rate from metrics
114
+ */
115
+ export declare function calculateSuccessRate(metrics: InjectionMetrics): number;
116
+ /**
117
+ * Create a fresh injection metrics object
118
+ */
119
+ export declare function createInjectionMetrics(): InjectionMetrics;
120
+ /**
121
+ * Detect CLI type from command string
122
+ */
123
+ export declare function detectCliType(command: string): CliType;
124
+ /**
125
+ * Get the default relay prefix (unified for all agent types)
126
+ */
127
+ export declare function getDefaultRelayPrefix(): string;
128
+ /**
129
+ * CLI-specific quirks and handling
130
+ */
131
+ export declare const CLI_QUIRKS: {
132
+ /**
133
+ * CLIs that support bracketed paste mode.
134
+ * Others may interpret the escape sequences literally.
135
+ */
136
+ readonly supportsBracketedPaste: (cli: CliType) => boolean;
137
+ /**
138
+ * Gemini interprets certain keywords (While, For, If, etc.) as shell commands.
139
+ * Wrap message in backticks to prevent shell keyword interpretation.
140
+ */
141
+ readonly wrapForGemini: (body: string) => string;
142
+ /**
143
+ * Get prompt pattern regex for a CLI type.
144
+ * Used to detect when input line is clear.
145
+ */
146
+ readonly getPromptPattern: (cli: CliType) => RegExp;
147
+ /**
148
+ * Check if a line looks like a shell prompt (for Gemini safety check).
149
+ * Gemini can drop into shell mode - we skip injection to avoid executing commands.
150
+ */
151
+ readonly isShellPrompt: (line: string) => boolean;
152
+ };
153
+ /**
154
+ * Callbacks for wrapper-specific injection operations.
155
+ * These allow the shared injection logic to work with both
156
+ * TmuxWrapper (tmux paste) and PtyWrapper (PTY write).
157
+ */
158
+ export interface InjectionCallbacks {
159
+ /** Get current output content for verification */
160
+ getOutput: () => Promise<string>;
161
+ /** Perform the actual injection (write to terminal) */
162
+ performInjection: (injection: string) => Promise<void>;
163
+ /** Log a message (debug/info level) */
164
+ log: (message: string) => void;
165
+ /** Log an error message */
166
+ logError: (message: string) => void;
167
+ /** Get the injection metrics object to update */
168
+ getMetrics: () => InjectionMetrics;
169
+ /**
170
+ * Skip verification and trust that write succeeded.
171
+ * Set to true for PTY-based injection where CLIs don't echo input.
172
+ * When true, injection succeeds on first attempt without verification.
173
+ */
174
+ skipVerification?: boolean;
175
+ }
176
+ /**
177
+ * Verify that an injected message appeared in the output.
178
+ * Uses a callback to get output content, allowing different backends
179
+ * (tmux capture-pane, PTY buffer) to be used.
180
+ *
181
+ * @param shortId - First 8 chars of message ID
182
+ * @param from - Sender name
183
+ * @param getOutput - Callback to retrieve current output
184
+ * @returns true if message pattern found in output
185
+ */
186
+ export declare function verifyInjection(shortId: string, from: string, getOutput: () => Promise<string>): Promise<boolean>;
187
+ /**
188
+ * Inject a message with retry logic and verification.
189
+ * Includes dedup check to prevent double-injection race condition.
190
+ *
191
+ * This consolidates the retry/verification logic that was duplicated
192
+ * in TmuxWrapper and PtyWrapper.
193
+ *
194
+ * @param injection - The formatted injection string
195
+ * @param shortId - First 8 chars of message ID for verification
196
+ * @param from - Sender name for verification pattern
197
+ * @param callbacks - Wrapper-specific callbacks for injection operations
198
+ * @returns Result indicating success/failure and attempt count
199
+ */
200
+ export declare function injectWithRetry(injection: string, shortId: string, from: string, callbacks: InjectionCallbacks): Promise<InjectionResult>;
201
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Shared types and utilities for TmuxWrapper and PtyWrapper
3
+ *
4
+ * This module contains common code to prevent drift between the two
5
+ * wrapper implementations and reduce duplication.
6
+ */
7
+ /**
8
+ * Injection timing constants
9
+ *
10
+ * Performance tuning (2024-01):
11
+ * - QUEUE_PROCESS_DELAY_MS: 500ms → 100ms (5x faster message throughput)
12
+ * - STABILITY_POLL_MS: 200ms → 100ms (faster idle detection)
13
+ * - ENTER_DELAY_MS: 100ms → 50ms (faster message completion)
14
+ * - RETRY_BACKOFF_MS: 300ms → 200ms (faster recovery)
15
+ *
16
+ * Use AdaptiveThrottle class for dynamic backpressure handling.
17
+ */
18
+ export const INJECTION_CONSTANTS = {
19
+ /** Maximum retry attempts for injection */
20
+ MAX_RETRIES: 3,
21
+ /** Timeout for output stability check (ms) */
22
+ STABILITY_TIMEOUT_MS: 3000,
23
+ /** Polling interval for stability check (ms) - reduced from 200ms */
24
+ STABILITY_POLL_MS: 100,
25
+ /** Required consecutive stable polls before injection */
26
+ REQUIRED_STABLE_POLLS: 2,
27
+ /** Timeout for injection verification (ms) */
28
+ VERIFICATION_TIMEOUT_MS: 2000,
29
+ /** Delay between message and Enter key (ms) - reduced from 100ms */
30
+ ENTER_DELAY_MS: 50,
31
+ /** Backoff multiplier for retries (ms per attempt) - reduced from 300ms */
32
+ RETRY_BACKOFF_MS: 200,
33
+ /** Base delay between processing queued messages (ms) - reduced from 500ms */
34
+ QUEUE_PROCESS_DELAY_MS: 100,
35
+ /** Maximum delay when under backpressure (ms) */
36
+ QUEUE_PROCESS_DELAY_MAX_MS: 500,
37
+ /** Threshold for increasing delay (consecutive failures) */
38
+ BACKPRESSURE_THRESHOLD: 2,
39
+ };
40
+ /**
41
+ * Adaptive throttle for message queue processing.
42
+ * Increases delay when failures occur, decreases on success.
43
+ *
44
+ * This allows fast messaging under normal conditions (~100ms between messages)
45
+ * while automatically backing off when the system is under stress.
46
+ */
47
+ export class AdaptiveThrottle {
48
+ consecutiveFailures = 0;
49
+ currentDelay = INJECTION_CONSTANTS.QUEUE_PROCESS_DELAY_MS;
50
+ /** Get current delay in milliseconds */
51
+ getDelay() {
52
+ return this.currentDelay;
53
+ }
54
+ /** Record a successful injection - decrease delay */
55
+ recordSuccess() {
56
+ this.consecutiveFailures = 0;
57
+ // Gradually decrease delay on success (exponential decay toward minimum)
58
+ this.currentDelay = Math.max(INJECTION_CONSTANTS.QUEUE_PROCESS_DELAY_MS, Math.floor(this.currentDelay * 0.7));
59
+ }
60
+ /** Record a failed injection - increase delay if threshold exceeded */
61
+ recordFailure() {
62
+ this.consecutiveFailures++;
63
+ if (this.consecutiveFailures >= INJECTION_CONSTANTS.BACKPRESSURE_THRESHOLD) {
64
+ // Increase delay when under backpressure (exponential backoff)
65
+ this.currentDelay = Math.min(INJECTION_CONSTANTS.QUEUE_PROCESS_DELAY_MAX_MS, Math.floor(this.currentDelay * 1.5));
66
+ }
67
+ }
68
+ /** Reset to default state */
69
+ reset() {
70
+ this.consecutiveFailures = 0;
71
+ this.currentDelay = INJECTION_CONSTANTS.QUEUE_PROCESS_DELAY_MS;
72
+ }
73
+ }
74
+ /**
75
+ * Strip ANSI escape codes from a string.
76
+ * Converts cursor movements to spaces to preserve visual layout.
77
+ */
78
+ export function stripAnsi(str) {
79
+ // Convert cursor forward movements to spaces (CSI n C)
80
+ // eslint-disable-next-line no-control-regex
81
+ let result = str.replace(/\x1B\[(\d+)C/g, (_m, n) => ' '.repeat(parseInt(n, 10) || 1));
82
+ // Convert single cursor right (CSI C) to space
83
+ // eslint-disable-next-line no-control-regex
84
+ result = result.replace(/\x1B\[C/g, ' ');
85
+ // Remove carriage returns (causes text overwriting issues)
86
+ result = result.replace(/\r(?!\n)/g, '');
87
+ // Strip ANSI escape sequences (with \x1B prefix)
88
+ // eslint-disable-next-line no-control-regex
89
+ result = result.replace(/\x1B(?:\[[0-9;?]*[A-Za-z]|\].*?(?:\x07|\x1B\\)|[@-Z\\-_])/g, '');
90
+ // Strip orphaned CSI sequences that lost their escape byte
91
+ // Requires at least one digit or question mark to avoid stripping legitimate text like [Agent
92
+ result = result.replace(/^\s*(\[(?:\?|\d)\d*[A-Za-z])+\s*/g, '');
93
+ return result;
94
+ }
95
+ /**
96
+ * Sleep for a given number of milliseconds
97
+ */
98
+ export function sleep(ms) {
99
+ return new Promise((resolve) => setTimeout(resolve, ms));
100
+ }
101
+ /**
102
+ * Build the injection string for a relay message.
103
+ * Format: Relay message from {from} [{shortId}]{hints}: {body}
104
+ *
105
+ * If the body is already formatted (starts with "Relay message from"),
106
+ * returns it as-is to prevent double-wrapping.
107
+ */
108
+ export function buildInjectionString(msg) {
109
+ // Check if body is already formatted (prevents double-wrapping)
110
+ // This can happen when:
111
+ // - Delivering queued/pending messages that were already formatted
112
+ // - Agent output includes quoted relay messages that get re-processed
113
+ // Strip ANSI first so escape codes don't interfere with detection
114
+ const sanitizedBody = stripAnsi(msg.body || '').replace(/[\r\n]+/g, ' ').trim();
115
+ if (sanitizedBody.startsWith('Relay message from ')) {
116
+ // Already formatted - return as-is
117
+ return sanitizedBody;
118
+ }
119
+ const shortId = msg.messageId.substring(0, 8);
120
+ // Use senderName from data if available (for dashboard messages sent via _DashboardUI)
121
+ // This allows showing the actual GitHub username instead of the system client name
122
+ const displayFrom = (msg.from === '_DashboardUI' && typeof msg.data?.senderName === 'string')
123
+ ? msg.data.senderName
124
+ : msg.from;
125
+ // Thread hint
126
+ const threadHint = msg.thread ? ` [thread:${msg.thread}]` : '';
127
+ // Importance indicator: [!!] for high (>75), [!] for medium (>50)
128
+ const importanceHint = msg.importance !== undefined && msg.importance > 75
129
+ ? ' [!!]'
130
+ : msg.importance !== undefined && msg.importance > 50
131
+ ? ' [!]'
132
+ : '';
133
+ // Channel indicator for channel messages and broadcasts
134
+ // originalTo will be '*' for broadcasts or the channel name (e.g., '#general') for channel messages
135
+ // Make it clear that replies should go to the channel, not the sender
136
+ const channelHint = msg.originalTo === '*'
137
+ ? ' [#general] (reply to #general, not sender)'
138
+ : msg.originalTo?.startsWith('#')
139
+ ? ` [${msg.originalTo}] (reply to ${msg.originalTo}, not sender)`
140
+ : '';
141
+ // Extract attachment file paths if present
142
+ let attachmentHint = '';
143
+ if (msg.data?.attachments && Array.isArray(msg.data.attachments)) {
144
+ const filePaths = msg.data.attachments
145
+ .map((att) => att.filePath)
146
+ .filter((p) => typeof p === 'string');
147
+ if (filePaths.length > 0) {
148
+ attachmentHint = ` [Attachments: ${filePaths.join(', ')}]`;
149
+ }
150
+ }
151
+ return `Relay message from ${displayFrom} [${shortId}]${threadHint}${importanceHint}${channelHint}${attachmentHint}: ${sanitizedBody}`;
152
+ }
153
+ /**
154
+ * Calculate injection success rate from metrics
155
+ */
156
+ export function calculateSuccessRate(metrics) {
157
+ if (metrics.total === 0)
158
+ return 100;
159
+ const successful = metrics.successFirstTry + metrics.successWithRetry;
160
+ return Math.round((successful / metrics.total) * 10000) / 100;
161
+ }
162
+ /**
163
+ * Create a fresh injection metrics object
164
+ */
165
+ export function createInjectionMetrics() {
166
+ return {
167
+ total: 0,
168
+ successFirstTry: 0,
169
+ successWithRetry: 0,
170
+ failed: 0,
171
+ };
172
+ }
173
+ /**
174
+ * Detect CLI type from command string
175
+ */
176
+ export function detectCliType(command) {
177
+ const cmdLower = command.toLowerCase();
178
+ if (cmdLower.includes('gemini'))
179
+ return 'gemini';
180
+ if (cmdLower.includes('codex'))
181
+ return 'codex';
182
+ if (cmdLower.includes('claude'))
183
+ return 'claude';
184
+ if (cmdLower.includes('droid'))
185
+ return 'droid';
186
+ if (cmdLower.includes('opencode'))
187
+ return 'opencode';
188
+ if (cmdLower.includes('cursor'))
189
+ return 'cursor';
190
+ return 'other';
191
+ }
192
+ /**
193
+ * Get the default relay prefix (unified for all agent types)
194
+ */
195
+ export function getDefaultRelayPrefix() {
196
+ return '->relay:';
197
+ }
198
+ /**
199
+ * CLI-specific quirks and handling
200
+ */
201
+ export const CLI_QUIRKS = {
202
+ /**
203
+ * CLIs that support bracketed paste mode.
204
+ * Others may interpret the escape sequences literally.
205
+ */
206
+ supportsBracketedPaste: (cli) => {
207
+ return cli === 'claude' || cli === 'codex' || cli === 'gemini' || cli === 'opencode' || cli === 'cursor';
208
+ },
209
+ /**
210
+ * Gemini interprets certain keywords (While, For, If, etc.) as shell commands.
211
+ * Wrap message in backticks to prevent shell keyword interpretation.
212
+ */
213
+ wrapForGemini: (body) => {
214
+ return `\`${body.replace(/`/g, "'")}\``;
215
+ },
216
+ /**
217
+ * Get prompt pattern regex for a CLI type.
218
+ * Used to detect when input line is clear.
219
+ */
220
+ getPromptPattern: (cli) => {
221
+ const patterns = {
222
+ claude: /^[>›»]\s*$/,
223
+ gemini: /^[>›»]\s*$/,
224
+ codex: /^[>›»]\s*$/,
225
+ droid: /^[>›»]\s*$/,
226
+ opencode: /^[>›»]\s*$/,
227
+ cursor: /^[>›»]\s*$/,
228
+ spawned: /^[>›»]\s*$/,
229
+ other: /^[>$%#➜›»]\s*$/,
230
+ };
231
+ return patterns[cli] || patterns.other;
232
+ },
233
+ /**
234
+ * Check if a line looks like a shell prompt (for Gemini safety check).
235
+ * Gemini can drop into shell mode - we skip injection to avoid executing commands.
236
+ */
237
+ isShellPrompt: (line) => {
238
+ const clean = stripAnsi(line).trim();
239
+ return /^\$\s*$/.test(clean) || /^\s*\$\s*$/.test(clean);
240
+ },
241
+ };
242
+ /**
243
+ * Verify that an injected message appeared in the output.
244
+ * Uses a callback to get output content, allowing different backends
245
+ * (tmux capture-pane, PTY buffer) to be used.
246
+ *
247
+ * @param shortId - First 8 chars of message ID
248
+ * @param from - Sender name
249
+ * @param getOutput - Callback to retrieve current output
250
+ * @returns true if message pattern found in output
251
+ */
252
+ export async function verifyInjection(shortId, from, getOutput) {
253
+ const expectedPattern = `Relay message from ${from} [${shortId}]`;
254
+ const startTime = Date.now();
255
+ while (Date.now() - startTime < INJECTION_CONSTANTS.VERIFICATION_TIMEOUT_MS) {
256
+ try {
257
+ const output = await getOutput();
258
+ if (output.includes(expectedPattern)) {
259
+ return true;
260
+ }
261
+ }
262
+ catch {
263
+ // Output retrieval failed, verification fails
264
+ return false;
265
+ }
266
+ await sleep(100);
267
+ }
268
+ return false;
269
+ }
270
+ /**
271
+ * Inject a message with retry logic and verification.
272
+ * Includes dedup check to prevent double-injection race condition.
273
+ *
274
+ * This consolidates the retry/verification logic that was duplicated
275
+ * in TmuxWrapper and PtyWrapper.
276
+ *
277
+ * @param injection - The formatted injection string
278
+ * @param shortId - First 8 chars of message ID for verification
279
+ * @param from - Sender name for verification pattern
280
+ * @param callbacks - Wrapper-specific callbacks for injection operations
281
+ * @returns Result indicating success/failure and attempt count
282
+ */
283
+ export async function injectWithRetry(injection, shortId, from, callbacks) {
284
+ const metrics = callbacks.getMetrics();
285
+ metrics.total++;
286
+ // Skip verification mode: trust that write() succeeds without checking output
287
+ // Used for PTY-based injection where CLIs don't echo input back
288
+ if (callbacks.skipVerification) {
289
+ try {
290
+ await callbacks.performInjection(injection);
291
+ metrics.successFirstTry++;
292
+ return { success: true, attempts: 1 };
293
+ }
294
+ catch (err) {
295
+ callbacks.logError(`Injection error: ${err?.message || err}`);
296
+ metrics.failed++;
297
+ return { success: false, attempts: 1 };
298
+ }
299
+ }
300
+ for (let attempt = 0; attempt < INJECTION_CONSTANTS.MAX_RETRIES; attempt++) {
301
+ try {
302
+ // On retry attempts, first check if message already exists (race condition fix)
303
+ // Previous injection may have succeeded but verification timed out
304
+ if (attempt > 0) {
305
+ const alreadyExists = await verifyInjection(shortId, from, callbacks.getOutput);
306
+ if (alreadyExists) {
307
+ metrics.successWithRetry++;
308
+ callbacks.log(`Message already present (late verification), skipping re-injection`);
309
+ return { success: true, attempts: attempt + 1 };
310
+ }
311
+ }
312
+ // Perform the injection
313
+ await callbacks.performInjection(injection);
314
+ // Verify it appeared in output
315
+ const verified = await verifyInjection(shortId, from, callbacks.getOutput);
316
+ if (verified) {
317
+ if (attempt === 0) {
318
+ metrics.successFirstTry++;
319
+ }
320
+ else {
321
+ metrics.successWithRetry++;
322
+ callbacks.log(`Injection succeeded on attempt ${attempt + 1}`);
323
+ }
324
+ return { success: true, attempts: attempt + 1 };
325
+ }
326
+ // Not verified - log and retry
327
+ callbacks.log(`Injection not verified, attempt ${attempt + 1}/${INJECTION_CONSTANTS.MAX_RETRIES}`);
328
+ // Backoff before retry
329
+ if (attempt < INJECTION_CONSTANTS.MAX_RETRIES - 1) {
330
+ await sleep(INJECTION_CONSTANTS.RETRY_BACKOFF_MS * (attempt + 1));
331
+ }
332
+ }
333
+ catch (err) {
334
+ callbacks.logError(`Injection error on attempt ${attempt + 1}: ${err?.message || err}`);
335
+ }
336
+ }
337
+ // All retries failed
338
+ metrics.failed++;
339
+ return { success: false, attempts: INJECTION_CONSTANTS.MAX_RETRIES };
340
+ }
341
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1,161 @@
1
+ /**
2
+ * StuckDetector - Detect when an agent is stuck
3
+ *
4
+ * Implements agent-relay-501: Stuck detection heuristics
5
+ *
6
+ * Detects five stuck conditions:
7
+ * 1. Extended idle (no output for 10+ minutes)
8
+ * 2. Error loop (same error message repeated 3+ times)
9
+ * 3. Output loop (same output pattern repeated 3+ times)
10
+ * 4. Tool loop (same file operated on 10+ times in 5 minutes)
11
+ * 5. Output flood (abnormally high output rate suggesting infinite loop)
12
+ *
13
+ * NOTE: Message intent detection (agent says "I'll send" but doesn't) was removed
14
+ * because pattern-based NLP detection is unreliable. A protocol-level approach
15
+ * (detecting stale outbox files) should be implemented in relay-pty instead.
16
+ *
17
+ * Emits 'stuck' event when detected, with reason and details.
18
+ */
19
+ import { EventEmitter } from 'node:events';
20
+ export type StuckReason = 'extended_idle' | 'error_loop' | 'output_loop' | 'tool_loop' | 'output_flood';
21
+ /**
22
+ * Tracked tool invocation for loop detection
23
+ */
24
+ interface ToolInvocation {
25
+ tool: string;
26
+ target: string;
27
+ timestamp: number;
28
+ }
29
+ export interface StuckEvent {
30
+ reason: StuckReason;
31
+ details: string;
32
+ timestamp: number;
33
+ /** Time since last output in ms (for extended_idle) */
34
+ idleDurationMs?: number;
35
+ /** Repeated content (for loops) */
36
+ repeatedContent?: string;
37
+ /** Number of repetitions (for loops) */
38
+ repetitions?: number;
39
+ /** Target file/command (for tool_loop) */
40
+ targetFile?: string;
41
+ /** Tool name (for tool_loop) */
42
+ toolName?: string;
43
+ /** Output rate in lines per minute (for output_flood) */
44
+ linesPerMinute?: number;
45
+ }
46
+ export interface StuckDetectorConfig {
47
+ /** Duration of inactivity before considered stuck (ms, default: 10 minutes) */
48
+ extendedIdleMs?: number;
49
+ /** Number of repeated outputs before considered stuck (default: 3) */
50
+ loopThreshold?: number;
51
+ /** Check interval (ms, default: 30 seconds) */
52
+ checkIntervalMs?: number;
53
+ /** Minimum output length to consider for loop detection */
54
+ minLoopLength?: number;
55
+ /** Error patterns to detect (regexes) */
56
+ errorPatterns?: RegExp[];
57
+ /** Threshold for same file operations before considered stuck (default: 10) */
58
+ toolLoopThreshold?: number;
59
+ /** Time window for tool loop detection (ms, default: 5 minutes) */
60
+ toolLoopWindowMs?: number;
61
+ /** Output lines per minute threshold for flood detection (default: 5000) */
62
+ outputFloodLinesPerMinute?: number;
63
+ /** Minimum duration before flood detection activates (ms, default: 2 minutes) */
64
+ outputFloodMinDurationMs?: number;
65
+ }
66
+ export declare class StuckDetector extends EventEmitter {
67
+ private config;
68
+ private lastOutputTime;
69
+ private recentOutputs;
70
+ private checkInterval;
71
+ private isStuck;
72
+ private stuckReason;
73
+ private toolInvocations;
74
+ private outputLineCount;
75
+ private outputStartTime;
76
+ constructor(config?: StuckDetectorConfig);
77
+ /**
78
+ * Start monitoring for stuck conditions.
79
+ * Call this after the agent process starts.
80
+ */
81
+ start(): void;
82
+ /**
83
+ * Stop monitoring.
84
+ */
85
+ stop(): void;
86
+ /**
87
+ * Feed output to the detector.
88
+ * Call this for every output chunk from the agent.
89
+ */
90
+ onOutput(chunk: string): void;
91
+ /**
92
+ * Extract tool invocations from output and track them.
93
+ */
94
+ private extractToolInvocations;
95
+ /**
96
+ * Normalize output for comparison (strip ANSI, trim, lowercase).
97
+ */
98
+ private normalizeOutput;
99
+ /**
100
+ * Check for stuck conditions.
101
+ */
102
+ private checkStuck;
103
+ /**
104
+ * Detect repeated error messages.
105
+ */
106
+ private detectErrorLoop;
107
+ /**
108
+ * Detect repeated output patterns (not necessarily errors).
109
+ */
110
+ private detectOutputLoop;
111
+ /**
112
+ * Detect when the same file is being operated on repeatedly.
113
+ * This catches cases like an agent repeatedly reading/writing the same file
114
+ * in a loop, even if the output content differs each time.
115
+ */
116
+ private detectToolLoop;
117
+ /**
118
+ * Detect abnormally high output rates that suggest an infinite loop.
119
+ * Only triggers after minimum duration to avoid false positives during
120
+ * normal high-output operations (like builds or tests).
121
+ */
122
+ private detectOutputFlood;
123
+ /**
124
+ * Emit stuck event.
125
+ */
126
+ private emitStuck;
127
+ /**
128
+ * Check if currently detected as stuck.
129
+ */
130
+ getIsStuck(): boolean;
131
+ /**
132
+ * Get the reason for being stuck (if stuck).
133
+ */
134
+ getStuckReason(): StuckReason | null;
135
+ /**
136
+ * Get time since last output in milliseconds.
137
+ */
138
+ getIdleDuration(): number;
139
+ /**
140
+ * Reset state.
141
+ */
142
+ reset(): void;
143
+ /**
144
+ * Get current output statistics (useful for debugging).
145
+ */
146
+ getOutputStats(): {
147
+ lineCount: number;
148
+ durationMs: number;
149
+ linesPerMinute: number;
150
+ };
151
+ /**
152
+ * Get recent tool invocations (useful for debugging).
153
+ */
154
+ getToolInvocations(): ToolInvocation[];
155
+ }
156
+ /**
157
+ * Create a stuck detector with default configuration.
158
+ */
159
+ export declare function createStuckDetector(config?: StuckDetectorConfig): StuckDetector;
160
+ export {};
161
+ //# sourceMappingURL=stuck-detector.d.ts.map