agent-relay 1.1.0 → 1.2.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 (490) hide show
  1. package/README.md +1 -1
  2. package/dist/bridge/spawner.d.ts +53 -0
  3. package/dist/bridge/spawner.d.ts.map +1 -1
  4. package/dist/bridge/spawner.js +203 -19
  5. package/dist/bridge/spawner.js.map +1 -1
  6. package/dist/bridge/types.d.ts +12 -0
  7. package/dist/bridge/types.d.ts.map +1 -1
  8. package/dist/cli/index.js +401 -5
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cloud/api/auth.d.ts +3 -2
  11. package/dist/cloud/api/auth.d.ts.map +1 -1
  12. package/dist/cloud/api/auth.js +10 -98
  13. package/dist/cloud/api/auth.js.map +1 -1
  14. package/dist/cloud/api/cli-pty-runner.d.ts +54 -0
  15. package/dist/cloud/api/cli-pty-runner.d.ts.map +1 -0
  16. package/dist/cloud/api/cli-pty-runner.js +119 -0
  17. package/dist/cloud/api/cli-pty-runner.js.map +1 -0
  18. package/dist/cloud/api/generic-webhooks.d.ts +8 -0
  19. package/dist/cloud/api/generic-webhooks.d.ts.map +1 -0
  20. package/dist/cloud/api/generic-webhooks.js +129 -0
  21. package/dist/cloud/api/generic-webhooks.js.map +1 -0
  22. package/dist/cloud/api/git.d.ts +8 -0
  23. package/dist/cloud/api/git.d.ts.map +1 -0
  24. package/dist/cloud/api/git.js +131 -0
  25. package/dist/cloud/api/git.js.map +1 -0
  26. package/dist/cloud/api/github-app.d.ts +11 -0
  27. package/dist/cloud/api/github-app.d.ts.map +1 -0
  28. package/dist/cloud/api/github-app.js +189 -0
  29. package/dist/cloud/api/github-app.js.map +1 -0
  30. package/dist/cloud/api/middleware/planLimits.d.ts +7 -0
  31. package/dist/cloud/api/middleware/planLimits.d.ts.map +1 -1
  32. package/dist/cloud/api/middleware/planLimits.js +39 -1
  33. package/dist/cloud/api/middleware/planLimits.js.map +1 -1
  34. package/dist/cloud/api/monitoring.d.ts +11 -0
  35. package/dist/cloud/api/monitoring.d.ts.map +1 -0
  36. package/dist/cloud/api/monitoring.js +578 -0
  37. package/dist/cloud/api/monitoring.js.map +1 -0
  38. package/dist/cloud/api/nango-auth.d.ts +9 -0
  39. package/dist/cloud/api/nango-auth.d.ts.map +1 -0
  40. package/dist/cloud/api/nango-auth.js +377 -0
  41. package/dist/cloud/api/nango-auth.js.map +1 -0
  42. package/dist/cloud/api/onboarding.d.ts +8 -1
  43. package/dist/cloud/api/onboarding.d.ts.map +1 -1
  44. package/dist/cloud/api/onboarding.js +300 -119
  45. package/dist/cloud/api/onboarding.js.map +1 -1
  46. package/dist/cloud/api/policy.d.ts +8 -0
  47. package/dist/cloud/api/policy.d.ts.map +1 -0
  48. package/dist/cloud/api/policy.js +229 -0
  49. package/dist/cloud/api/policy.js.map +1 -0
  50. package/dist/cloud/api/providers.js +114 -42
  51. package/dist/cloud/api/providers.js.map +1 -1
  52. package/dist/cloud/api/test-helpers.d.ts +10 -0
  53. package/dist/cloud/api/test-helpers.d.ts.map +1 -0
  54. package/dist/cloud/api/test-helpers.js +575 -0
  55. package/dist/cloud/api/test-helpers.js.map +1 -0
  56. package/dist/cloud/api/webhooks.d.ts +7 -0
  57. package/dist/cloud/api/webhooks.d.ts.map +1 -0
  58. package/dist/cloud/api/webhooks.js +496 -0
  59. package/dist/cloud/api/webhooks.js.map +1 -0
  60. package/dist/cloud/api/workspaces.js +225 -8
  61. package/dist/cloud/api/workspaces.js.map +1 -1
  62. package/dist/cloud/billing/plans.d.ts.map +1 -1
  63. package/dist/cloud/billing/plans.js +13 -0
  64. package/dist/cloud/billing/plans.js.map +1 -1
  65. package/dist/cloud/billing/types.d.ts +9 -3
  66. package/dist/cloud/billing/types.d.ts.map +1 -1
  67. package/dist/cloud/config.d.ts +9 -2
  68. package/dist/cloud/config.d.ts.map +1 -1
  69. package/dist/cloud/config.js +13 -4
  70. package/dist/cloud/config.js.map +1 -1
  71. package/dist/cloud/db/drizzle.d.ts +84 -1
  72. package/dist/cloud/db/drizzle.d.ts.map +1 -1
  73. package/dist/cloud/db/drizzle.js +470 -0
  74. package/dist/cloud/db/drizzle.js.map +1 -1
  75. package/dist/cloud/db/index.d.ts +9 -4
  76. package/dist/cloud/db/index.d.ts.map +1 -1
  77. package/dist/cloud/db/index.js +11 -3
  78. package/dist/cloud/db/index.js.map +1 -1
  79. package/dist/cloud/db/schema.d.ts +3283 -556
  80. package/dist/cloud/db/schema.d.ts.map +1 -1
  81. package/dist/cloud/db/schema.js +314 -1
  82. package/dist/cloud/db/schema.js.map +1 -1
  83. package/dist/cloud/index.d.ts +1 -0
  84. package/dist/cloud/index.d.ts.map +1 -1
  85. package/dist/cloud/index.js +2 -0
  86. package/dist/cloud/index.js.map +1 -1
  87. package/dist/cloud/provisioner/index.d.ts +24 -0
  88. package/dist/cloud/provisioner/index.d.ts.map +1 -1
  89. package/dist/cloud/provisioner/index.js +319 -18
  90. package/dist/cloud/provisioner/index.js.map +1 -1
  91. package/dist/cloud/server.d.ts +1 -0
  92. package/dist/cloud/server.d.ts.map +1 -1
  93. package/dist/cloud/server.js +357 -13
  94. package/dist/cloud/server.js.map +1 -1
  95. package/dist/cloud/services/auto-scaler.d.ts +152 -0
  96. package/dist/cloud/services/auto-scaler.d.ts.map +1 -0
  97. package/dist/cloud/services/auto-scaler.js +439 -0
  98. package/dist/cloud/services/auto-scaler.js.map +1 -0
  99. package/dist/cloud/services/capacity-manager.d.ts +148 -0
  100. package/dist/cloud/services/capacity-manager.d.ts.map +1 -0
  101. package/dist/cloud/services/capacity-manager.js +449 -0
  102. package/dist/cloud/services/capacity-manager.js.map +1 -0
  103. package/dist/cloud/services/ci-agent-spawner.d.ts +49 -0
  104. package/dist/cloud/services/ci-agent-spawner.d.ts.map +1 -0
  105. package/dist/cloud/services/ci-agent-spawner.js +373 -0
  106. package/dist/cloud/services/ci-agent-spawner.js.map +1 -0
  107. package/dist/cloud/services/index.d.ts +12 -0
  108. package/dist/cloud/services/index.d.ts.map +1 -0
  109. package/dist/cloud/services/index.js +15 -0
  110. package/dist/cloud/services/index.js.map +1 -0
  111. package/dist/cloud/services/mention-handler.d.ts +65 -0
  112. package/dist/cloud/services/mention-handler.d.ts.map +1 -0
  113. package/dist/cloud/services/mention-handler.js +405 -0
  114. package/dist/cloud/services/mention-handler.js.map +1 -0
  115. package/dist/cloud/services/nango.d.ts +126 -0
  116. package/dist/cloud/services/nango.d.ts.map +1 -0
  117. package/dist/cloud/services/nango.js +191 -0
  118. package/dist/cloud/services/nango.js.map +1 -0
  119. package/dist/cloud/services/persistence.d.ts +131 -0
  120. package/dist/cloud/services/persistence.d.ts.map +1 -0
  121. package/dist/cloud/services/persistence.js +200 -0
  122. package/dist/cloud/services/persistence.js.map +1 -0
  123. package/dist/cloud/services/planLimits.d.ts +15 -0
  124. package/dist/cloud/services/planLimits.d.ts.map +1 -1
  125. package/dist/cloud/services/planLimits.js +28 -0
  126. package/dist/cloud/services/planLimits.js.map +1 -1
  127. package/dist/cloud/services/scaling-orchestrator.d.ts +159 -0
  128. package/dist/cloud/services/scaling-orchestrator.d.ts.map +1 -0
  129. package/dist/cloud/services/scaling-orchestrator.js +502 -0
  130. package/dist/cloud/services/scaling-orchestrator.js.map +1 -0
  131. package/dist/cloud/services/scaling-policy.d.ts +121 -0
  132. package/dist/cloud/services/scaling-policy.d.ts.map +1 -0
  133. package/dist/cloud/services/scaling-policy.js +415 -0
  134. package/dist/cloud/services/scaling-policy.js.map +1 -0
  135. package/dist/cloud/vault/index.js +1 -1
  136. package/dist/cloud/vault/index.js.map +1 -1
  137. package/dist/cloud/webhooks/index.d.ts +24 -0
  138. package/dist/cloud/webhooks/index.d.ts.map +1 -0
  139. package/dist/cloud/webhooks/index.js +29 -0
  140. package/dist/cloud/webhooks/index.js.map +1 -0
  141. package/dist/cloud/webhooks/parsers/github.d.ts +8 -0
  142. package/dist/cloud/webhooks/parsers/github.d.ts.map +1 -0
  143. package/dist/cloud/webhooks/parsers/github.js +234 -0
  144. package/dist/cloud/webhooks/parsers/github.js.map +1 -0
  145. package/dist/cloud/webhooks/parsers/index.d.ts +23 -0
  146. package/dist/cloud/webhooks/parsers/index.d.ts.map +1 -0
  147. package/dist/cloud/webhooks/parsers/index.js +30 -0
  148. package/dist/cloud/webhooks/parsers/index.js.map +1 -0
  149. package/dist/cloud/webhooks/parsers/linear.d.ts +9 -0
  150. package/dist/cloud/webhooks/parsers/linear.d.ts.map +1 -0
  151. package/dist/cloud/webhooks/parsers/linear.js +258 -0
  152. package/dist/cloud/webhooks/parsers/linear.js.map +1 -0
  153. package/dist/cloud/webhooks/parsers/slack.d.ts +9 -0
  154. package/dist/cloud/webhooks/parsers/slack.d.ts.map +1 -0
  155. package/dist/cloud/webhooks/parsers/slack.js +214 -0
  156. package/dist/cloud/webhooks/parsers/slack.js.map +1 -0
  157. package/dist/cloud/webhooks/responders/github.d.ts +8 -0
  158. package/dist/cloud/webhooks/responders/github.d.ts.map +1 -0
  159. package/dist/cloud/webhooks/responders/github.js +73 -0
  160. package/dist/cloud/webhooks/responders/github.js.map +1 -0
  161. package/dist/cloud/webhooks/responders/index.d.ts +23 -0
  162. package/dist/cloud/webhooks/responders/index.d.ts.map +1 -0
  163. package/dist/cloud/webhooks/responders/index.js +30 -0
  164. package/dist/cloud/webhooks/responders/index.js.map +1 -0
  165. package/dist/cloud/webhooks/responders/linear.d.ts +9 -0
  166. package/dist/cloud/webhooks/responders/linear.d.ts.map +1 -0
  167. package/dist/cloud/webhooks/responders/linear.js +149 -0
  168. package/dist/cloud/webhooks/responders/linear.js.map +1 -0
  169. package/dist/cloud/webhooks/responders/slack.d.ts +20 -0
  170. package/dist/cloud/webhooks/responders/slack.d.ts.map +1 -0
  171. package/dist/cloud/webhooks/responders/slack.js +178 -0
  172. package/dist/cloud/webhooks/responders/slack.js.map +1 -0
  173. package/dist/cloud/webhooks/router.d.ts +25 -0
  174. package/dist/cloud/webhooks/router.d.ts.map +1 -0
  175. package/dist/cloud/webhooks/router.js +504 -0
  176. package/dist/cloud/webhooks/router.js.map +1 -0
  177. package/dist/cloud/webhooks/rules-engine.d.ts +24 -0
  178. package/dist/cloud/webhooks/rules-engine.d.ts.map +1 -0
  179. package/dist/cloud/webhooks/rules-engine.js +287 -0
  180. package/dist/cloud/webhooks/rules-engine.js.map +1 -0
  181. package/dist/cloud/webhooks/types.d.ts +186 -0
  182. package/dist/cloud/webhooks/types.d.ts.map +1 -0
  183. package/dist/cloud/webhooks/types.js +8 -0
  184. package/dist/cloud/webhooks/types.js.map +1 -0
  185. package/dist/continuity/formatter.d.ts +51 -0
  186. package/dist/continuity/formatter.d.ts.map +1 -0
  187. package/dist/continuity/formatter.js +313 -0
  188. package/dist/continuity/formatter.js.map +1 -0
  189. package/dist/continuity/handoff-store.d.ts +67 -0
  190. package/dist/continuity/handoff-store.d.ts.map +1 -0
  191. package/dist/continuity/handoff-store.js +472 -0
  192. package/dist/continuity/handoff-store.js.map +1 -0
  193. package/dist/continuity/index.d.ts +45 -0
  194. package/dist/continuity/index.d.ts.map +1 -0
  195. package/dist/continuity/index.js +48 -0
  196. package/dist/continuity/index.js.map +1 -0
  197. package/dist/continuity/ledger-store.d.ts +110 -0
  198. package/dist/continuity/ledger-store.d.ts.map +1 -0
  199. package/dist/continuity/ledger-store.js +500 -0
  200. package/dist/continuity/ledger-store.js.map +1 -0
  201. package/dist/continuity/manager.d.ts +178 -0
  202. package/dist/continuity/manager.d.ts.map +1 -0
  203. package/dist/continuity/manager.js +562 -0
  204. package/dist/continuity/manager.js.map +1 -0
  205. package/dist/continuity/parser.d.ts +76 -0
  206. package/dist/continuity/parser.d.ts.map +1 -0
  207. package/dist/continuity/parser.js +579 -0
  208. package/dist/continuity/parser.js.map +1 -0
  209. package/dist/continuity/types.d.ts +180 -0
  210. package/dist/continuity/types.d.ts.map +1 -0
  211. package/dist/continuity/types.js +9 -0
  212. package/dist/continuity/types.js.map +1 -0
  213. package/dist/daemon/agent-manager.d.ts +27 -0
  214. package/dist/daemon/agent-manager.d.ts.map +1 -1
  215. package/dist/daemon/agent-manager.js +107 -6
  216. package/dist/daemon/agent-manager.js.map +1 -1
  217. package/dist/daemon/agent-registry.d.ts +32 -0
  218. package/dist/daemon/agent-registry.d.ts.map +1 -1
  219. package/dist/daemon/agent-registry.js +42 -2
  220. package/dist/daemon/agent-registry.js.map +1 -1
  221. package/dist/daemon/api.d.ts +12 -0
  222. package/dist/daemon/api.d.ts.map +1 -1
  223. package/dist/daemon/api.js +131 -2
  224. package/dist/daemon/api.js.map +1 -1
  225. package/dist/daemon/cli-auth.d.ts +67 -0
  226. package/dist/daemon/cli-auth.d.ts.map +1 -0
  227. package/dist/daemon/cli-auth.js +537 -0
  228. package/dist/daemon/cli-auth.js.map +1 -0
  229. package/dist/daemon/cloud-sync.d.ts.map +1 -1
  230. package/dist/daemon/cloud-sync.js +9 -7
  231. package/dist/daemon/cloud-sync.js.map +1 -1
  232. package/dist/daemon/orchestrator.d.ts.map +1 -1
  233. package/dist/daemon/orchestrator.js +30 -0
  234. package/dist/daemon/orchestrator.js.map +1 -1
  235. package/dist/daemon/router.d.ts +5 -0
  236. package/dist/daemon/router.d.ts.map +1 -1
  237. package/dist/daemon/router.js +78 -26
  238. package/dist/daemon/router.js.map +1 -1
  239. package/dist/daemon/server.d.ts +5 -0
  240. package/dist/daemon/server.d.ts.map +1 -1
  241. package/dist/daemon/server.js +9 -1
  242. package/dist/daemon/server.js.map +1 -1
  243. package/dist/daemon/services/browser-testing.d.ts +88 -0
  244. package/dist/daemon/services/browser-testing.d.ts.map +1 -0
  245. package/dist/daemon/services/browser-testing.js +244 -0
  246. package/dist/daemon/services/browser-testing.js.map +1 -0
  247. package/dist/daemon/services/container-spawner.d.ts +135 -0
  248. package/dist/daemon/services/container-spawner.d.ts.map +1 -0
  249. package/dist/daemon/services/container-spawner.js +313 -0
  250. package/dist/daemon/services/container-spawner.js.map +1 -0
  251. package/dist/daemon/types.d.ts +5 -1
  252. package/dist/daemon/types.d.ts.map +1 -1
  253. package/dist/dashboard/out/404.html +1 -1
  254. package/dist/dashboard/out/_next/static/chunks/116-2502180def231162.js +1 -0
  255. package/dist/dashboard/out/_next/static/chunks/282-980c2eb8fff20123.js +1 -0
  256. package/dist/dashboard/out/_next/static/chunks/480-2d4111711d4e473c.js +1 -0
  257. package/dist/dashboard/out/_next/static/chunks/724-73c1ee5f60abe860.js +9 -0
  258. package/dist/dashboard/out/_next/static/chunks/766-c3a14283c88d815b.js +1 -0
  259. package/dist/dashboard/out/_next/static/chunks/app/app/page-7120be68bea622f3.js +1 -0
  260. package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-dc2e3a1a22478efc.js +1 -0
  261. package/dist/dashboard/out/_next/static/chunks/app/history/{page-b6edd4dde8d08194.js → page-56a8b4616a90dc43.js} +1 -1
  262. package/dist/dashboard/out/_next/static/chunks/app/login/page-3eac37ea6f5dd153.js +1 -0
  263. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-1081dd190a331a91.js +1 -0
  264. package/dist/dashboard/out/_next/static/chunks/app/page-daf87e86f783f980.js +1 -0
  265. package/dist/dashboard/out/_next/static/chunks/app/providers/page-b68a681526eb145e.js +1 -0
  266. package/dist/dashboard/out/_next/static/chunks/app/signup/page-fee4ed1709070bcd.js +1 -0
  267. package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
  268. package/dist/dashboard/out/_next/static/chunks/{main-c2f423b9c9f4591b.js → main-97850e03d723ea8c.js} +1 -1
  269. package/dist/dashboard/out/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +1 -0
  270. package/dist/dashboard/out/_next/static/css/29852f26181969a0.css +1 -0
  271. package/dist/dashboard/out/_next/static/css/411ce23ffeae9f76.css +1 -0
  272. package/dist/dashboard/out/app.html +1 -14
  273. package/dist/dashboard/out/app.txt +2 -2
  274. package/dist/dashboard/out/connect-repos.html +1 -0
  275. package/dist/dashboard/out/connect-repos.txt +7 -0
  276. package/dist/dashboard/out/history.html +1 -1
  277. package/dist/dashboard/out/history.txt +2 -2
  278. package/dist/dashboard/out/index.html +1 -1
  279. package/dist/dashboard/out/index.txt +2 -2
  280. package/dist/dashboard/out/login.html +6 -0
  281. package/dist/dashboard/out/login.txt +7 -0
  282. package/dist/dashboard/out/metrics.html +1 -1
  283. package/dist/dashboard/out/metrics.txt +2 -2
  284. package/dist/dashboard/out/pricing.html +2 -2
  285. package/dist/dashboard/out/pricing.txt +2 -2
  286. package/dist/dashboard/out/providers.html +1 -0
  287. package/dist/dashboard/out/providers.txt +7 -0
  288. package/dist/dashboard/out/signup.html +6 -0
  289. package/dist/dashboard/out/signup.txt +7 -0
  290. package/dist/dashboard-server/server.d.ts.map +1 -1
  291. package/dist/dashboard-server/server.js +1308 -8
  292. package/dist/dashboard-server/server.js.map +1 -1
  293. package/dist/hooks/emitter.d.ts +40 -0
  294. package/dist/hooks/emitter.d.ts.map +1 -0
  295. package/dist/hooks/emitter.js +63 -0
  296. package/dist/hooks/emitter.js.map +1 -0
  297. package/dist/hooks/index.d.ts +3 -0
  298. package/dist/hooks/index.d.ts.map +1 -1
  299. package/dist/hooks/index.js +3 -0
  300. package/dist/hooks/index.js.map +1 -1
  301. package/dist/hooks/registry.d.ts +173 -0
  302. package/dist/hooks/registry.d.ts.map +1 -0
  303. package/dist/hooks/registry.js +476 -0
  304. package/dist/hooks/registry.js.map +1 -0
  305. package/dist/hooks/trajectory-hooks.d.ts +52 -0
  306. package/dist/hooks/trajectory-hooks.d.ts.map +1 -0
  307. package/dist/hooks/trajectory-hooks.js +183 -0
  308. package/dist/hooks/trajectory-hooks.js.map +1 -0
  309. package/dist/hooks/types.d.ts +141 -0
  310. package/dist/hooks/types.d.ts.map +1 -1
  311. package/dist/index.d.ts +2 -0
  312. package/dist/index.d.ts.map +1 -1
  313. package/dist/index.js +3 -0
  314. package/dist/index.js.map +1 -1
  315. package/dist/memory/adapters/index.d.ts +8 -0
  316. package/dist/memory/adapters/index.d.ts.map +1 -0
  317. package/dist/memory/adapters/index.js +8 -0
  318. package/dist/memory/adapters/index.js.map +1 -0
  319. package/dist/memory/adapters/inmemory.d.ts +59 -0
  320. package/dist/memory/adapters/inmemory.d.ts.map +1 -0
  321. package/dist/memory/adapters/inmemory.js +195 -0
  322. package/dist/memory/adapters/inmemory.js.map +1 -0
  323. package/dist/memory/adapters/supermemory.d.ts +71 -0
  324. package/dist/memory/adapters/supermemory.d.ts.map +1 -0
  325. package/dist/memory/adapters/supermemory.js +338 -0
  326. package/dist/memory/adapters/supermemory.js.map +1 -0
  327. package/dist/memory/factory.d.ts +48 -0
  328. package/dist/memory/factory.d.ts.map +1 -0
  329. package/dist/memory/factory.js +143 -0
  330. package/dist/memory/factory.js.map +1 -0
  331. package/dist/memory/index.d.ts +32 -0
  332. package/dist/memory/index.d.ts.map +1 -0
  333. package/dist/memory/index.js +32 -0
  334. package/dist/memory/index.js.map +1 -0
  335. package/dist/memory/memory-hooks.d.ts +60 -0
  336. package/dist/memory/memory-hooks.d.ts.map +1 -0
  337. package/dist/memory/memory-hooks.js +313 -0
  338. package/dist/memory/memory-hooks.js.map +1 -0
  339. package/dist/memory/service.d.ts +49 -0
  340. package/dist/memory/service.d.ts.map +1 -0
  341. package/dist/memory/service.js +146 -0
  342. package/dist/memory/service.js.map +1 -0
  343. package/dist/memory/types.d.ts +195 -0
  344. package/dist/memory/types.d.ts.map +1 -0
  345. package/dist/memory/types.js +8 -0
  346. package/dist/memory/types.js.map +1 -0
  347. package/dist/policy/agent-policy.d.ts +225 -0
  348. package/dist/policy/agent-policy.d.ts.map +1 -0
  349. package/dist/policy/agent-policy.js +665 -0
  350. package/dist/policy/agent-policy.js.map +1 -0
  351. package/dist/policy/cloud-policy-fetcher.d.ts +12 -0
  352. package/dist/policy/cloud-policy-fetcher.d.ts.map +1 -0
  353. package/dist/policy/cloud-policy-fetcher.js +64 -0
  354. package/dist/policy/cloud-policy-fetcher.js.map +1 -0
  355. package/dist/resiliency/crash-insights.d.ts +156 -0
  356. package/dist/resiliency/crash-insights.d.ts.map +1 -0
  357. package/dist/resiliency/crash-insights.js +492 -0
  358. package/dist/resiliency/crash-insights.js.map +1 -0
  359. package/dist/resiliency/gossip-health.d.ts +137 -0
  360. package/dist/resiliency/gossip-health.d.ts.map +1 -0
  361. package/dist/resiliency/gossip-health.js +241 -0
  362. package/dist/resiliency/gossip-health.js.map +1 -0
  363. package/dist/resiliency/index.d.ts +5 -0
  364. package/dist/resiliency/index.d.ts.map +1 -1
  365. package/dist/resiliency/index.js +5 -0
  366. package/dist/resiliency/index.js.map +1 -1
  367. package/dist/resiliency/leader-watchdog.d.ts +109 -0
  368. package/dist/resiliency/leader-watchdog.d.ts.map +1 -0
  369. package/dist/resiliency/leader-watchdog.js +189 -0
  370. package/dist/resiliency/leader-watchdog.js.map +1 -0
  371. package/dist/resiliency/memory-monitor.d.ts +172 -0
  372. package/dist/resiliency/memory-monitor.d.ts.map +1 -0
  373. package/dist/resiliency/memory-monitor.js +593 -0
  374. package/dist/resiliency/memory-monitor.js.map +1 -0
  375. package/dist/resiliency/stateless-lead.d.ts +149 -0
  376. package/dist/resiliency/stateless-lead.d.ts.map +1 -0
  377. package/dist/resiliency/stateless-lead.js +308 -0
  378. package/dist/resiliency/stateless-lead.js.map +1 -0
  379. package/dist/resiliency/supervisor.d.ts +38 -0
  380. package/dist/resiliency/supervisor.d.ts.map +1 -1
  381. package/dist/resiliency/supervisor.js +122 -0
  382. package/dist/resiliency/supervisor.js.map +1 -1
  383. package/dist/shared/cli-auth-config.d.ts +91 -0
  384. package/dist/shared/cli-auth-config.d.ts.map +1 -0
  385. package/dist/shared/cli-auth-config.js +264 -0
  386. package/dist/shared/cli-auth-config.js.map +1 -0
  387. package/dist/storage/adapter.d.ts +1 -1
  388. package/dist/storage/adapter.d.ts.map +1 -1
  389. package/dist/trajectory/config.d.ts +84 -0
  390. package/dist/trajectory/config.d.ts.map +1 -0
  391. package/dist/trajectory/config.js +163 -0
  392. package/dist/trajectory/config.js.map +1 -0
  393. package/dist/trajectory/index.d.ts +8 -0
  394. package/dist/trajectory/index.d.ts.map +1 -0
  395. package/dist/trajectory/index.js +8 -0
  396. package/dist/trajectory/index.js.map +1 -0
  397. package/dist/trajectory/integration.d.ts +292 -0
  398. package/dist/trajectory/integration.d.ts.map +1 -0
  399. package/dist/trajectory/integration.js +834 -0
  400. package/dist/trajectory/integration.js.map +1 -0
  401. package/dist/utils/logger.js +1 -1
  402. package/dist/utils/logger.js.map +1 -1
  403. package/dist/utils/project-namespace.d.ts +24 -0
  404. package/dist/utils/project-namespace.d.ts.map +1 -1
  405. package/dist/utils/project-namespace.js +84 -0
  406. package/dist/utils/project-namespace.js.map +1 -1
  407. package/dist/wrapper/parser.d.ts +10 -0
  408. package/dist/wrapper/parser.d.ts.map +1 -1
  409. package/dist/wrapper/parser.js +100 -33
  410. package/dist/wrapper/parser.js.map +1 -1
  411. package/dist/wrapper/pty-wrapper.d.ts +197 -16
  412. package/dist/wrapper/pty-wrapper.d.ts.map +1 -1
  413. package/dist/wrapper/pty-wrapper.js +943 -106
  414. package/dist/wrapper/pty-wrapper.js.map +1 -1
  415. package/dist/wrapper/shared.d.ts +165 -0
  416. package/dist/wrapper/shared.d.ts.map +1 -0
  417. package/dist/wrapper/shared.js +270 -0
  418. package/dist/wrapper/shared.js.map +1 -0
  419. package/dist/wrapper/tmux-wrapper.d.ts +73 -11
  420. package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
  421. package/dist/wrapper/tmux-wrapper.js +541 -120
  422. package/dist/wrapper/tmux-wrapper.js.map +1 -1
  423. package/docs/CLOUD-ARCHITECTURE.md +152 -0
  424. package/docs/HOOKS_API.md +394 -0
  425. package/docs/WRAPPER_EVENTS.md +358 -0
  426. package/docs/agent-policy-snippet.md +40 -0
  427. package/docs/agent-relay-protocol.md +238 -0
  428. package/docs/agent-relay-snippet.md +53 -47
  429. package/docs/archive/EXECUTIVE_SUMMARY.md +358 -0
  430. package/docs/archive/ROADMAP.md +329 -0
  431. package/docs/competitive/GASTOWN.md +451 -0
  432. package/docs/{COMPETITIVE_ANALYSIS.md → competitive/OVERVIEW.md} +1 -0
  433. package/docs/competitive/README.md +34 -0
  434. package/docs/competitive/TMUX_ORCHESTRATOR.md +605 -0
  435. package/docs/dashboard.png +0 -0
  436. package/docs/design/ci-failure-webhooks.md +812 -0
  437. package/docs/design/comprehensive-integrations.md +238 -0
  438. package/docs/design/e2b-sandbox-integration.md +504 -0
  439. package/docs/design/github-app-permissions.md +264 -0
  440. package/docs/local-testing.md +428 -0
  441. package/docs/proposals/continuous-claude-integration.md +622 -0
  442. package/docs/proposals/custom-commands.md +368 -0
  443. package/docs/tasks/global-skills-system.tasks.md +230 -0
  444. package/docs/tasks/webhook-integrations.tasks.md +184 -0
  445. package/docs/tasks/workspace-capabilities.tasks.md +121 -0
  446. package/docs/testing/RESILIENCY-TEST-PLAN-2026-01-01.md +366 -0
  447. package/package.json +16 -7
  448. package/scripts/cloud-setup.sh +96 -0
  449. package/scripts/manual-qa.sh +293 -0
  450. package/scripts/postinstall.js +60 -0
  451. package/scripts/run-cloud-qa.sh +220 -0
  452. package/scripts/test-cli-auth/Dockerfile +44 -0
  453. package/scripts/test-cli-auth/Dockerfile.real +79 -0
  454. package/scripts/test-cli-auth/README.md +286 -0
  455. package/scripts/test-cli-auth/ci-test-real-clis.ts +251 -0
  456. package/scripts/test-cli-auth/ci-test-runner.ts +263 -0
  457. package/scripts/test-cli-auth/mock-cli.sh +147 -0
  458. package/scripts/test-cli-auth/package.json +14 -0
  459. package/scripts/test-cli-auth/test-oauth-flow.ts +220 -0
  460. package/scripts/test-pty-input-auto.js +222 -0
  461. package/scripts/test-pty-input.js +150 -0
  462. package/dist/dashboard/out/_next/static/chunks/693-7b3301d8f6bc5014.js +0 -1
  463. package/dist/dashboard/out/_next/static/chunks/713-f78477eb185f1f4d.js +0 -1
  464. package/dist/dashboard/out/_next/static/chunks/766-e53e1cfe39b0b5b5.js +0 -1
  465. package/dist/dashboard/out/_next/static/chunks/900-037c64bfd797fb2a.js +0 -1
  466. package/dist/dashboard/out/_next/static/chunks/app/app/page-e3d9e1f4466b9bae.js +0 -1
  467. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-e68825a81db67ba1.js +0 -1
  468. package/dist/dashboard/out/_next/static/chunks/app/page-cc108bf68c8a657f.js +0 -1
  469. package/dist/dashboard/out/_next/static/chunks/webpack-a5acc2831d094776.js +0 -1
  470. package/dist/dashboard/out/_next/static/css/79b80143647a07d7.css +0 -1
  471. package/dist/dashboard/out/_next/static/css/8cf277370ad48cfe.css +0 -1
  472. /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → H5aWG0udPB4iOUIl_gytz}/_buildManifest.js +0 -0
  473. /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → H5aWG0udPB4iOUIl_gytz}/_ssgManifest.js +0 -0
  474. /package/dist/dashboard/out/_next/static/chunks/{117-b2cd8d6485aacf2b.js → 117-b100311aff8d5c61.js} +0 -0
  475. /package/dist/dashboard/out/_next/static/chunks/{648-8f3f26864ce515e5.js → 648-a13d3c2b1be45466.js} +0 -0
  476. /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-0b990dbb71d72a98.js → page-a4973f3e3c82fb67.js} +0 -0
  477. /package/dist/dashboard/out/_next/static/chunks/app/pricing/{page-d80e03a5297f95b6.js → page-4d72d5a5d8a9b618.js} +0 -0
  478. /package/docs/{CHANGELOG.md → archive/CHANGELOG.md} +0 -0
  479. /package/docs/{CLI-SIMPLIFICATION-COMPLETE.md → archive/CLI-SIMPLIFICATION-COMPLETE.md} +0 -0
  480. /package/docs/{DESIGN_BRIDGE_STAFFING.md → archive/DESIGN_BRIDGE_STAFFING.md} +0 -0
  481. /package/docs/{DESIGN_V2.md → archive/DESIGN_V2.md} +0 -0
  482. /package/docs/{MONETIZATION.md → archive/MONETIZATION.md} +0 -0
  483. /package/docs/{PROPOSAL-trajectories.md → archive/PROPOSAL-trajectories.md} +0 -0
  484. /package/docs/{SCALING_ANALYSIS.md → archive/SCALING_ANALYSIS.md} +0 -0
  485. /package/docs/{TESTING_PRESENCE_FEATURES.md → archive/TESTING_PRESENCE_FEATURES.md} +0 -0
  486. /package/docs/{TMUX_IMPLEMENTATION_NOTES.md → archive/TMUX_IMPLEMENTATION_NOTES.md} +0 -0
  487. /package/docs/{TMUX_IMPROVEMENTS.md → archive/TMUX_IMPROVEMENTS.md} +0 -0
  488. /package/docs/{dashboard-v2-plan.md → archive/dashboard-v2-plan.md} +0 -0
  489. /package/docs/{removable-code-analysis.md → archive/removable-code-analysis.md} +0 -0
  490. /package/docs/{competitive-analysis-mcp-agent-mail.md → competitive/MCP_AGENT_MAIL.md} +0 -0
@@ -2,59 +2,62 @@
2
2
  * Onboarding API Routes
3
3
  *
4
4
  * Handles CLI proxy authentication for Claude Code and other providers.
5
- * Spawns CLI tools to get auth URLs, captures tokens.
5
+ * Spawns CLI tools via PTY to get auth URLs, captures tokens.
6
+ *
7
+ * We use node-pty instead of child_process.spawn because:
8
+ * 1. Many CLIs detect if they're in a TTY and behave differently
9
+ * 2. Interactive OAuth flows often require TTY for proper output
10
+ * 3. PTY ensures the CLI outputs auth URLs correctly
6
11
  */
7
12
  import { Router } from 'express';
8
- import { spawn } from 'child_process';
9
- import crypto from 'crypto';
13
+ import * as crypto from 'crypto';
10
14
  import { requireAuth } from './auth.js';
11
15
  import { db } from '../db/index.js';
12
16
  import { vault } from '../vault/index.js';
17
+ // Import for local use
18
+ import { CLI_AUTH_CONFIG, runCLIAuthViaPTY, stripAnsiCodes, matchesSuccessPattern, findMatchingPrompt, validateProviderConfig, validateAllProviderConfigs, getSupportedProviders, } from './cli-pty-runner.js';
19
+ // Re-export from shared module for backward compatibility
20
+ export { CLI_AUTH_CONFIG, runCLIAuthViaPTY, stripAnsiCodes, matchesSuccessPattern, findMatchingPrompt, validateProviderConfig, validateAllProviderConfigs, getSupportedProviders, };
13
21
  export const onboardingRouter = Router();
22
+ // Debug: log all requests to this router
23
+ onboardingRouter.use((req, res, next) => {
24
+ console.log(`[onboarding] ${req.method} ${req.path} - body:`, JSON.stringify(req.body));
25
+ next();
26
+ });
14
27
  // All routes require authentication
15
28
  onboardingRouter.use(requireAuth);
16
29
  const activeSessions = new Map();
17
30
  // Clean up old sessions periodically
18
31
  setInterval(() => {
19
32
  const now = Date.now();
20
- for (const [id, session] of activeSessions) {
33
+ activeSessions.forEach((session, id) => {
21
34
  // Remove sessions older than 10 minutes
22
35
  if (now - session.createdAt.getTime() > 10 * 60 * 1000) {
23
36
  if (session.process) {
24
- session.process.kill();
37
+ try {
38
+ session.process.kill();
39
+ }
40
+ catch {
41
+ // Process may already be dead
42
+ }
25
43
  }
26
44
  activeSessions.delete(id);
27
45
  }
28
- }
46
+ });
29
47
  }, 60000);
30
- /**
31
- * CLI commands and URL patterns for each provider
32
- */
33
- const CLI_AUTH_CONFIG = {
34
- anthropic: {
35
- // Claude Code CLI login
36
- command: 'claude',
37
- args: ['login', '--no-open'],
38
- // Claude outputs: "Please open: https://..."
39
- urlPattern: /(?:open|visit|go to)[:\s]+(\S+anthropic\S+)/i,
40
- // Token might be in output or in credentials file
41
- credentialPath: '~/.claude/credentials.json',
42
- },
43
- openai: {
44
- // Codex CLI auth
45
- command: 'codex',
46
- args: ['auth', '--no-browser'],
47
- urlPattern: /(?:open|visit|go to)[:\s]+(\S+openai\S+)/i,
48
- credentialPath: '~/.codex/credentials.json',
49
- },
50
- };
51
48
  /**
52
49
  * POST /api/onboarding/cli/:provider/start
53
- * Start CLI-based auth - spawns the CLI and captures auth URL
50
+ * Start CLI-based auth - forwards to workspace daemon if available
51
+ *
52
+ * CLI auth requires a running workspace since CLI tools are installed there.
53
+ * For onboarding without a workspace, users should use the API key flow.
54
54
  */
55
55
  onboardingRouter.post('/cli/:provider/start', async (req, res) => {
56
+ console.log('[onboarding] Route handler entered! provider:', req.params.provider);
56
57
  const { provider } = req.params;
57
58
  const userId = req.session.userId;
59
+ const { workspaceId, useDeviceFlow } = req.body; // Optional: specific workspace, device flow option
60
+ console.log('[onboarding] userId:', userId, 'workspaceId:', workspaceId, 'useDeviceFlow:', useDeviceFlow);
58
61
  const config = CLI_AUTH_CONFIG[provider];
59
62
  if (!config) {
60
63
  return res.status(400).json({
@@ -62,93 +65,95 @@ onboardingRouter.post('/cli/:provider/start', async (req, res) => {
62
65
  supportedProviders: Object.keys(CLI_AUTH_CONFIG),
63
66
  });
64
67
  }
65
- // Create session
66
- const sessionId = crypto.randomUUID();
67
- const session = {
68
- userId,
69
- provider,
70
- status: 'starting',
71
- createdAt: new Date(),
72
- };
73
- activeSessions.set(sessionId, session);
74
68
  try {
75
- // Spawn CLI process
76
- const proc = spawn(config.command, config.args, {
77
- env: { ...process.env, NO_COLOR: '1' },
78
- stdio: ['pipe', 'pipe', 'pipe'],
79
- });
80
- session.process = proc;
81
- let _output = '';
82
- // Capture stdout/stderr for auth URL
83
- const handleOutput = (data) => {
84
- const text = data.toString();
85
- _output += text;
86
- // Look for auth URL
87
- const match = text.match(config.urlPattern);
88
- if (match && match[1]) {
89
- session.authUrl = match[1];
90
- session.status = 'waiting_auth';
69
+ // Find a running workspace to use for CLI auth
70
+ let workspace;
71
+ if (workspaceId) {
72
+ workspace = await db.workspaces.findById(workspaceId);
73
+ if (!workspace) {
74
+ console.log(`[onboarding] Workspace ${workspaceId} not found in database`);
75
+ return res.status(404).json({ error: 'Workspace not found' });
91
76
  }
92
- // Look for success indicators
93
- if (text.toLowerCase().includes('success') ||
94
- text.toLowerCase().includes('authenticated') ||
95
- text.toLowerCase().includes('logged in')) {
96
- session.status = 'success';
77
+ if (workspace.userId !== userId) {
78
+ console.log(`[onboarding] Workspace ${workspaceId} belongs to ${workspace.userId}, not ${userId}`);
79
+ return res.status(404).json({ error: 'Workspace not found' });
97
80
  }
98
- };
99
- proc.stdout.on('data', handleOutput);
100
- proc.stderr.on('data', handleOutput);
101
- proc.on('error', (err) => {
102
- session.status = 'error';
103
- session.error = `Failed to start CLI: ${err.message}`;
104
- });
105
- proc.on('exit', async (code) => {
106
- if (code === 0 && session.status !== 'error') {
107
- session.status = 'success';
108
- // Try to read credentials from file
109
- await extractCredentials(session, config);
110
- }
111
- else if (session.status === 'starting') {
112
- session.status = 'error';
113
- session.error = `CLI exited with code ${code}`;
114
- }
115
- });
116
- // Wait a moment for URL to appear
117
- await new Promise(resolve => setTimeout(resolve, 2000));
118
- // Return session info
119
- if (session.authUrl) {
120
- res.json({
121
- sessionId,
122
- status: 'waiting_auth',
123
- authUrl: session.authUrl,
124
- message: 'Open the auth URL to complete login',
81
+ }
82
+ else {
83
+ // Find any running workspace for this user
84
+ const workspaces = await db.workspaces.findByUserId(userId);
85
+ workspace = workspaces.find(w => w.status === 'running' && w.publicUrl);
86
+ }
87
+ if (!workspace || workspace.status !== 'running' || !workspace.publicUrl) {
88
+ return res.status(400).json({
89
+ error: 'CLI auth requires a running workspace',
90
+ code: 'NO_RUNNING_WORKSPACE',
91
+ message: 'Please start a workspace first, or use the API key input to connect your provider.',
92
+ hint: 'You can create a workspace without providers and connect them afterward using CLI auth.',
125
93
  });
126
94
  }
127
- else if (session.status === 'error') {
128
- activeSessions.delete(sessionId);
129
- res.status(500).json({ error: session.error || 'CLI auth failed to start' });
95
+ // Forward auth request to workspace daemon
96
+ // When running in Docker, localhost refers to the container, not the host
97
+ // Use host.docker.internal on Mac/Windows to reach the host machine
98
+ let workspaceUrl = workspace.publicUrl.replace(/\/$/, '');
99
+ // Detect Docker by checking for /.dockerenv file or RUNNING_IN_DOCKER env var
100
+ const isInDocker = process.env.RUNNING_IN_DOCKER === 'true' ||
101
+ await import('fs').then(fs => fs.existsSync('/.dockerenv')).catch(() => false);
102
+ console.log('[onboarding] isInDocker:', isInDocker, 'RUNNING_IN_DOCKER:', process.env.RUNNING_IN_DOCKER);
103
+ if (isInDocker && workspaceUrl.includes('localhost')) {
104
+ workspaceUrl = workspaceUrl.replace('localhost', 'host.docker.internal');
105
+ console.log('[onboarding] Translated localhost to host.docker.internal');
130
106
  }
131
- else {
132
- // Still starting, return session ID to poll
133
- res.json({
134
- sessionId,
135
- status: 'starting',
136
- message: 'Auth session starting, poll for status',
107
+ const targetUrl = `${workspaceUrl}/auth/cli/${provider}/start`;
108
+ console.log('[onboarding] Forwarding to workspace daemon:', targetUrl);
109
+ const authResponse = await fetch(targetUrl, {
110
+ method: 'POST',
111
+ headers: { 'Content-Type': 'application/json' },
112
+ body: JSON.stringify({ useDeviceFlow }),
113
+ });
114
+ console.log('[onboarding] Workspace daemon response:', authResponse.status);
115
+ if (!authResponse.ok) {
116
+ const errorData = await authResponse.json().catch(() => ({}));
117
+ console.log('[onboarding] Workspace daemon error:', errorData);
118
+ return res.status(authResponse.status).json({
119
+ error: errorData.error || 'Failed to start CLI auth in workspace',
137
120
  });
138
121
  }
122
+ const workspaceSession = await authResponse.json();
123
+ // Create cloud session to track this
124
+ const sessionId = crypto.randomUUID();
125
+ const session = {
126
+ userId,
127
+ provider,
128
+ status: workspaceSession.status || 'starting',
129
+ authUrl: workspaceSession.authUrl,
130
+ createdAt: new Date(),
131
+ output: '',
132
+ // Store workspace info for status polling and auth code forwarding
133
+ workspaceUrl,
134
+ workspaceSessionId: workspaceSession.sessionId,
135
+ };
136
+ activeSessions.set(sessionId, session);
137
+ console.log('[onboarding] Session created:', { sessionId, workspaceUrl, workspaceSessionId: workspaceSession.sessionId });
138
+ res.json({
139
+ sessionId,
140
+ status: session.status,
141
+ authUrl: session.authUrl,
142
+ workspaceId: workspace.id,
143
+ message: session.authUrl ? 'Open the auth URL to complete login' : 'Auth session starting, poll for status',
144
+ });
139
145
  }
140
146
  catch (error) {
141
- activeSessions.delete(sessionId);
142
147
  console.error(`Error starting CLI auth for ${provider}:`, error);
143
148
  res.status(500).json({ error: 'Failed to start CLI authentication' });
144
149
  }
145
150
  });
146
151
  /**
147
152
  * GET /api/onboarding/cli/:provider/status/:sessionId
148
- * Check status of CLI auth session
153
+ * Check status of CLI auth session - forwards to workspace daemon
149
154
  */
150
- onboardingRouter.get('/cli/:provider/status/:sessionId', (req, res) => {
151
- const { sessionId } = req.params;
155
+ onboardingRouter.get('/cli/:provider/status/:sessionId', async (req, res) => {
156
+ const { provider, sessionId } = req.params;
152
157
  const userId = req.session.userId;
153
158
  const session = activeSessions.get(sessionId);
154
159
  if (!session) {
@@ -157,6 +162,22 @@ onboardingRouter.get('/cli/:provider/status/:sessionId', (req, res) => {
157
162
  if (session.userId !== userId) {
158
163
  return res.status(403).json({ error: 'Unauthorized' });
159
164
  }
165
+ // If we have workspace info, poll the workspace for status
166
+ if (session.workspaceUrl && session.workspaceSessionId) {
167
+ try {
168
+ const statusResponse = await fetch(`${session.workspaceUrl}/auth/cli/${provider}/status/${session.workspaceSessionId}`);
169
+ if (statusResponse.ok) {
170
+ const workspaceStatus = await statusResponse.json();
171
+ // Update local session with workspace status
172
+ session.status = workspaceStatus.status || session.status;
173
+ session.authUrl = workspaceStatus.authUrl || session.authUrl;
174
+ session.error = workspaceStatus.error;
175
+ }
176
+ }
177
+ catch (err) {
178
+ console.error('[onboarding] Failed to poll workspace status:', err);
179
+ }
180
+ }
160
181
  res.json({
161
182
  status: session.status,
162
183
  authUrl: session.authUrl,
@@ -166,11 +187,16 @@ onboardingRouter.get('/cli/:provider/status/:sessionId', (req, res) => {
166
187
  /**
167
188
  * POST /api/onboarding/cli/:provider/complete/:sessionId
168
189
  * Mark CLI auth as complete and store credentials
190
+ *
191
+ * Handles two modes:
192
+ * 1. Workspace delegation: Forwards to workspace daemon to complete auth, then fetches credentials
193
+ * 2. Direct: Uses token from body or session
169
194
  */
170
195
  onboardingRouter.post('/cli/:provider/complete/:sessionId', async (req, res) => {
171
196
  const { provider, sessionId } = req.params;
172
197
  const userId = req.session.userId;
173
- const { token } = req.body; // Optional: user can paste token directly
198
+ const { token, authCode } = req.body; // token for direct mode, authCode for Codex redirect
199
+ console.log(`[onboarding] POST /cli/${provider}/complete/${sessionId} - token: ${token ? 'provided' : 'none'}, authCode: ${authCode ? 'provided' : 'none'}`);
174
200
  const session = activeSessions.get(sessionId);
175
201
  if (!session) {
176
202
  return res.status(404).json({ error: 'Session not found or expired' });
@@ -179,14 +205,49 @@ onboardingRouter.post('/cli/:provider/complete/:sessionId', async (req, res) =>
179
205
  return res.status(403).json({ error: 'Unauthorized' });
180
206
  }
181
207
  try {
182
- // If token provided directly, use it
183
208
  let accessToken = token || session.token;
184
- // If no token yet, try to read from credentials file
185
- if (!accessToken) {
186
- const config = CLI_AUTH_CONFIG[provider];
187
- if (config) {
188
- await extractCredentials(session, config);
189
- accessToken = session.token;
209
+ let refreshToken = session.refreshToken;
210
+ let tokenExpiresAt = session.tokenExpiresAt;
211
+ // If using workspace delegation, forward complete request first
212
+ if (session.workspaceUrl && session.workspaceSessionId) {
213
+ // Forward authCode to workspace if provided (for Codex-style redirects)
214
+ if (authCode) {
215
+ const backendProviderId = provider === 'anthropic' ? 'anthropic' : provider;
216
+ const targetUrl = `${session.workspaceUrl}/auth/cli/${backendProviderId}/complete/${session.workspaceSessionId}`;
217
+ console.log('[onboarding] Forwarding complete request to workspace:', targetUrl);
218
+ const completeResponse = await fetch(targetUrl, {
219
+ method: 'POST',
220
+ headers: { 'Content-Type': 'application/json' },
221
+ body: JSON.stringify({ authCode }),
222
+ });
223
+ if (!completeResponse.ok) {
224
+ const errorData = await completeResponse.json().catch(() => ({}));
225
+ return res.status(completeResponse.status).json({
226
+ error: errorData.error || 'Failed to complete authentication in workspace',
227
+ });
228
+ }
229
+ session.status = 'success';
230
+ }
231
+ // Fetch credentials from workspace
232
+ if (!accessToken) {
233
+ try {
234
+ const credsResponse = await fetch(`${session.workspaceUrl}/auth/cli/${provider}/creds/${session.workspaceSessionId}`);
235
+ if (credsResponse.ok) {
236
+ const creds = await credsResponse.json();
237
+ accessToken = creds.token;
238
+ refreshToken = creds.refreshToken;
239
+ if (creds.expiresAt) {
240
+ tokenExpiresAt = new Date(creds.expiresAt);
241
+ }
242
+ console.log('[onboarding] Fetched credentials from workspace:', {
243
+ hasToken: !!accessToken,
244
+ hasRefreshToken: !!refreshToken,
245
+ });
246
+ }
247
+ }
248
+ catch (err) {
249
+ console.error('[onboarding] Failed to get credentials from workspace:', err);
250
+ }
190
251
  }
191
252
  }
192
253
  if (!accessToken) {
@@ -194,17 +255,16 @@ onboardingRouter.post('/cli/:provider/complete/:sessionId', async (req, res) =>
194
255
  error: 'No token found. Please complete authentication or paste your token.',
195
256
  });
196
257
  }
197
- // Store in vault
258
+ // Store in vault with refresh token and expiry
198
259
  await vault.storeCredential({
199
260
  userId,
200
261
  provider,
201
262
  accessToken,
263
+ refreshToken,
264
+ tokenExpiresAt,
202
265
  scopes: getProviderScopes(provider),
203
266
  });
204
267
  // Clean up session
205
- if (session.process) {
206
- session.process.kill();
207
- }
208
268
  activeSessions.delete(sessionId);
209
269
  res.json({
210
270
  success: true,
@@ -216,17 +276,93 @@ onboardingRouter.post('/cli/:provider/complete/:sessionId', async (req, res) =>
216
276
  res.status(500).json({ error: 'Failed to complete authentication' });
217
277
  }
218
278
  });
279
+ /**
280
+ * POST /api/onboarding/cli/:provider/code/:sessionId
281
+ * Submit auth code to the CLI PTY session
282
+ * Used when OAuth returns a code that must be pasted into the CLI
283
+ */
284
+ onboardingRouter.post('/cli/:provider/code/:sessionId', async (req, res) => {
285
+ const { provider, sessionId } = req.params;
286
+ const userId = req.session.userId;
287
+ const { code } = req.body;
288
+ console.log('[onboarding] Auth code submission request:', { provider, sessionId, codeLength: code?.length });
289
+ if (!code || typeof code !== 'string') {
290
+ return res.status(400).json({ error: 'Auth code is required' });
291
+ }
292
+ const session = activeSessions.get(sessionId);
293
+ if (!session) {
294
+ console.log('[onboarding] Session not found:', { sessionId, activeSessions: Array.from(activeSessions.keys()) });
295
+ return res.status(404).json({ error: 'Session not found or expired. Please try connecting again.' });
296
+ }
297
+ if (session.userId !== userId) {
298
+ return res.status(403).json({ error: 'Unauthorized' });
299
+ }
300
+ console.log('[onboarding] Session found:', {
301
+ sessionId,
302
+ workspaceUrl: session.workspaceUrl,
303
+ workspaceSessionId: session.workspaceSessionId,
304
+ status: session.status,
305
+ });
306
+ // Forward to workspace daemon
307
+ if (session.workspaceUrl && session.workspaceSessionId) {
308
+ try {
309
+ const targetUrl = `${session.workspaceUrl}/auth/cli/${provider}/code/${session.workspaceSessionId}`;
310
+ console.log('[onboarding] Forwarding auth code to workspace:', targetUrl);
311
+ const codeResponse = await fetch(targetUrl, {
312
+ method: 'POST',
313
+ headers: { 'Content-Type': 'application/json' },
314
+ body: JSON.stringify({ code }),
315
+ });
316
+ console.log('[onboarding] Workspace response:', { status: codeResponse.status });
317
+ if (codeResponse.ok) {
318
+ return res.json({ success: true, message: 'Auth code submitted' });
319
+ }
320
+ const errorData = await codeResponse.json().catch(() => ({}));
321
+ console.log('[onboarding] Workspace error:', errorData);
322
+ // Provide more helpful error message
323
+ const needsRestart = errorData.needsRestart;
324
+ if (codeResponse.status === 404 || codeResponse.status === 400) {
325
+ return res.status(400).json({
326
+ error: errorData.error || 'Auth session expired in workspace. The CLI process may have timed out. Please try connecting again.',
327
+ needsRestart: needsRestart ?? true,
328
+ });
329
+ }
330
+ return res.status(codeResponse.status).json({
331
+ error: errorData.error || 'Failed to submit auth code to workspace',
332
+ needsRestart,
333
+ });
334
+ }
335
+ catch (err) {
336
+ console.error('[onboarding] Failed to submit auth code to workspace:', err);
337
+ return res.status(500).json({
338
+ error: 'Failed to reach workspace. Please ensure your workspace is running and try again.',
339
+ });
340
+ }
341
+ }
342
+ console.log('[onboarding] No workspace session info available');
343
+ return res.status(400).json({
344
+ error: 'No workspace session available. This can happen if the workspace was restarted. Please try connecting again.',
345
+ });
346
+ });
347
+ // Note: POST /cli/:provider/complete/:sessionId handler is defined above (lines 269-368)
348
+ // It handles both direct token storage and workspace delegation with authCode forwarding
219
349
  /**
220
350
  * POST /api/onboarding/cli/:provider/cancel/:sessionId
221
351
  * Cancel a CLI auth session
222
352
  */
223
- onboardingRouter.post('/cli/:provider/cancel/:sessionId', (req, res) => {
224
- const { sessionId } = req.params;
353
+ onboardingRouter.post('/cli/:provider/cancel/:sessionId', async (req, res) => {
354
+ const { provider, sessionId } = req.params;
225
355
  const userId = req.session.userId;
226
356
  const session = activeSessions.get(sessionId);
227
357
  if (session?.userId === userId) {
228
- if (session.process) {
229
- session.process.kill();
358
+ // Cancel on workspace side if applicable
359
+ if (session.workspaceUrl && session.workspaceSessionId) {
360
+ try {
361
+ await fetch(`${session.workspaceUrl}/auth/cli/${provider}/cancel/${session.workspaceSessionId}`, { method: 'POST' });
362
+ }
363
+ catch {
364
+ // Ignore cancel errors
365
+ }
230
366
  }
231
367
  activeSessions.delete(sessionId);
232
368
  }
@@ -319,8 +455,9 @@ onboardingRouter.post('/complete', async (req, res) => {
319
455
  });
320
456
  /**
321
457
  * Helper: Extract credentials from CLI credential file
458
+ * @deprecated Currently unused - kept for potential future use
322
459
  */
323
- async function extractCredentials(session, config) {
460
+ async function _extractCredentials(session, config) {
324
461
  if (!config.credentialPath)
325
462
  return;
326
463
  try {
@@ -331,12 +468,31 @@ async function extractCredentials(session, config) {
331
468
  const creds = JSON.parse(content);
332
469
  // Extract token based on provider structure
333
470
  if (session.provider === 'anthropic') {
334
- // Claude stores: { "oauth_token": "...", ... } or { "api_key": "..." }
335
- session.token = creds.oauth_token || creds.access_token || creds.api_key;
471
+ // Claude stores OAuth in: { claudeAiOauth: { accessToken: "...", refreshToken: "...", expiresAt: ... } }
472
+ if (creds.claudeAiOauth?.accessToken) {
473
+ session.token = creds.claudeAiOauth.accessToken;
474
+ session.refreshToken = creds.claudeAiOauth.refreshToken;
475
+ if (creds.claudeAiOauth.expiresAt) {
476
+ session.tokenExpiresAt = new Date(creds.claudeAiOauth.expiresAt);
477
+ }
478
+ }
479
+ else {
480
+ // Fallback to legacy formats
481
+ session.token = creds.oauth_token || creds.access_token || creds.api_key;
482
+ }
336
483
  }
337
484
  else if (session.provider === 'openai') {
338
- // Codex might store: { "token": "..." } or { "api_key": "..." }
339
- session.token = creds.token || creds.access_token || creds.api_key;
485
+ // Codex stores OAuth in: { tokens: { access_token: "...", refresh_token: "...", ... } }
486
+ if (creds.tokens?.access_token) {
487
+ session.token = creds.tokens.access_token;
488
+ session.refreshToken = creds.tokens.refresh_token;
489
+ // Codex doesn't store expiry in the file, but JWTs have exp claim
490
+ // We could decode it, but for now just skip
491
+ }
492
+ else {
493
+ // Fallback: API key or legacy formats
494
+ session.token = creds.OPENAI_API_KEY || creds.token || creds.access_token || creds.api_key;
495
+ }
340
496
  }
341
497
  }
342
498
  catch (error) {
@@ -358,9 +514,34 @@ function getProviderScopes(provider) {
358
514
  }
359
515
  /**
360
516
  * Helper: Validate a provider token by making a test API call
517
+ *
518
+ * Note: OAuth tokens from CLI flows (like `claude` CLI) are different from API keys.
519
+ * - API keys: sk-ant-api03-... (can be validated via API)
520
+ * - OAuth tokens: Session tokens from OAuth flow (can't be validated the same way)
521
+ *
522
+ * For OAuth tokens, we accept them if they look valid (non-empty, reasonable length).
523
+ * The CLI already validated the OAuth flow, so we trust those tokens.
361
524
  */
362
525
  async function validateProviderToken(provider, token) {
526
+ // Basic sanity check
527
+ if (!token || token.length < 10) {
528
+ return false;
529
+ }
363
530
  try {
531
+ // Check if this looks like an API key vs OAuth token
532
+ const isAnthropicApiKey = token.startsWith('sk-ant-');
533
+ const isOpenAIApiKey = token.startsWith('sk-');
534
+ // For OAuth tokens (not API keys), accept them without API validation
535
+ // The OAuth flow already authenticated the user
536
+ if (provider === 'anthropic' && !isAnthropicApiKey) {
537
+ console.log('[onboarding] Accepting OAuth token for anthropic (not an API key)');
538
+ return true;
539
+ }
540
+ if (provider === 'openai' && !isOpenAIApiKey) {
541
+ console.log('[onboarding] Accepting OAuth token for openai (not an API key)');
542
+ return true;
543
+ }
544
+ // For API keys, validate via API call
364
545
  const endpoints = {
365
546
  anthropic: {
366
547
  url: 'https://api.anthropic.com/v1/messages',
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/cloud/api/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/cloud/api/onboarding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Agent Policy API Routes
3
+ *
4
+ * Provides endpoints for managing workspace-level agent policies.
5
+ * These policies serve as fallbacks when repos don't have .claude/policies/ files.
6
+ */
7
+ export declare const policyRouter: import("express-serve-static-core").Router;
8
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/cloud/api/policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,YAAY,4CAAW,CAAC"}