@openagt/dashboard 0.0.0-stage → 0.8.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 (1275) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +125 -2
  3. package/dist/agent-archive.d.ts +35 -0
  4. package/dist/agent-archive.d.ts.map +1 -0
  5. package/dist/agent-archive.js +67 -0
  6. package/dist/agent-archive.js.map +1 -0
  7. package/dist/agent-commit.d.ts +140 -0
  8. package/dist/agent-commit.d.ts.map +1 -0
  9. package/dist/agent-commit.js +254 -0
  10. package/dist/agent-commit.js.map +1 -0
  11. package/dist/agent-driver.d.ts +28 -0
  12. package/dist/agent-driver.d.ts.map +1 -0
  13. package/dist/agent-driver.js +18 -0
  14. package/dist/agent-driver.js.map +1 -0
  15. package/dist/agent-id.d.ts +13 -0
  16. package/dist/agent-id.d.ts.map +1 -0
  17. package/dist/agent-id.js +20 -0
  18. package/dist/agent-id.js.map +1 -0
  19. package/dist/agent-location.d.ts +11 -0
  20. package/dist/agent-location.d.ts.map +1 -0
  21. package/dist/agent-location.js +10 -0
  22. package/dist/agent-location.js.map +1 -0
  23. package/dist/agent-locks.d.ts +3 -0
  24. package/dist/agent-locks.d.ts.map +1 -0
  25. package/dist/agent-locks.js +40 -0
  26. package/dist/agent-locks.js.map +1 -0
  27. package/dist/agent-messages.d.ts +55 -0
  28. package/dist/agent-messages.d.ts.map +1 -0
  29. package/dist/agent-messages.js +73 -0
  30. package/dist/agent-messages.js.map +1 -0
  31. package/dist/agent-names.d.ts +24 -0
  32. package/dist/agent-names.d.ts.map +1 -0
  33. package/dist/agent-names.js +33 -0
  34. package/dist/agent-names.js.map +1 -0
  35. package/dist/agent-options.d.ts +45 -0
  36. package/dist/agent-options.d.ts.map +1 -0
  37. package/dist/agent-options.js +83 -0
  38. package/dist/agent-options.js.map +1 -0
  39. package/dist/agent-spec.d.ts +56 -0
  40. package/dist/agent-spec.d.ts.map +1 -0
  41. package/dist/agent-spec.js +56 -0
  42. package/dist/agent-spec.js.map +1 -0
  43. package/dist/agent-telemetry.d.ts +88 -0
  44. package/dist/agent-telemetry.d.ts.map +1 -0
  45. package/dist/agent-telemetry.js +97 -0
  46. package/dist/agent-telemetry.js.map +1 -0
  47. package/dist/agent-view.d.ts +39 -0
  48. package/dist/agent-view.d.ts.map +1 -0
  49. package/dist/agent-view.js +45 -0
  50. package/dist/agent-view.js.map +1 -0
  51. package/dist/agent.d.ts +113 -0
  52. package/dist/agent.d.ts.map +1 -0
  53. package/dist/agent.js +168 -0
  54. package/dist/agent.js.map +1 -0
  55. package/dist/archived-agent-patch.d.ts +14 -0
  56. package/dist/archived-agent-patch.d.ts.map +1 -0
  57. package/dist/archived-agent-patch.js +22 -0
  58. package/dist/archived-agent-patch.js.map +1 -0
  59. package/dist/auto-pm.d.ts +538 -0
  60. package/dist/auto-pm.d.ts.map +1 -0
  61. package/dist/auto-pm.js +707 -0
  62. package/dist/auto-pm.js.map +1 -0
  63. package/dist/await-gate.d.ts +184 -0
  64. package/dist/await-gate.d.ts.map +1 -0
  65. package/dist/await-gate.js +252 -0
  66. package/dist/await-gate.js.map +1 -0
  67. package/dist/bin.d.ts +3 -0
  68. package/dist/bin.d.ts.map +1 -0
  69. package/dist/bin.js +11 -0
  70. package/dist/bin.js.map +1 -0
  71. package/dist/branch-links-pass.d.ts +15 -0
  72. package/dist/branch-links-pass.d.ts.map +1 -0
  73. package/dist/branch-links-pass.js +13 -0
  74. package/dist/branch-links-pass.js.map +1 -0
  75. package/dist/branch-links.d.ts +53 -0
  76. package/dist/branch-links.d.ts.map +1 -0
  77. package/dist/branch-links.js +94 -0
  78. package/dist/branch-links.js.map +1 -0
  79. package/dist/branch-name.d.ts +8 -0
  80. package/dist/branch-name.d.ts.map +1 -0
  81. package/dist/branch-name.js +20 -0
  82. package/dist/branch-name.js.map +1 -0
  83. package/dist/branch-names.d.ts +57 -0
  84. package/dist/branch-names.d.ts.map +1 -0
  85. package/dist/branch-names.js +72 -0
  86. package/dist/branch-names.js.map +1 -0
  87. package/dist/bridge-browser.d.ts +217 -0
  88. package/dist/bridge-browser.d.ts.map +1 -0
  89. package/dist/bridge-browser.js +520 -0
  90. package/dist/bridge-browser.js.map +1 -0
  91. package/dist/browser-stream.d.ts +20 -0
  92. package/dist/browser-stream.d.ts.map +1 -0
  93. package/dist/browser-stream.js +51 -0
  94. package/dist/browser-stream.js.map +1 -0
  95. package/dist/browser.d.ts +16 -0
  96. package/dist/browser.d.ts.map +1 -0
  97. package/dist/browser.js +38 -0
  98. package/dist/browser.js.map +1 -0
  99. package/dist/built-in.d.ts +29 -0
  100. package/dist/built-in.d.ts.map +1 -0
  101. package/dist/built-in.js +78 -0
  102. package/dist/built-in.js.map +1 -0
  103. package/dist/chrome-extension/background.js +532 -0
  104. package/dist/chrome-extension/content.js +1475 -0
  105. package/dist/chrome-extension/driver-plan.js +41 -0
  106. package/dist/chrome-extension/fingerprint.js +43 -0
  107. package/dist/chrome-extension/manifest.json +31 -0
  108. package/dist/chrome-extension/options.html +48 -0
  109. package/dist/chrome-extension/options.js +122 -0
  110. package/dist/ci-watch.d.ts +123 -0
  111. package/dist/ci-watch.d.ts.map +1 -0
  112. package/dist/ci-watch.js +228 -0
  113. package/dist/ci-watch.js.map +1 -0
  114. package/dist/claude-trust.d.ts +16 -0
  115. package/dist/claude-trust.d.ts.map +1 -0
  116. package/dist/claude-trust.js +72 -0
  117. package/dist/claude-trust.js.map +1 -0
  118. package/dist/cli-exec.d.ts +36 -0
  119. package/dist/cli-exec.d.ts.map +1 -0
  120. package/dist/cli-exec.js +44 -0
  121. package/dist/cli-exec.js.map +1 -0
  122. package/dist/cli.d.ts +43 -0
  123. package/dist/cli.d.ts.map +1 -0
  124. package/dist/cli.js +186 -0
  125. package/dist/cli.js.map +1 -0
  126. package/dist/client.d.ts +16 -0
  127. package/dist/client.d.ts.map +1 -0
  128. package/dist/client.js +30 -0
  129. package/dist/client.js.map +1 -0
  130. package/dist/closing-keywords.d.ts +28 -0
  131. package/dist/closing-keywords.d.ts.map +1 -0
  132. package/dist/closing-keywords.js +49 -0
  133. package/dist/closing-keywords.js.map +1 -0
  134. package/dist/cloud-run-state.d.ts +27 -0
  135. package/dist/cloud-run-state.d.ts.map +1 -0
  136. package/dist/cloud-run-state.js +36 -0
  137. package/dist/cloud-run-state.js.map +1 -0
  138. package/dist/cloud-scratch-refs.d.ts +85 -0
  139. package/dist/cloud-scratch-refs.d.ts.map +1 -0
  140. package/dist/cloud-scratch-refs.js +275 -0
  141. package/dist/cloud-scratch-refs.js.map +1 -0
  142. package/dist/cloud-work.d.ts +66 -0
  143. package/dist/cloud-work.d.ts.map +1 -0
  144. package/dist/cloud-work.js +204 -0
  145. package/dist/cloud-work.js.map +1 -0
  146. package/dist/config-layers.d.ts +62 -0
  147. package/dist/config-layers.d.ts.map +1 -0
  148. package/dist/config-layers.js +70 -0
  149. package/dist/config-layers.js.map +1 -0
  150. package/dist/config.d.ts +54 -0
  151. package/dist/config.d.ts.map +1 -0
  152. package/dist/config.js +78 -0
  153. package/dist/config.js.map +1 -0
  154. package/dist/consumption-guard.d.ts +53 -0
  155. package/dist/consumption-guard.d.ts.map +1 -0
  156. package/dist/consumption-guard.js +69 -0
  157. package/dist/consumption-guard.js.map +1 -0
  158. package/dist/control.d.ts +75 -0
  159. package/dist/control.d.ts.map +1 -0
  160. package/dist/control.js +68 -0
  161. package/dist/control.js.map +1 -0
  162. package/dist/conversation-commit.d.ts +166 -0
  163. package/dist/conversation-commit.d.ts.map +1 -0
  164. package/dist/conversation-commit.js +309 -0
  165. package/dist/conversation-commit.js.map +1 -0
  166. package/dist/conversations.d.ts +93 -0
  167. package/dist/conversations.d.ts.map +1 -0
  168. package/dist/conversations.js +176 -0
  169. package/dist/conversations.js.map +1 -0
  170. package/dist/daemon-runtime.d.ts +41 -0
  171. package/dist/daemon-runtime.d.ts.map +1 -0
  172. package/dist/daemon-runtime.js +133 -0
  173. package/dist/daemon-runtime.js.map +1 -0
  174. package/dist/daemon-services.d.ts +36 -0
  175. package/dist/daemon-services.d.ts.map +1 -0
  176. package/dist/daemon-services.js +120 -0
  177. package/dist/daemon-services.js.map +1 -0
  178. package/dist/daemon-tick.d.ts +68 -0
  179. package/dist/daemon-tick.d.ts.map +1 -0
  180. package/dist/daemon-tick.js +97 -0
  181. package/dist/daemon-tick.js.map +1 -0
  182. package/dist/daemon-writes.d.ts +33 -0
  183. package/dist/daemon-writes.d.ts.map +1 -0
  184. package/dist/daemon-writes.js +45 -0
  185. package/dist/daemon-writes.js.map +1 -0
  186. package/dist/daemon.d.ts +76 -0
  187. package/dist/daemon.d.ts.map +1 -0
  188. package/dist/daemon.js +225 -0
  189. package/dist/daemon.js.map +1 -0
  190. package/dist/dashboard/activity.d.ts +41 -0
  191. package/dist/dashboard/activity.d.ts.map +1 -0
  192. package/dist/dashboard/activity.js +56 -0
  193. package/dist/dashboard/activity.js.map +1 -0
  194. package/dist/dashboard/agent-handoff.d.ts +244 -0
  195. package/dist/dashboard/agent-handoff.d.ts.map +1 -0
  196. package/dist/dashboard/agent-handoff.js +310 -0
  197. package/dist/dashboard/agent-handoff.js.map +1 -0
  198. package/dist/dashboard/agent-tree.d.ts +106 -0
  199. package/dist/dashboard/agent-tree.d.ts.map +1 -0
  200. package/dist/dashboard/agent-tree.js +180 -0
  201. package/dist/dashboard/agent-tree.js.map +1 -0
  202. package/dist/dashboard/bridge-endpoints.d.ts +158 -0
  203. package/dist/dashboard/bridge-endpoints.d.ts.map +1 -0
  204. package/dist/dashboard/bridge-endpoints.js +382 -0
  205. package/dist/dashboard/bridge-endpoints.js.map +1 -0
  206. package/dist/dashboard/bridge-question.d.ts +33 -0
  207. package/dist/dashboard/bridge-question.d.ts.map +1 -0
  208. package/dist/dashboard/bridge-question.js +20 -0
  209. package/dist/dashboard/bridge-question.js.map +1 -0
  210. package/dist/dashboard/bridge-sessions.d.ts +25 -0
  211. package/dist/dashboard/bridge-sessions.d.ts.map +1 -0
  212. package/dist/dashboard/bridge-sessions.js +46 -0
  213. package/dist/dashboard/bridge-sessions.js.map +1 -0
  214. package/dist/dashboard/bridge-starts.d.ts +61 -0
  215. package/dist/dashboard/bridge-starts.d.ts.map +1 -0
  216. package/dist/dashboard/bridge-starts.js +94 -0
  217. package/dist/dashboard/bridge-starts.js.map +1 -0
  218. package/dist/dashboard/bridge-store.d.ts +179 -0
  219. package/dist/dashboard/bridge-store.d.ts.map +1 -0
  220. package/dist/dashboard/bridge-store.js +262 -0
  221. package/dist/dashboard/bridge-store.js.map +1 -0
  222. package/dist/dashboard/browser-proxy.d.ts +41 -0
  223. package/dist/dashboard/browser-proxy.d.ts.map +1 -0
  224. package/dist/dashboard/browser-proxy.js +96 -0
  225. package/dist/dashboard/browser-proxy.js.map +1 -0
  226. package/dist/dashboard/bundle.d.ts +12 -0
  227. package/dist/dashboard/bundle.d.ts.map +1 -0
  228. package/dist/dashboard/bundle.js +22 -0
  229. package/dist/dashboard/bundle.js.map +1 -0
  230. package/dist/dashboard/cache.d.ts +47 -0
  231. package/dist/dashboard/cache.d.ts.map +1 -0
  232. package/dist/dashboard/cache.js +87 -0
  233. package/dist/dashboard/cache.js.map +1 -0
  234. package/dist/dashboard/content-type.d.ts +3 -0
  235. package/dist/dashboard/content-type.d.ts.map +1 -0
  236. package/dist/dashboard/content-type.js +31 -0
  237. package/dist/dashboard/content-type.js.map +1 -0
  238. package/dist/dashboard/dashboard.d.ts +38 -0
  239. package/dist/dashboard/dashboard.d.ts.map +1 -0
  240. package/dist/dashboard/dashboard.js +42 -0
  241. package/dist/dashboard/dashboard.js.map +1 -0
  242. package/dist/dashboard/discord-webhook.d.ts +17 -0
  243. package/dist/dashboard/discord-webhook.d.ts.map +1 -0
  244. package/dist/dashboard/discord-webhook.js +36 -0
  245. package/dist/dashboard/discord-webhook.js.map +1 -0
  246. package/dist/dashboard/docs.d.ts +39 -0
  247. package/dist/dashboard/docs.d.ts.map +1 -0
  248. package/dist/dashboard/docs.js +59 -0
  249. package/dist/dashboard/docs.js.map +1 -0
  250. package/dist/dashboard/file-diff.d.ts +67 -0
  251. package/dist/dashboard/file-diff.d.ts.map +1 -0
  252. package/dist/dashboard/file-diff.js +132 -0
  253. package/dist/dashboard/file-diff.js.map +1 -0
  254. package/dist/dashboard/file-read.d.ts +42 -0
  255. package/dist/dashboard/file-read.d.ts.map +1 -0
  256. package/dist/dashboard/file-read.js +69 -0
  257. package/dist/dashboard/file-read.js.map +1 -0
  258. package/dist/dashboard/file-status.d.ts +21 -0
  259. package/dist/dashboard/file-status.d.ts.map +1 -0
  260. package/dist/dashboard/file-status.js +37 -0
  261. package/dist/dashboard/file-status.js.map +1 -0
  262. package/dist/dashboard/gh.d.ts +131 -0
  263. package/dist/dashboard/gh.d.ts.map +1 -0
  264. package/dist/dashboard/gh.js +150 -0
  265. package/dist/dashboard/gh.js.map +1 -0
  266. package/dist/dashboard/git-status.d.ts +44 -0
  267. package/dist/dashboard/git-status.d.ts.map +1 -0
  268. package/dist/dashboard/git-status.js +37 -0
  269. package/dist/dashboard/git-status.js.map +1 -0
  270. package/dist/dashboard/github.d.ts +11 -0
  271. package/dist/dashboard/github.d.ts.map +1 -0
  272. package/dist/dashboard/github.js +33 -0
  273. package/dist/dashboard/github.js.map +1 -0
  274. package/dist/dashboard/http.d.ts +29 -0
  275. package/dist/dashboard/http.d.ts.map +1 -0
  276. package/dist/dashboard/http.js +74 -0
  277. package/dist/dashboard/http.js.map +1 -0
  278. package/dist/dashboard/index.d.ts +24 -0
  279. package/dist/dashboard/index.d.ts.map +1 -0
  280. package/dist/dashboard/index.js +23 -0
  281. package/dist/dashboard/index.js.map +1 -0
  282. package/dist/dashboard/interventions.d.ts +67 -0
  283. package/dist/dashboard/interventions.d.ts.map +1 -0
  284. package/dist/dashboard/interventions.js +169 -0
  285. package/dist/dashboard/interventions.js.map +1 -0
  286. package/dist/dashboard/keyed-watcher.d.ts +29 -0
  287. package/dist/dashboard/keyed-watcher.d.ts.map +1 -0
  288. package/dist/dashboard/keyed-watcher.js +42 -0
  289. package/dist/dashboard/keyed-watcher.js.map +1 -0
  290. package/dist/dashboard/keys.d.ts +31 -0
  291. package/dist/dashboard/keys.d.ts.map +1 -0
  292. package/dist/dashboard/keys.js +37 -0
  293. package/dist/dashboard/keys.js.map +1 -0
  294. package/dist/dashboard/models.d.ts +25 -0
  295. package/dist/dashboard/models.d.ts.map +1 -0
  296. package/dist/dashboard/models.js +30 -0
  297. package/dist/dashboard/models.js.map +1 -0
  298. package/dist/dashboard/module-host.d.ts +44 -0
  299. package/dist/dashboard/module-host.d.ts.map +1 -0
  300. package/dist/dashboard/module-host.js +91 -0
  301. package/dist/dashboard/module-host.js.map +1 -0
  302. package/dist/dashboard/module-serve.d.ts +15 -0
  303. package/dist/dashboard/module-serve.d.ts.map +1 -0
  304. package/dist/dashboard/module-serve.js +45 -0
  305. package/dist/dashboard/module-serve.js.map +1 -0
  306. package/dist/dashboard/open-in-app.d.ts +43 -0
  307. package/dist/dashboard/open-in-app.d.ts.map +1 -0
  308. package/dist/dashboard/open-in-app.js +98 -0
  309. package/dist/dashboard/open-in-app.js.map +1 -0
  310. package/dist/dashboard/open-questions.d.ts +45 -0
  311. package/dist/dashboard/open-questions.d.ts.map +1 -0
  312. package/dist/dashboard/open-questions.js +62 -0
  313. package/dist/dashboard/open-questions.js.map +1 -0
  314. package/dist/dashboard/overview.d.ts +78 -0
  315. package/dist/dashboard/overview.d.ts.map +1 -0
  316. package/dist/dashboard/overview.js +87 -0
  317. package/dist/dashboard/overview.js.map +1 -0
  318. package/dist/dashboard/projects.d.ts +100 -0
  319. package/dist/dashboard/projects.d.ts.map +1 -0
  320. package/dist/dashboard/projects.js +63 -0
  321. package/dist/dashboard/projects.js.map +1 -0
  322. package/dist/dashboard/pull-requests.d.ts +127 -0
  323. package/dist/dashboard/pull-requests.d.ts.map +1 -0
  324. package/dist/dashboard/pull-requests.js +137 -0
  325. package/dist/dashboard/pull-requests.js.map +1 -0
  326. package/dist/dashboard/queue.d.ts +17 -0
  327. package/dist/dashboard/queue.d.ts.map +1 -0
  328. package/dist/dashboard/queue.js +19 -0
  329. package/dist/dashboard/queue.js.map +1 -0
  330. package/dist/dashboard/quota.d.ts +53 -0
  331. package/dist/dashboard/quota.d.ts.map +1 -0
  332. package/dist/dashboard/quota.js +42 -0
  333. package/dist/dashboard/quota.js.map +1 -0
  334. package/dist/dashboard/relay-endpoints.d.ts +32 -0
  335. package/dist/dashboard/relay-endpoints.d.ts.map +1 -0
  336. package/dist/dashboard/relay-endpoints.js +115 -0
  337. package/dist/dashboard/relay-endpoints.js.map +1 -0
  338. package/dist/dashboard/remote-run.d.ts +95 -0
  339. package/dist/dashboard/remote-run.d.ts.map +1 -0
  340. package/dist/dashboard/remote-run.js +235 -0
  341. package/dist/dashboard/remote-run.js.map +1 -0
  342. package/dist/dashboard/rpc-serve.d.ts +103 -0
  343. package/dist/dashboard/rpc-serve.d.ts.map +1 -0
  344. package/dist/dashboard/rpc-serve.js +180 -0
  345. package/dist/dashboard/rpc-serve.js.map +1 -0
  346. package/dist/dashboard/run-handoff.d.ts +311 -0
  347. package/dist/dashboard/run-handoff.d.ts.map +1 -0
  348. package/dist/dashboard/run-handoff.js +485 -0
  349. package/dist/dashboard/run-handoff.js.map +1 -0
  350. package/dist/dashboard/run-inbox.d.ts +31 -0
  351. package/dist/dashboard/run-inbox.d.ts.map +1 -0
  352. package/dist/dashboard/run-inbox.js +51 -0
  353. package/dist/dashboard/run-inbox.js.map +1 -0
  354. package/dist/dashboard/scheduler-state.d.ts +73 -0
  355. package/dist/dashboard/scheduler-state.d.ts.map +1 -0
  356. package/dist/dashboard/scheduler-state.js +120 -0
  357. package/dist/dashboard/scheduler-state.js.map +1 -0
  358. package/dist/dashboard/server.d.ts +103 -0
  359. package/dist/dashboard/server.d.ts.map +1 -0
  360. package/dist/dashboard/server.js +230 -0
  361. package/dist/dashboard/server.js.map +1 -0
  362. package/dist/dashboard/static.d.ts +9 -0
  363. package/dist/dashboard/static.d.ts.map +1 -0
  364. package/dist/dashboard/static.js +54 -0
  365. package/dist/dashboard/static.js.map +1 -0
  366. package/dist/dashboard/subagent-settings.d.ts +26 -0
  367. package/dist/dashboard/subagent-settings.d.ts.map +1 -0
  368. package/dist/dashboard/subagent-settings.js +52 -0
  369. package/dist/dashboard/subagent-settings.js.map +1 -0
  370. package/dist/dashboard/telefunc-serve.d.ts +118 -0
  371. package/dist/dashboard/telefunc-serve.d.ts.map +1 -0
  372. package/dist/dashboard/telefunc-serve.js +108 -0
  373. package/dist/dashboard/telefunc-serve.js.map +1 -0
  374. package/dist/dashboard/tickets.d.ts +29 -0
  375. package/dist/dashboard/tickets.d.ts.map +1 -0
  376. package/dist/dashboard/tickets.js +38 -0
  377. package/dist/dashboard/tickets.js.map +1 -0
  378. package/dist/dashboard/types.d.ts +109 -0
  379. package/dist/dashboard/types.d.ts.map +1 -0
  380. package/dist/dashboard/types.js +2 -0
  381. package/dist/dashboard/types.js.map +1 -0
  382. package/dist/dashboard/web-start-endpoints.d.ts +32 -0
  383. package/dist/dashboard/web-start-endpoints.d.ts.map +1 -0
  384. package/dist/dashboard/web-start-endpoints.js +75 -0
  385. package/dist/dashboard/web-start-endpoints.js.map +1 -0
  386. package/dist/dashboard/widget-serve.d.ts +15 -0
  387. package/dist/dashboard/widget-serve.d.ts.map +1 -0
  388. package/dist/dashboard/widget-serve.js +45 -0
  389. package/dist/dashboard/widget-serve.js.map +1 -0
  390. package/dist/dashboard-bundle/assets/client-CbBRB9m4.js +9 -0
  391. package/dist/dashboard-bundle/assets/jsx-runtime-By8HlURe.js +1 -0
  392. package/dist/dashboard-bundle/assets/main-B3HghPQy.css +2 -0
  393. package/dist/dashboard-bundle/assets/main-om0WOAku.js +140 -0
  394. package/dist/dashboard-bundle/assets/module-jASZmfSB.js +21 -0
  395. package/dist/dashboard-bundle/assets/react-CZI7_Jkm.js +1 -0
  396. package/dist/dashboard-bundle/assets/react-dom-cJyBB_A4.js +1 -0
  397. package/dist/dashboard-bundle/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  398. package/dist/dashboard-bundle/host/module.js +1 -0
  399. package/dist/dashboard-bundle/host/react-dom-client.js +1 -0
  400. package/dist/dashboard-bundle/host/react-dom.js +1 -0
  401. package/dist/dashboard-bundle/host/react-jsx-runtime.js +1 -0
  402. package/dist/dashboard-bundle/host/react.js +1 -0
  403. package/dist/dashboard-bundle/index.html +42 -0
  404. package/dist/dashboard-bundle/logo-animated.svg +34 -0
  405. package/dist/dashboard-bundle/logo.svg +16 -0
  406. package/dist/dashboard-client/assets/chunks/chunk-BF9pJudf.js +4 -0
  407. package/dist/dashboard-client/assets/entries/entry-client-routing.CT1e9F0o.js +1 -0
  408. package/dist/dashboard-client/assets/entries/pages_index.CkW5JQ8X.js +428 -0
  409. package/dist/dashboard-client/assets/static/layouts_tailwind-00e65532.8OjKGAbA.css +2 -0
  410. package/dist/dashboard-client/index.html +27 -0
  411. package/dist/dashboard-client/index.pageContext.json +1 -0
  412. package/dist/dashboard-client/logo-animated.svg +34 -0
  413. package/dist/dashboard-client/logo.svg +16 -0
  414. package/dist/dashboard-rpc/context.d.ts +54 -0
  415. package/dist/dashboard-rpc/context.d.ts.map +1 -0
  416. package/dist/dashboard-rpc/context.js +102 -0
  417. package/dist/dashboard-rpc/context.js.map +1 -0
  418. package/dist/dashboard-rpc/control.d.ts +124 -0
  419. package/dist/dashboard-rpc/control.d.ts.map +1 -0
  420. package/dist/dashboard-rpc/control.js +284 -0
  421. package/dist/dashboard-rpc/control.js.map +1 -0
  422. package/dist/dashboard-rpc/control.telefunc.d.ts +176 -0
  423. package/dist/dashboard-rpc/control.telefunc.d.ts.map +1 -0
  424. package/dist/dashboard-rpc/control.telefunc.js +373 -0
  425. package/dist/dashboard-rpc/control.telefunc.js.map +1 -0
  426. package/dist/dashboard-rpc/devices.d.ts +9 -0
  427. package/dist/dashboard-rpc/devices.d.ts.map +1 -0
  428. package/dist/dashboard-rpc/devices.js +12 -0
  429. package/dist/dashboard-rpc/devices.js.map +1 -0
  430. package/dist/dashboard-rpc/devices.telefunc.d.ts +9 -0
  431. package/dist/dashboard-rpc/devices.telefunc.d.ts.map +1 -0
  432. package/dist/dashboard-rpc/devices.telefunc.js +12 -0
  433. package/dist/dashboard-rpc/devices.telefunc.js.map +1 -0
  434. package/dist/dashboard-rpc/events-tail.d.ts +68 -0
  435. package/dist/dashboard-rpc/events-tail.d.ts.map +1 -0
  436. package/dist/dashboard-rpc/events-tail.js +257 -0
  437. package/dist/dashboard-rpc/events-tail.js.map +1 -0
  438. package/dist/dashboard-rpc/events.d.ts +39 -0
  439. package/dist/dashboard-rpc/events.d.ts.map +1 -0
  440. package/dist/dashboard-rpc/events.js +47 -0
  441. package/dist/dashboard-rpc/events.js.map +1 -0
  442. package/dist/dashboard-rpc/events.telefunc.d.ts +36 -0
  443. package/dist/dashboard-rpc/events.telefunc.d.ts.map +1 -0
  444. package/dist/dashboard-rpc/events.telefunc.js +70 -0
  445. package/dist/dashboard-rpc/events.telefunc.js.map +1 -0
  446. package/dist/dashboard-rpc/index.d.ts +29 -0
  447. package/dist/dashboard-rpc/index.d.ts.map +1 -0
  448. package/dist/dashboard-rpc/index.js +40 -0
  449. package/dist/dashboard-rpc/index.js.map +1 -0
  450. package/dist/dashboard-rpc/models.d.ts +4 -0
  451. package/dist/dashboard-rpc/models.d.ts.map +1 -0
  452. package/dist/dashboard-rpc/models.js +8 -0
  453. package/dist/dashboard-rpc/models.js.map +1 -0
  454. package/dist/dashboard-rpc/modules.d.ts +43 -0
  455. package/dist/dashboard-rpc/modules.d.ts.map +1 -0
  456. package/dist/dashboard-rpc/modules.js +77 -0
  457. package/dist/dashboard-rpc/modules.js.map +1 -0
  458. package/dist/dashboard-rpc/preferences.d.ts +41 -0
  459. package/dist/dashboard-rpc/preferences.d.ts.map +1 -0
  460. package/dist/dashboard-rpc/preferences.js +65 -0
  461. package/dist/dashboard-rpc/preferences.js.map +1 -0
  462. package/dist/dashboard-rpc/preferences.telefunc.d.ts +97 -0
  463. package/dist/dashboard-rpc/preferences.telefunc.d.ts.map +1 -0
  464. package/dist/dashboard-rpc/preferences.telefunc.js +157 -0
  465. package/dist/dashboard-rpc/preferences.telefunc.js.map +1 -0
  466. package/dist/dashboard-rpc/projects.d.ts +59 -0
  467. package/dist/dashboard-rpc/projects.d.ts.map +1 -0
  468. package/dist/dashboard-rpc/projects.js +87 -0
  469. package/dist/dashboard-rpc/projects.js.map +1 -0
  470. package/dist/dashboard-rpc/projects.telefunc.d.ts +56 -0
  471. package/dist/dashboard-rpc/projects.telefunc.d.ts.map +1 -0
  472. package/dist/dashboard-rpc/projects.telefunc.js +96 -0
  473. package/dist/dashboard-rpc/projects.telefunc.js.map +1 -0
  474. package/dist/dashboard-rpc/quota.d.ts +4 -0
  475. package/dist/dashboard-rpc/quota.d.ts.map +1 -0
  476. package/dist/dashboard-rpc/quota.js +15 -0
  477. package/dist/dashboard-rpc/quota.js.map +1 -0
  478. package/dist/dashboard-rpc/quota.telefunc.d.ts +40 -0
  479. package/dist/dashboard-rpc/quota.telefunc.d.ts.map +1 -0
  480. package/dist/dashboard-rpc/quota.telefunc.js +84 -0
  481. package/dist/dashboard-rpc/quota.telefunc.js.map +1 -0
  482. package/dist/dashboard-rpc/reads.d.ts +185 -0
  483. package/dist/dashboard-rpc/reads.d.ts.map +1 -0
  484. package/dist/dashboard-rpc/reads.js +370 -0
  485. package/dist/dashboard-rpc/reads.js.map +1 -0
  486. package/dist/dashboard-rpc/reads.telefunc.d.ts +197 -0
  487. package/dist/dashboard-rpc/reads.telefunc.d.ts.map +1 -0
  488. package/dist/dashboard-rpc/reads.telefunc.js +403 -0
  489. package/dist/dashboard-rpc/reads.telefunc.js.map +1 -0
  490. package/dist/dashboard-rpc/register.d.ts +18 -0
  491. package/dist/dashboard-rpc/register.d.ts.map +1 -0
  492. package/dist/dashboard-rpc/register.js +66 -0
  493. package/dist/dashboard-rpc/register.js.map +1 -0
  494. package/dist/dashboard-rpc/relay-agent.d.ts +9 -0
  495. package/dist/dashboard-rpc/relay-agent.d.ts.map +1 -0
  496. package/dist/dashboard-rpc/relay-agent.js +21 -0
  497. package/dist/dashboard-rpc/relay-agent.js.map +1 -0
  498. package/dist/dashboard-rpc/relay-dispatch.d.ts +9 -0
  499. package/dist/dashboard-rpc/relay-dispatch.d.ts.map +1 -0
  500. package/dist/dashboard-rpc/relay-dispatch.js +24 -0
  501. package/dist/dashboard-rpc/relay-dispatch.js.map +1 -0
  502. package/dist/dashboard-rpc/relay-run.d.ts +9 -0
  503. package/dist/dashboard-rpc/relay-run.d.ts.map +1 -0
  504. package/dist/dashboard-rpc/relay-run.js +21 -0
  505. package/dist/dashboard-rpc/relay-run.js.map +1 -0
  506. package/dist/dashboard-rpc/stream-channel.d.ts +23 -0
  507. package/dist/dashboard-rpc/stream-channel.d.ts.map +1 -0
  508. package/dist/dashboard-rpc/stream-channel.js +52 -0
  509. package/dist/dashboard-rpc/stream-channel.js.map +1 -0
  510. package/dist/dashboard-rpc/stream-forward.d.ts +17 -0
  511. package/dist/dashboard-rpc/stream-forward.d.ts.map +1 -0
  512. package/dist/dashboard-rpc/stream-forward.js +38 -0
  513. package/dist/dashboard-rpc/stream-forward.js.map +1 -0
  514. package/dist/dashboard-rpc/subagents.d.ts +12 -0
  515. package/dist/dashboard-rpc/subagents.d.ts.map +1 -0
  516. package/dist/dashboard-rpc/subagents.js +13 -0
  517. package/dist/dashboard-rpc/subagents.js.map +1 -0
  518. package/dist/dashboard-rpc/test-context.d.ts +23 -0
  519. package/dist/dashboard-rpc/test-context.d.ts.map +1 -0
  520. package/dist/dashboard-rpc/test-context.js +42 -0
  521. package/dist/dashboard-rpc/test-context.js.map +1 -0
  522. package/dist/dashboard-rpc/widgets.d.ts +33 -0
  523. package/dist/dashboard-rpc/widgets.d.ts.map +1 -0
  524. package/dist/dashboard-rpc/widgets.js +54 -0
  525. package/dist/dashboard-rpc/widgets.js.map +1 -0
  526. package/dist/data-branch.d.ts +120 -0
  527. package/dist/data-branch.d.ts.map +1 -0
  528. package/dist/data-branch.js +319 -0
  529. package/dist/data-branch.js.map +1 -0
  530. package/dist/discord/bot.d.ts +61 -0
  531. package/dist/discord/bot.d.ts.map +1 -0
  532. package/dist/discord/bot.js +94 -0
  533. package/dist/discord/bot.js.map +1 -0
  534. package/dist/discord/gateway.d.ts +137 -0
  535. package/dist/discord/gateway.d.ts.map +1 -0
  536. package/dist/discord/gateway.js +315 -0
  537. package/dist/discord/gateway.js.map +1 -0
  538. package/dist/discord/live-run.d.ts +31 -0
  539. package/dist/discord/live-run.d.ts.map +1 -0
  540. package/dist/discord/live-run.js +57 -0
  541. package/dist/discord/live-run.js.map +1 -0
  542. package/dist/discord/reply-mirror.d.ts +83 -0
  543. package/dist/discord/reply-mirror.d.ts.map +1 -0
  544. package/dist/discord/reply-mirror.js +84 -0
  545. package/dist/discord/reply-mirror.js.map +1 -0
  546. package/dist/discord/rest.d.ts +20 -0
  547. package/dist/discord/rest.d.ts.map +1 -0
  548. package/dist/discord/rest.js +41 -0
  549. package/dist/discord/rest.js.map +1 -0
  550. package/dist/discord/routing.d.ts +81 -0
  551. package/dist/discord/routing.d.ts.map +1 -0
  552. package/dist/discord/routing.js +91 -0
  553. package/dist/discord/routing.js.map +1 -0
  554. package/dist/discord-credentials-store.d.ts +14 -0
  555. package/dist/discord-credentials-store.d.ts.map +1 -0
  556. package/dist/discord-credentials-store.js +53 -0
  557. package/dist/discord-credentials-store.js.map +1 -0
  558. package/dist/discord-credentials.d.ts +80 -0
  559. package/dist/discord-credentials.d.ts.map +1 -0
  560. package/dist/discord-credentials.js +55 -0
  561. package/dist/discord-credentials.js.map +1 -0
  562. package/dist/driver/actions-zip.d.ts +2 -0
  563. package/dist/driver/actions-zip.d.ts.map +1 -0
  564. package/dist/driver/actions-zip.js +70 -0
  565. package/dist/driver/actions-zip.js.map +1 -0
  566. package/dist/driver/actions.d.ts +130 -0
  567. package/dist/driver/actions.d.ts.map +1 -0
  568. package/dist/driver/actions.js +261 -0
  569. package/dist/driver/actions.js.map +1 -0
  570. package/dist/driver/agent-cli.d.ts +57 -0
  571. package/dist/driver/agent-cli.d.ts.map +1 -0
  572. package/dist/driver/agent-cli.js +134 -0
  573. package/dist/driver/agent-cli.js.map +1 -0
  574. package/dist/driver/child-registry.d.ts +25 -0
  575. package/dist/driver/child-registry.d.ts.map +1 -0
  576. package/dist/driver/child-registry.js +53 -0
  577. package/dist/driver/child-registry.js.map +1 -0
  578. package/dist/driver/claude-code-quota.d.ts +40 -0
  579. package/dist/driver/claude-code-quota.d.ts.map +1 -0
  580. package/dist/driver/claude-code-quota.js +144 -0
  581. package/dist/driver/claude-code-quota.js.map +1 -0
  582. package/dist/driver/claude-code.d.ts +104 -0
  583. package/dist/driver/claude-code.d.ts.map +1 -0
  584. package/dist/driver/claude-code.js +314 -0
  585. package/dist/driver/claude-code.js.map +1 -0
  586. package/dist/driver/cli-session.d.ts +57 -0
  587. package/dist/driver/cli-session.d.ts.map +1 -0
  588. package/dist/driver/cli-session.js +134 -0
  589. package/dist/driver/cli-session.js.map +1 -0
  590. package/dist/driver/cloud.d.ts +109 -0
  591. package/dist/driver/cloud.d.ts.map +1 -0
  592. package/dist/driver/cloud.js +232 -0
  593. package/dist/driver/cloud.js.map +1 -0
  594. package/dist/driver/codex.d.ts +99 -0
  595. package/dist/driver/codex.d.ts.map +1 -0
  596. package/dist/driver/codex.js +190 -0
  597. package/dist/driver/codex.js.map +1 -0
  598. package/dist/driver/fake.d.ts +54 -0
  599. package/dist/driver/fake.d.ts.map +1 -0
  600. package/dist/driver/fake.js +73 -0
  601. package/dist/driver/fake.js.map +1 -0
  602. package/dist/driver/index.d.ts +10 -0
  603. package/dist/driver/index.d.ts.map +1 -0
  604. package/dist/driver/index.js +14 -0
  605. package/dist/driver/index.js.map +1 -0
  606. package/dist/driver/session-support.d.ts +14 -0
  607. package/dist/driver/session-support.d.ts.map +1 -0
  608. package/dist/driver/session-support.js +37 -0
  609. package/dist/driver/session-support.js.map +1 -0
  610. package/dist/driver/types.d.ts +310 -0
  611. package/dist/driver/types.d.ts.map +1 -0
  612. package/dist/driver/types.js +5 -0
  613. package/dist/driver/types.js.map +1 -0
  614. package/dist/driver-cli.d.ts +61 -0
  615. package/dist/driver-cli.d.ts.map +1 -0
  616. package/dist/driver-cli.js +66 -0
  617. package/dist/driver-cli.js.map +1 -0
  618. package/dist/driver-names.d.ts +22 -0
  619. package/dist/driver-names.d.ts.map +1 -0
  620. package/dist/driver-names.js +29 -0
  621. package/dist/driver-names.js.map +1 -0
  622. package/dist/error-message.d.ts +8 -0
  623. package/dist/error-message.d.ts.map +1 -0
  624. package/dist/error-message.js +10 -0
  625. package/dist/error-message.js.map +1 -0
  626. package/dist/event-stream.d.ts +33 -0
  627. package/dist/event-stream.d.ts.map +1 -0
  628. package/dist/event-stream.js +104 -0
  629. package/dist/event-stream.js.map +1 -0
  630. package/dist/events.d.ts +236 -0
  631. package/dist/events.d.ts.map +1 -0
  632. package/dist/events.js +5 -0
  633. package/dist/events.js.map +1 -0
  634. package/dist/fake-script.d.ts +15 -0
  635. package/dist/fake-script.d.ts.map +1 -0
  636. package/dist/fake-script.js +58 -0
  637. package/dist/fake-script.js.map +1 -0
  638. package/dist/format-bytes.d.ts +3 -0
  639. package/dist/format-bytes.d.ts.map +1 -0
  640. package/dist/format-bytes.js +18 -0
  641. package/dist/format-bytes.js.map +1 -0
  642. package/dist/framework-dir.d.ts +11 -0
  643. package/dist/framework-dir.d.ts.map +1 -0
  644. package/dist/framework-dir.js +11 -0
  645. package/dist/framework-dir.js.map +1 -0
  646. package/dist/framework-gitignore.d.ts +12 -0
  647. package/dist/framework-gitignore.d.ts.map +1 -0
  648. package/dist/framework-gitignore.js +19 -0
  649. package/dist/framework-gitignore.js.map +1 -0
  650. package/dist/gate-keepalive.d.ts +47 -0
  651. package/dist/gate-keepalive.d.ts.map +1 -0
  652. package/dist/gate-keepalive.js +62 -0
  653. package/dist/gate-keepalive.js.map +1 -0
  654. package/dist/git-exclude.d.ts +11 -0
  655. package/dist/git-exclude.d.ts.map +1 -0
  656. package/dist/git-exclude.js +23 -0
  657. package/dist/git-exclude.js.map +1 -0
  658. package/dist/handoff-level.d.ts +56 -0
  659. package/dist/handoff-level.d.ts.map +1 -0
  660. package/dist/handoff-level.js +62 -0
  661. package/dist/handoff-level.js.map +1 -0
  662. package/dist/has-remote.d.ts +8 -0
  663. package/dist/has-remote.d.ts.map +1 -0
  664. package/dist/has-remote.js +10 -0
  665. package/dist/has-remote.js.map +1 -0
  666. package/dist/host-exec.d.ts +21 -0
  667. package/dist/host-exec.d.ts.map +1 -0
  668. package/dist/host-exec.js +30 -0
  669. package/dist/host-exec.js.map +1 -0
  670. package/dist/index.d.ts +41 -0
  671. package/dist/index.d.ts.map +1 -0
  672. package/dist/index.js +16 -0
  673. package/dist/index.js.map +1 -0
  674. package/dist/install.d.ts +29 -0
  675. package/dist/install.d.ts.map +1 -0
  676. package/dist/install.js +40 -0
  677. package/dist/install.js.map +1 -0
  678. package/dist/jsonl-tail.d.ts +59 -0
  679. package/dist/jsonl-tail.d.ts.map +1 -0
  680. package/dist/jsonl-tail.js +152 -0
  681. package/dist/jsonl-tail.js.map +1 -0
  682. package/dist/layout.d.ts +41 -0
  683. package/dist/layout.d.ts.map +1 -0
  684. package/dist/layout.js +69 -0
  685. package/dist/layout.js.map +1 -0
  686. package/dist/logs.d.ts +73 -0
  687. package/dist/logs.d.ts.map +1 -0
  688. package/dist/logs.js +218 -0
  689. package/dist/logs.js.map +1 -0
  690. package/dist/loopback-host.d.ts +20 -0
  691. package/dist/loopback-host.d.ts.map +1 -0
  692. package/dist/loopback-host.js +31 -0
  693. package/dist/loopback-host.js.map +1 -0
  694. package/dist/maintenance.d.ts +90 -0
  695. package/dist/maintenance.d.ts.map +1 -0
  696. package/dist/maintenance.js +141 -0
  697. package/dist/maintenance.js.map +1 -0
  698. package/dist/merged-worktrees.d.ts +74 -0
  699. package/dist/merged-worktrees.d.ts.map +1 -0
  700. package/dist/merged-worktrees.js +84 -0
  701. package/dist/merged-worktrees.js.map +1 -0
  702. package/dist/module-server.d.ts +56 -0
  703. package/dist/module-types/dashboard/components/DiffStat.d.ts +6 -0
  704. package/dist/module-types/dashboard/components/DriverModelMenu.d.ts +23 -0
  705. package/dist/module-types/dashboard/components/LinkActions.d.ts +26 -0
  706. package/dist/module-types/dashboard/components/Markdown.d.ts +4 -0
  707. package/dist/module-types/dashboard/components/SettingsRows.d.ts +37 -0
  708. package/dist/module-types/dashboard/components/StartAgentButton.d.ts +39 -0
  709. package/dist/module-types/dashboard/components/ui/badge.d.ts +2 -0
  710. package/dist/module-types/dashboard/components/ui/button.d.ts +10 -0
  711. package/dist/module-types/dashboard/components/ui/card.d.ts +5 -0
  712. package/dist/module-types/dashboard/components/ui/checkbox.d.ts +7 -0
  713. package/dist/module-types/dashboard/components/ui/dropdown-menu.d.ts +16 -0
  714. package/dist/module-types/dashboard/components/ui/input.d.ts +2 -0
  715. package/dist/module-types/dashboard/components/ui/option-label.d.ts +4 -0
  716. package/dist/module-types/dashboard/components/ui/popover.d.ts +8 -0
  717. package/dist/module-types/dashboard/components/ui/scroll-area.d.ts +10 -0
  718. package/dist/module-types/dashboard/components/ui/separator.d.ts +3 -0
  719. package/dist/module-types/dashboard/components/ui/skeleton.d.ts +2 -0
  720. package/dist/module-types/dashboard/components/ui/slider.d.ts +9 -0
  721. package/dist/module-types/dashboard/components/ui/tooltip.d.ts +11 -0
  722. package/dist/module-types/dashboard/lib/agent-settings.d.ts +2 -0
  723. package/dist/module-types/dashboard/lib/draft-handoff.d.ts +15 -0
  724. package/dist/module-types/dashboard/lib/format-date.d.ts +51 -0
  725. package/dist/module-types/dashboard/lib/host-services.d.ts +12 -0
  726. package/dist/module-types/dashboard/lib/models.d.ts +24 -0
  727. package/dist/module-types/dashboard/lib/route.d.ts +37 -0
  728. package/dist/module-types/dashboard/lib/rpc.d.ts +31 -0
  729. package/dist/module-types/dashboard/lib/use-action.d.ts +25 -0
  730. package/dist/module-types/dashboard/lib/use-async.d.ts +45 -0
  731. package/dist/module-types/dashboard/lib/use-modules.d.ts +78 -0
  732. package/dist/module-types/dashboard/lib/utils.d.ts +3 -0
  733. package/dist/module-types/dashboard/module/index.d.ts +335 -0
  734. package/dist/module-types/dashboard/rpc/models.d.ts +2 -0
  735. package/dist/module-types/dashboard/rpc/modules.d.ts +5 -0
  736. package/dist/module-types/src/agent-id.d.ts +12 -0
  737. package/dist/module-types/src/agent-locks.d.ts +2 -0
  738. package/dist/module-types/src/agent-view.d.ts +38 -0
  739. package/dist/module-types/src/bridge-browser.d.ts +216 -0
  740. package/dist/module-types/src/browser-stream.d.ts +19 -0
  741. package/dist/module-types/src/browser.d.ts +15 -0
  742. package/dist/module-types/src/built-in.d.ts +28 -0
  743. package/dist/module-types/src/client.d.ts +15 -0
  744. package/dist/module-types/src/cloud-run-state.d.ts +26 -0
  745. package/dist/module-types/src/dashboard/activity.d.ts +40 -0
  746. package/dist/module-types/src/dashboard/agent-handoff.d.ts +243 -0
  747. package/dist/module-types/src/dashboard/agent-tree.d.ts +105 -0
  748. package/dist/module-types/src/dashboard/bridge-endpoints.d.ts +157 -0
  749. package/dist/module-types/src/dashboard/bridge-question.d.ts +32 -0
  750. package/dist/module-types/src/dashboard/bridge-store.d.ts +178 -0
  751. package/dist/module-types/src/dashboard/cache.d.ts +46 -0
  752. package/dist/module-types/src/dashboard/content-type.d.ts +2 -0
  753. package/dist/module-types/src/dashboard/dashboard.d.ts +37 -0
  754. package/dist/module-types/src/dashboard/docs.d.ts +38 -0
  755. package/dist/module-types/src/dashboard/file-diff.d.ts +66 -0
  756. package/dist/module-types/src/dashboard/file-read.d.ts +41 -0
  757. package/dist/module-types/src/dashboard/file-status.d.ts +20 -0
  758. package/dist/module-types/src/dashboard/git-status.d.ts +43 -0
  759. package/dist/module-types/src/dashboard/http.d.ts +28 -0
  760. package/dist/module-types/src/dashboard/interventions.d.ts +66 -0
  761. package/dist/module-types/src/dashboard/keyed-watcher.d.ts +28 -0
  762. package/dist/module-types/src/dashboard/keys.d.ts +30 -0
  763. package/dist/module-types/src/dashboard/models.d.ts +24 -0
  764. package/dist/module-types/src/dashboard/module-host.d.ts +43 -0
  765. package/dist/module-types/src/dashboard/module-serve.d.ts +14 -0
  766. package/dist/module-types/src/dashboard/open-in-app.d.ts +42 -0
  767. package/dist/module-types/src/dashboard/open-questions.d.ts +44 -0
  768. package/dist/module-types/src/dashboard/overview.d.ts +77 -0
  769. package/dist/module-types/src/dashboard/projects.d.ts +99 -0
  770. package/dist/module-types/src/dashboard/pull-requests.d.ts +126 -0
  771. package/dist/module-types/src/dashboard/queue.d.ts +16 -0
  772. package/dist/module-types/src/dashboard/quota.d.ts +52 -0
  773. package/dist/module-types/src/dashboard/remote-run.d.ts +94 -0
  774. package/dist/module-types/src/dashboard/rpc-serve.d.ts +102 -0
  775. package/dist/module-types/src/dashboard/run-inbox.d.ts +30 -0
  776. package/dist/module-types/src/dashboard/scheduler-state.d.ts +72 -0
  777. package/dist/module-types/src/dashboard/subagent-settings.d.ts +25 -0
  778. package/dist/module-types/src/dashboard/types.d.ts +108 -0
  779. package/dist/module-types/src/dashboard-rpc/context.d.ts +53 -0
  780. package/dist/module-types/src/dashboard-rpc/control.d.ts +123 -0
  781. package/dist/module-types/src/dashboard-rpc/devices.d.ts +8 -0
  782. package/dist/module-types/src/dashboard-rpc/events-tail.d.ts +67 -0
  783. package/dist/module-types/src/dashboard-rpc/events.d.ts +38 -0
  784. package/dist/module-types/src/dashboard-rpc/index.d.ts +28 -0
  785. package/dist/module-types/src/dashboard-rpc/models.d.ts +3 -0
  786. package/dist/module-types/src/dashboard-rpc/modules.d.ts +42 -0
  787. package/dist/module-types/src/dashboard-rpc/preferences.d.ts +40 -0
  788. package/dist/module-types/src/dashboard-rpc/projects.d.ts +58 -0
  789. package/dist/module-types/src/dashboard-rpc/quota.d.ts +3 -0
  790. package/dist/module-types/src/dashboard-rpc/reads.d.ts +184 -0
  791. package/dist/module-types/src/dashboard-rpc/relay-agent.d.ts +8 -0
  792. package/dist/module-types/src/dashboard-rpc/stream-forward.d.ts +16 -0
  793. package/dist/module-types/src/dashboard-rpc/subagents.d.ts +11 -0
  794. package/dist/module-types/src/driver-names.d.ts +21 -0
  795. package/dist/module-types/src/error-message.d.ts +7 -0
  796. package/dist/module-types/src/event-stream.d.ts +32 -0
  797. package/dist/module-types/src/events.d.ts +235 -0
  798. package/dist/module-types/src/format-bytes.d.ts +2 -0
  799. package/dist/module-types/src/framework-dir.d.ts +10 -0
  800. package/dist/module-types/src/framework-gitignore.d.ts +11 -0
  801. package/dist/module-types/src/has-remote.d.ts +7 -0
  802. package/dist/module-types/src/index.d.ts +40 -0
  803. package/dist/module-types/src/jsonl-tail.d.ts +58 -0
  804. package/dist/module-types/src/loopback-host.d.ts +19 -0
  805. package/dist/module-types/src/node-fs.d.ts +32 -0
  806. package/dist/module-types/src/open-choices.d.ts +14 -0
  807. package/dist/module-types/src/pick-directory.d.ts +29 -0
  808. package/dist/module-types/src/preference-defaults.d.ts +42 -0
  809. package/dist/module-types/src/project-commands.d.ts +23 -0
  810. package/dist/module-types/src/project-errors.d.ts +55 -0
  811. package/dist/module-types/src/project-hooks.d.ts +129 -0
  812. package/dist/module-types/src/project-modules.d.ts +49 -0
  813. package/dist/module-types/src/project-presets.d.ts +29 -0
  814. package/dist/module-types/src/project.d.ts +28 -0
  815. package/dist/module-types/src/publish-levels.d.ts +32 -0
  816. package/dist/module-types/src/quota-boundary.d.ts +64 -0
  817. package/dist/module-types/src/quota-poller.d.ts +82 -0
  818. package/dist/module-types/src/registry.d.ts +220 -0
  819. package/dist/module-types/src/store/agent-checkout.d.ts +53 -0
  820. package/dist/module-types/src/store/agent-store.d.ts +266 -0
  821. package/dist/module-types/src/store/branches.d.ts +163 -0
  822. package/dist/module-types/src/store/git-host.d.ts +113 -0
  823. package/dist/module-types/src/store/index.d.ts +9 -0
  824. package/dist/module-types/src/store/provided.d.ts +16 -0
  825. package/dist/module-types/src/store/queue.d.ts +45 -0
  826. package/dist/module-types/src/store/repository.d.ts +32 -0
  827. package/dist/module-types/src/store/run-record.d.ts +21 -0
  828. package/dist/module-types/src/store/runs.d.ts +107 -0
  829. package/dist/module-types/src/store/tickets.d.ts +72 -0
  830. package/dist/module-types/src/subagent-settings.d.ts +26 -0
  831. package/dist/module-types/src/terminal.d.ts +3 -0
  832. package/dist/module-types/src/worktrees.d.ts +89 -0
  833. package/dist/module.css +50 -0
  834. package/dist/node-fs.d.ts +33 -0
  835. package/dist/node-fs.d.ts.map +1 -0
  836. package/dist/node-fs.js +57 -0
  837. package/dist/node-fs.js.map +1 -0
  838. package/dist/on-before-mergeable-prompt.d.ts +32 -0
  839. package/dist/on-before-mergeable-prompt.d.ts.map +1 -0
  840. package/dist/on-before-mergeable-prompt.js +26 -0
  841. package/dist/on-before-mergeable-prompt.js.map +1 -0
  842. package/dist/open-choices.d.ts +15 -0
  843. package/dist/open-choices.d.ts.map +1 -0
  844. package/dist/open-choices.js +31 -0
  845. package/dist/open-choices.js.map +1 -0
  846. package/dist/pick-directory.d.ts +30 -0
  847. package/dist/pick-directory.d.ts.map +1 -0
  848. package/dist/pick-directory.js +102 -0
  849. package/dist/pick-directory.js.map +1 -0
  850. package/dist/planned-quick-wins.d.ts +102 -0
  851. package/dist/planned-quick-wins.d.ts.map +1 -0
  852. package/dist/planned-quick-wins.js +171 -0
  853. package/dist/planned-quick-wins.js.map +1 -0
  854. package/dist/preference-defaults.d.ts +43 -0
  855. package/dist/preference-defaults.d.ts.map +1 -0
  856. package/dist/preference-defaults.js +34 -0
  857. package/dist/preference-defaults.js.map +1 -0
  858. package/dist/preflight.d.ts +77 -0
  859. package/dist/preflight.d.ts.map +1 -0
  860. package/dist/preflight.js +91 -0
  861. package/dist/preflight.js.map +1 -0
  862. package/dist/preset-catalog.d.ts +98 -0
  863. package/dist/preset-catalog.d.ts.map +1 -0
  864. package/dist/preset-catalog.js +129 -0
  865. package/dist/preset-catalog.js.map +1 -0
  866. package/dist/preset-prompt.d.ts +81 -0
  867. package/dist/preset-prompt.d.ts.map +1 -0
  868. package/dist/preset-prompt.js +51 -0
  869. package/dist/preset-prompt.js.map +1 -0
  870. package/dist/preset-registry.d.ts +32 -0
  871. package/dist/preset-registry.d.ts.map +1 -0
  872. package/dist/preset-registry.js +35 -0
  873. package/dist/preset-registry.js.map +1 -0
  874. package/dist/presets.d.ts +20 -0
  875. package/dist/presets.d.ts.map +1 -0
  876. package/dist/presets.js +33 -0
  877. package/dist/presets.js.map +1 -0
  878. package/dist/preview-runtime.d.ts +33 -0
  879. package/dist/preview-runtime.d.ts.map +1 -0
  880. package/dist/preview-runtime.js +96 -0
  881. package/dist/preview-runtime.js.map +1 -0
  882. package/dist/preview.d.ts +78 -0
  883. package/dist/preview.d.ts.map +1 -0
  884. package/dist/preview.js +301 -0
  885. package/dist/preview.js.map +1 -0
  886. package/dist/project-commands.d.ts +24 -0
  887. package/dist/project-commands.d.ts.map +1 -0
  888. package/dist/project-commands.js +57 -0
  889. package/dist/project-commands.js.map +1 -0
  890. package/dist/project-errors.d.ts +56 -0
  891. package/dist/project-errors.d.ts.map +1 -0
  892. package/dist/project-errors.js +49 -0
  893. package/dist/project-errors.js.map +1 -0
  894. package/dist/project-hooks.d.ts +130 -0
  895. package/dist/project-hooks.d.ts.map +1 -0
  896. package/dist/project-hooks.js +232 -0
  897. package/dist/project-hooks.js.map +1 -0
  898. package/dist/project-modules.d.ts +50 -0
  899. package/dist/project-modules.d.ts.map +1 -0
  900. package/dist/project-modules.js +110 -0
  901. package/dist/project-modules.js.map +1 -0
  902. package/dist/project-pass.d.ts +32 -0
  903. package/dist/project-pass.d.ts.map +1 -0
  904. package/dist/project-pass.js +45 -0
  905. package/dist/project-pass.js.map +1 -0
  906. package/dist/project-presets.d.ts +30 -0
  907. package/dist/project-presets.d.ts.map +1 -0
  908. package/dist/project-presets.js +74 -0
  909. package/dist/project-presets.js.map +1 -0
  910. package/dist/project-widgets.d.ts +46 -0
  911. package/dist/project-widgets.d.ts.map +1 -0
  912. package/dist/project-widgets.js +93 -0
  913. package/dist/project-widgets.js.map +1 -0
  914. package/dist/project.d.ts +29 -0
  915. package/dist/project.d.ts.map +1 -0
  916. package/dist/project.js +41 -0
  917. package/dist/project.js.map +1 -0
  918. package/dist/prompt-run.d.ts +104 -0
  919. package/dist/prompt-run.d.ts.map +1 -0
  920. package/dist/prompt-run.js +112 -0
  921. package/dist/prompt-run.js.map +1 -0
  922. package/dist/prompt-template.d.ts +16 -0
  923. package/dist/prompt-template.d.ts.map +1 -0
  924. package/dist/prompt-template.js +56 -0
  925. package/dist/prompt-template.js.map +1 -0
  926. package/dist/prompts.generated.d.ts +53 -0
  927. package/dist/prompts.generated.d.ts.map +1 -0
  928. package/dist/prompts.generated.js +55 -0
  929. package/dist/prompts.generated.js.map +1 -0
  930. package/dist/publish-levels.d.ts +33 -0
  931. package/dist/publish-levels.d.ts.map +1 -0
  932. package/dist/publish-levels.js +51 -0
  933. package/dist/publish-levels.js.map +1 -0
  934. package/dist/queue-promote.d.ts +70 -0
  935. package/dist/queue-promote.d.ts.map +1 -0
  936. package/dist/queue-promote.js +118 -0
  937. package/dist/queue-promote.js.map +1 -0
  938. package/dist/quota-boundary.d.ts +65 -0
  939. package/dist/quota-boundary.d.ts.map +1 -0
  940. package/dist/quota-boundary.js +135 -0
  941. package/dist/quota-boundary.js.map +1 -0
  942. package/dist/quota-poller.d.ts +83 -0
  943. package/dist/quota-poller.d.ts.map +1 -0
  944. package/dist/quota-poller.js +118 -0
  945. package/dist/quota-poller.js.map +1 -0
  946. package/dist/registry.d.ts +221 -0
  947. package/dist/registry.d.ts.map +1 -0
  948. package/dist/registry.js +348 -0
  949. package/dist/registry.js.map +1 -0
  950. package/dist/relay.d.ts +84 -0
  951. package/dist/relay.d.ts.map +1 -0
  952. package/dist/relay.js +199 -0
  953. package/dist/relay.js.map +1 -0
  954. package/dist/repos-directory.d.ts +19 -0
  955. package/dist/repos-directory.d.ts.map +1 -0
  956. package/dist/repos-directory.js +23 -0
  957. package/dist/repos-directory.js.map +1 -0
  958. package/dist/request-path.d.ts +10 -0
  959. package/dist/request-path.d.ts.map +1 -0
  960. package/dist/request-path.js +16 -0
  961. package/dist/request-path.js.map +1 -0
  962. package/dist/retired-project-settings.d.ts +43 -0
  963. package/dist/retired-project-settings.d.ts.map +1 -0
  964. package/dist/retired-project-settings.js +125 -0
  965. package/dist/retired-project-settings.js.map +1 -0
  966. package/dist/routine-locks.d.ts +53 -0
  967. package/dist/routine-locks.d.ts.map +1 -0
  968. package/dist/routine-locks.js +125 -0
  969. package/dist/routine-locks.js.map +1 -0
  970. package/dist/run-driver.d.ts +26 -0
  971. package/dist/run-driver.d.ts.map +1 -0
  972. package/dist/run-driver.js +17 -0
  973. package/dist/run-driver.js.map +1 -0
  974. package/dist/run-locks.d.ts +3 -0
  975. package/dist/run-locks.d.ts.map +1 -0
  976. package/dist/run-locks.js +39 -0
  977. package/dist/run-locks.js.map +1 -0
  978. package/dist/run-messages.d.ts +64 -0
  979. package/dist/run-messages.d.ts.map +1 -0
  980. package/dist/run-messages.js +76 -0
  981. package/dist/run-messages.js.map +1 -0
  982. package/dist/run-options.d.ts +53 -0
  983. package/dist/run-options.d.ts.map +1 -0
  984. package/dist/run-options.js +110 -0
  985. package/dist/run-options.js.map +1 -0
  986. package/dist/run-telemetry.d.ts +115 -0
  987. package/dist/run-telemetry.d.ts.map +1 -0
  988. package/dist/run-telemetry.js +137 -0
  989. package/dist/run-telemetry.js.map +1 -0
  990. package/dist/run-view.d.ts +109 -0
  991. package/dist/run-view.d.ts.map +1 -0
  992. package/dist/run-view.js +118 -0
  993. package/dist/run-view.js.map +1 -0
  994. package/dist/run.d.ts +261 -0
  995. package/dist/run.d.ts.map +1 -0
  996. package/dist/run.js +420 -0
  997. package/dist/run.js.map +1 -0
  998. package/dist/runtime-keys.d.ts +17 -0
  999. package/dist/runtime-keys.d.ts.map +1 -0
  1000. package/dist/runtime-keys.js +17 -0
  1001. package/dist/runtime-keys.js.map +1 -0
  1002. package/dist/sandbox.d.ts +27 -0
  1003. package/dist/sandbox.d.ts.map +1 -0
  1004. package/dist/sandbox.js +63 -0
  1005. package/dist/sandbox.js.map +1 -0
  1006. package/dist/session-link.d.ts +19 -0
  1007. package/dist/session-link.d.ts.map +1 -0
  1008. package/dist/session-link.js +26 -0
  1009. package/dist/session-link.js.map +1 -0
  1010. package/dist/sessions.d.ts +77 -0
  1011. package/dist/sessions.d.ts.map +1 -0
  1012. package/dist/sessions.js +146 -0
  1013. package/dist/sessions.js.map +1 -0
  1014. package/dist/spike-locks.d.ts +75 -0
  1015. package/dist/spike-locks.d.ts.map +1 -0
  1016. package/dist/spike-locks.js +208 -0
  1017. package/dist/spike-locks.js.map +1 -0
  1018. package/dist/stale-branch.d.ts +21 -0
  1019. package/dist/stale-branch.d.ts.map +1 -0
  1020. package/dist/stale-branch.js +32 -0
  1021. package/dist/stale-branch.js.map +1 -0
  1022. package/dist/steps.d.ts +9 -0
  1023. package/dist/steps.d.ts.map +1 -0
  1024. package/dist/steps.js +13 -0
  1025. package/dist/steps.js.map +1 -0
  1026. package/dist/store/agent-checkout.d.ts +54 -0
  1027. package/dist/store/agent-checkout.d.ts.map +1 -0
  1028. package/dist/store/agent-checkout.js +61 -0
  1029. package/dist/store/agent-checkout.js.map +1 -0
  1030. package/dist/store/agent-store.d.ts +267 -0
  1031. package/dist/store/agent-store.d.ts.map +1 -0
  1032. package/dist/store/agent-store.js +190 -0
  1033. package/dist/store/agent-store.js.map +1 -0
  1034. package/dist/store/branches.d.ts +164 -0
  1035. package/dist/store/branches.d.ts.map +1 -0
  1036. package/dist/store/branches.js +187 -0
  1037. package/dist/store/branches.js.map +1 -0
  1038. package/dist/store/forge.d.ts +110 -0
  1039. package/dist/store/forge.d.ts.map +1 -0
  1040. package/dist/store/forge.js +97 -0
  1041. package/dist/store/forge.js.map +1 -0
  1042. package/dist/store/git-host.d.ts +114 -0
  1043. package/dist/store/git-host.d.ts.map +1 -0
  1044. package/dist/store/git-host.js +103 -0
  1045. package/dist/store/git-host.js.map +1 -0
  1046. package/dist/store/index.d.ts +10 -0
  1047. package/dist/store/index.d.ts.map +1 -0
  1048. package/dist/store/index.js +10 -0
  1049. package/dist/store/index.js.map +1 -0
  1050. package/dist/store/provided.d.ts +17 -0
  1051. package/dist/store/provided.d.ts.map +1 -0
  1052. package/dist/store/provided.js +37 -0
  1053. package/dist/store/provided.js.map +1 -0
  1054. package/dist/store/queue.d.ts +46 -0
  1055. package/dist/store/queue.d.ts.map +1 -0
  1056. package/dist/store/queue.js +61 -0
  1057. package/dist/store/queue.js.map +1 -0
  1058. package/dist/store/repository.d.ts +33 -0
  1059. package/dist/store/repository.d.ts.map +1 -0
  1060. package/dist/store/repository.js +25 -0
  1061. package/dist/store/repository.js.map +1 -0
  1062. package/dist/store/run-checkout.d.ts +33 -0
  1063. package/dist/store/run-checkout.d.ts.map +1 -0
  1064. package/dist/store/run-checkout.js +59 -0
  1065. package/dist/store/run-checkout.js.map +1 -0
  1066. package/dist/store/run-record.d.ts +22 -0
  1067. package/dist/store/run-record.d.ts.map +1 -0
  1068. package/dist/store/run-record.js +108 -0
  1069. package/dist/store/run-record.js.map +1 -0
  1070. package/dist/store/run-store.d.ts +501 -0
  1071. package/dist/store/run-store.d.ts.map +1 -0
  1072. package/dist/store/run-store.js +806 -0
  1073. package/dist/store/run-store.js.map +1 -0
  1074. package/dist/store/runs.d.ts +108 -0
  1075. package/dist/store/runs.d.ts.map +1 -0
  1076. package/dist/store/runs.js +146 -0
  1077. package/dist/store/runs.js.map +1 -0
  1078. package/dist/store/suspend.d.ts +38 -0
  1079. package/dist/store/suspend.d.ts.map +1 -0
  1080. package/dist/store/suspend.js +45 -0
  1081. package/dist/store/suspend.js.map +1 -0
  1082. package/dist/store/test-branches.d.ts +18 -0
  1083. package/dist/store/test-branches.d.ts.map +1 -0
  1084. package/dist/store/test-branches.js +59 -0
  1085. package/dist/store/test-branches.js.map +1 -0
  1086. package/dist/store/test-runs.d.ts +15 -0
  1087. package/dist/store/test-runs.d.ts.map +1 -0
  1088. package/dist/store/test-runs.js +37 -0
  1089. package/dist/store/test-runs.js.map +1 -0
  1090. package/dist/store/tickets.d.ts +73 -0
  1091. package/dist/store/tickets.d.ts.map +1 -0
  1092. package/dist/store/tickets.js +67 -0
  1093. package/dist/store/tickets.js.map +1 -0
  1094. package/dist/store/worktree-deps.d.ts +30 -0
  1095. package/dist/store/worktree-deps.d.ts.map +1 -0
  1096. package/dist/store/worktree-deps.js +115 -0
  1097. package/dist/store/worktree-deps.js.map +1 -0
  1098. package/dist/store/worktree.d.ts +194 -0
  1099. package/dist/store/worktree.d.ts.map +1 -0
  1100. package/dist/store/worktree.js +331 -0
  1101. package/dist/store/worktree.js.map +1 -0
  1102. package/dist/subagent-settings.d.ts +27 -0
  1103. package/dist/subagent-settings.d.ts.map +1 -0
  1104. package/dist/subagent-settings.js +35 -0
  1105. package/dist/subagent-settings.js.map +1 -0
  1106. package/dist/system-prompt-file.d.ts +18 -0
  1107. package/dist/system-prompt-file.d.ts.map +1 -0
  1108. package/dist/system-prompt-file.js +28 -0
  1109. package/dist/system-prompt-file.js.map +1 -0
  1110. package/dist/system-prompt.d.ts +148 -0
  1111. package/dist/system-prompt.d.ts.map +1 -0
  1112. package/dist/system-prompt.js +170 -0
  1113. package/dist/system-prompt.js.map +1 -0
  1114. package/dist/target-driver.d.ts +28 -0
  1115. package/dist/target-driver.d.ts.map +1 -0
  1116. package/dist/target-driver.js +18 -0
  1117. package/dist/target-driver.js.map +1 -0
  1118. package/dist/terminal.d.ts +4 -0
  1119. package/dist/terminal.d.ts.map +1 -0
  1120. package/dist/terminal.js +97 -0
  1121. package/dist/terminal.js.map +1 -0
  1122. package/dist/ticket-locks.d.ts +61 -0
  1123. package/dist/ticket-locks.d.ts.map +1 -0
  1124. package/dist/ticket-locks.js +137 -0
  1125. package/dist/ticket-locks.js.map +1 -0
  1126. package/dist/tickets-file.d.ts +7 -0
  1127. package/dist/tickets-file.d.ts.map +1 -0
  1128. package/dist/tickets-file.js +21 -0
  1129. package/dist/tickets-file.js.map +1 -0
  1130. package/dist/tickets.d.ts +18 -0
  1131. package/dist/tickets.d.ts.map +1 -0
  1132. package/dist/tickets.js +23 -0
  1133. package/dist/tickets.js.map +1 -0
  1134. package/dist/todo-loop.d.ts +110 -0
  1135. package/dist/todo-loop.d.ts.map +1 -0
  1136. package/dist/todo-loop.js +175 -0
  1137. package/dist/todo-loop.js.map +1 -0
  1138. package/dist/turn-gate.d.ts +144 -0
  1139. package/dist/turn-gate.d.ts.map +1 -0
  1140. package/dist/turn-gate.js +217 -0
  1141. package/dist/turn-gate.js.map +1 -0
  1142. package/dist/update-check.d.ts +44 -0
  1143. package/dist/update-check.d.ts.map +1 -0
  1144. package/dist/update-check.js +71 -0
  1145. package/dist/update-check.js.map +1 -0
  1146. package/dist/usage.d.ts +32 -0
  1147. package/dist/usage.d.ts.map +1 -0
  1148. package/dist/usage.js +46 -0
  1149. package/dist/usage.js.map +1 -0
  1150. package/dist/widget-types/dashboard/components/LinkActions.d.ts +26 -0
  1151. package/dist/widget-types/dashboard/components/Markdown.d.ts +4 -0
  1152. package/dist/widget-types/dashboard/components/StartAgentButton.d.ts +39 -0
  1153. package/dist/widget-types/dashboard/components/ui/badge.d.ts +2 -0
  1154. package/dist/widget-types/dashboard/components/ui/button.d.ts +10 -0
  1155. package/dist/widget-types/dashboard/components/ui/card.d.ts +5 -0
  1156. package/dist/widget-types/dashboard/components/ui/checkbox.d.ts +7 -0
  1157. package/dist/widget-types/dashboard/components/ui/dropdown-menu.d.ts +16 -0
  1158. package/dist/widget-types/dashboard/components/ui/input.d.ts +2 -0
  1159. package/dist/widget-types/dashboard/components/ui/option-label.d.ts +4 -0
  1160. package/dist/widget-types/dashboard/components/ui/popover.d.ts +8 -0
  1161. package/dist/widget-types/dashboard/components/ui/scroll-area.d.ts +10 -0
  1162. package/dist/widget-types/dashboard/components/ui/separator.d.ts +3 -0
  1163. package/dist/widget-types/dashboard/components/ui/skeleton.d.ts +2 -0
  1164. package/dist/widget-types/dashboard/components/ui/slider.d.ts +9 -0
  1165. package/dist/widget-types/dashboard/components/ui/tooltip.d.ts +11 -0
  1166. package/dist/widget-types/dashboard/lib/draft-handoff.d.ts +15 -0
  1167. package/dist/widget-types/dashboard/lib/format-date.d.ts +51 -0
  1168. package/dist/widget-types/dashboard/lib/host-services.d.ts +12 -0
  1169. package/dist/widget-types/dashboard/lib/route.d.ts +24 -0
  1170. package/dist/widget-types/dashboard/lib/rpc.d.ts +31 -0
  1171. package/dist/widget-types/dashboard/lib/use-action.d.ts +25 -0
  1172. package/dist/widget-types/dashboard/lib/use-async.d.ts +39 -0
  1173. package/dist/widget-types/dashboard/lib/use-widgets.d.ts +42 -0
  1174. package/dist/widget-types/dashboard/lib/utils.d.ts +3 -0
  1175. package/dist/widget-types/dashboard/rpc/widgets.d.ts +4 -0
  1176. package/dist/widget-types/dashboard/widget/index.d.ts +207 -0
  1177. package/dist/widget-types/src/agent-id.d.ts +12 -0
  1178. package/dist/widget-types/src/agent-locks.d.ts +2 -0
  1179. package/dist/widget-types/src/agent-view.d.ts +38 -0
  1180. package/dist/widget-types/src/bridge-browser.d.ts +216 -0
  1181. package/dist/widget-types/src/browser-stream.d.ts +19 -0
  1182. package/dist/widget-types/src/browser.d.ts +15 -0
  1183. package/dist/widget-types/src/cli-exec.d.ts +35 -0
  1184. package/dist/widget-types/src/cloud-run-state.d.ts +26 -0
  1185. package/dist/widget-types/src/dashboard/activity.d.ts +40 -0
  1186. package/dist/widget-types/src/dashboard/agent-handoff.d.ts +211 -0
  1187. package/dist/widget-types/src/dashboard/agent-tree.d.ts +105 -0
  1188. package/dist/widget-types/src/dashboard/bridge-endpoints.d.ts +157 -0
  1189. package/dist/widget-types/src/dashboard/bridge-question.d.ts +32 -0
  1190. package/dist/widget-types/src/dashboard/bridge-store.d.ts +178 -0
  1191. package/dist/widget-types/src/dashboard/cache.d.ts +46 -0
  1192. package/dist/widget-types/src/dashboard/content-type.d.ts +2 -0
  1193. package/dist/widget-types/src/dashboard/dashboard.d.ts +37 -0
  1194. package/dist/widget-types/src/dashboard/discord-webhook.d.ts +16 -0
  1195. package/dist/widget-types/src/dashboard/docs.d.ts +38 -0
  1196. package/dist/widget-types/src/dashboard/file-diff.d.ts +66 -0
  1197. package/dist/widget-types/src/dashboard/file-read.d.ts +41 -0
  1198. package/dist/widget-types/src/dashboard/file-status.d.ts +20 -0
  1199. package/dist/widget-types/src/dashboard/gh.d.ts +130 -0
  1200. package/dist/widget-types/src/dashboard/git-status.d.ts +32 -0
  1201. package/dist/widget-types/src/dashboard/github.d.ts +10 -0
  1202. package/dist/widget-types/src/dashboard/http.d.ts +28 -0
  1203. package/dist/widget-types/src/dashboard/interventions.d.ts +66 -0
  1204. package/dist/widget-types/src/dashboard/keys.d.ts +30 -0
  1205. package/dist/widget-types/src/dashboard/models.d.ts +24 -0
  1206. package/dist/widget-types/src/dashboard/open-in-app.d.ts +42 -0
  1207. package/dist/widget-types/src/dashboard/open-questions.d.ts +52 -0
  1208. package/dist/widget-types/src/dashboard/overview.d.ts +77 -0
  1209. package/dist/widget-types/src/dashboard/projects.d.ts +89 -0
  1210. package/dist/widget-types/src/dashboard/pull-requests.d.ts +126 -0
  1211. package/dist/widget-types/src/dashboard/queue.d.ts +16 -0
  1212. package/dist/widget-types/src/dashboard/quota.d.ts +59 -0
  1213. package/dist/widget-types/src/dashboard/remote-run.d.ts +94 -0
  1214. package/dist/widget-types/src/dashboard/rpc-serve.d.ts +102 -0
  1215. package/dist/widget-types/src/dashboard/run-inbox.d.ts +30 -0
  1216. package/dist/widget-types/src/dashboard/scheduler-state.d.ts +64 -0
  1217. package/dist/widget-types/src/dashboard/tickets.d.ts +28 -0
  1218. package/dist/widget-types/src/dashboard/types.d.ts +99 -0
  1219. package/dist/widget-types/src/dashboard/widget-serve.d.ts +14 -0
  1220. package/dist/widget-types/src/dashboard-rpc/context.d.ts +53 -0
  1221. package/dist/widget-types/src/dashboard-rpc/control.d.ts +108 -0
  1222. package/dist/widget-types/src/dashboard-rpc/devices.d.ts +8 -0
  1223. package/dist/widget-types/src/dashboard-rpc/events-tail.d.ts +53 -0
  1224. package/dist/widget-types/src/dashboard-rpc/events.d.ts +29 -0
  1225. package/dist/widget-types/src/dashboard-rpc/index.d.ts +28 -0
  1226. package/dist/widget-types/src/dashboard-rpc/models.d.ts +3 -0
  1227. package/dist/widget-types/src/dashboard-rpc/preferences.d.ts +40 -0
  1228. package/dist/widget-types/src/dashboard-rpc/projects.d.ts +54 -0
  1229. package/dist/widget-types/src/dashboard-rpc/quota.d.ts +26 -0
  1230. package/dist/widget-types/src/dashboard-rpc/reads.d.ts +227 -0
  1231. package/dist/widget-types/src/dashboard-rpc/relay-agent.d.ts +8 -0
  1232. package/dist/widget-types/src/dashboard-rpc/stream-forward.d.ts +16 -0
  1233. package/dist/widget-types/src/dashboard-rpc/widgets.d.ts +32 -0
  1234. package/dist/widget-types/src/discord-credentials.d.ts +79 -0
  1235. package/dist/widget-types/src/driver-names.d.ts +21 -0
  1236. package/dist/widget-types/src/error-message.d.ts +7 -0
  1237. package/dist/widget-types/src/event-stream.d.ts +32 -0
  1238. package/dist/widget-types/src/events.d.ts +235 -0
  1239. package/dist/widget-types/src/framework-dir.d.ts +10 -0
  1240. package/dist/widget-types/src/framework-gitignore.d.ts +11 -0
  1241. package/dist/widget-types/src/index.d.ts +42 -0
  1242. package/dist/widget-types/src/jsonl-tail.d.ts +54 -0
  1243. package/dist/widget-types/src/loopback-host.d.ts +19 -0
  1244. package/dist/widget-types/src/node-fs.d.ts +32 -0
  1245. package/dist/widget-types/src/open-choices.d.ts +14 -0
  1246. package/dist/widget-types/src/pick-directory.d.ts +29 -0
  1247. package/dist/widget-types/src/preference-defaults.d.ts +53 -0
  1248. package/dist/widget-types/src/project-commands.d.ts +23 -0
  1249. package/dist/widget-types/src/project-errors.d.ts +43 -0
  1250. package/dist/widget-types/src/project-hooks.d.ts +133 -0
  1251. package/dist/widget-types/src/project-presets.d.ts +29 -0
  1252. package/dist/widget-types/src/project-widgets.d.ts +45 -0
  1253. package/dist/widget-types/src/project.d.ts +28 -0
  1254. package/dist/widget-types/src/quota-boundary.d.ts +115 -0
  1255. package/dist/widget-types/src/quota-poller.d.ts +82 -0
  1256. package/dist/widget-types/src/registry.d.ts +210 -0
  1257. package/dist/widget-types/src/store/agent-checkout.d.ts +46 -0
  1258. package/dist/widget-types/src/store/agent-store.d.ts +237 -0
  1259. package/dist/widget-types/src/store/branches.d.ts +133 -0
  1260. package/dist/widget-types/src/store/forge.d.ts +109 -0
  1261. package/dist/widget-types/src/store/git-host.d.ts +111 -0
  1262. package/dist/widget-types/src/store/index.d.ts +9 -0
  1263. package/dist/widget-types/src/store/provided.d.ts +16 -0
  1264. package/dist/widget-types/src/store/queue.d.ts +45 -0
  1265. package/dist/widget-types/src/store/run-record.d.ts +21 -0
  1266. package/dist/widget-types/src/store/runs.d.ts +101 -0
  1267. package/dist/widget-types/src/store/tickets.d.ts +72 -0
  1268. package/dist/widget-types/src/tickets.d.ts +17 -0
  1269. package/dist/widget-types/src/worktrees.d.ts +89 -0
  1270. package/dist/widget.css +50 -0
  1271. package/dist/worktrees.d.ts +90 -0
  1272. package/dist/worktrees.d.ts.map +1 -0
  1273. package/dist/worktrees.js +123 -0
  1274. package/dist/worktrees.js.map +1 -0
  1275. package/package.json +103 -3
@@ -0,0 +1,232 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { nodeGitRunner } from '@gemstack/agent-data';
3
+ import { errorMessage } from '../error-message.js';
4
+ import { githubSlugFor } from '../dashboard/github.js';
5
+ import { WEB_START_PREFIX } from '../dashboard/web-start-endpoints.js';
6
+ import { makeEmit } from 'agent-driver';
7
+ /**
8
+ * A {@link Driver} that hands the task to **Claude Code on the web** (#610): it has a cloud
9
+ * session created on claude.ai and returns its id and URL.
10
+ *
11
+ * The session is created by the browser extension, in the user's own signed-in browser,
12
+ * through claude.ai's repository picker (#1328): the run asks its daemon to queue the request
13
+ * — the repository, the pushed hand-off ref, the prompt — and the extension drives the page
14
+ * and reports the session it became. A session created that way is bound to the repository,
15
+ * so it can push its work and open its pull request; the CLI's own `--cloud` flag, the earlier
16
+ * mechanism, produced on some accounts a bundle upload that never could (#1320), and is gone.
17
+ * The account, the auth and the quota are the user's, exactly as with the local driver (#495).
18
+ *
19
+ * So a web run needs four things, and names whichever is missing: a daemon that spawned it
20
+ * (the daemon's URL travels in the run's environment), the browser bridge switched on, the
21
+ * extension present, and a GitHub remote for the picker to name.
22
+ *
23
+ * **What this target is, and is not.** It is a hand-off: the session runs on Anthropic's
24
+ * infrastructure, does its own git worktree and opens its own PR, at 0% local CPU — the
25
+ * whole point of #610. What it is not is a streamed peer like the local, device and
26
+ * Actions targets, and that is not a shortcut in this implementation but a property of
27
+ * the surface: a cloud session exposes **no read-back API** of any kind — no status, no
28
+ * transcript, no output endpoint, only the session URL. So the turn resolves once the
29
+ * session is created, and following the work happens on claude.ai, through the browser
30
+ * bridge's mirror and gate relay (#1237/#1554), or by pulling it back with
31
+ * `claude --teleport <id>`.
32
+ *
33
+ * For the same reason there is no `readCode`: the workspace lives in a cloud VM this
34
+ * machine never sees.
35
+ */
36
+ export class CloudDriver {
37
+ opts;
38
+ id = 'claude-web';
39
+ constructor(opts = {}) {
40
+ this.opts = opts;
41
+ }
42
+ start(opts) {
43
+ return Promise.resolve(new CloudSession(this.opts, opts));
44
+ }
45
+ }
46
+ /** Counter feeding the per-process half of a session id. */
47
+ let sessionCounter = 0;
48
+ export const CLOUD_PROMPT_SEPARATOR = '===============================';
49
+ /**
50
+ * The prompt handed to the cloud session (#1497): the task first, then every block The Framework
51
+ * injects — the framing, a per-call system — behind a labeled rule. On claude.ai this string is
52
+ * read by a human, and the task is what they open the session to find.
53
+ */
54
+ export function cloudHandOffPrompt(task, ...injected) {
55
+ const blocks = injected.filter((part) => Boolean(part));
56
+ if (blocks.length === 0)
57
+ return task;
58
+ const rule = `\n\n\n${CLOUD_PROMPT_SEPARATOR}\n\n\n`;
59
+ const header = 'Instructions from The Framework, the tool that started this session:';
60
+ return `${task}${rule}${header}\n\n${blocks.join(rule)}`;
61
+ }
62
+ /** What a web run is missing when it cannot hand off, each named so the fix is the message. */
63
+ const NO_DAEMON = '[framework] claude-web: this run was not started by a daemon, so nothing can hand it to the browser extension — start web runs from the dashboard.';
64
+ const NO_REMOTE = '[framework] claude-web: no GitHub remote here — the cloud session is created on a repository the browser extension picks on claude.ai, so the project needs an `origin` on GitHub.';
65
+ const NO_EXTENSION = '[framework] claude-web: no browser extension has spoken to this daemon recently — install or reload The Framework extension on a claude.ai tab (and keep the browser bridge on in Settings), then start the run again.';
66
+ const BRIDGE_OFF = '[framework] claude-web: the browser bridge is off — turn it on in Settings so the extension can create the cloud session.';
67
+ export class CloudSession {
68
+ config;
69
+ startOpts;
70
+ id;
71
+ cwd;
72
+ emit;
73
+ framing;
74
+ controllers = new Set();
75
+ disposed = false;
76
+ /** The cloud session this agent was handed to, once it exists. Set at most once. */
77
+ handedOff;
78
+ /** The hand-off anchor commit (#1601), once it is on origin. Set at most once, with the hand-off. */
79
+ anchorSha;
80
+ constructor(config, startOpts) {
81
+ this.config = config;
82
+ this.startOpts = startOpts;
83
+ const tag = (config.agentTag ?? (() => randomUUID().slice(0, 8)))();
84
+ this.id = `cloud-${++sessionCounter}-${tag}`;
85
+ this.cwd = startOpts.cwd;
86
+ this.emit = makeEmit(startOpts.onEvent, 'claude-web');
87
+ this.framing = startOpts.system;
88
+ }
89
+ async prompt(text, opts = {}) {
90
+ if (this.disposed)
91
+ throw new Error('[framework] claude-web session disposed');
92
+ const full = cloudHandOffPrompt(text, this.framing, opts.system);
93
+ this.emit({ type: 'start', prompt: full });
94
+ // Already handed off: say so and spend nothing. This is the guard that keeps one agent to
95
+ // one cloud session however many times the loop comes back round.
96
+ if (this.handedOff)
97
+ return this.report(this.handedOff, 'again');
98
+ const controller = new AbortController();
99
+ this.controllers.add(controller);
100
+ for (const signal of [this.startOpts.signal, opts.signal]) {
101
+ if (!signal)
102
+ continue;
103
+ if (signal.aborted) {
104
+ this.controllers.delete(controller);
105
+ throw new Error('[framework] claude-web prompt aborted');
106
+ }
107
+ signal.addEventListener('abort', () => controller.abort(), { once: true });
108
+ }
109
+ const timer = setTimeout(() => controller.abort(), this.config.timeoutMs ?? 120_000);
110
+ try {
111
+ const ext = this.config.extension;
112
+ if (!ext)
113
+ throw new Error(NO_DAEMON);
114
+ const git = this.config.git ?? nodeGitRunner();
115
+ const slug = await githubSlugFor(this.cwd, git);
116
+ if (!slug)
117
+ throw new Error(NO_REMOTE);
118
+ // The pre-hand-off push (#1320): the cloud session opens on a named origin ref, so the
119
+ // repository picker's branch list must offer this run's starting point. What gets pushed is
120
+ // not HEAD itself but the hand-off anchor (#1601): an empty commit on top of it, so the ref
121
+ // is recognizably this run's and a later sweep can tell it from a branch a person made.
122
+ // Minting and pushing are one step: a checkout that cannot mint an empty commit on its
123
+ // HEAD has no HEAD to push either. A push that fails fails the run — the session cannot
124
+ // open on a ref origin does not have.
125
+ let anchor;
126
+ try {
127
+ anchor = (await git(['commit-tree', 'HEAD^{tree}', '-p', 'HEAD', '-m', `[The Framework] web hand-off ${this.id}`], this.cwd)).trim();
128
+ await git(['push', 'origin', `${anchor}:refs/heads/${this.id}`], this.cwd);
129
+ }
130
+ catch (err) {
131
+ throw new Error(`[framework] claude-web: could not push the hand-off ref ${this.id} to origin (${errorMessage(err)}) — the cloud session opens on that ref, so the project needs a pushable GitHub remote.`);
132
+ }
133
+ const found = await this.createViaExtension(ext, `${slug.owner}/${slug.repo}`, this.id, full, this.startOpts.model, controller.signal);
134
+ this.anchorSha = anchor;
135
+ this.handedOff = found;
136
+ return this.report(found, 'first');
137
+ }
138
+ catch (err) {
139
+ // A user abort (Stop, the agent signal) lands here too; name it what it was.
140
+ if (this.startOpts.signal?.aborted || opts.signal?.aborted)
141
+ throw new Error('[framework] claude-web prompt aborted');
142
+ throw err;
143
+ }
144
+ finally {
145
+ clearTimeout(timer);
146
+ this.controllers.delete(controller);
147
+ }
148
+ }
149
+ /**
150
+ * Hand the session request to the daemon's start-queue and wait for the extension's word
151
+ * (#1328). Throws, naming the cure, when the daemon has no extension to ask (409) or the
152
+ * bridge is off (404); throws with the extension's own note when it tried and could not create
153
+ * the session; throws when the wait was aborted or timed out. The model the run was started
154
+ * with travels along (#1697): the extension picks it in claude.ai's model menu, so a web run
155
+ * honours the choice the way a local one does instead of dropping it on the page's default.
156
+ */
157
+ async createViaExtension(ext, repo, ref, prompt, model, signal) {
158
+ const doFetch = ext.fetch ?? fetch;
159
+ const base = ext.daemonUrl.replace(/\/+$/, '');
160
+ const headers = { authorization: `Bearer ${ext.token}` };
161
+ const queued = await doFetch(`${base}${WEB_START_PREFIX}`, {
162
+ method: 'POST',
163
+ headers: { ...headers, 'content-type': 'application/json' },
164
+ body: JSON.stringify({ repo, branch: ref, prompt, ...(model ? { model } : {}) }),
165
+ signal,
166
+ });
167
+ if (queued.status === 409)
168
+ throw new Error(NO_EXTENSION);
169
+ if (queued.status === 404)
170
+ throw new Error(BRIDGE_OFF);
171
+ if (!queued.ok)
172
+ throw new Error(`[framework] claude-web: the daemon refused the session request (${queued.status}): ${(await queued.text()).slice(0, 300)}`);
173
+ const { id } = (await queued.json());
174
+ this.emit({ type: 'notice', message: `[framework] claude-web: asked the browser extension to create the cloud session on ${repo} at ${ref}${model ? ` on ${model}` : ''} (request ${id}).` });
175
+ const pollMs = ext.pollMs ?? 2000;
176
+ for (;;) {
177
+ if (signal.aborted)
178
+ throw new Error('[framework] claude-web: gave up waiting for the browser extension to create the session.');
179
+ const res = await doFetch(`${base}${WEB_START_PREFIX}/${id}`, { headers, signal });
180
+ if (!res.ok)
181
+ throw new Error(`[framework] claude-web: lost the session request ${id} (${res.status})`);
182
+ const state = (await res.json());
183
+ if (state.state === 'created' && state.sessionId && state.url)
184
+ return { url: state.url, sessionId: state.sessionId };
185
+ if (state.state === 'failed') {
186
+ throw new Error(`[framework] claude-web: the browser extension could not create the session${state.note ? ` — ${state.note}` : ''}.`);
187
+ }
188
+ await new Promise(resolve => {
189
+ const t = setTimeout(resolve, pollMs);
190
+ signal.addEventListener('abort', () => { clearTimeout(t); resolve(); }, { once: true });
191
+ });
192
+ }
193
+ }
194
+ /**
195
+ * Report where this agent went. The `first` hand-off emits the `cloud <url>` action the agent
196
+ * view links through to — mirroring the Actions driver's `run <url>` — and a later pass
197
+ * says the work is already there, so a loop that keeps prompting cannot read the same turn
198
+ * as fresh progress and cannot spend a second session.
199
+ */
200
+ report(session, when) {
201
+ if (when === 'first')
202
+ this.emit({ type: 'action', label: `cloud ${session.url}` });
203
+ const summary = when === 'first'
204
+ ? ['Handed off to Claude Code on the web.', '', `View the session: ${session.url}`, `Continue it here: claude --teleport ${session.sessionId}`].join('\n')
205
+ : [
206
+ 'This run was already handed off to Claude Code on the web, so there is nothing further to do here.',
207
+ 'The work continues in that cloud session, which opens its own pull request.',
208
+ '',
209
+ `View the session: ${session.url}`,
210
+ `Continue it here: claude --teleport ${session.sessionId}`,
211
+ ].join('\n');
212
+ // The result also carries the session's real URL (#1317) and the hand-off anchor (#1601):
213
+ // the action above is what the agent view links through, the result is what reaches the meta.
214
+ this.emit({
215
+ type: 'result',
216
+ text: summary,
217
+ sessionId: session.sessionId,
218
+ sessionLink: session.url,
219
+ ...(this.anchorSha ? { anchorSha: this.anchorSha } : {}),
220
+ });
221
+ return { text: summary, sessionId: session.sessionId };
222
+ }
223
+ // No `readCode`: the cloud VM's workspace is not on this machine, and the branch it
224
+ // pushes is not known until it pushes one.
225
+ async dispose() {
226
+ this.disposed = true;
227
+ for (const controller of this.controllers)
228
+ controller.abort();
229
+ this.controllers.clear();
230
+ }
231
+ }
232
+ //# sourceMappingURL=cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/driver/cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { type AgentCliParser, type SpawnLike } from './cli-session.js';
2
+ import type { Driver, DriverEvent, DriverPromptOptions, DriverSession, DriverStartOptions, DriverTurn, DriverUsage } from './types.js';
3
+ /**
4
+ * Codex's sandbox policy for the shell commands the model writes.
5
+ * `workspace-write` is our default: the agent can edit the workspace it was
6
+ * pointed at, but not the rest of the machine. It is the counterpart of Claude
7
+ * Code's `acceptEdits`, and the reason we never pass Codex's
8
+ * `--dangerously-bypass-approvals-and-sandbox`.
9
+ */
10
+ export type CodexSandbox = 'read-only' | 'workspace-write' | 'danger-full-access';
11
+ /** Options for {@link CodexDriver}. */
12
+ export interface CodexDriverOptions {
13
+ /** CLI binary to spawn. Default `"codex"` (resolved on `PATH`). */
14
+ bin?: string;
15
+ /** Sandbox policy. Default `"workspace-write"`. */
16
+ sandbox?: CodexSandbox;
17
+ /** Extra CLI args appended verbatim (escape hatch). */
18
+ extraArgs?: string[];
19
+ /** Environment for the child process. Default `process.env`. */
20
+ env?: NodeJS.ProcessEnv;
21
+ /** `spawn` override for tests. Default `node:child_process.spawn`. */
22
+ spawn?: SpawnLike;
23
+ }
24
+ /**
25
+ * The second real {@link Driver} (#539): wraps the **Codex CLI** in its
26
+ * non-interactive mode (`codex exec --json`), on the user's own ChatGPT
27
+ * subscription — no API key (#495's "bring your own subscription").
28
+ *
29
+ * The seam always said "Claude Code today, Codex later", and this is that. Same
30
+ * black box: prompt it, let its own loop run, read the code it wrote.
31
+ *
32
+ * Three ways it differs from Claude Code, all of them the agent's business
33
+ * rather than ours:
34
+ *
35
+ * - **No system-prompt flag.** Codex has no `--append-system-prompt`, so the
36
+ * framing is prepended to the prompt instead. Same words reach the agent.
37
+ * - **Tokens, no price.** Codex reports token counts but never a price, so usage
38
+ * carries the counts and omits `costUsd` rather than claim a turn cost `$0`,
39
+ * which would read as free (#540). The budget cap (#322) gates on a price, so
40
+ * it cannot fire here; the CLI says so at startup instead of implying it.
41
+ * - **No quota read.** No `readQuota`, for the same reason: the seam is optional
42
+ * precisely so an agent that can't report one simply doesn't.
43
+ */
44
+ export declare class CodexDriver implements Driver {
45
+ private readonly opts;
46
+ readonly id = "codex";
47
+ constructor(opts?: CodexDriverOptions);
48
+ start(opts: DriverStartOptions): Promise<DriverSession>;
49
+ }
50
+ /** One workspace-bound Codex session. `prompt` is a fresh CLI invocation. */
51
+ export declare class CodexSession implements DriverSession {
52
+ private readonly config;
53
+ private readonly startOpts;
54
+ readonly id: string;
55
+ readonly cwd: string;
56
+ constructor(config: CodexDriverOptions, startOpts: DriverStartOptions);
57
+ prompt(text: string, opts?: DriverPromptOptions): Promise<DriverTurn>;
58
+ readCode(path: string): Promise<string>;
59
+ dispose(): Promise<void>;
60
+ private buildArgs;
61
+ }
62
+ /**
63
+ * Parses Codex's `exec --json` output: one JSON event per line.
64
+ *
65
+ * The dialect, as observed on codex-cli 0.144.4:
66
+ * ```
67
+ * {"type":"thread.started","thread_id":"019f..."}
68
+ * {"type":"turn.started"}
69
+ * {"type":"item.completed","item":{"type":"agent_message","text":"..."}}
70
+ * {"type":"item.started","item":{"type":"file_change","status":"in_progress"}}
71
+ * {"type":"turn.completed","usage":{"input_tokens":12210,"output_tokens":5}}
72
+ * ```
73
+ */
74
+ export declare class CodexJsonParser implements AgentCliParser {
75
+ private text;
76
+ private sessionId;
77
+ private usage;
78
+ push(line: string): DriverEvent[];
79
+ result(): DriverTurn;
80
+ }
81
+ /**
82
+ * Map Codex's `turn.completed` usage onto {@link DriverUsage}. The dialect is
83
+ * OpenAI's Responses API shape, flattened:
84
+ * `{input_tokens, cached_input_tokens, output_tokens, reasoning_output_tokens}`.
85
+ *
86
+ * Two things that shape the mapping, both verified against codex-cli 0.144.4:
87
+ *
88
+ * - `input_tokens` is the **total** input, cached included. Repeating one prompt
89
+ * held it at 12218 while `cached_input_tokens` rose 9984 -> 12032; a non-cached
90
+ * count would have fallen. So the uncached part is the difference, which is what
91
+ * `inputTokens` means here.
92
+ * - `reasoning_output_tokens` is a **subset** of `output_tokens` (as
93
+ * `cached_input_tokens` is of `input_tokens`), so adding it would double-count.
94
+ *
95
+ * No price, and no cache-*write* count: OpenAI caches implicitly and bills no
96
+ * separate write, so `cacheCreationTokens` is honestly 0 rather than a guess.
97
+ */
98
+ export declare function parseCodexUsage(raw: unknown): DriverUsage | undefined;
99
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/driver/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEtI;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAA;AAEjF,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,WAAY,YAAW,MAAM;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,QAAQ,CAAC,EAAE,WAAU;IACrB,YAA6B,IAAI,GAAE,kBAAuB,EAAI;IAE9D,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAEtD;CACF;AAID,6EAA6E;AAC7E,qBAAa,YAAa,YAAW,aAAa;IAK9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB,YACmB,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,kBAAkB,EAI/C;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBxE;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtC;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvB;IAED,OAAO,CAAC,SAAS;CASlB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,KAAK,CAAyB;IAEtC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CA4ChC;IAED,MAAM,IAAI,UAAU,CAQnB;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAerE"}
@@ -0,0 +1,190 @@
1
+ import { spawn as nodeSpawn } from 'node:child_process';
2
+ import { runCliSession } from './cli-session.js';
3
+ import { combineFraming, combineSignals, makeEmit, readWorkspaceFile } from './session-support.js';
4
+ /**
5
+ * The second real {@link Driver} (#539): wraps the **Codex CLI** in its
6
+ * non-interactive mode (`codex exec --json`), on the user's own ChatGPT
7
+ * subscription — no API key (#495's "bring your own subscription").
8
+ *
9
+ * The seam always said "Claude Code today, Codex later", and this is that. Same
10
+ * black box: prompt it, let its own loop run, read the code it wrote.
11
+ *
12
+ * Three ways it differs from Claude Code, all of them the agent's business
13
+ * rather than ours:
14
+ *
15
+ * - **No system-prompt flag.** Codex has no `--append-system-prompt`, so the
16
+ * framing is prepended to the prompt instead. Same words reach the agent.
17
+ * - **Tokens, no price.** Codex reports token counts but never a price, so usage
18
+ * carries the counts and omits `costUsd` rather than claim a turn cost `$0`,
19
+ * which would read as free (#540). The budget cap (#322) gates on a price, so
20
+ * it cannot fire here; the CLI says so at startup instead of implying it.
21
+ * - **No quota read.** No `readQuota`, for the same reason: the seam is optional
22
+ * precisely so an agent that can't report one simply doesn't.
23
+ */
24
+ export class CodexDriver {
25
+ opts;
26
+ id = 'codex';
27
+ constructor(opts = {}) {
28
+ this.opts = opts;
29
+ }
30
+ start(opts) {
31
+ return Promise.resolve(new CodexSession(this.opts, opts));
32
+ }
33
+ }
34
+ let sessionCounter = 0;
35
+ /** One workspace-bound Codex session. `prompt` is a fresh CLI invocation. */
36
+ export class CodexSession {
37
+ config;
38
+ startOpts;
39
+ id;
40
+ cwd;
41
+ constructor(config, startOpts) {
42
+ this.config = config;
43
+ this.startOpts = startOpts;
44
+ this.cwd = startOpts.cwd;
45
+ this.id = `codex-${++sessionCounter}`;
46
+ }
47
+ prompt(text, opts = {}) {
48
+ // Codex takes no system-prompt flag, so the framing rides in front of the
49
+ // prompt. Blank-line separated, so it reads as its own block.
50
+ const framing = combineFraming(this.startOpts.system, opts.system);
51
+ const prompt = framing ? `${framing}\n\n${text}` : text;
52
+ return runCliSession({
53
+ bin: this.config.bin ?? 'codex',
54
+ args: this.buildArgs(),
55
+ cwd: this.cwd,
56
+ env: this.config.env ?? process.env,
57
+ prompt,
58
+ spawn: this.config.spawn ?? nodeSpawn,
59
+ emit: makeEmit(this.startOpts.onEvent, 'codex'),
60
+ signals: combineSignals(this.startOpts.signal, opts.signal),
61
+ parser: new CodexJsonParser(),
62
+ driver: 'codex',
63
+ });
64
+ }
65
+ readCode(path) {
66
+ return readWorkspaceFile(this.cwd, path);
67
+ }
68
+ dispose() {
69
+ // Each prompt spawns and reaps its own process; nothing durable to free.
70
+ return Promise.resolve();
71
+ }
72
+ buildArgs() {
73
+ // No prompt argument: it goes over stdin, so a long one never hits the
74
+ // arg-length limit. `--skip-git-repo-check` because Codex otherwise refuses
75
+ // to run outside a git repo, and a workspace may legitimately not be one yet.
76
+ const args = ['exec', '--json', '--skip-git-repo-check', '--sandbox', this.config.sandbox ?? 'workspace-write', '-C', this.cwd];
77
+ if (this.startOpts.model)
78
+ args.push('-m', this.startOpts.model);
79
+ if (this.config.extraArgs)
80
+ args.push(...this.config.extraArgs);
81
+ return args;
82
+ }
83
+ }
84
+ /**
85
+ * Parses Codex's `exec --json` output: one JSON event per line.
86
+ *
87
+ * The dialect, as observed on codex-cli 0.144.4:
88
+ * ```
89
+ * {"type":"thread.started","thread_id":"019f..."}
90
+ * {"type":"turn.started"}
91
+ * {"type":"item.completed","item":{"type":"agent_message","text":"..."}}
92
+ * {"type":"item.started","item":{"type":"file_change","status":"in_progress"}}
93
+ * {"type":"turn.completed","usage":{"input_tokens":12210,"output_tokens":5}}
94
+ * ```
95
+ */
96
+ export class CodexJsonParser {
97
+ text = '';
98
+ sessionId;
99
+ usage;
100
+ push(line) {
101
+ let obj;
102
+ try {
103
+ obj = JSON.parse(line);
104
+ }
105
+ catch {
106
+ return []; // Banners and other noise: not every line is an event.
107
+ }
108
+ // `null` parses, so the catch above lets it through and every field read below throws — from
109
+ // inside a readline handler, where nothing catches it. Noise is noise whatever it parses to.
110
+ if (typeof obj !== 'object' || obj === null)
111
+ return [];
112
+ const type = obj['type'];
113
+ if (type === 'thread.started') {
114
+ const id = obj['thread_id'];
115
+ if (typeof id === 'string')
116
+ this.sessionId = id;
117
+ return [];
118
+ }
119
+ if (type === 'turn.completed') {
120
+ const usage = parseCodexUsage(obj['usage']);
121
+ if (usage)
122
+ this.usage = usage;
123
+ return [];
124
+ }
125
+ const item = obj['item'];
126
+ if (typeof item !== 'object' || item === null)
127
+ return [];
128
+ const itemObj = item;
129
+ const itemType = itemObj['type'];
130
+ if (itemType === 'agent_message' && type === 'item.completed') {
131
+ const text = itemObj['text'];
132
+ if (typeof text !== 'string')
133
+ return [];
134
+ // Codex narrates in several messages; the last is its answer, and the
135
+ // rest are progress. Keep the last as the turn, stream them all.
136
+ this.text = text;
137
+ return [{ type: 'text', text }];
138
+ }
139
+ // Any other item is the agent using a tool. We surface the kind only, never
140
+ // the arguments: the seam is the code and the outcome, not the tool calls.
141
+ if (type === 'item.started' && typeof itemType === 'string') {
142
+ return [{ type: 'action', label: itemType }];
143
+ }
144
+ return [];
145
+ }
146
+ result() {
147
+ // Tokens but no `costUsd`: Codex prices nothing, and a `$0` would read as free
148
+ // rather than as "we don't know" (#540).
149
+ return {
150
+ text: this.text,
151
+ ...(this.sessionId ? { sessionId: this.sessionId } : {}),
152
+ ...(this.usage ? { usage: this.usage } : {}),
153
+ };
154
+ }
155
+ }
156
+ /**
157
+ * Map Codex's `turn.completed` usage onto {@link DriverUsage}. The dialect is
158
+ * OpenAI's Responses API shape, flattened:
159
+ * `{input_tokens, cached_input_tokens, output_tokens, reasoning_output_tokens}`.
160
+ *
161
+ * Two things that shape the mapping, both verified against codex-cli 0.144.4:
162
+ *
163
+ * - `input_tokens` is the **total** input, cached included. Repeating one prompt
164
+ * held it at 12218 while `cached_input_tokens` rose 9984 -> 12032; a non-cached
165
+ * count would have fallen. So the uncached part is the difference, which is what
166
+ * `inputTokens` means here.
167
+ * - `reasoning_output_tokens` is a **subset** of `output_tokens` (as
168
+ * `cached_input_tokens` is of `input_tokens`), so adding it would double-count.
169
+ *
170
+ * No price, and no cache-*write* count: OpenAI caches implicitly and bills no
171
+ * separate write, so `cacheCreationTokens` is honestly 0 rather than a guess.
172
+ */
173
+ export function parseCodexUsage(raw) {
174
+ if (typeof raw !== 'object' || raw === null)
175
+ return undefined;
176
+ const usage = raw;
177
+ const num = (key) => {
178
+ const value = usage[key];
179
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : 0;
180
+ };
181
+ const input = num('input_tokens');
182
+ const cached = Math.min(num('cached_input_tokens'), input);
183
+ return {
184
+ inputTokens: input - cached,
185
+ outputTokens: num('output_tokens'),
186
+ cacheReadTokens: cached,
187
+ cacheCreationTokens: 0,
188
+ };
189
+ }
190
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/driver/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { Driver, DriverPromptOptions, DriverSession, DriverStartOptions, DriverTurn, DriverUsage } from './types.js';
2
+ /** One scripted turn the {@link FakeDriver} replays. */
3
+ export interface FakeTurn {
4
+ /** The final assistant text. */
5
+ text: string;
6
+ /** Tool names to emit as `action` events before the result (visual only). */
7
+ actions?: string[];
8
+ /** Token + cost accounting to report for this turn (#322). Omitted = no usage. */
9
+ usage?: DriverUsage;
10
+ }
11
+ /** Options for {@link FakeDriver}. */
12
+ export interface FakeDriverOptions {
13
+ /**
14
+ * Scripted turns, consumed in order across all `prompt` calls of a session.
15
+ * Once exhausted the last one repeats, so a short script never starves a
16
+ * longer run. Ignored when {@link respond} is set.
17
+ */
18
+ turns?: FakeTurn[];
19
+ /** Answer dynamically from the prompt. Takes precedence over {@link turns}. */
20
+ respond?: (prompt: string, index: number) => FakeTurn | string;
21
+ /** Files each session is pre-seeded with, exposed via {@link DriverSession.readCode}. */
22
+ files?: Record<string, string>;
23
+ /** Session id to report (default `"fake-session"`). */
24
+ sessionId?: string;
25
+ }
26
+ /**
27
+ * An in-memory {@link Driver} for tests and `FRAMEWORK_FAKE` runs: it never spawns a
28
+ * process, replays scripted turns deterministically, and emits the same
29
+ * {@link DriverEvent} shape a real driver does. Mirrors `AiFake` /
30
+ * `FakeRunner`, so the whole flow runs offline with no CLI and no model.
31
+ */
32
+ export declare class FakeDriver implements Driver {
33
+ private readonly opts;
34
+ readonly id = "fake";
35
+ constructor(opts?: FakeDriverOptions);
36
+ start(opts: DriverStartOptions): Promise<FakeDriverSession>;
37
+ }
38
+ /** A single {@link FakeDriver} session. Records every prompt for assertions. */
39
+ export declare class FakeDriverSession implements DriverSession {
40
+ private readonly config;
41
+ private readonly startOpts;
42
+ readonly id: string;
43
+ readonly cwd: string;
44
+ /** Every prompt this session received, in order. */
45
+ readonly prompts: string[];
46
+ private index;
47
+ constructor(config: FakeDriverOptions, startOpts: DriverStartOptions);
48
+ prompt(text: string, opts?: DriverPromptOptions): Promise<DriverTurn>;
49
+ readCode(path: string): Promise<string>;
50
+ dispose(): Promise<void>;
51
+ private resolveTurn;
52
+ private emit;
53
+ }
54
+ //# sourceMappingURL=fake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../../src/driver/fake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGtI,wDAAwD;AACxD,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ,GAAG,MAAM,CAAA;IAC9D,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,MAAM;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,QAAQ,CAAC,EAAE,UAAS;IACpB,YAA6B,IAAI,GAAE,iBAAsB,EAAI;IAG7D,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE1D;CACF;AAED,gFAAgF;AAChF,qBAAa,iBAAkB,YAAW,aAAa;IAQnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAK;IAC/B,OAAO,CAAC,KAAK,CAAI;IAEjB,YACmB,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,kBAAkB,EAI/C;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxE;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAItC;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvB;IAED,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,IAAI;CAGb"}