@openagt/dashboard 0.8.0 → 0.9.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 (940) hide show
  1. package/README.md +6 -6
  2. package/dist/agent-view.d.ts +3 -3
  3. package/dist/bridge-browser.d.ts +4 -4
  4. package/dist/bridge-browser.d.ts.map +1 -1
  5. package/dist/bridge-browser.js +8 -8
  6. package/dist/bridge-browser.js.map +1 -1
  7. package/dist/built-in.d.ts +13 -4
  8. package/dist/built-in.d.ts.map +1 -1
  9. package/dist/built-in.js +45 -4
  10. package/dist/built-in.js.map +1 -1
  11. package/dist/chrome-extension/background.js +11 -11
  12. package/dist/chrome-extension/content.js +37 -37
  13. package/dist/chrome-extension/driver-plan.js +1 -1
  14. package/dist/chrome-extension/fingerprint.js +1 -1
  15. package/dist/chrome-extension/manifest.json +3 -3
  16. package/dist/chrome-extension/options.html +4 -4
  17. package/dist/chrome-extension/options.js +4 -4
  18. package/dist/cli.d.ts +1 -1
  19. package/dist/cli.js +7 -7
  20. package/dist/cli.js.map +1 -1
  21. package/dist/client.d.ts +1 -1
  22. package/dist/client.js +2 -2
  23. package/dist/cloud-run-state.d.ts +1 -1
  24. package/dist/cloud-scratch-refs.js +7 -7
  25. package/dist/cloud-scratch-refs.js.map +1 -1
  26. package/dist/cloud-work.js +2 -2
  27. package/dist/daemon-runtime.d.ts +5 -4
  28. package/dist/daemon-runtime.d.ts.map +1 -1
  29. package/dist/daemon-runtime.js +59 -9
  30. package/dist/daemon-runtime.js.map +1 -1
  31. package/dist/daemon-services.d.ts +4 -3
  32. package/dist/daemon-services.d.ts.map +1 -1
  33. package/dist/daemon-services.js +14 -8
  34. package/dist/daemon-services.js.map +1 -1
  35. package/dist/daemon-tick.js +1 -1
  36. package/dist/daemon.d.ts +1 -12
  37. package/dist/daemon.d.ts.map +1 -1
  38. package/dist/daemon.js +9 -32
  39. package/dist/daemon.js.map +1 -1
  40. package/dist/dashboard/agent-handoff.d.ts +4 -4
  41. package/dist/dashboard/agent-handoff.js +7 -7
  42. package/dist/dashboard/agent-handoff.js.map +1 -1
  43. package/dist/dashboard/bridge-endpoints.d.ts +3 -3
  44. package/dist/dashboard/bridge-endpoints.js +3 -3
  45. package/dist/dashboard/content-type.js +1 -1
  46. package/dist/dashboard/docs.d.ts +1 -1
  47. package/dist/dashboard/docs.js +1 -1
  48. package/dist/dashboard/git-status.d.ts +1 -1
  49. package/dist/dashboard/index.d.ts +1 -1
  50. package/dist/dashboard/index.d.ts.map +1 -1
  51. package/dist/dashboard/interventions.d.ts +2 -2
  52. package/dist/dashboard/open-in-app.d.ts +3 -3
  53. package/dist/dashboard/open-in-app.js +4 -4
  54. package/dist/dashboard/open-questions.d.ts +2 -2
  55. package/dist/dashboard/projects.d.ts +6 -5
  56. package/dist/dashboard/projects.d.ts.map +1 -1
  57. package/dist/dashboard/projects.js.map +1 -1
  58. package/dist/dashboard/pull-requests.d.ts +5 -5
  59. package/dist/dashboard/pull-requests.d.ts.map +1 -1
  60. package/dist/dashboard/pull-requests.js +2 -2
  61. package/dist/dashboard/pull-requests.js.map +1 -1
  62. package/dist/dashboard/relay-endpoints.d.ts +3 -3
  63. package/dist/dashboard/relay-endpoints.js +1 -1
  64. package/dist/dashboard/remote-run.d.ts +5 -5
  65. package/dist/dashboard/remote-run.js +3 -3
  66. package/dist/dashboard/rpc-serve.d.ts +7 -4
  67. package/dist/dashboard/rpc-serve.d.ts.map +1 -1
  68. package/dist/dashboard/rpc-serve.js.map +1 -1
  69. package/dist/dashboard/run-inbox.d.ts +2 -2
  70. package/dist/dashboard/run-inbox.js +4 -4
  71. package/dist/dashboard/run-inbox.js.map +1 -1
  72. package/dist/dashboard/server.d.ts +6 -4
  73. package/dist/dashboard/server.d.ts.map +1 -1
  74. package/dist/dashboard/server.js +3 -2
  75. package/dist/dashboard/server.js.map +1 -1
  76. package/dist/dashboard/static.js +1 -1
  77. package/dist/dashboard/types.d.ts +29 -3
  78. package/dist/dashboard/types.d.ts.map +1 -1
  79. package/dist/dashboard/web-start-endpoints.d.ts +1 -1
  80. package/dist/dashboard/web-start-endpoints.d.ts.map +1 -1
  81. package/dist/dashboard/web-start-endpoints.js +1 -1
  82. package/dist/dashboard/web-start-endpoints.js.map +1 -1
  83. package/dist/dashboard-bundle/assets/{main-om0WOAku.js → main-B98UOA3_.js} +48 -48
  84. package/dist/dashboard-bundle/assets/main-ByRjbCiA.css +2 -0
  85. package/dist/dashboard-bundle/assets/{module-jASZmfSB.js → module-v213KWfH.js} +4 -4
  86. package/dist/dashboard-bundle/host/module.js +1 -1
  87. package/dist/dashboard-bundle/index.html +6 -6
  88. package/dist/dashboard-rpc/context.d.ts +2 -0
  89. package/dist/dashboard-rpc/context.d.ts.map +1 -1
  90. package/dist/dashboard-rpc/context.js +4 -0
  91. package/dist/dashboard-rpc/context.js.map +1 -1
  92. package/dist/dashboard-rpc/control.d.ts +1 -1
  93. package/dist/dashboard-rpc/control.js +3 -3
  94. package/dist/dashboard-rpc/control.js.map +1 -1
  95. package/dist/dashboard-rpc/events.d.ts +3 -3
  96. package/dist/dashboard-rpc/index.d.ts +1 -1
  97. package/dist/dashboard-rpc/index.d.ts.map +1 -1
  98. package/dist/dashboard-rpc/index.js +1 -1
  99. package/dist/dashboard-rpc/index.js.map +1 -1
  100. package/dist/dashboard-rpc/modules.d.ts +8 -6
  101. package/dist/dashboard-rpc/modules.d.ts.map +1 -1
  102. package/dist/dashboard-rpc/modules.js +8 -6
  103. package/dist/dashboard-rpc/modules.js.map +1 -1
  104. package/dist/dashboard-rpc/preferences.d.ts +2 -2
  105. package/dist/dashboard-rpc/preferences.d.ts.map +1 -1
  106. package/dist/dashboard-rpc/preferences.js +2 -2
  107. package/dist/dashboard-rpc/preferences.js.map +1 -1
  108. package/dist/dashboard-rpc/projects.d.ts +29 -3
  109. package/dist/dashboard-rpc/projects.d.ts.map +1 -1
  110. package/dist/dashboard-rpc/projects.js +49 -7
  111. package/dist/dashboard-rpc/projects.js.map +1 -1
  112. package/dist/dashboard-rpc/reads.d.ts +3 -3
  113. package/dist/dashboard-rpc/reads.js +1 -1
  114. package/dist/dashboard-rpc/test-context.d.ts.map +1 -1
  115. package/dist/dashboard-rpc/test-context.js +4 -3
  116. package/dist/dashboard-rpc/test-context.js.map +1 -1
  117. package/dist/event-stream.d.ts +1 -1
  118. package/dist/event-stream.js +1 -1
  119. package/dist/events.d.ts +8 -8
  120. package/dist/events.d.ts.map +1 -1
  121. package/dist/index.d.ts +3 -2
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/install.d.ts +9 -7
  124. package/dist/install.d.ts.map +1 -1
  125. package/dist/install.js +28 -14
  126. package/dist/install.js.map +1 -1
  127. package/dist/module-server.d.ts +1 -1
  128. package/dist/module-types/dashboard/lib/route.d.ts +2 -1
  129. package/dist/module-types/dashboard/lib/use-modules.d.ts +4 -3
  130. package/dist/module-types/dashboard/module/index.d.ts +5 -5
  131. package/dist/module-types/src/agent-view.d.ts +3 -3
  132. package/dist/module-types/src/bridge-browser.d.ts +4 -4
  133. package/dist/module-types/src/built-in.d.ts +13 -4
  134. package/dist/module-types/src/client.d.ts +1 -1
  135. package/dist/module-types/src/cloud-run-state.d.ts +1 -1
  136. package/dist/module-types/src/dashboard/agent-handoff.d.ts +4 -4
  137. package/dist/module-types/src/dashboard/bridge-endpoints.d.ts +3 -3
  138. package/dist/module-types/src/dashboard/docs.d.ts +1 -1
  139. package/dist/module-types/src/dashboard/git-status.d.ts +1 -1
  140. package/dist/module-types/src/dashboard/interventions.d.ts +2 -2
  141. package/dist/module-types/src/dashboard/open-in-app.d.ts +3 -3
  142. package/dist/module-types/src/dashboard/open-questions.d.ts +2 -2
  143. package/dist/module-types/src/dashboard/projects.d.ts +6 -5
  144. package/dist/module-types/src/dashboard/pull-requests.d.ts +5 -5
  145. package/dist/module-types/src/dashboard/remote-run.d.ts +5 -5
  146. package/dist/module-types/src/dashboard/rpc-serve.d.ts +7 -4
  147. package/dist/module-types/src/dashboard/run-inbox.d.ts +2 -2
  148. package/dist/module-types/src/dashboard/types.d.ts +29 -3
  149. package/dist/module-types/src/dashboard-rpc/context.d.ts +2 -0
  150. package/dist/module-types/src/dashboard-rpc/control.d.ts +1 -1
  151. package/dist/module-types/src/dashboard-rpc/events.d.ts +3 -3
  152. package/dist/module-types/src/dashboard-rpc/index.d.ts +1 -1
  153. package/dist/module-types/src/dashboard-rpc/modules.d.ts +8 -6
  154. package/dist/module-types/src/dashboard-rpc/preferences.d.ts +2 -2
  155. package/dist/module-types/src/dashboard-rpc/projects.d.ts +29 -3
  156. package/dist/module-types/src/dashboard-rpc/reads.d.ts +3 -3
  157. package/dist/module-types/src/event-stream.d.ts +1 -1
  158. package/dist/module-types/src/events.d.ts +8 -8
  159. package/dist/module-types/src/index.d.ts +3 -2
  160. package/dist/module-types/src/open-choices.d.ts +2 -2
  161. package/dist/module-types/src/{framework-dir.d.ts → openagent-dir.d.ts} +2 -2
  162. package/dist/module-types/src/openagent-gitignore.d.ts +11 -0
  163. package/dist/module-types/src/project-commands.d.ts +1 -1
  164. package/dist/module-types/src/project-errors.d.ts +11 -7
  165. package/dist/module-types/src/project-hooks.d.ts +4 -4
  166. package/dist/module-types/src/project-modules.d.ts +5 -5
  167. package/dist/module-types/src/project-presets.d.ts +4 -4
  168. package/dist/module-types/src/project.d.ts +6 -6
  169. package/dist/module-types/src/publish-levels.d.ts +4 -4
  170. package/dist/module-types/src/quota-boundary.d.ts +2 -2
  171. package/dist/module-types/src/registry.d.ts +13 -7
  172. package/dist/module-types/src/store/agent-checkout.d.ts +1 -1
  173. package/dist/module-types/src/store/agent-store.d.ts +6 -6
  174. package/dist/module-types/src/store/branches.d.ts +7 -7
  175. package/dist/module-types/src/store/git-host.d.ts +7 -7
  176. package/dist/module-types/src/store/provided.d.ts +3 -3
  177. package/dist/module-types/src/store/queue.d.ts +8 -8
  178. package/dist/module-types/src/store/repository.d.ts +2 -2
  179. package/dist/module-types/src/store/run-record.d.ts +10 -10
  180. package/dist/module-types/src/store/runs.d.ts +6 -6
  181. package/dist/module-types/src/store/tickets.d.ts +7 -7
  182. package/dist/module-types/src/terminal.d.ts +3 -3
  183. package/dist/open-choices.d.ts +2 -2
  184. package/dist/{framework-dir.js → openagent-dir.d.ts} +3 -3
  185. package/dist/openagent-dir.d.ts.map +1 -0
  186. package/dist/{framework-dir.d.ts → openagent-dir.js} +3 -3
  187. package/dist/openagent-dir.js.map +1 -0
  188. package/dist/openagent-gitignore.d.ts +12 -0
  189. package/dist/openagent-gitignore.d.ts.map +1 -0
  190. package/dist/openagent-gitignore.js +19 -0
  191. package/dist/openagent-gitignore.js.map +1 -0
  192. package/dist/pick-directory.js +2 -2
  193. package/dist/pick-directory.js.map +1 -1
  194. package/dist/project-commands.d.ts +1 -1
  195. package/dist/project-commands.js +1 -1
  196. package/dist/project-errors.d.ts +11 -7
  197. package/dist/project-errors.d.ts.map +1 -1
  198. package/dist/project-errors.js +10 -8
  199. package/dist/project-errors.js.map +1 -1
  200. package/dist/project-hooks.d.ts +4 -4
  201. package/dist/project-hooks.d.ts.map +1 -1
  202. package/dist/project-hooks.js +8 -8
  203. package/dist/project-hooks.js.map +1 -1
  204. package/dist/project-modules.d.ts +5 -5
  205. package/dist/project-modules.js +2 -2
  206. package/dist/project-presets.d.ts +4 -4
  207. package/dist/project-presets.d.ts.map +1 -1
  208. package/dist/project-presets.js +9 -9
  209. package/dist/project-presets.js.map +1 -1
  210. package/dist/project.d.ts +6 -6
  211. package/dist/project.js +6 -6
  212. package/dist/publish-levels.d.ts +4 -4
  213. package/dist/publish-levels.d.ts.map +1 -1
  214. package/dist/publish-levels.js +7 -5
  215. package/dist/publish-levels.js.map +1 -1
  216. package/dist/quota-boundary.d.ts +2 -2
  217. package/dist/quota-boundary.js +2 -2
  218. package/dist/registry.d.ts +13 -7
  219. package/dist/registry.d.ts.map +1 -1
  220. package/dist/registry.js +19 -3
  221. package/dist/registry.js.map +1 -1
  222. package/dist/remove-files.d.ts +24 -0
  223. package/dist/remove-files.d.ts.map +1 -0
  224. package/dist/remove-files.js +98 -0
  225. package/dist/remove-files.js.map +1 -0
  226. package/dist/store/agent-checkout.d.ts +1 -1
  227. package/dist/store/agent-checkout.js +3 -3
  228. package/dist/store/agent-checkout.js.map +1 -1
  229. package/dist/store/agent-store.d.ts +6 -6
  230. package/dist/store/agent-store.js +8 -8
  231. package/dist/store/agent-store.js.map +1 -1
  232. package/dist/store/branches.d.ts +7 -7
  233. package/dist/store/branches.d.ts.map +1 -1
  234. package/dist/store/branches.js +1 -1
  235. package/dist/store/branches.js.map +1 -1
  236. package/dist/store/git-host.d.ts +7 -7
  237. package/dist/store/git-host.d.ts.map +1 -1
  238. package/dist/store/git-host.js +1 -1
  239. package/dist/store/git-host.js.map +1 -1
  240. package/dist/store/provided.d.ts +3 -3
  241. package/dist/store/provided.d.ts.map +1 -1
  242. package/dist/store/provided.js +3 -3
  243. package/dist/store/provided.js.map +1 -1
  244. package/dist/store/queue.d.ts +8 -8
  245. package/dist/store/queue.d.ts.map +1 -1
  246. package/dist/store/queue.js +1 -1
  247. package/dist/store/queue.js.map +1 -1
  248. package/dist/store/repository.d.ts +2 -2
  249. package/dist/store/run-record.d.ts +10 -10
  250. package/dist/store/run-record.d.ts.map +1 -1
  251. package/dist/store/run-record.js +7 -7
  252. package/dist/store/run-record.js.map +1 -1
  253. package/dist/store/runs.d.ts +6 -6
  254. package/dist/store/runs.d.ts.map +1 -1
  255. package/dist/store/runs.js +2 -2
  256. package/dist/store/runs.js.map +1 -1
  257. package/dist/store/tickets.d.ts +7 -7
  258. package/dist/store/tickets.d.ts.map +1 -1
  259. package/dist/store/tickets.js +1 -1
  260. package/dist/store/tickets.js.map +1 -1
  261. package/dist/terminal.d.ts +3 -3
  262. package/dist/terminal.js +3 -3
  263. package/package.json +19 -19
  264. package/dist/agent-archive.d.ts +0 -35
  265. package/dist/agent-archive.d.ts.map +0 -1
  266. package/dist/agent-archive.js +0 -67
  267. package/dist/agent-archive.js.map +0 -1
  268. package/dist/agent-commit.d.ts +0 -140
  269. package/dist/agent-commit.d.ts.map +0 -1
  270. package/dist/agent-commit.js +0 -254
  271. package/dist/agent-commit.js.map +0 -1
  272. package/dist/agent-driver.d.ts +0 -28
  273. package/dist/agent-driver.d.ts.map +0 -1
  274. package/dist/agent-driver.js +0 -18
  275. package/dist/agent-driver.js.map +0 -1
  276. package/dist/agent-location.d.ts +0 -11
  277. package/dist/agent-location.d.ts.map +0 -1
  278. package/dist/agent-location.js +0 -10
  279. package/dist/agent-location.js.map +0 -1
  280. package/dist/agent-messages.d.ts +0 -55
  281. package/dist/agent-messages.d.ts.map +0 -1
  282. package/dist/agent-messages.js +0 -73
  283. package/dist/agent-messages.js.map +0 -1
  284. package/dist/agent-names.d.ts +0 -24
  285. package/dist/agent-names.d.ts.map +0 -1
  286. package/dist/agent-names.js +0 -33
  287. package/dist/agent-names.js.map +0 -1
  288. package/dist/agent-options.d.ts +0 -45
  289. package/dist/agent-options.d.ts.map +0 -1
  290. package/dist/agent-options.js +0 -83
  291. package/dist/agent-options.js.map +0 -1
  292. package/dist/agent-spec.d.ts +0 -56
  293. package/dist/agent-spec.d.ts.map +0 -1
  294. package/dist/agent-spec.js +0 -56
  295. package/dist/agent-spec.js.map +0 -1
  296. package/dist/agent-telemetry.d.ts +0 -88
  297. package/dist/agent-telemetry.d.ts.map +0 -1
  298. package/dist/agent-telemetry.js +0 -97
  299. package/dist/agent-telemetry.js.map +0 -1
  300. package/dist/agent.d.ts +0 -113
  301. package/dist/agent.d.ts.map +0 -1
  302. package/dist/agent.js +0 -168
  303. package/dist/agent.js.map +0 -1
  304. package/dist/archived-agent-patch.d.ts +0 -14
  305. package/dist/archived-agent-patch.d.ts.map +0 -1
  306. package/dist/archived-agent-patch.js +0 -22
  307. package/dist/archived-agent-patch.js.map +0 -1
  308. package/dist/auto-pm.d.ts +0 -538
  309. package/dist/auto-pm.d.ts.map +0 -1
  310. package/dist/auto-pm.js +0 -707
  311. package/dist/auto-pm.js.map +0 -1
  312. package/dist/await-gate.d.ts +0 -184
  313. package/dist/await-gate.d.ts.map +0 -1
  314. package/dist/await-gate.js +0 -252
  315. package/dist/await-gate.js.map +0 -1
  316. package/dist/branch-links-pass.d.ts +0 -15
  317. package/dist/branch-links-pass.d.ts.map +0 -1
  318. package/dist/branch-links-pass.js +0 -13
  319. package/dist/branch-links-pass.js.map +0 -1
  320. package/dist/branch-links.d.ts +0 -53
  321. package/dist/branch-links.d.ts.map +0 -1
  322. package/dist/branch-links.js +0 -94
  323. package/dist/branch-links.js.map +0 -1
  324. package/dist/branch-names.d.ts +0 -57
  325. package/dist/branch-names.d.ts.map +0 -1
  326. package/dist/branch-names.js +0 -72
  327. package/dist/branch-names.js.map +0 -1
  328. package/dist/ci-watch.d.ts +0 -123
  329. package/dist/ci-watch.d.ts.map +0 -1
  330. package/dist/ci-watch.js +0 -228
  331. package/dist/ci-watch.js.map +0 -1
  332. package/dist/claude-trust.d.ts +0 -16
  333. package/dist/claude-trust.d.ts.map +0 -1
  334. package/dist/claude-trust.js +0 -72
  335. package/dist/claude-trust.js.map +0 -1
  336. package/dist/cli-exec.d.ts +0 -36
  337. package/dist/cli-exec.d.ts.map +0 -1
  338. package/dist/cli-exec.js +0 -44
  339. package/dist/cli-exec.js.map +0 -1
  340. package/dist/closing-keywords.d.ts +0 -28
  341. package/dist/closing-keywords.d.ts.map +0 -1
  342. package/dist/closing-keywords.js +0 -49
  343. package/dist/closing-keywords.js.map +0 -1
  344. package/dist/config-layers.d.ts +0 -62
  345. package/dist/config-layers.d.ts.map +0 -1
  346. package/dist/config-layers.js +0 -70
  347. package/dist/config-layers.js.map +0 -1
  348. package/dist/config.d.ts +0 -54
  349. package/dist/config.d.ts.map +0 -1
  350. package/dist/config.js +0 -78
  351. package/dist/config.js.map +0 -1
  352. package/dist/consumption-guard.d.ts +0 -53
  353. package/dist/consumption-guard.d.ts.map +0 -1
  354. package/dist/consumption-guard.js +0 -69
  355. package/dist/consumption-guard.js.map +0 -1
  356. package/dist/control.d.ts +0 -75
  357. package/dist/control.d.ts.map +0 -1
  358. package/dist/control.js +0 -68
  359. package/dist/control.js.map +0 -1
  360. package/dist/conversation-commit.d.ts +0 -166
  361. package/dist/conversation-commit.d.ts.map +0 -1
  362. package/dist/conversation-commit.js +0 -309
  363. package/dist/conversation-commit.js.map +0 -1
  364. package/dist/conversations.d.ts +0 -93
  365. package/dist/conversations.d.ts.map +0 -1
  366. package/dist/conversations.js +0 -176
  367. package/dist/conversations.js.map +0 -1
  368. package/dist/daemon-writes.d.ts +0 -33
  369. package/dist/daemon-writes.d.ts.map +0 -1
  370. package/dist/daemon-writes.js +0 -45
  371. package/dist/daemon-writes.js.map +0 -1
  372. package/dist/dashboard/agent-tree.d.ts +0 -106
  373. package/dist/dashboard/agent-tree.d.ts.map +0 -1
  374. package/dist/dashboard/agent-tree.js +0 -180
  375. package/dist/dashboard/agent-tree.js.map +0 -1
  376. package/dist/dashboard/browser-proxy.d.ts +0 -41
  377. package/dist/dashboard/browser-proxy.d.ts.map +0 -1
  378. package/dist/dashboard/browser-proxy.js +0 -96
  379. package/dist/dashboard/browser-proxy.js.map +0 -1
  380. package/dist/dashboard/discord-webhook.d.ts +0 -17
  381. package/dist/dashboard/discord-webhook.d.ts.map +0 -1
  382. package/dist/dashboard/discord-webhook.js +0 -36
  383. package/dist/dashboard/discord-webhook.js.map +0 -1
  384. package/dist/dashboard/file-diff.d.ts +0 -67
  385. package/dist/dashboard/file-diff.d.ts.map +0 -1
  386. package/dist/dashboard/file-diff.js +0 -132
  387. package/dist/dashboard/file-diff.js.map +0 -1
  388. package/dist/dashboard/file-read.d.ts +0 -42
  389. package/dist/dashboard/file-read.d.ts.map +0 -1
  390. package/dist/dashboard/file-read.js +0 -69
  391. package/dist/dashboard/file-read.js.map +0 -1
  392. package/dist/dashboard/file-status.d.ts +0 -21
  393. package/dist/dashboard/file-status.d.ts.map +0 -1
  394. package/dist/dashboard/file-status.js +0 -37
  395. package/dist/dashboard/file-status.js.map +0 -1
  396. package/dist/dashboard/gh.d.ts +0 -131
  397. package/dist/dashboard/gh.d.ts.map +0 -1
  398. package/dist/dashboard/gh.js +0 -150
  399. package/dist/dashboard/gh.js.map +0 -1
  400. package/dist/dashboard/github.d.ts +0 -11
  401. package/dist/dashboard/github.d.ts.map +0 -1
  402. package/dist/dashboard/github.js +0 -33
  403. package/dist/dashboard/github.js.map +0 -1
  404. package/dist/dashboard/run-handoff.d.ts +0 -311
  405. package/dist/dashboard/run-handoff.d.ts.map +0 -1
  406. package/dist/dashboard/run-handoff.js +0 -485
  407. package/dist/dashboard/run-handoff.js.map +0 -1
  408. package/dist/dashboard/scheduler-state.d.ts +0 -73
  409. package/dist/dashboard/scheduler-state.d.ts.map +0 -1
  410. package/dist/dashboard/scheduler-state.js +0 -120
  411. package/dist/dashboard/scheduler-state.js.map +0 -1
  412. package/dist/dashboard/subagent-settings.d.ts +0 -26
  413. package/dist/dashboard/subagent-settings.d.ts.map +0 -1
  414. package/dist/dashboard/subagent-settings.js +0 -52
  415. package/dist/dashboard/subagent-settings.js.map +0 -1
  416. package/dist/dashboard/telefunc-serve.d.ts +0 -118
  417. package/dist/dashboard/telefunc-serve.d.ts.map +0 -1
  418. package/dist/dashboard/telefunc-serve.js +0 -108
  419. package/dist/dashboard/telefunc-serve.js.map +0 -1
  420. package/dist/dashboard/tickets.d.ts +0 -29
  421. package/dist/dashboard/tickets.d.ts.map +0 -1
  422. package/dist/dashboard/tickets.js +0 -38
  423. package/dist/dashboard/tickets.js.map +0 -1
  424. package/dist/dashboard/widget-serve.d.ts +0 -15
  425. package/dist/dashboard/widget-serve.d.ts.map +0 -1
  426. package/dist/dashboard/widget-serve.js +0 -45
  427. package/dist/dashboard/widget-serve.js.map +0 -1
  428. package/dist/dashboard-bundle/assets/main-B3HghPQy.css +0 -2
  429. package/dist/dashboard-client/assets/chunks/chunk-BF9pJudf.js +0 -4
  430. package/dist/dashboard-client/assets/entries/entry-client-routing.CT1e9F0o.js +0 -1
  431. package/dist/dashboard-client/assets/entries/pages_index.CkW5JQ8X.js +0 -428
  432. package/dist/dashboard-client/assets/static/layouts_tailwind-00e65532.8OjKGAbA.css +0 -2
  433. package/dist/dashboard-client/index.html +0 -27
  434. package/dist/dashboard-client/index.pageContext.json +0 -1
  435. package/dist/dashboard-client/logo-animated.svg +0 -34
  436. package/dist/dashboard-client/logo.svg +0 -16
  437. package/dist/dashboard-rpc/control.telefunc.d.ts +0 -176
  438. package/dist/dashboard-rpc/control.telefunc.d.ts.map +0 -1
  439. package/dist/dashboard-rpc/control.telefunc.js +0 -373
  440. package/dist/dashboard-rpc/control.telefunc.js.map +0 -1
  441. package/dist/dashboard-rpc/devices.telefunc.d.ts +0 -9
  442. package/dist/dashboard-rpc/devices.telefunc.d.ts.map +0 -1
  443. package/dist/dashboard-rpc/devices.telefunc.js +0 -12
  444. package/dist/dashboard-rpc/devices.telefunc.js.map +0 -1
  445. package/dist/dashboard-rpc/events.telefunc.d.ts +0 -36
  446. package/dist/dashboard-rpc/events.telefunc.d.ts.map +0 -1
  447. package/dist/dashboard-rpc/events.telefunc.js +0 -70
  448. package/dist/dashboard-rpc/events.telefunc.js.map +0 -1
  449. package/dist/dashboard-rpc/preferences.telefunc.d.ts +0 -97
  450. package/dist/dashboard-rpc/preferences.telefunc.d.ts.map +0 -1
  451. package/dist/dashboard-rpc/preferences.telefunc.js +0 -157
  452. package/dist/dashboard-rpc/preferences.telefunc.js.map +0 -1
  453. package/dist/dashboard-rpc/projects.telefunc.d.ts +0 -56
  454. package/dist/dashboard-rpc/projects.telefunc.d.ts.map +0 -1
  455. package/dist/dashboard-rpc/projects.telefunc.js +0 -96
  456. package/dist/dashboard-rpc/projects.telefunc.js.map +0 -1
  457. package/dist/dashboard-rpc/quota.telefunc.d.ts +0 -40
  458. package/dist/dashboard-rpc/quota.telefunc.d.ts.map +0 -1
  459. package/dist/dashboard-rpc/quota.telefunc.js +0 -84
  460. package/dist/dashboard-rpc/quota.telefunc.js.map +0 -1
  461. package/dist/dashboard-rpc/reads.telefunc.d.ts +0 -197
  462. package/dist/dashboard-rpc/reads.telefunc.d.ts.map +0 -1
  463. package/dist/dashboard-rpc/reads.telefunc.js +0 -403
  464. package/dist/dashboard-rpc/reads.telefunc.js.map +0 -1
  465. package/dist/dashboard-rpc/register.d.ts +0 -18
  466. package/dist/dashboard-rpc/register.d.ts.map +0 -1
  467. package/dist/dashboard-rpc/register.js +0 -66
  468. package/dist/dashboard-rpc/register.js.map +0 -1
  469. package/dist/dashboard-rpc/relay-run.d.ts +0 -9
  470. package/dist/dashboard-rpc/relay-run.d.ts.map +0 -1
  471. package/dist/dashboard-rpc/relay-run.js +0 -21
  472. package/dist/dashboard-rpc/relay-run.js.map +0 -1
  473. package/dist/dashboard-rpc/stream-channel.d.ts +0 -23
  474. package/dist/dashboard-rpc/stream-channel.d.ts.map +0 -1
  475. package/dist/dashboard-rpc/stream-channel.js +0 -52
  476. package/dist/dashboard-rpc/stream-channel.js.map +0 -1
  477. package/dist/dashboard-rpc/subagents.d.ts +0 -12
  478. package/dist/dashboard-rpc/subagents.d.ts.map +0 -1
  479. package/dist/dashboard-rpc/subagents.js +0 -13
  480. package/dist/dashboard-rpc/subagents.js.map +0 -1
  481. package/dist/dashboard-rpc/widgets.d.ts +0 -33
  482. package/dist/dashboard-rpc/widgets.d.ts.map +0 -1
  483. package/dist/dashboard-rpc/widgets.js +0 -54
  484. package/dist/dashboard-rpc/widgets.js.map +0 -1
  485. package/dist/data-branch.d.ts +0 -120
  486. package/dist/data-branch.d.ts.map +0 -1
  487. package/dist/data-branch.js +0 -319
  488. package/dist/data-branch.js.map +0 -1
  489. package/dist/discord/bot.d.ts +0 -61
  490. package/dist/discord/bot.d.ts.map +0 -1
  491. package/dist/discord/bot.js +0 -94
  492. package/dist/discord/bot.js.map +0 -1
  493. package/dist/discord/gateway.d.ts +0 -137
  494. package/dist/discord/gateway.d.ts.map +0 -1
  495. package/dist/discord/gateway.js +0 -315
  496. package/dist/discord/gateway.js.map +0 -1
  497. package/dist/discord/live-run.d.ts +0 -31
  498. package/dist/discord/live-run.d.ts.map +0 -1
  499. package/dist/discord/live-run.js +0 -57
  500. package/dist/discord/live-run.js.map +0 -1
  501. package/dist/discord/reply-mirror.d.ts +0 -83
  502. package/dist/discord/reply-mirror.d.ts.map +0 -1
  503. package/dist/discord/reply-mirror.js +0 -84
  504. package/dist/discord/reply-mirror.js.map +0 -1
  505. package/dist/discord/rest.d.ts +0 -20
  506. package/dist/discord/rest.d.ts.map +0 -1
  507. package/dist/discord/rest.js +0 -41
  508. package/dist/discord/rest.js.map +0 -1
  509. package/dist/discord/routing.d.ts +0 -81
  510. package/dist/discord/routing.d.ts.map +0 -1
  511. package/dist/discord/routing.js +0 -91
  512. package/dist/discord/routing.js.map +0 -1
  513. package/dist/discord-credentials-store.d.ts +0 -14
  514. package/dist/discord-credentials-store.d.ts.map +0 -1
  515. package/dist/discord-credentials-store.js +0 -53
  516. package/dist/discord-credentials-store.js.map +0 -1
  517. package/dist/discord-credentials.d.ts +0 -80
  518. package/dist/discord-credentials.d.ts.map +0 -1
  519. package/dist/discord-credentials.js +0 -55
  520. package/dist/discord-credentials.js.map +0 -1
  521. package/dist/driver/actions-zip.d.ts +0 -2
  522. package/dist/driver/actions-zip.d.ts.map +0 -1
  523. package/dist/driver/actions-zip.js +0 -70
  524. package/dist/driver/actions-zip.js.map +0 -1
  525. package/dist/driver/actions.d.ts +0 -130
  526. package/dist/driver/actions.d.ts.map +0 -1
  527. package/dist/driver/actions.js +0 -261
  528. package/dist/driver/actions.js.map +0 -1
  529. package/dist/driver/agent-cli.d.ts +0 -57
  530. package/dist/driver/agent-cli.d.ts.map +0 -1
  531. package/dist/driver/agent-cli.js +0 -134
  532. package/dist/driver/agent-cli.js.map +0 -1
  533. package/dist/driver/child-registry.d.ts +0 -25
  534. package/dist/driver/child-registry.d.ts.map +0 -1
  535. package/dist/driver/child-registry.js +0 -53
  536. package/dist/driver/child-registry.js.map +0 -1
  537. package/dist/driver/claude-code-quota.d.ts +0 -40
  538. package/dist/driver/claude-code-quota.d.ts.map +0 -1
  539. package/dist/driver/claude-code-quota.js +0 -144
  540. package/dist/driver/claude-code-quota.js.map +0 -1
  541. package/dist/driver/claude-code.d.ts +0 -104
  542. package/dist/driver/claude-code.d.ts.map +0 -1
  543. package/dist/driver/claude-code.js +0 -314
  544. package/dist/driver/claude-code.js.map +0 -1
  545. package/dist/driver/cli-session.d.ts +0 -57
  546. package/dist/driver/cli-session.d.ts.map +0 -1
  547. package/dist/driver/cli-session.js +0 -134
  548. package/dist/driver/cli-session.js.map +0 -1
  549. package/dist/driver/cloud.d.ts +0 -109
  550. package/dist/driver/cloud.d.ts.map +0 -1
  551. package/dist/driver/cloud.js +0 -232
  552. package/dist/driver/cloud.js.map +0 -1
  553. package/dist/driver/codex.d.ts +0 -99
  554. package/dist/driver/codex.d.ts.map +0 -1
  555. package/dist/driver/codex.js +0 -190
  556. package/dist/driver/codex.js.map +0 -1
  557. package/dist/driver/fake.d.ts +0 -54
  558. package/dist/driver/fake.d.ts.map +0 -1
  559. package/dist/driver/fake.js +0 -73
  560. package/dist/driver/fake.js.map +0 -1
  561. package/dist/driver/index.d.ts +0 -10
  562. package/dist/driver/index.d.ts.map +0 -1
  563. package/dist/driver/index.js +0 -14
  564. package/dist/driver/index.js.map +0 -1
  565. package/dist/driver/session-support.d.ts +0 -14
  566. package/dist/driver/session-support.d.ts.map +0 -1
  567. package/dist/driver/session-support.js +0 -37
  568. package/dist/driver/session-support.js.map +0 -1
  569. package/dist/driver/types.d.ts +0 -310
  570. package/dist/driver/types.d.ts.map +0 -1
  571. package/dist/driver/types.js +0 -5
  572. package/dist/driver/types.js.map +0 -1
  573. package/dist/driver-cli.d.ts +0 -61
  574. package/dist/driver-cli.d.ts.map +0 -1
  575. package/dist/driver-cli.js +0 -66
  576. package/dist/driver-cli.js.map +0 -1
  577. package/dist/fake-script.d.ts +0 -15
  578. package/dist/fake-script.d.ts.map +0 -1
  579. package/dist/fake-script.js +0 -58
  580. package/dist/fake-script.js.map +0 -1
  581. package/dist/framework-dir.d.ts.map +0 -1
  582. package/dist/framework-dir.js.map +0 -1
  583. package/dist/framework-gitignore.d.ts +0 -12
  584. package/dist/framework-gitignore.d.ts.map +0 -1
  585. package/dist/framework-gitignore.js +0 -19
  586. package/dist/framework-gitignore.js.map +0 -1
  587. package/dist/gate-keepalive.d.ts +0 -47
  588. package/dist/gate-keepalive.d.ts.map +0 -1
  589. package/dist/gate-keepalive.js +0 -62
  590. package/dist/gate-keepalive.js.map +0 -1
  591. package/dist/git-exclude.d.ts +0 -11
  592. package/dist/git-exclude.d.ts.map +0 -1
  593. package/dist/git-exclude.js +0 -23
  594. package/dist/git-exclude.js.map +0 -1
  595. package/dist/handoff-level.d.ts +0 -56
  596. package/dist/handoff-level.d.ts.map +0 -1
  597. package/dist/handoff-level.js +0 -62
  598. package/dist/handoff-level.js.map +0 -1
  599. package/dist/host-exec.d.ts +0 -21
  600. package/dist/host-exec.d.ts.map +0 -1
  601. package/dist/host-exec.js +0 -30
  602. package/dist/host-exec.js.map +0 -1
  603. package/dist/layout.d.ts +0 -41
  604. package/dist/layout.d.ts.map +0 -1
  605. package/dist/layout.js +0 -69
  606. package/dist/layout.js.map +0 -1
  607. package/dist/logs.d.ts +0 -73
  608. package/dist/logs.d.ts.map +0 -1
  609. package/dist/logs.js +0 -218
  610. package/dist/logs.js.map +0 -1
  611. package/dist/maintenance.d.ts +0 -90
  612. package/dist/maintenance.d.ts.map +0 -1
  613. package/dist/maintenance.js +0 -141
  614. package/dist/maintenance.js.map +0 -1
  615. package/dist/merged-worktrees.d.ts +0 -74
  616. package/dist/merged-worktrees.d.ts.map +0 -1
  617. package/dist/merged-worktrees.js +0 -84
  618. package/dist/merged-worktrees.js.map +0 -1
  619. package/dist/module-types/src/dashboard/agent-tree.d.ts +0 -105
  620. package/dist/module-types/src/dashboard/file-diff.d.ts +0 -66
  621. package/dist/module-types/src/dashboard/file-read.d.ts +0 -41
  622. package/dist/module-types/src/dashboard/file-status.d.ts +0 -20
  623. package/dist/module-types/src/dashboard/scheduler-state.d.ts +0 -72
  624. package/dist/module-types/src/dashboard/subagent-settings.d.ts +0 -25
  625. package/dist/module-types/src/dashboard-rpc/subagents.d.ts +0 -11
  626. package/dist/module-types/src/framework-gitignore.d.ts +0 -11
  627. package/dist/module-types/src/subagent-settings.d.ts +0 -26
  628. package/dist/on-before-mergeable-prompt.d.ts +0 -32
  629. package/dist/on-before-mergeable-prompt.d.ts.map +0 -1
  630. package/dist/on-before-mergeable-prompt.js +0 -26
  631. package/dist/on-before-mergeable-prompt.js.map +0 -1
  632. package/dist/planned-quick-wins.d.ts +0 -102
  633. package/dist/planned-quick-wins.d.ts.map +0 -1
  634. package/dist/planned-quick-wins.js +0 -171
  635. package/dist/planned-quick-wins.js.map +0 -1
  636. package/dist/preflight.d.ts +0 -77
  637. package/dist/preflight.d.ts.map +0 -1
  638. package/dist/preflight.js +0 -91
  639. package/dist/preflight.js.map +0 -1
  640. package/dist/preset-catalog.d.ts +0 -98
  641. package/dist/preset-catalog.d.ts.map +0 -1
  642. package/dist/preset-catalog.js +0 -129
  643. package/dist/preset-catalog.js.map +0 -1
  644. package/dist/preset-prompt.d.ts +0 -81
  645. package/dist/preset-prompt.d.ts.map +0 -1
  646. package/dist/preset-prompt.js +0 -51
  647. package/dist/preset-prompt.js.map +0 -1
  648. package/dist/preset-registry.d.ts +0 -32
  649. package/dist/preset-registry.d.ts.map +0 -1
  650. package/dist/preset-registry.js +0 -35
  651. package/dist/preset-registry.js.map +0 -1
  652. package/dist/presets.d.ts +0 -20
  653. package/dist/presets.d.ts.map +0 -1
  654. package/dist/presets.js +0 -33
  655. package/dist/presets.js.map +0 -1
  656. package/dist/preview-runtime.d.ts +0 -33
  657. package/dist/preview-runtime.d.ts.map +0 -1
  658. package/dist/preview-runtime.js +0 -96
  659. package/dist/preview-runtime.js.map +0 -1
  660. package/dist/preview.d.ts +0 -78
  661. package/dist/preview.d.ts.map +0 -1
  662. package/dist/preview.js +0 -301
  663. package/dist/preview.js.map +0 -1
  664. package/dist/project-widgets.d.ts +0 -46
  665. package/dist/project-widgets.d.ts.map +0 -1
  666. package/dist/project-widgets.js +0 -93
  667. package/dist/project-widgets.js.map +0 -1
  668. package/dist/prompt-run.d.ts +0 -104
  669. package/dist/prompt-run.d.ts.map +0 -1
  670. package/dist/prompt-run.js +0 -112
  671. package/dist/prompt-run.js.map +0 -1
  672. package/dist/prompt-template.d.ts +0 -16
  673. package/dist/prompt-template.d.ts.map +0 -1
  674. package/dist/prompt-template.js +0 -56
  675. package/dist/prompt-template.js.map +0 -1
  676. package/dist/prompts.generated.d.ts +0 -53
  677. package/dist/prompts.generated.d.ts.map +0 -1
  678. package/dist/prompts.generated.js +0 -55
  679. package/dist/prompts.generated.js.map +0 -1
  680. package/dist/queue-promote.d.ts +0 -70
  681. package/dist/queue-promote.d.ts.map +0 -1
  682. package/dist/queue-promote.js +0 -118
  683. package/dist/queue-promote.js.map +0 -1
  684. package/dist/relay.d.ts +0 -84
  685. package/dist/relay.d.ts.map +0 -1
  686. package/dist/relay.js +0 -199
  687. package/dist/relay.js.map +0 -1
  688. package/dist/repos-directory.d.ts +0 -19
  689. package/dist/repos-directory.d.ts.map +0 -1
  690. package/dist/repos-directory.js +0 -23
  691. package/dist/repos-directory.js.map +0 -1
  692. package/dist/retired-project-settings.d.ts +0 -43
  693. package/dist/retired-project-settings.d.ts.map +0 -1
  694. package/dist/retired-project-settings.js +0 -125
  695. package/dist/retired-project-settings.js.map +0 -1
  696. package/dist/routine-locks.d.ts +0 -53
  697. package/dist/routine-locks.d.ts.map +0 -1
  698. package/dist/routine-locks.js +0 -125
  699. package/dist/routine-locks.js.map +0 -1
  700. package/dist/run-driver.d.ts +0 -26
  701. package/dist/run-driver.d.ts.map +0 -1
  702. package/dist/run-driver.js +0 -17
  703. package/dist/run-driver.js.map +0 -1
  704. package/dist/run-locks.d.ts +0 -3
  705. package/dist/run-locks.d.ts.map +0 -1
  706. package/dist/run-locks.js +0 -39
  707. package/dist/run-locks.js.map +0 -1
  708. package/dist/run-messages.d.ts +0 -64
  709. package/dist/run-messages.d.ts.map +0 -1
  710. package/dist/run-messages.js +0 -76
  711. package/dist/run-messages.js.map +0 -1
  712. package/dist/run-options.d.ts +0 -53
  713. package/dist/run-options.d.ts.map +0 -1
  714. package/dist/run-options.js +0 -110
  715. package/dist/run-options.js.map +0 -1
  716. package/dist/run-telemetry.d.ts +0 -115
  717. package/dist/run-telemetry.d.ts.map +0 -1
  718. package/dist/run-telemetry.js +0 -137
  719. package/dist/run-telemetry.js.map +0 -1
  720. package/dist/run-view.d.ts +0 -109
  721. package/dist/run-view.d.ts.map +0 -1
  722. package/dist/run-view.js +0 -118
  723. package/dist/run-view.js.map +0 -1
  724. package/dist/run.d.ts +0 -261
  725. package/dist/run.d.ts.map +0 -1
  726. package/dist/run.js +0 -420
  727. package/dist/run.js.map +0 -1
  728. package/dist/runtime-keys.d.ts +0 -17
  729. package/dist/runtime-keys.d.ts.map +0 -1
  730. package/dist/runtime-keys.js +0 -17
  731. package/dist/runtime-keys.js.map +0 -1
  732. package/dist/sandbox.d.ts +0 -27
  733. package/dist/sandbox.d.ts.map +0 -1
  734. package/dist/sandbox.js +0 -63
  735. package/dist/sandbox.js.map +0 -1
  736. package/dist/session-link.d.ts +0 -19
  737. package/dist/session-link.d.ts.map +0 -1
  738. package/dist/session-link.js +0 -26
  739. package/dist/session-link.js.map +0 -1
  740. package/dist/sessions.d.ts +0 -77
  741. package/dist/sessions.d.ts.map +0 -1
  742. package/dist/sessions.js +0 -146
  743. package/dist/sessions.js.map +0 -1
  744. package/dist/spike-locks.d.ts +0 -75
  745. package/dist/spike-locks.d.ts.map +0 -1
  746. package/dist/spike-locks.js +0 -208
  747. package/dist/spike-locks.js.map +0 -1
  748. package/dist/stale-branch.d.ts +0 -21
  749. package/dist/stale-branch.d.ts.map +0 -1
  750. package/dist/stale-branch.js +0 -32
  751. package/dist/stale-branch.js.map +0 -1
  752. package/dist/steps.d.ts +0 -9
  753. package/dist/steps.d.ts.map +0 -1
  754. package/dist/steps.js +0 -13
  755. package/dist/steps.js.map +0 -1
  756. package/dist/store/forge.d.ts +0 -110
  757. package/dist/store/forge.d.ts.map +0 -1
  758. package/dist/store/forge.js +0 -97
  759. package/dist/store/forge.js.map +0 -1
  760. package/dist/store/run-checkout.d.ts +0 -33
  761. package/dist/store/run-checkout.d.ts.map +0 -1
  762. package/dist/store/run-checkout.js +0 -59
  763. package/dist/store/run-checkout.js.map +0 -1
  764. package/dist/store/run-store.d.ts +0 -501
  765. package/dist/store/run-store.d.ts.map +0 -1
  766. package/dist/store/run-store.js +0 -806
  767. package/dist/store/run-store.js.map +0 -1
  768. package/dist/store/suspend.d.ts +0 -38
  769. package/dist/store/suspend.d.ts.map +0 -1
  770. package/dist/store/suspend.js +0 -45
  771. package/dist/store/suspend.js.map +0 -1
  772. package/dist/store/worktree-deps.d.ts +0 -30
  773. package/dist/store/worktree-deps.d.ts.map +0 -1
  774. package/dist/store/worktree-deps.js +0 -115
  775. package/dist/store/worktree-deps.js.map +0 -1
  776. package/dist/store/worktree.d.ts +0 -194
  777. package/dist/store/worktree.d.ts.map +0 -1
  778. package/dist/store/worktree.js +0 -331
  779. package/dist/store/worktree.js.map +0 -1
  780. package/dist/subagent-settings.d.ts +0 -27
  781. package/dist/subagent-settings.d.ts.map +0 -1
  782. package/dist/subagent-settings.js +0 -35
  783. package/dist/subagent-settings.js.map +0 -1
  784. package/dist/system-prompt-file.d.ts +0 -18
  785. package/dist/system-prompt-file.d.ts.map +0 -1
  786. package/dist/system-prompt-file.js +0 -28
  787. package/dist/system-prompt-file.js.map +0 -1
  788. package/dist/system-prompt.d.ts +0 -148
  789. package/dist/system-prompt.d.ts.map +0 -1
  790. package/dist/system-prompt.js +0 -170
  791. package/dist/system-prompt.js.map +0 -1
  792. package/dist/target-driver.d.ts +0 -28
  793. package/dist/target-driver.d.ts.map +0 -1
  794. package/dist/target-driver.js +0 -18
  795. package/dist/target-driver.js.map +0 -1
  796. package/dist/ticket-locks.d.ts +0 -61
  797. package/dist/ticket-locks.d.ts.map +0 -1
  798. package/dist/ticket-locks.js +0 -137
  799. package/dist/ticket-locks.js.map +0 -1
  800. package/dist/tickets-file.d.ts +0 -7
  801. package/dist/tickets-file.d.ts.map +0 -1
  802. package/dist/tickets-file.js +0 -21
  803. package/dist/tickets-file.js.map +0 -1
  804. package/dist/tickets.d.ts +0 -18
  805. package/dist/tickets.d.ts.map +0 -1
  806. package/dist/tickets.js +0 -23
  807. package/dist/tickets.js.map +0 -1
  808. package/dist/todo-loop.d.ts +0 -110
  809. package/dist/todo-loop.d.ts.map +0 -1
  810. package/dist/todo-loop.js +0 -175
  811. package/dist/todo-loop.js.map +0 -1
  812. package/dist/turn-gate.d.ts +0 -144
  813. package/dist/turn-gate.d.ts.map +0 -1
  814. package/dist/turn-gate.js +0 -217
  815. package/dist/turn-gate.js.map +0 -1
  816. package/dist/usage.d.ts +0 -32
  817. package/dist/usage.d.ts.map +0 -1
  818. package/dist/usage.js +0 -46
  819. package/dist/usage.js.map +0 -1
  820. package/dist/widget-types/dashboard/components/LinkActions.d.ts +0 -26
  821. package/dist/widget-types/dashboard/components/Markdown.d.ts +0 -4
  822. package/dist/widget-types/dashboard/components/StartAgentButton.d.ts +0 -39
  823. package/dist/widget-types/dashboard/components/ui/badge.d.ts +0 -2
  824. package/dist/widget-types/dashboard/components/ui/button.d.ts +0 -10
  825. package/dist/widget-types/dashboard/components/ui/card.d.ts +0 -5
  826. package/dist/widget-types/dashboard/components/ui/checkbox.d.ts +0 -7
  827. package/dist/widget-types/dashboard/components/ui/dropdown-menu.d.ts +0 -16
  828. package/dist/widget-types/dashboard/components/ui/input.d.ts +0 -2
  829. package/dist/widget-types/dashboard/components/ui/option-label.d.ts +0 -4
  830. package/dist/widget-types/dashboard/components/ui/popover.d.ts +0 -8
  831. package/dist/widget-types/dashboard/components/ui/scroll-area.d.ts +0 -10
  832. package/dist/widget-types/dashboard/components/ui/separator.d.ts +0 -3
  833. package/dist/widget-types/dashboard/components/ui/skeleton.d.ts +0 -2
  834. package/dist/widget-types/dashboard/components/ui/slider.d.ts +0 -9
  835. package/dist/widget-types/dashboard/components/ui/tooltip.d.ts +0 -11
  836. package/dist/widget-types/dashboard/lib/draft-handoff.d.ts +0 -15
  837. package/dist/widget-types/dashboard/lib/format-date.d.ts +0 -51
  838. package/dist/widget-types/dashboard/lib/host-services.d.ts +0 -12
  839. package/dist/widget-types/dashboard/lib/route.d.ts +0 -24
  840. package/dist/widget-types/dashboard/lib/rpc.d.ts +0 -31
  841. package/dist/widget-types/dashboard/lib/use-action.d.ts +0 -25
  842. package/dist/widget-types/dashboard/lib/use-async.d.ts +0 -39
  843. package/dist/widget-types/dashboard/lib/use-widgets.d.ts +0 -42
  844. package/dist/widget-types/dashboard/lib/utils.d.ts +0 -3
  845. package/dist/widget-types/dashboard/rpc/widgets.d.ts +0 -4
  846. package/dist/widget-types/dashboard/widget/index.d.ts +0 -207
  847. package/dist/widget-types/src/agent-id.d.ts +0 -12
  848. package/dist/widget-types/src/agent-locks.d.ts +0 -2
  849. package/dist/widget-types/src/agent-view.d.ts +0 -38
  850. package/dist/widget-types/src/bridge-browser.d.ts +0 -216
  851. package/dist/widget-types/src/browser-stream.d.ts +0 -19
  852. package/dist/widget-types/src/browser.d.ts +0 -15
  853. package/dist/widget-types/src/cli-exec.d.ts +0 -35
  854. package/dist/widget-types/src/cloud-run-state.d.ts +0 -26
  855. package/dist/widget-types/src/dashboard/activity.d.ts +0 -40
  856. package/dist/widget-types/src/dashboard/agent-handoff.d.ts +0 -211
  857. package/dist/widget-types/src/dashboard/agent-tree.d.ts +0 -105
  858. package/dist/widget-types/src/dashboard/bridge-endpoints.d.ts +0 -157
  859. package/dist/widget-types/src/dashboard/bridge-question.d.ts +0 -32
  860. package/dist/widget-types/src/dashboard/bridge-store.d.ts +0 -178
  861. package/dist/widget-types/src/dashboard/cache.d.ts +0 -46
  862. package/dist/widget-types/src/dashboard/content-type.d.ts +0 -2
  863. package/dist/widget-types/src/dashboard/dashboard.d.ts +0 -37
  864. package/dist/widget-types/src/dashboard/discord-webhook.d.ts +0 -16
  865. package/dist/widget-types/src/dashboard/docs.d.ts +0 -38
  866. package/dist/widget-types/src/dashboard/file-diff.d.ts +0 -66
  867. package/dist/widget-types/src/dashboard/file-read.d.ts +0 -41
  868. package/dist/widget-types/src/dashboard/file-status.d.ts +0 -20
  869. package/dist/widget-types/src/dashboard/gh.d.ts +0 -130
  870. package/dist/widget-types/src/dashboard/git-status.d.ts +0 -32
  871. package/dist/widget-types/src/dashboard/github.d.ts +0 -10
  872. package/dist/widget-types/src/dashboard/http.d.ts +0 -28
  873. package/dist/widget-types/src/dashboard/interventions.d.ts +0 -66
  874. package/dist/widget-types/src/dashboard/keys.d.ts +0 -30
  875. package/dist/widget-types/src/dashboard/models.d.ts +0 -24
  876. package/dist/widget-types/src/dashboard/open-in-app.d.ts +0 -42
  877. package/dist/widget-types/src/dashboard/open-questions.d.ts +0 -52
  878. package/dist/widget-types/src/dashboard/overview.d.ts +0 -77
  879. package/dist/widget-types/src/dashboard/projects.d.ts +0 -89
  880. package/dist/widget-types/src/dashboard/pull-requests.d.ts +0 -126
  881. package/dist/widget-types/src/dashboard/queue.d.ts +0 -16
  882. package/dist/widget-types/src/dashboard/quota.d.ts +0 -59
  883. package/dist/widget-types/src/dashboard/remote-run.d.ts +0 -94
  884. package/dist/widget-types/src/dashboard/rpc-serve.d.ts +0 -102
  885. package/dist/widget-types/src/dashboard/run-inbox.d.ts +0 -30
  886. package/dist/widget-types/src/dashboard/scheduler-state.d.ts +0 -64
  887. package/dist/widget-types/src/dashboard/tickets.d.ts +0 -28
  888. package/dist/widget-types/src/dashboard/types.d.ts +0 -99
  889. package/dist/widget-types/src/dashboard/widget-serve.d.ts +0 -14
  890. package/dist/widget-types/src/dashboard-rpc/context.d.ts +0 -53
  891. package/dist/widget-types/src/dashboard-rpc/control.d.ts +0 -108
  892. package/dist/widget-types/src/dashboard-rpc/devices.d.ts +0 -8
  893. package/dist/widget-types/src/dashboard-rpc/events-tail.d.ts +0 -53
  894. package/dist/widget-types/src/dashboard-rpc/events.d.ts +0 -29
  895. package/dist/widget-types/src/dashboard-rpc/index.d.ts +0 -28
  896. package/dist/widget-types/src/dashboard-rpc/models.d.ts +0 -3
  897. package/dist/widget-types/src/dashboard-rpc/preferences.d.ts +0 -40
  898. package/dist/widget-types/src/dashboard-rpc/projects.d.ts +0 -54
  899. package/dist/widget-types/src/dashboard-rpc/quota.d.ts +0 -26
  900. package/dist/widget-types/src/dashboard-rpc/reads.d.ts +0 -227
  901. package/dist/widget-types/src/dashboard-rpc/relay-agent.d.ts +0 -8
  902. package/dist/widget-types/src/dashboard-rpc/stream-forward.d.ts +0 -16
  903. package/dist/widget-types/src/dashboard-rpc/widgets.d.ts +0 -32
  904. package/dist/widget-types/src/discord-credentials.d.ts +0 -79
  905. package/dist/widget-types/src/driver-names.d.ts +0 -21
  906. package/dist/widget-types/src/error-message.d.ts +0 -7
  907. package/dist/widget-types/src/event-stream.d.ts +0 -32
  908. package/dist/widget-types/src/events.d.ts +0 -235
  909. package/dist/widget-types/src/framework-dir.d.ts +0 -10
  910. package/dist/widget-types/src/framework-gitignore.d.ts +0 -11
  911. package/dist/widget-types/src/index.d.ts +0 -42
  912. package/dist/widget-types/src/jsonl-tail.d.ts +0 -54
  913. package/dist/widget-types/src/loopback-host.d.ts +0 -19
  914. package/dist/widget-types/src/node-fs.d.ts +0 -32
  915. package/dist/widget-types/src/open-choices.d.ts +0 -14
  916. package/dist/widget-types/src/pick-directory.d.ts +0 -29
  917. package/dist/widget-types/src/preference-defaults.d.ts +0 -53
  918. package/dist/widget-types/src/project-commands.d.ts +0 -23
  919. package/dist/widget-types/src/project-errors.d.ts +0 -43
  920. package/dist/widget-types/src/project-hooks.d.ts +0 -133
  921. package/dist/widget-types/src/project-presets.d.ts +0 -29
  922. package/dist/widget-types/src/project-widgets.d.ts +0 -45
  923. package/dist/widget-types/src/project.d.ts +0 -28
  924. package/dist/widget-types/src/quota-boundary.d.ts +0 -115
  925. package/dist/widget-types/src/quota-poller.d.ts +0 -82
  926. package/dist/widget-types/src/registry.d.ts +0 -210
  927. package/dist/widget-types/src/store/agent-checkout.d.ts +0 -46
  928. package/dist/widget-types/src/store/agent-store.d.ts +0 -237
  929. package/dist/widget-types/src/store/branches.d.ts +0 -133
  930. package/dist/widget-types/src/store/forge.d.ts +0 -109
  931. package/dist/widget-types/src/store/git-host.d.ts +0 -111
  932. package/dist/widget-types/src/store/index.d.ts +0 -9
  933. package/dist/widget-types/src/store/provided.d.ts +0 -16
  934. package/dist/widget-types/src/store/queue.d.ts +0 -45
  935. package/dist/widget-types/src/store/run-record.d.ts +0 -21
  936. package/dist/widget-types/src/store/runs.d.ts +0 -101
  937. package/dist/widget-types/src/store/tickets.d.ts +0 -72
  938. package/dist/widget-types/src/tickets.d.ts +0 -17
  939. package/dist/widget-types/src/worktrees.d.ts +0 -89
  940. package/dist/widget.css +0 -50
@@ -1,110 +0,0 @@
1
- import type { DriverSession } from 'agent-driver';
2
- import type { ChoicePick, ChoiceRequest, FrameworkEvent } from './events.js';
3
- /**
4
- * The backlog loop (#323): once the main work settles, consume the agent queue one entry per
5
- * turn until it is empty. The agent writes the queue itself (a very large scope, the Maintenance
6
- * follow-ups, or the [Research] preset's deep-dive picks all add entries); the framework only
7
- * drives: read the queue, gate ("start the next item?") when someone can answer, prompt the agent
8
- * to complete exactly one entry, take it off the queue, repeat. Termination is Rom's call on the
9
- * issue: stop when the queue is empty. The dashboard's autopilot auto-accepts the per-item gate,
10
- * so `[x] autopilot` consumes the whole queue unattended; autopilot off pauses before each entry.
11
- *
12
- * The queue is the `queue` skill's (#1748): it lives on the `agent-data` branch, read and changed
13
- * through the skill's library — the framework holds no copy and edits no file of its own. Which
14
- * ticket an entry links to is the `tickets` skill's rule.
15
- */
16
- /**
17
- * Does this session's own backlog still have open work (#1363)?
18
- *
19
- * Reads only `TODO_<SESSION_NAME>.agent.md` — the file the [Research] preset (and a very-large
20
- * scope) has the agent keep for its own session. Never the global queue: the queue is decoupled
21
- * from sessions (#1390), and withholding a merge on it would mean auto-merge never fires while
22
- * the project has any backlog at all. `false` on a missing or unreadable file, and on a session
23
- * name that could not name a file — no pendingness known is not pendingness.
24
- *
25
- * TEMPORARY SAFETY BELT, built to be deleted (#1390): the agent's setReadyForMerge() is the
26
- * authorization, and this only catches the agent declaring done while its own session file says
27
- * otherwise. When the agent's word is deemed enough, delete this function and its single call
28
- * site in `maybeAutoHandoff`.
29
- */
30
- export declare function agentTodoPending(cwd: string, sessionName: string | undefined): Promise<boolean>;
31
- /**
32
- * The ticket the next drain agent will pick up, or `undefined` when there is none (#1117).
33
- *
34
- * "Next" is the first open entry of the queue, because that is what the [Drain queue] preset
35
- * says to work ("the FIRST open entry only") and the queue reads in file order. Read from the
36
- * same copy the sweep already consults when it decides whether there is anything to drain, so
37
- * the entry this names is the entry that decision was made on.
38
- *
39
- * A best guess by construction: the agent reads the queue a moment later, and an entry taken off
40
- * in between would move it on. Being wrong here costs a mislabelled lane on the Overview and
41
- * nothing else — no run is started or steered by this.
42
- */
43
- export declare function nextQueuedTicket(cwd: string): Promise<string | undefined>;
44
- /**
45
- * The ticket an agent started by hand is about to implement, when that agent is a drain (#1117).
46
- *
47
- * The daemon already does this for the sweep's own drain, off the `drains` flag on the job. An agent
48
- * fired from the dashboard reaches the same start with none of that context, so a hand-fired drain
49
- * showed up working on nothing: the agent implemented the ticket, and the lane it belonged in stayed
50
- * empty. Same read as the sweep's, so both agree on which entry is next.
51
- *
52
- * Undefined for anything that is not a drain, and for a drain over an empty queue. The `read` seam
53
- * is for tests; production always takes the default.
54
- */
55
- export declare function ticketForPrompt(prompt: string, cwd: string, read?: (cwd: string) => Promise<string | undefined>): Promise<string | undefined>;
56
- /** Why the loop ended. */
57
- export type TodoLoopReason =
58
- /** The queue is empty (or was never written) — the success case. */
59
- 'empty'
60
- /** The user picked "stop" at a per-item gate. */
61
- | 'stopped'
62
- /** Two removals in a row could not be written to the `agent-data` branch. */
63
- | 'stalled'
64
- /** The item cap was reached with entries still open. */
65
- | 'max-items';
66
- /** What {@link runTodoLoop} resolves with. */
67
- export interface TodoLoopResult {
68
- /** Queue entries worked (turns taken), regardless of outcome. */
69
- completed: number;
70
- /** Why the loop ended. */
71
- reason: TodoLoopReason;
72
- /**
73
- * An answer marked `stop` (#358) inside an item's turn — a plan the user declined — ends the
74
- * whole session, not just the loop. Distinct from the benign `reason: 'stopped'` per-item gate,
75
- * which only stops draining the queue. The caller aborts the session on this.
76
- */
77
- sessionStopped?: boolean;
78
- }
79
- /** Options for {@link runTodoLoop}. */
80
- export interface TodoLoopOptions {
81
- /** The live driver session the agent already owns. */
82
- session: DriverSession;
83
- /** The agent's checkout; the queue is read from the repository it belongs to. */
84
- cwd: string;
85
- /** Emit the loop's events onto the agent stream. */
86
- emit: (event: FrameworkEvent) => void;
87
- /**
88
- * The interactive gate handler (#304). When wired, the loop pauses before each
89
- * entry ("start the next item?") — the dashboard's autopilot auto-accepts, so
90
- * autopilot off means a human gate per item (#323). Headless runs don't pause.
91
- */
92
- requestChoice?: ((req: ChoiceRequest) => Promise<ChoicePick>) | undefined;
93
- /** The agent signal; aborting (the Stop button, an answer marked stop) ends the loop. */
94
- signal?: AbortSignal | undefined;
95
- /** Hard cap on entries worked in one agent. Default {@link DEFAULT_MAX_TODO_ITEMS}. */
96
- maxItems?: number | undefined;
97
- }
98
- /**
99
- * Drive the queue to empty: read the next open entry (fresh off the `agent-data` branch), gate, prompt
100
- * the agent to complete exactly that entry, take it off the queue, and repeat. The removal is the
101
- * framework's, not the agent's (#1582): the queue lives on a branch the agent's checkout does not
102
- * hold, and the one writer model keeps every edit going through the same funnel. Caps make it
103
- * safe to leave unattended (#322's concern): the agent's budget/abort signal ends any turn, a
104
- * hard item cap bounds the agent, and two removals in a row failing to land stop the loop
105
- * instead of re-working the same entry. A queue turn is a turn like any other: await gates
106
- * (`showChoices()` / `showMultiSelect()`) and the signals (`showMarkdown()`, `setReadyForMerge()`,
107
- * `open-pr`) are honored here too.
108
- */
109
- export declare function runTodoLoop(opts: TodoLoopOptions): Promise<TodoLoopResult>;
110
- //# sourceMappingURL=todo-loop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todo-loop.d.ts","sourceRoot":"","sources":["../src/todo-loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAK5E;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAKrG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG/E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAoB,GACpE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAED,0BAA0B;AAC1B,MAAM,MAAM,cAAc;AACxB,oEAAoE;AAClE,OAAO;AACT,iDAAiD;GAC/C,SAAS;AACX,6EAA6E;GAC3E,SAAS;AACX,wDAAwD;GACtD,WAAW,CAAA;AAEf,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,0BAA0B;IAC1B,MAAM,EAAE,cAAc,CAAA;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,OAAO,EAAE,aAAa,CAAA;IACtB,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACrC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAA;IACzE,yFAAyF;IACzF,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAChC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AAQD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAwFhF"}
package/dist/todo-loop.js DELETED
@@ -1,175 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import { parseQueueEntries, queueDone, readQueueEntries } from '@gemstack/skill-queue';
4
- import { ticketFromQueueEntry } from '@gemstack/skill-tickets';
5
- import { requestChoices, runAwaitRounds } from './await-gate.js';
6
- import { drainsQueue } from './preset-catalog.js';
7
- import { createTurnSignalEmitter } from './turn-gate.js';
8
- /**
9
- * The backlog loop (#323): once the main work settles, consume the agent queue one entry per
10
- * turn until it is empty. The agent writes the queue itself (a very large scope, the Maintenance
11
- * follow-ups, or the [Research] preset's deep-dive picks all add entries); the framework only
12
- * drives: read the queue, gate ("start the next item?") when someone can answer, prompt the agent
13
- * to complete exactly one entry, take it off the queue, repeat. Termination is Rom's call on the
14
- * issue: stop when the queue is empty. The dashboard's autopilot auto-accepts the per-item gate,
15
- * so `[x] autopilot` consumes the whole queue unattended; autopilot off pauses before each entry.
16
- *
17
- * The queue is the `queue` skill's (#1748): it lives on the `agent-data` branch, read and changed
18
- * through the skill's library — the framework holds no copy and edits no file of its own. Which
19
- * ticket an entry links to is the `tickets` skill's rule.
20
- */
21
- /**
22
- * Does this session's own backlog still have open work (#1363)?
23
- *
24
- * Reads only `TODO_<SESSION_NAME>.agent.md` — the file the [Research] preset (and a very-large
25
- * scope) has the agent keep for its own session. Never the global queue: the queue is decoupled
26
- * from sessions (#1390), and withholding a merge on it would mean auto-merge never fires while
27
- * the project has any backlog at all. `false` on a missing or unreadable file, and on a session
28
- * name that could not name a file — no pendingness known is not pendingness.
29
- *
30
- * TEMPORARY SAFETY BELT, built to be deleted (#1390): the agent's setReadyForMerge() is the
31
- * authorization, and this only catches the agent declaring done while its own session file says
32
- * otherwise. When the agent's word is deemed enough, delete this function and its single call
33
- * site in `maybeAutoHandoff`.
34
- */
35
- export async function agentTodoPending(cwd, sessionName) {
36
- // The prompt asks for [a-z0-9-]+; anything wider (a path separator above all) names no file.
37
- if (!sessionName || !/^[A-Za-z0-9._-]+$/.test(sessionName))
38
- return false;
39
- const md = await readFile(join(cwd, `TODO_${sessionName}.agent.md`), 'utf8').catch(() => undefined);
40
- return md !== undefined && parseQueueEntries(md).length > 0;
41
- }
42
- /**
43
- * The ticket the next drain agent will pick up, or `undefined` when there is none (#1117).
44
- *
45
- * "Next" is the first open entry of the queue, because that is what the [Drain queue] preset
46
- * says to work ("the FIRST open entry only") and the queue reads in file order. Read from the
47
- * same copy the sweep already consults when it decides whether there is anything to drain, so
48
- * the entry this names is the entry that decision was made on.
49
- *
50
- * A best guess by construction: the agent reads the queue a moment later, and an entry taken off
51
- * in between would move it on. Being wrong here costs a mislabelled lane on the Overview and
52
- * nothing else — no run is started or steered by this.
53
- */
54
- export async function nextQueuedTicket(cwd) {
55
- const first = (await readQueueEntries(cwd))[0];
56
- return first ? ticketFromQueueEntry(first) : undefined;
57
- }
58
- /**
59
- * The ticket an agent started by hand is about to implement, when that agent is a drain (#1117).
60
- *
61
- * The daemon already does this for the sweep's own drain, off the `drains` flag on the job. An agent
62
- * fired from the dashboard reaches the same start with none of that context, so a hand-fired drain
63
- * showed up working on nothing: the agent implemented the ticket, and the lane it belonged in stayed
64
- * empty. Same read as the sweep's, so both agree on which entry is next.
65
- *
66
- * Undefined for anything that is not a drain, and for a drain over an empty queue. The `read` seam
67
- * is for tests; production always takes the default.
68
- */
69
- export async function ticketForPrompt(prompt, cwd, read = nextQueuedTicket) {
70
- if (!drainsQueue(prompt))
71
- return undefined;
72
- return read(cwd).catch(() => undefined);
73
- }
74
- /** The default per-agent cap on queue entries, so one agent cannot work the queue forever. */
75
- const DEFAULT_MAX_TODO_ITEMS = 25;
76
- /** How many consecutive failed removals before the loop stops rather than spins. */
77
- const MAX_STALLS = 2;
78
- /**
79
- * Drive the queue to empty: read the next open entry (fresh off the `agent-data` branch), gate, prompt
80
- * the agent to complete exactly that entry, take it off the queue, and repeat. The removal is the
81
- * framework's, not the agent's (#1582): the queue lives on a branch the agent's checkout does not
82
- * hold, and the one writer model keeps every edit going through the same funnel. Caps make it
83
- * safe to leave unattended (#322's concern): the agent's budget/abort signal ends any turn, a
84
- * hard item cap bounds the agent, and two removals in a row failing to land stop the loop
85
- * instead of re-working the same entry. A queue turn is a turn like any other: await gates
86
- * (`showChoices()` / `showMultiSelect()`) and the signals (`showMarkdown()`, `setReadyForMerge()`,
87
- * `open-pr`) are honored here too.
88
- */
89
- export async function runTodoLoop(opts) {
90
- const { session, cwd, emit } = opts;
91
- const maxItems = opts.maxItems ?? DEFAULT_MAX_TODO_ITEMS;
92
- // One emitter for the whole queue, so ready-for-merge fires once across every item
93
- // and a pull-request description only re-emits when it changes.
94
- const gateDeps = {
95
- requestChoice: opts.requestChoice,
96
- emit,
97
- signal: opts.signal,
98
- emitTurnSignals: createTurnSignalEmitter(emit),
99
- };
100
- let completed = 0;
101
- // The queue emptied: announce it if we did any work, and report a clean finish.
102
- // Both the mid-loop find and the post-loop re-check funnel through here.
103
- const finishEmpty = () => {
104
- if (completed > 0)
105
- emit({ kind: 'log', message: `Queue done: empty after ${completed} item(s).` });
106
- return { completed, reason: 'empty' };
107
- };
108
- for (let item = 0; item < maxItems; item++) {
109
- if (opts.signal?.aborted)
110
- break;
111
- const entries = await readQueueEntries(cwd, { fresh: true });
112
- if (!entries.length)
113
- return finishEmpty();
114
- const next = entries[0];
115
- const preview = next.length > 100 ? `${next.slice(0, 100)}…` : next;
116
- if (item === 0)
117
- emit({ kind: 'log', message: `Queue: ${entries.length} open item(s).` });
118
- // The per-item gate (#323): pause before starting a new entry when someone
119
- // can answer. Interactive-only, like the plan-approval gate — a headless agent
120
- // emits no gate and just proceeds (autopilot semantics, budget-capped).
121
- if (opts.requestChoice) {
122
- const picked = await requestChoices({
123
- id: item === 0 ? 'todo-next' : `todo-next-${item}`,
124
- title: `Start the next queue item? (${entries.length} open)`,
125
- options: [
126
- { id: 'proceed', label: `Work on: ${preview}` },
127
- { id: 'stop', label: 'Stop the queue loop' },
128
- ],
129
- recommended: 'proceed',
130
- requestChoice: opts.requestChoice,
131
- emit,
132
- ...(opts.signal ? { signal: opts.signal } : {}),
133
- });
134
- if (picked === 'stop') {
135
- emit({ kind: 'log', message: `Queue loop stopped by you (${entries.length} item(s) left).` });
136
- return { completed, reason: 'stopped' };
137
- }
138
- }
139
- emit({ kind: 'log', message: `Queue item ${completed + 1}: ${preview}` });
140
- // Complete exactly this entry, honoring await gates. The queue is not the agent's to touch
141
- // (#1582): it lives on the `agent-data` branch, and the removal below is the framework's.
142
- const prompt = `Work on exactly this task from the project's agent queue, and nothing else:\n\n${next}\n\nComplete it fully and verify your work. Do not start any other task; the framework takes this entry off the queue when the turn ends.`;
143
- const rounds = await runAwaitRounds({ session, prompt, ...gateDeps });
144
- completed++;
145
- // A plan the user declined with a stop-marked answer (#358) ends the whole session, not just
146
- // this loop — so the session does not go on to publish work that was just rejected. The caller
147
- // aborts on `sessionStopped`; `reason` stays descriptive of the loop itself.
148
- if (rounds.stopped) {
149
- emit({ kind: 'log', message: `Session stopped by your answer (${entries.length} item(s) left).` });
150
- return { completed, reason: 'stopped', sessionStopped: true };
151
- }
152
- // Take the entry off the queue. A no-op when someone else already removed it meanwhile — the
153
- // write re-reads the fresh queue either way. Retried inline rather than across rounds: a
154
- // removal that never lands would re-serve the same entry, and re-doing finished work is worse
155
- // than stopping with the queue intact.
156
- let landed = false;
157
- for (let tries = 0; tries < MAX_STALLS && !landed; tries++) {
158
- landed = (await queueDone(cwd, next)).ok;
159
- }
160
- if (!landed) {
161
- emit({ kind: 'log', message: `Queue loop stopped: "${preview}" could not be taken off the queue after ${MAX_STALLS} attempt(s).` });
162
- return { completed, reason: 'stalled' };
163
- }
164
- }
165
- // Aborted mid-loop (the Stop button, an answer marked stop): the agent is ending anyway,
166
- // so report a clean stop without extra narration.
167
- if (opts.signal?.aborted)
168
- return { completed, reason: 'stopped' };
169
- const remaining = await readQueueEntries(cwd);
170
- if (!remaining.length)
171
- return finishEmpty();
172
- emit({ kind: 'log', message: `Queue loop stopped at the ${maxItems}-item cap; ${remaining.length} item(s) left.` });
173
- return { completed, reason: 'max-items' };
174
- }
175
- //# sourceMappingURL=todo-loop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todo-loop.js","sourceRoot":"","sources":["../src/todo-loop.ts"],"names":[],"mappings":"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"}
@@ -1,144 +0,0 @@
1
- import { continuationPrompt, type Question, type QuestionOption } from 'agent-driver';
2
- import type { FrameworkEvent } from './events.js';
3
- /**
4
- * The framework-owned "await" protocol (#337 / #339): the *code side* of the
5
- * `showChoices()` / `showMultiSelect()` + `AWAIT` macros the system prompt delegates. The
6
- * driver runs each agent turn as a black box to completion (#165), so the only way
7
- * the framework can learn the agent stopped to ask (rather than deciding for itself)
8
- * is a signal in the turn's final message. This appends one to the system prompt: it
9
- * does not restate the macros, it pins *how* to emit an awaited choice so the
10
- * turn-boundary gate can detect it. Kept minimal and self-contained so it survives the
11
- * #326 wording still being written. The text lives in `prompts/protocols/await.md` (#551).
12
- */
13
- export declare const AWAIT_PROTOCOL = "## Awaiting a choice\nWhen these instructions tell you to showChoices() / showMultiSelect() / showMarkdown() and then AWAIT, do not decide for the user.\nEnd your turn with one fenced code block, then stop.\nTag it `await-choices`:\n```await-choices\n{ \"title\": \"<the question>\", \"options\": [{ \"label\": \"<option>\", \"detail\": \"<optional one-liner>\" }], \"recommended\": \"<the label to default to>\" }\n```\nEvery question you stop to ask is this one block, whatever it is about:\n- An approval is two options: `{ \"title\": \"Ship this?\", \"options\": [{ \"label\": \"Approve\" }, { \"label\": \"Decline\", \"stop\": true }], \"recommended\": \"Approve\" }`.\n- A plan or document you wrote and want signed off adds `\"file\": \"PLAN_<slug>.agent.md\"`, and the framework shows that file beside the question.\n- Several answers at once (showMultiSelect) adds `\"multi\": true`, and `\"default\": true` on the entries that start checked.\n- `recommended` is what the framework picks when nobody is there to answer, so name the option that is safe to take unattended \u2014 never an option marked `stop`.\n- `\"stop\": true` marks an answer that ends the session instead of resuming you: the user is taking over and will come back with fresh instructions. Mark the option that rejects your work \u2014 declining a plan, saying no to the approach \u2014 and leave it off everything else. You are not re-prompted with that answer, so do not plan around being told it.\n\nThe framework shows it, waits for the user, and re-prompts you with their answer. Do not continue past it on your own.\n\n## Handing the browser to a human\nWhen you are working in a browser and hit something you cannot or should not get past yourself \u2014 a login wall, a captcha, an SSO or 2FA step \u2014 stop and hand it over. Never type a password, never attempt a captcha, and never use a credential you found lying around in the repo or the environment. Ask with the same `await-choices` block, naming the page and recommending the option that is true when nobody is there:\n```await-choices\n{ \"title\": \"<what the human needs to do> (<the page you are stuck on>)\", \"options\": [{ \"label\": \"Handled it\" }, { \"label\": \"Could not handle it\" }], \"recommended\": \"Could not handle it\" }\n```\nThe user acts in that browser, then you are re-prompted. If their answer says it was not handled, do not retry the same page \u2014 say what you could not reach and work on what you can, or stop.\n\n## Showing a document without waiting\nTo display markdown in the side panel without blocking (a plan, a summary, a writeup) and keep working, put a `show-markdown` block anywhere in your turn. The first line is its title:\n```show-markdown\n# <title>\n<the markdown body>\n```\nThis just shows it; you do not stop. Re-emit the same title to update that view in place.";
14
- /**
15
- * Told to a hands-off agent only (#1225): the session leaves this machine and nothing here sees
16
- * its workspace, so whatever it produces has to be committed and put in a pull request before it
17
- * ends. The text lives in `prompts/protocols/hands_off.md`.
18
- */
19
- export declare const HANDS_OFF_PROTOCOL = "## This session runs detached \u2014 land everything\nIt was handed to a remote service: no machine sees its workspace, and nothing here follows it to\nthe end. So before ending: commit your work on your session branch and open a pull request for\nit. If the deliverable is analysis, a plan, or a decision, write it into committed files \u2014 a\nresult that lives only in this conversation, or in a gitignored file, reaches nobody. End without\na pull request only when the task genuinely required no repository change, and say so explicitly\nin your final message.";
20
- /**
21
- * Told to the agent only when the agent has a browser (#824): that it has one, and that anything
22
- * it needs to see or act on goes through the chrome-devtools tools rather than `WebFetch`.
23
- * Lives in `prompts/protocols/browser.md`.
24
- */
25
- export declare const BROWSER_PROTOCOL = "## You have a real browser\n\nThis run has a real Chrome attached, through the `chrome-devtools` tools (`new_page`, `navigate_page`, `click`, `fill`, `take_snapshot`, `evaluate_script`). It is the same browser a human can watch and take over, so use it for anything you need to *see* or *act on*: pages that render their content with JavaScript, a flow you have to click through, a form to fill, an app you are checking actually works.\n\nWhen you only need to read a page, `WebFetch` is still the better tool: it is faster and hands you the text directly. Use the browser when `WebFetch` would come back with nothing useful, such as a page that is blank until its JavaScript runs.\n\nPrefer navigating within a single page rather than opening new pages, so the user can more easily watch you navigate.";
26
- /**
27
- * The session-lifecycle protocol (#326): the code side of the `setReadyForMerge()` action the
28
- * system prompt calls out, plus the pull request and error blocks. Like {@link AWAIT_PROTOCOL},
29
- * it does not restate *when* to act — the system prompt owns that — it only pins *how* to
30
- * emit the signal so the turn-boundary can detect it. All are non-blocking: the agent
31
- * emits the block and keeps going (the framework records it and reflects it in the
32
- * dashboard). Injected alongside AWAIT_PROTOCOL. The text lives in
33
- * `prompts/protocols/signal.md` (#551). The session name is not a signal (#1725): the agent
34
- * names its branch through `branches name`, and the name is read off the branch.
35
- */
36
- export declare const SIGNAL_PROTOCOL = "## Ready for merge\nWhen you call setReadyForMerge() \u2014 you believe the work is complete and ready for human review \u2014 emit an empty `ready-for-merge` block. This flips the dashboard status from building to ready; it does not stop your turn.\n```ready-for-merge\n```\n\n## Opening a pull request\nWhenever you emit `ready-for-merge`, emit an `open-pr` block too, naming and describing the work. The Framework opens the pull request for you \u2014 you do not need to run `gh pr create` yourself. Write it like a commit message: the first line is the title, the rest is the body.\n```open-pr\n<one line naming what the change does, under 100 characters>\n\n<what changed, and why \u2014 markdown, as long as it needs to be>\n```\nWithout it the pull request has no name for your work and can only repeat the prompt you were given, which does not say what the work turned out to be. The Framework supplies the rest: the ticket's issue reference where there is one, and recording the number so every surface shows the same pull request. You do not stop, and you can re-emit it as the work changes \u2014 the last one is used. Opening the pull request yourself instead still works; you then own all of the above.\n\n## Reporting an error\nWhen you hit something only the user can fix \u2014 a missing file you were told to read, a command that will not run, a login you do not have \u2014 emit an `error` block saying what is wrong, then carry on or stop as the task requires. The first line is the headline; anything below it is the detail.\n```error\n<what is wrong, in one line>\n\n<the detail: what you ran, what it said>\n```\nThe Framework marks it in the session log and counts it on the session, so the user sees it without reading the whole log. It does not stop your turn and it does not ask the user anything \u2014 use `AWAIT` for a question. Report the same thing once: a re-emitted identical block is ignored.";
37
- /** One option of an await gate: what the user picks between. The shape is agent-driver's question option. */
38
- export type AwaitOption = QuestionOption;
39
- /** A question the agent stopped to ask, parsed from an `await-choices` block (#337). The shape is agent-driver's question. */
40
- export type ParsedAwaitGate = Question;
41
- /**
42
- * How many times the agent may stop to ask, and be resumed, before an agent stops honoring
43
- * gates and just finishes. A property of the await protocol, so every path that runs gates
44
- * shares it: a build and a direct prompt each used to declare their own.
45
- */
46
- export declare const MAX_AWAIT_ROUNDS = 5;
47
- export { continuationPrompt };
48
- /**
49
- * What a session that cannot simply be ended is told when the user picks a `stop` option (#358,
50
- * #1554). A local session is never re-prompted with a stopping answer — it just ends — but a
51
- * cloud session lives on claude.ai where nothing of ours can end it, so the bridge types this
52
- * instead: the decision, and that the user is taking over from here.
53
- */
54
- export declare function takeoverPrompt(question: string, answer: string): string;
55
- /**
56
- * The log line for the other outcome: the user picked a `stop` option, so there is no
57
- * continuation prompt and the session ends here (#358). Addressed to the user rather than to the
58
- * agent — the agent is not told anything, which is the point — and it names the answer, because
59
- * "stopped" on its own reads like a failure when it was a decision.
60
- */
61
- export declare function stopMessage(answer: string): string;
62
- /** A non-blocking markdown view the agent pushed via a `show-markdown` block (#441). */
63
- export interface ParsedMarkdownView {
64
- /** Stable id (a slug of the title), so re-showing the same title updates in place. */
65
- id: string;
66
- /** The view's title (the first `# ` heading, or a fallback). */
67
- title: string;
68
- /** The markdown body (the heading line removed). */
69
- markdown: string;
70
- }
71
- /**
72
- * Parse every `show-markdown` block (per {@link AWAIT_PROTOCOL}) out of a turn's text
73
- * (#441) — a non-blocking view the agent pushed to the side panel, so a turn may carry
74
- * several and does not stop. Each block's first `# ` line is the title (the rest is the
75
- * body); a block with no heading falls back to "Note". Blank blocks are skipped, and two
76
- * blocks that slug to the same id keep the later one (an in-turn update). Never throws.
77
- */
78
- export declare function parseMarkdownViews(text: string): ParsedMarkdownView[];
79
- /** What the agent asked the framework to open a pull request with (#1567/#1618). */
80
- export interface ParsedPullRequest {
81
- /** The agent's name for the work: the block's first line, when it reads as a title. */
82
- title?: string;
83
- /** What changed and why: everything after that line, or the whole block when there is no title. */
84
- description?: string;
85
- }
86
- /**
87
- * Parse the pull request the agent asked for this turn (#1567), from the last non-empty
88
- * `open-pr` block (per {@link SIGNAL_PROTOCOL}). Returns `undefined` when the agent wrote none,
89
- * which simply leaves the handoff describing the work itself. A later block in the same turn
90
- * wins, so an agent may revise it as the work changes.
91
- *
92
- * The block is how an agent opens a pull request *through the framework* rather than by
93
- * reaching for `gh` itself: the title and the description are the agent's, and the handoff keeps
94
- * the parts that have to be consistent — the ticket's issue reference and recording the number
95
- * on the agent.
96
- *
97
- * Shaped like a commit message, and read like one: the first line names the work, the rest
98
- * describes it. A first line too long to be a name is not treated as one (#1618) — the block is
99
- * all description then, and the title falls back to the session's name rather than being cut
100
- * mid-sentence, which is how a raw prompt ended up as a permanent commit subject.
101
- */
102
- export declare function parsePullRequest(text: string): ParsedPullRequest | undefined;
103
- /** An error the agent reported this turn (#1500), split the way the block is written. */
104
- export interface ParsedError {
105
- /** What is wrong, in one line: the block's first line. */
106
- headline: string;
107
- /** What it ran and what that said: everything below the headline, when the agent wrote any. */
108
- detail?: string;
109
- }
110
- /**
111
- * Parse the errors the agent reported this turn (#1500), from every non-empty `error` block
112
- * (per {@link SIGNAL_PROTOCOL}), in the order they were written.
113
- *
114
- * Unlike the other signals, every block is kept rather than only the last: two different things
115
- * going wrong in one turn are two errors, and collapsing them would lose one. Blocks that are
116
- * empty are skipped — an error with nothing to say is not an error.
117
- */
118
- export declare function parseErrors(text: string): ParsedError[];
119
- /**
120
- * Whether the agent signalled `setReadyForMerge()` this turn (#326): the presence of a
121
- * `ready-for-merge` block (per {@link SIGNAL_PROTOCOL}) anywhere in the text. Non-blocking
122
- * and body-less — it just flips the agent from building to ready-for-review.
123
- */
124
- export declare function parseReadyForMerge(text: string): boolean;
125
- /**
126
- * Parse the await gate a turn ended on (#337): agent-driver's question parser, which every driver
127
- * also reports as a `question` event. Returns `undefined` when the agent just finished.
128
- */
129
- export declare function parseAwaitGate(text: string): ParsedAwaitGate | undefined;
130
- /**
131
- * Emit the {@link PROTOCOLS_SIGNAL} signals an agent turn carries: markdown views, the errors it
132
- * reported, `setReadyForMerge()`, and a pull-request description. The session name is not among
133
- * them: the agent names its branch through the `branches` skill, and the name is read off it. Every turn the framework prompts goes through
134
- * one of these, because the protocols are unconditional (see `composeAgentSystem`) — the
135
- * agent is told it can signal on any turn, so any turn we don't parse drops the signal.
136
- *
137
- * The returned function holds the dedupe state for the turns it covers: `ready-for-merge`
138
- * fires once, a pull-request description only re-emits on an actual
139
- * change, and an error is logged once however often the agent restates it. Each caller makes one
140
- * for its own span of turns (a build's await rounds, the whole backlog), so keep it for as
141
- * many turns as should share that dedupe rather than making one per turn.
142
- */
143
- export declare function createTurnSignalEmitter(emit: (event: FrameworkEvent) => void): (text: string) => void;
144
- //# sourceMappingURL=turn-gate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turn-gate.d.ts","sourceRoot":"","sources":["../src/turn-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAKjD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,ozFAAkB,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,2jBAAsB,CAAA;AAGrD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,uyBAAoB,CAAA;AAEjD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,24DAAmB,CAAA;AAE/C,6GAA6G;AAC7G,MAAM,MAAM,WAAW,GAAG,cAAc,CAAA;AAExC,8HAA8H;AAC9H,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAA;AAIjC,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wFAAwF;AACxF,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAA;IACV,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAWD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAerE;AASD,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAc5E;AAED,yFAAyF;AACzF,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAUvD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AASD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAExE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CA0BrG"}