@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,31 @@
1
+ /**
2
+ * Every question a run still waits on, in the order asked, read off the run's events. One rule
3
+ * for every surface that offers an answer (the run page, the open-questions list, the write
4
+ * that delivers the answer), so none offers what another would refuse.
5
+ *
6
+ * A `choice` event opens a question; asked again under the same id, the later one replaces it.
7
+ * It closes when the agent goes on (any later event of the agent's own: the answer, or the
8
+ * person's text, began a new turn), when a `choice-resolved` names it, and when the run ends
9
+ * for good. An end that says `waiting` closes nothing: the run ended ON the question, its
10
+ * checkout kept, and the answer resumes it. A run that died holding a question ends otherwise,
11
+ * and its question goes with it (#1359): nobody would read the pick.
12
+ */
13
+ export function pendingChoices(events) {
14
+ const open = new Map();
15
+ for (const event of events) {
16
+ if (event.kind === 'choice-resolved')
17
+ open.delete(event.id);
18
+ else if (event.kind === 'driver')
19
+ open.clear();
20
+ else if (event.kind === 'end') {
21
+ if (event.waiting !== true)
22
+ open.clear();
23
+ }
24
+ else if (event.kind === 'choice') {
25
+ const { kind: _kind, ...request } = event;
26
+ open.set(event.id, request);
27
+ }
28
+ }
29
+ return [...open.values()];
30
+ }
31
+ //# sourceMappingURL=open-choices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-choices.js","sourceRoot":"","sources":["../src/open-choices.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiC;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,KAAK,EAAE,CAAA;aACzC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,KAAoB,CAAA;YACxD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The system folder picker behind the dashboard's "Add project" (#1150): the daemon opens the
3
+ * OS's own choose-a-folder dialog and hands the picked absolute path back, because a browser page
4
+ * cannot learn the absolute path of anything the user picks in it.
5
+ */
6
+ /** The outcome of asking the OS for a folder: a path, a dismissed dialog (`path: null`), or why the dialog could not be asked. */
7
+ export type PickDirectoryResult = {
8
+ ok: true;
9
+ path: string | null;
10
+ } | {
11
+ ok: false;
12
+ error: string;
13
+ };
14
+ /** What a dialog command left behind when it exited. */
15
+ export type DialogRun = {
16
+ code: number;
17
+ stdout: string;
18
+ stderr: string;
19
+ };
20
+ /** Injectable seam so tests never open a real dialog. */
21
+ export type DialogRunner = (command: string, args: string[]) => Promise<DialogRun>;
22
+ /**
23
+ * Open the OS folder picker and wait for the user's choice.
24
+ *
25
+ * Dismissing the dialog is a normal outcome (`path: null`), not an error. A Linux daemon with no
26
+ * desktop session to draw on, a Linux machine with neither dialog helper installed, and a platform
27
+ * with no dialog wired up each answer with that reason instead of trying.
28
+ */
29
+ export declare function pickDirectory(platform?: NodeJS.Platform, run?: DialogRunner, env?: NodeJS.ProcessEnv): Promise<PickDirectoryResult>;
30
+ //# sourceMappingURL=pick-directory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick-directory.d.ts","sourceRoot":"","sources":["../src/pick-directory.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,kIAAkI;AAClI,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACjC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhC,wDAAwD;AACxD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAExE,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;AA2ElF;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,YAA+B,EACpC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAW9B"}
@@ -0,0 +1,102 @@
1
+ import { execFile } from 'node:child_process';
2
+ /** The exit code standing for "this machine does not have that command", so the next candidate can be tried. */
3
+ const NOT_INSTALLED = 127;
4
+ /** The exit code the Windows script reports a cancelled dialog with, kept clear of PowerShell's own failure exit of 1. */
5
+ const WINDOWS_CANCELLED = 2;
6
+ /** What the user is asked for, in every OS's own dialog. */
7
+ const PROMPT = 'Choose a git repository to add as a project';
8
+ /** macOS: `osascript`'s `choose folder`, which renders the standard folder sheet. */
9
+ const macDialog = {
10
+ command: 'osascript',
11
+ args: ['-e', `POSIX path of (choose folder with prompt "${PROMPT}")`],
12
+ // osascript reports a cancelled dialog as error -128, the one exit we translate rather than surface.
13
+ dismissed: run => run.stderr.includes('-128'),
14
+ };
15
+ /**
16
+ * Windows: PowerShell drives the folder browser that ships with the OS. `-STA` because that dialog
17
+ * needs a single-threaded apartment, `-NoProfile` so a user's startup script cannot print into the
18
+ * path read back off stdout.
19
+ */
20
+ const windowsDialog = {
21
+ command: 'powershell.exe',
22
+ args: [
23
+ '-NoProfile',
24
+ '-STA',
25
+ '-Command',
26
+ [
27
+ 'Add-Type -AssemblyName System.Windows.Forms',
28
+ '$dialog = New-Object System.Windows.Forms.FolderBrowserDialog',
29
+ `$dialog.Description = '${PROMPT}'`,
30
+ '$dialog.ShowNewFolderButton = $false',
31
+ `if ($dialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) { $dialog.SelectedPath } else { exit ${WINDOWS_CANCELLED} }`,
32
+ ].join('; '),
33
+ ],
34
+ dismissed: run => run.code === WINDOWS_CANCELLED,
35
+ };
36
+ /**
37
+ * Linux: the desktop's own dialog helper, whichever of the two is installed — `zenity` on GTK
38
+ * desktops, `kdialog` on KDE. Both print the chosen folder and report a cancelled dialog as exit 1,
39
+ * and both are told where to open, because `kdialog` takes the starting directory as an argument.
40
+ *
41
+ * Exit 1 is read as a cancellation even though a helper that cannot reach the display exits that
42
+ * way too: a session with no display at all is ruled out before we get here, and mistaking the
43
+ * remaining rarity for a cancellation is better than showing every user who cancels the harmless
44
+ * warnings these helpers print on startup.
45
+ */
46
+ function linuxDialogs(home) {
47
+ const dismissed = (run) => run.code === 1;
48
+ return [
49
+ { command: 'zenity', args: ['--file-selection', '--directory', `--title=${PROMPT}`, `--filename=${home}/`], dismissed },
50
+ { command: 'kdialog', args: ['--title', PROMPT, '--getexistingdirectory', home], dismissed },
51
+ ];
52
+ }
53
+ /** A command that could not be spawned at all reads as not installed; anything else keeps its own exit code. */
54
+ function exitCode(error) {
55
+ if (error.code === 'ENOENT')
56
+ return NOT_INSTALLED;
57
+ return typeof error.code === 'number' ? error.code : 1;
58
+ }
59
+ const nodeDialogRunner = (command, args) => new Promise(done => {
60
+ execFile(command, args, (error, stdout, stderr) => {
61
+ done({ code: error ? exitCode(error) : 0, stdout: String(stdout), stderr: String(stderr) });
62
+ });
63
+ });
64
+ /**
65
+ * Open the OS folder picker and wait for the user's choice.
66
+ *
67
+ * Dismissing the dialog is a normal outcome (`path: null`), not an error. A Linux daemon with no
68
+ * desktop session to draw on, a Linux machine with neither dialog helper installed, and a platform
69
+ * with no dialog wired up each answer with that reason instead of trying.
70
+ */
71
+ export async function pickDirectory(platform = process.platform, run = nodeDialogRunner, env = process.env) {
72
+ if (platform === 'darwin')
73
+ return openDialog([macDialog], run);
74
+ if (platform === 'win32')
75
+ return openDialog([windowsDialog], run);
76
+ if (platform === 'linux') {
77
+ // A dialog needs a screen to appear on, and a daemon started over SSH or inside a container has
78
+ // none — saying so beats spawning a helper that can only fail.
79
+ if (!env.DISPLAY && !env.WAYLAND_DISPLAY)
80
+ return { ok: false, error: 'The machine running The Framework has no desktop session, so no folder dialog can open there.' };
81
+ return openDialog(linuxDialogs(env.HOME ?? '.'), run);
82
+ }
83
+ return { ok: false, error: `The system folder picker is not available on ${platform}.` };
84
+ }
85
+ /** Open the first installed dialog of `dialogs`, and read the user's answer out of what it printed. */
86
+ async function openDialog(dialogs, run) {
87
+ for (const dialog of dialogs) {
88
+ const result = await run(dialog.command, dialog.args);
89
+ if (result.code === NOT_INSTALLED)
90
+ continue;
91
+ if (dialog.dismissed(result))
92
+ return { ok: true, path: null };
93
+ if (result.code !== 0)
94
+ return { ok: false, error: result.stderr.trim() || 'The folder dialog could not be opened.' };
95
+ // macOS prints the POSIX path with a trailing slash; the registry stores paths without one.
96
+ const path = result.stdout.trim().replace(/(.)\/$/, '$1');
97
+ return path ? { ok: true, path } : { ok: false, error: 'The folder dialog returned no path.' };
98
+ }
99
+ const names = dialogs.map(dialog => dialog.command).join(' or ');
100
+ return { ok: false, error: `The folder dialog needs ${names}, which the machine running The Framework does not have installed.` };
101
+ }
102
+ //# sourceMappingURL=pick-directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick-directory.js","sourceRoot":"","sources":["../src/pick-directory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { type GitRunner } from './project.js';
2
+ /**
3
+ * Turn a plan's own verdict into queued work (#1334).
4
+ *
5
+ * The missing link in the autonomy chain. Tickets arrive from GitHub, [Spike & plan] costs them,
6
+ * and the drain implements whatever is on the queue -- but nothing carried a plan's conclusion
7
+ * onto that queue, so a ticket the planner had already judged trivial still waited for a triage
8
+ * run to read the same ticket and reach the same conclusion a second time.
9
+ *
10
+ * The promotion is done here rather than by an agent because it is a decision the plan has
11
+ * already made: reading two keys out of a file and appending a line needs judgement from nobody,
12
+ * and spending a subscription turn to re-derive an answer already written down is the waste #879
13
+ * exists to avoid. It is the daemon that writes, for the reason queue-promote.ts gives: agents
14
+ * stay sandboxed in their worktrees with no write access to the checkout.
15
+ */
16
+ /** How much work the plan says the ticket is. */
17
+ export type PlanEffort = 'quick-win' | 'significant';
18
+ /** Whether the plan says there is anything left to decide. */
19
+ export type PlanConsensus = 'consensual' | 'open-questions';
20
+ /** The two keys a plan records about itself, absent when the plan did not say. */
21
+ export interface PlanVerdict {
22
+ effort?: PlanEffort;
23
+ consensus?: PlanConsensus;
24
+ }
25
+ /**
26
+ * Read a plan file's verdict keys.
27
+ *
28
+ * Only the header is scanned -- everything above the first `##` section -- because that is where
29
+ * the ticket format puts its keys, and because a plan that *discusses* quick wins in its prose
30
+ * must not be read as declaring itself one.
31
+ */
32
+ export declare function parsePlanVerdict(md: string): PlanVerdict;
33
+ /**
34
+ * Whether a plan authorises the drain to implement its ticket unattended.
35
+ *
36
+ * Fails closed, and demands both keys explicitly: the same polarity as `quotaHeadroom` (#879),
37
+ * for the same reason. A plan that forgot to say, or said something this version does not
38
+ * recognise, means a human decides -- not that an agent starts.
39
+ */
40
+ export declare function isAutoImplementable(verdict: PlanVerdict): boolean;
41
+ /** `tickets/<slug>.plan.md` for `tickets/<slug>.md`, and the read back. */
42
+ export declare function planPathFor(ticket: string): string;
43
+ /** The ticket a plan belongs to, or undefined for a file that is not one. */
44
+ export declare function ticketForPlan(plan: string): string | undefined;
45
+ /** A ticket's `Status:`/`Priority:`/title, as the queue needs them. */
46
+ export interface TicketHeader {
47
+ title: string;
48
+ priority: number;
49
+ open: boolean;
50
+ }
51
+ /**
52
+ * Read a ticket's header. Keys sit above the `# Title`, per the ticket format.
53
+ *
54
+ * A ticket with no `Status:` counts as open: the key is what a *closed* ticket is marked with,
55
+ * and treating an unmarked one as closed would silently drop it out of the roadmap.
56
+ */
57
+ export declare function parseTicketHeader(md: string): TicketHeader;
58
+ /** The queue line for a planned ticket: the link, and nothing else. */
59
+ export declare function queueEntryFor(ticket: string, title: string): string;
60
+ /**
61
+ * Add an entry under its priority heading, creating the section when the file has none.
62
+ *
63
+ * Placement is the whole point rather than a nicety: `parseTodoEntries` returns entries in file
64
+ * order and the drain takes the first, so an entry appended to the end of the file is the last
65
+ * thing that would ever be worked -- which is the opposite of what "autonomously work on
66
+ * quick-wins" asks for. Additive like `landPinnedEntry`, so it composes with whatever else is
67
+ * mid-flight: it only ever inserts one line.
68
+ */
69
+ export declare function insertQueueEntry(md: string, entry: string, priority: number): string;
70
+ /** Everything the promotion reads and writes, injected so the policy above tests off disk. */
71
+ export interface PlanPromoteDeps {
72
+ list?: (dir: string) => Promise<string[]>;
73
+ read?: (path: string) => Promise<string>;
74
+ write?: (path: string, content: string) => Promise<void>;
75
+ git?: GitRunner;
76
+ }
77
+ /** What one promotion pass did. Never throws: this runs on a background tick. */
78
+ export interface PlanPromotion {
79
+ /** The entries appended, in the order they were added. */
80
+ queued: string[];
81
+ /** Why nothing was queued, when nothing was. */
82
+ reason?: string;
83
+ /**
84
+ * Something stood in the way, as opposed to there simply being nothing to promote.
85
+ *
86
+ * The distinction is what keeps the daemon log readable: "no plan called its ticket a quick-win"
87
+ * is the ordinary state of a healthy repo and would otherwise print on every tick of every
88
+ * project forever, burying the one line that means a human should look.
89
+ */
90
+ blocked?: true;
91
+ }
92
+ /** The commit message a promotion writes, naming the count so the history reads at a glance. */
93
+ export declare function plannedQueueMessage(count: number): string;
94
+ /**
95
+ * Queue every ticket whose plan declares itself a consensual quick-win and that is not on the
96
+ * queue already (#1334).
97
+ *
98
+ * Skips wholesale on a dirty queue file, for the same reason `promoteQueue` does: a human editing
99
+ * the queue by hand outranks an unattended tidy-up, and the next tick will try again.
100
+ */
101
+ export declare function promotePlannedQuickWins(projectCwd: string, deps?: PlanPromoteDeps): Promise<PlanPromotion>;
102
+ //# sourceMappingURL=planned-quick-wins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planned-quick-wins.d.ts","sourceRoot":"","sources":["../src/planned-quick-wins.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAG5D;;;;;;;;;;;;;GAaG;AAEH,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,CAAA;AAEpD,8DAA8D;AAC9D,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAE3D,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAcxD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAEjE;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9D;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAK1D;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAID;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiCpF;AAED,8FAA8F;AAC9F,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,GAAG,CAAC,EAAE,SAAS,CAAA;CAChB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;CACf;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,aAAa,CAAC,CA+CxB"}
@@ -0,0 +1,171 @@
1
+ import { join } from 'node:path';
2
+ import { readdir, readFile, writeFile } from 'node:fs/promises';
3
+ import { errorMessage } from './error-message.js';
4
+ import { nodeGitRunner } from './project.js';
5
+ import { FLAT_TODO_FILE, TICKETS_DIR, todoPriorityForTicket } from './tickets.js';
6
+ const EFFORTS = ['quick-win', 'significant'];
7
+ const CONSENSUS = ['consensual', 'open-questions'];
8
+ /**
9
+ * Read a plan file's verdict keys.
10
+ *
11
+ * Only the header is scanned -- everything above the first `##` section -- because that is where
12
+ * the ticket format puts its keys, and because a plan that *discusses* quick wins in its prose
13
+ * must not be read as declaring itself one.
14
+ */
15
+ export function parsePlanVerdict(md) {
16
+ const verdict = {};
17
+ for (const line of md.split('\n')) {
18
+ if (line.startsWith('## '))
19
+ break;
20
+ const key = /^\s*(Effort|Consensus)\s*:\s*(.+?)\s*$/i.exec(line);
21
+ if (!key)
22
+ continue;
23
+ const value = key[2].toLowerCase();
24
+ if (/^effort$/i.test(key[1])) {
25
+ if (EFFORTS.includes(value) && verdict.effort === undefined)
26
+ verdict.effort = value;
27
+ }
28
+ else if (CONSENSUS.includes(value) && verdict.consensus === undefined) {
29
+ verdict.consensus = value;
30
+ }
31
+ }
32
+ return verdict;
33
+ }
34
+ /**
35
+ * Whether a plan authorises the drain to implement its ticket unattended.
36
+ *
37
+ * Fails closed, and demands both keys explicitly: the same polarity as `quotaHeadroom` (#879),
38
+ * for the same reason. A plan that forgot to say, or said something this version does not
39
+ * recognise, means a human decides -- not that an agent starts.
40
+ */
41
+ export function isAutoImplementable(verdict) {
42
+ return verdict.effort === 'quick-win' && verdict.consensus === 'consensual';
43
+ }
44
+ /** `tickets/<slug>.plan.md` for `tickets/<slug>.md`, and the read back. */
45
+ export function planPathFor(ticket) {
46
+ return `${ticket.slice(0, -'.md'.length)}.plan.md`;
47
+ }
48
+ /** The ticket a plan belongs to, or undefined for a file that is not one. */
49
+ export function ticketForPlan(plan) {
50
+ if (!plan.endsWith('.plan.md'))
51
+ return undefined;
52
+ return `${plan.slice(0, -'.plan.md'.length)}.md`;
53
+ }
54
+ /**
55
+ * Read a ticket's header. Keys sit above the `# Title`, per the ticket format.
56
+ *
57
+ * A ticket with no `Status:` counts as open: the key is what a *closed* ticket is marked with,
58
+ * and treating an unmarked one as closed would silently drop it out of the roadmap.
59
+ */
60
+ export function parseTicketHeader(md) {
61
+ const title = /^#\s+(.+?)\s*$/m.exec(md)?.[1]?.trim() ?? '';
62
+ const status = /^\s*Status\s*:\s*(.+?)\s*$/im.exec(md)?.[1]?.trim().toLowerCase();
63
+ const priority = /^\s*Priority\s*:\s*(.+?)\s*$/im.exec(md)?.[1]?.trim();
64
+ return { title, priority: todoPriorityForTicket(priority), open: status !== 'closed' };
65
+ }
66
+ /** The queue line for a planned ticket: the link, and nothing else. */
67
+ export function queueEntryFor(ticket, title) {
68
+ return `[${title}](${ticket})`;
69
+ }
70
+ const PRIORITY_HEADING = /^##\s+Priority\s+(\d+)\b/;
71
+ /**
72
+ * Add an entry under its priority heading, creating the section when the file has none.
73
+ *
74
+ * Placement is the whole point rather than a nicety: `parseTodoEntries` returns entries in file
75
+ * order and the drain takes the first, so an entry appended to the end of the file is the last
76
+ * thing that would ever be worked -- which is the opposite of what "autonomously work on
77
+ * quick-wins" asks for. Additive like `landPinnedEntry`, so it composes with whatever else is
78
+ * mid-flight: it only ever inserts one line.
79
+ */
80
+ export function insertQueueEntry(md, entry, priority) {
81
+ const lines = md.split('\n');
82
+ const headings = lines.flatMap((line, i) => {
83
+ const found = PRIORITY_HEADING.exec(line);
84
+ return found ? [{ index: i, priority: Number(found[1]) }] : [];
85
+ });
86
+ const line = `- ${entry}`;
87
+ if (!headings.length) {
88
+ const body = md.endsWith('\n') || md === '' ? md : `${md}\n`;
89
+ return `${body}${line}\n`;
90
+ }
91
+ const own = headings.find(h => h.priority === priority);
92
+ if (own) {
93
+ // The end of the section: the line before the next heading, with trailing blanks left where
94
+ // they are so the file's spacing survives.
95
+ const next = headings.find(h => h.index > own.index);
96
+ let end = next ? next.index : lines.length;
97
+ while (end > own.index + 1 && lines[end - 1].trim() === '')
98
+ end--;
99
+ return [...lines.slice(0, end), line, ...lines.slice(end)].join('\n');
100
+ }
101
+ // No section for this priority yet. Sections run high to low, so the new one goes before the
102
+ // first section that is less urgent, or after the last one when it is the least urgent of all.
103
+ const before = headings.find(h => h.priority < priority);
104
+ const at = before ? before.index : lines.length;
105
+ const section = [`## Priority ${priority}`, '', line, ''];
106
+ if (!before) {
107
+ while (lines.length && lines[lines.length - 1].trim() === '')
108
+ lines.pop();
109
+ return [...lines, '', ...section].join('\n');
110
+ }
111
+ return [...lines.slice(0, at), ...section, ...lines.slice(at)].join('\n');
112
+ }
113
+ /** The commit message a promotion writes, naming the count so the history reads at a glance. */
114
+ export function plannedQueueMessage(count) {
115
+ return `[The Framework] queue ${count} planned quick-win${count === 1 ? '' : 's'}`;
116
+ }
117
+ /**
118
+ * Queue every ticket whose plan declares itself a consensual quick-win and that is not on the
119
+ * queue already (#1334).
120
+ *
121
+ * Skips wholesale on a dirty queue file, for the same reason `promoteQueue` does: a human editing
122
+ * the queue by hand outranks an unattended tidy-up, and the next tick will try again.
123
+ */
124
+ export async function promotePlannedQuickWins(projectCwd, deps = {}) {
125
+ const list = deps.list ?? (dir => readdir(dir));
126
+ const read = deps.read ?? (path => readFile(path, 'utf8'));
127
+ const write = deps.write ?? ((path, content) => writeFile(path, content, 'utf8'));
128
+ const git = deps.git ?? nodeGitRunner();
129
+ try {
130
+ const files = await list(join(projectCwd, TICKETS_DIR)).catch(() => []);
131
+ const plans = files.filter(file => file.endsWith('.plan.md')).sort();
132
+ if (!plans.length)
133
+ return { queued: [], reason: 'no plans yet' };
134
+ const queuePath = join(projectCwd, FLAT_TODO_FILE);
135
+ let queue = await read(queuePath).catch(() => '');
136
+ const dirty = (await git(['status', '--porcelain', '--', FLAT_TODO_FILE], projectCwd)).trim();
137
+ if (dirty)
138
+ return { queued: [], reason: 'the checkout has uncommitted queue changes', blocked: true };
139
+ const queued = [];
140
+ for (const plan of plans) {
141
+ const ticket = ticketForPlan(`${TICKETS_DIR}/${plan}`);
142
+ if (!ticket)
143
+ continue;
144
+ // Already on the queue, open or checked off: `queue.includes` on the link target is enough
145
+ // because the entry is written as a link to exactly this path.
146
+ if (queue.includes(`(${ticket})`))
147
+ continue;
148
+ const verdict = parsePlanVerdict(await read(join(projectCwd, TICKETS_DIR, plan)).catch(() => ''));
149
+ if (!isAutoImplementable(verdict))
150
+ continue;
151
+ const header = parseTicketHeader(await read(join(projectCwd, ticket)).catch(() => ''));
152
+ // A ticket whose file is gone or whose title is empty has nothing a queue line could say,
153
+ // and a closed one is not work.
154
+ if (!header.title || !header.open)
155
+ continue;
156
+ const entry = queueEntryFor(ticket, header.title);
157
+ queue = insertQueueEntry(queue, entry, header.priority);
158
+ queued.push(entry);
159
+ }
160
+ if (!queued.length)
161
+ return { queued: [], reason: 'no plan called its ticket a consensual quick-win' };
162
+ await write(queuePath, queue);
163
+ await git(['add', '--', FLAT_TODO_FILE], projectCwd);
164
+ await git(['commit', '-m', plannedQueueMessage(queued.length), '--', FLAT_TODO_FILE], projectCwd);
165
+ return { queued };
166
+ }
167
+ catch (err) {
168
+ return { queued: [], reason: errorMessage(err), blocked: true };
169
+ }
170
+ }
171
+ //# sourceMappingURL=planned-quick-wins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planned-quick-wins.js","sourceRoot":"","sources":["../src/planned-quick-wins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { Preferences } from './registry.js';
2
+ /**
3
+ * What an unset preference means, and the bounds the controls that write them share.
4
+ *
5
+ * A leaf module (no `node:*`) so `client.ts` can export it and the dashboard reads the same values
6
+ * the daemon acts on.
7
+ *
8
+ * No cycle: `registry.ts` re-exports the bounds from here, and the `Preferences` import going the
9
+ * other way is type-only, so it erases.
10
+ */
11
+ /**
12
+ * Notifications have two axes (B5): `notifyBrowser` says whether they reach you in the browser at
13
+ * all, and `notifyHumanIntervention` / `notifyNewActivity` say *what* they are about. A category
14
+ * delivers only while the browser switch is on too.
15
+ */
16
+ /** What a notification is about. */
17
+ export type NotifyCategory = 'humanIntervention' | 'newActivity';
18
+ /**
19
+ * What each switch means when nobody has said.
20
+ *
21
+ * The polarities are not uniform, and that is the point of writing them down once: browser
22
+ * delivery and the "needs you" category fire unless you turn them off, while plain activity is
23
+ * opt-in.
24
+ */
25
+ export declare const NOTIFICATION_DEFAULTS: {
26
+ readonly browser: true;
27
+ readonly categories: {
28
+ readonly humanIntervention: true;
29
+ readonly newActivity: false;
30
+ };
31
+ };
32
+ /** Whether browser delivery is switched on, with its default applied. */
33
+ export declare function browserNotifyEnabled(preferences: Preferences): boolean;
34
+ /** Whether a category is switched on, with its default applied. */
35
+ export declare function notifyCategoryEnabled(preferences: Preferences, category: NotifyCategory): boolean;
36
+ /** Whether a category delivers: both browser delivery and the category have to be on. */
37
+ export declare function notifies(preferences: Preferences, category: NotifyCategory): boolean;
38
+ /**
39
+ * How far either side of the quota boundary the usage bar's handle reaches, in percentage points
40
+ * (#960): the bound of the stop line a module puts on the bar, which the bar clamps a drag to.
41
+ */
42
+ export declare const MAX_SPEND_OFFSET = 50;
43
+ //# sourceMappingURL=preference-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-defaults.d.ts","sourceRoot":"","sources":["../src/preference-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,aAAa,CAAA;AAQhE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;iBAElB,iBAAiB;iBAAQ,WAAW;;CACkC,CAAA;AAEtF,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAEjG;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAEpF;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAA"}
@@ -0,0 +1,34 @@
1
+ /** The preference key each category is stored under. */
2
+ const CATEGORY_KEYS = {
3
+ humanIntervention: 'notifyHumanIntervention',
4
+ newActivity: 'notifyNewActivity',
5
+ };
6
+ /**
7
+ * What each switch means when nobody has said.
8
+ *
9
+ * The polarities are not uniform, and that is the point of writing them down once: browser
10
+ * delivery and the "needs you" category fire unless you turn them off, while plain activity is
11
+ * opt-in.
12
+ */
13
+ export const NOTIFICATION_DEFAULTS = {
14
+ browser: true,
15
+ categories: { humanIntervention: true, newActivity: false },
16
+ };
17
+ /** Whether browser delivery is switched on, with its default applied. */
18
+ export function browserNotifyEnabled(preferences) {
19
+ return preferences.notifyBrowser ?? NOTIFICATION_DEFAULTS.browser;
20
+ }
21
+ /** Whether a category is switched on, with its default applied. */
22
+ export function notifyCategoryEnabled(preferences, category) {
23
+ return preferences[CATEGORY_KEYS[category]] ?? NOTIFICATION_DEFAULTS.categories[category];
24
+ }
25
+ /** Whether a category delivers: both browser delivery and the category have to be on. */
26
+ export function notifies(preferences, category) {
27
+ return browserNotifyEnabled(preferences) && notifyCategoryEnabled(preferences, category);
28
+ }
29
+ /**
30
+ * How far either side of the quota boundary the usage bar's handle reaches, in percentage points
31
+ * (#960): the bound of the stop line a module puts on the bar, which the bar clamps a drag to.
32
+ */
33
+ export const MAX_SPEND_OFFSET = 50;
34
+ //# sourceMappingURL=preference-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-defaults.js","sourceRoot":"","sources":["../src/preference-defaults.ts"],"names":[],"mappings":"AAqBA,wDAAwD;AACxD,MAAM,aAAa,GAAG;IACpB,iBAAiB,EAAE,yBAAyB;IAC5C,WAAW,EAAE,mBAAmB;CAC4B,CAAA;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;CACyB,CAAA;AAEtF,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,OAAO,WAAW,CAAC,aAAa,IAAI,qBAAqB,CAAC,OAAO,CAAA;AACnE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CAAC,WAAwB,EAAE,QAAwB;IACtF,OAAO,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAC3F,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAC,WAAwB,EAAE,QAAwB;IACzE,OAAO,oBAAoB,CAAC,WAAW,CAAC,IAAI,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAC1F,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { type DriverName } from './driver-cli.js';
2
+ /**
3
+ * Preflight checks for a live agent. A turnkey tool should fail *early and
4
+ * clearly* when a prerequisite is missing, not spawn a broken process mid-run.
5
+ * The main one: is the wrapped driver's CLI actually installed and runnable?
6
+ * A fake session needs none of this, so preflight only gates live agents.
7
+ *
8
+ * It probes the driver the session actually picked (#542), so a `codex` session is
9
+ * checked against `codex` and fails on `codex` being missing, not `claude`.
10
+ *
11
+ * Installed is not the same as usable (#1326). Our first external-user report (#1323) was a
12
+ * CLI that resolved fine and was logged out, under a daemon started with `sudo`: every session
13
+ * died before writing its agent.json, on both agents, across six projects, while the daemon went
14
+ * on spending a branch and a worktree per attempt. So preflight also asks the CLI whether it is
15
+ * authenticated, and says so when the daemon runs as root.
16
+ */
17
+ /** One preflight check's outcome. */
18
+ export interface PreflightCheck {
19
+ name: string;
20
+ ok: boolean;
21
+ /** Human-readable detail: the version when ok, or how to fix it when not. */
22
+ detail: string;
23
+ /**
24
+ * A problem worth saying out loud that must not block the agent. Root is the case: a container
25
+ * legitimately runs everything as root, so refusing to start there would break more than it
26
+ * explains.
27
+ */
28
+ warn?: boolean;
29
+ }
30
+ /** The result of running all preflight checks. */
31
+ export interface PreflightResult {
32
+ ok: boolean;
33
+ checks: PreflightCheck[];
34
+ }
35
+ /**
36
+ * Run `<bin> <args>` and report whether it succeeded and everything it said. Injectable so
37
+ * tests need no real CLI.
38
+ *
39
+ * `output` merges stdout and stderr on purpose: the two CLIs disagree about where a status line
40
+ * belongs, and a check reading only stdout would call a CLI that answered on stderr "could not
41
+ * say".
42
+ */
43
+ export type CliProbe = (bin: string, args: readonly string[]) => Promise<{
44
+ ok: boolean;
45
+ output: string;
46
+ }>;
47
+ /** Options for {@link preflight}. */
48
+ export interface PreflightOptions {
49
+ /** The agent to check for. Default `"claude"`. */
50
+ driver?: DriverName;
51
+ /** The CLI binary to probe. Default the agent's own. */
52
+ bin?: string;
53
+ /** CLI probe override (tests). Default runs the real binary. */
54
+ probe?: CliProbe;
55
+ /** Root check override (tests). Default reads this process's uid. */
56
+ isRoot?: () => boolean;
57
+ /** The invoking user `sudo` recorded, named in the root warning. Default read from the environment. */
58
+ sudoUser?: string | undefined;
59
+ /**
60
+ * Also check `gh` (#1419): the agent's PR/merge rung is armed, and the handoff opens and merges
61
+ * PRs through the GitHub CLI. Missing or logged-out `gh` warns without blocking — the agent
62
+ * itself starts fine and the push rung is plain git; only the PR onward would silently degrade.
63
+ */
64
+ publish?: boolean;
65
+ }
66
+ /**
67
+ * Run the preflight checks: Node is implicit (we are running), the picked driver's CLI must be
68
+ * installed, and it must be logged in. Returns every check plus an overall `ok`, which counts
69
+ * failures only, so a warning travels without blocking anything.
70
+ *
71
+ * The auth probe is skipped when the CLI is missing: a binary that does not resolve cannot
72
+ * answer a second question, and one "not found" beats two lines saying the same thing.
73
+ */
74
+ export declare function preflight(opts?: PreflightOptions): Promise<PreflightResult>;
75
+ /** The failing checks, one line each, the way a user is told what to fix. */
76
+ export declare function preflightProblems(result: PreflightResult): string[];
77
+ //# sourceMappingURL=preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE/D;;;;;;;;;;;;;;GAcG;AAEH,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,OAAO,CAAA;IACX,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,cAAc,EAAE,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAezG,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gEAAgE;IAChE,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,OAAO,CAAA;IACtB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuErF;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAEnE"}