@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
package/dist/run.js ADDED
@@ -0,0 +1,420 @@
1
+ import { Bootstrap, DockerRunner, LocalRunner, LoopEngine, dockerAvailable, builtinFrameworkPresetRegistry, mergeChecklists, serveCheck, } from '@gemstack/ai-autopilot';
2
+ import { snapshotWorkspace } from './sandbox.js';
3
+ import { composeRunSystem } from './system-prompt.js';
4
+ import { createRunControls, emitSessionStart, endStopDetail } from './run-telemetry.js';
5
+ import { createTurnSignalEmitter } from './turn-gate.js';
6
+ import { drainGates, runChatPhase } from './await-gate.js';
7
+ import { leaveResumeNote, runTodoLoop } from './todo-loop.js';
8
+ import { continueAfterChoice, decideDeploy, deployWith, domainLoopChecklist, driverBuild, driverImprove, driverLoopPrompts } from './steps.js';
9
+ import { OPEN_LOOP_MODES } from './events.js';
10
+ import { errorMessage } from './error-message.js';
11
+ /**
12
+ * The framework's default full-fledged pass budget. Higher than ai-autopilot's
13
+ * base of 3 because a from-scratch build spends its first pass or two just
14
+ * bootstrapping an empty workspace before there is anything to polish (#182).
15
+ */
16
+ export const DEFAULT_MAX_PASSES = 5;
17
+ /**
18
+ * Run the whole turnkey flow: detect the framework preset, frame the wrapped
19
+ * agent with its framework skill (page builder + docs), then drive ai-autopilot's `Bootstrap`
20
+ * (scope → build → full-fledged loop → deploy) entirely *through*
21
+ * the driver (option A). Every phase, plus the agent's own progress, streams as
22
+ * a {@link FrameworkEvent}. Reversible: swap in a real deploy target, or a
23
+ * different `Driver`, without touching this wiring.
24
+ */
25
+ export async function runFramework(opts) {
26
+ const events = [];
27
+ const emit = (event) => {
28
+ events.push(event);
29
+ if (opts.onEvent) {
30
+ try {
31
+ opts.onEvent(event);
32
+ }
33
+ catch (err) {
34
+ console.error('[framework] onEvent threw; ignoring:', err);
35
+ }
36
+ }
37
+ };
38
+ // 1. Detect the framework the project already uses. Detection only narrates
39
+ // ("Detected Vike") and rides the result — nothing about it reaches the agent's
40
+ // prompt (#547).
41
+ const signals = opts.signals ?? {};
42
+ const { preset, detection } = builtinFrameworkPresetRegistry().select(signals);
43
+ const domainPreset = opts.preset;
44
+ // The built-in #326 system prompt + any user SYSTEM.md are the whole prompt. Only
45
+ // the template's system half is used here: each Bootstrap step composes its own
46
+ // prompt around the intent, so the user-prompt slot stays with the steps.
47
+ // `tf.params.autopilot` reflects the run's autopilot mode (#325).
48
+ const tf = {
49
+ prompt: opts.intent,
50
+ params: { autopilot: opts.modes?.includes('autopilot') ?? false, ...(opts.eco ? { eco: opts.eco } : {}) },
51
+ };
52
+ // The "read" half of the bind mechanism (#1121/#1129): a topic run's channel lists the projects
53
+ // it can bind to. Read through the same injected seam the gate resolves against, so no `node:fs`
54
+ // reaches this path; absent for a non-topic run, which gets no bind block at all.
55
+ const topicProjects = opts.topic && opts.bind ? (await opts.bind.listProjects()).map(p => p.path) : undefined;
56
+ // One assembly path for the whole system channel (#501), shared with the
57
+ // direct-prompt path so the two can never drift (the drift behind #500).
58
+ const system = composeRunSystem({
59
+ antiLazyPill: opts.antiLazyPill,
60
+ browser: opts.browser,
61
+ handsOff: opts.driver.handsOff === true,
62
+ topic: opts.topic,
63
+ ...(topicProjects ? { topicProjects } : {}),
64
+ transparent: opts.transparent,
65
+ user: opts.systemPrompt,
66
+ tf,
67
+ context: opts.context,
68
+ });
69
+ emitSessionStart({ emit, driver: opts.driver, cwd: opts.cwd, sessionLink: opts.sessionLink, model: opts.model });
70
+ // Surface the exact system prompt the agent runs under (#343). Nothing is read
71
+ // off disk and appended after this, so the text is the whole of it (#547). The
72
+ // per-turn user prompts ride along as `driver` `start` events, so the dashboard
73
+ // can show every prompt sent.
74
+ if (system)
75
+ emit({ kind: 'system-prompt', text: system });
76
+ emit({
77
+ kind: 'log',
78
+ message: `Detected ${detection.framework ?? preset.framework} (confidence ${detection.confidence})`,
79
+ });
80
+ if (domainPreset) {
81
+ const modeNote = opts.modes?.length ? ` (modes: ${opts.modes.join(', ')})` : '';
82
+ emit({
83
+ kind: 'log',
84
+ message: `Domain preset: ${domainPreset.title}${modeNote}; ${domainPreset.loops.length}-loop review policy in effect`,
85
+ });
86
+ // Surface the run's active modes as read-only checkboxes on the dashboard (#272).
87
+ emit({ kind: 'modes', all: OPEN_LOOP_MODES, active: opts.modes ?? [] });
88
+ }
89
+ // The run's abort plumbing and driver-event sink: the caller's signal composed with
90
+ // the budget (#322), consumption (#529), and plan-decline (#358) self-stops.
91
+ const { runSignal, onDriverEvent, consumptionTrip, budgetController, consumptionController, declineController } = createRunControls({
92
+ emit,
93
+ signal: opts.signal,
94
+ sessionLink: opts.sessionLink,
95
+ budgetUsd: opts.budgetUsd,
96
+ consumptionGate: opts.consumptionGate,
97
+ });
98
+ // 2. One driver session for the whole run; each prompt is a fresh invocation.
99
+ // A continuation (#1467) resumes the stopped leg's conversation instead of starting anew.
100
+ const resuming = typeof opts.resumeSessionId === 'string' && opts.resumeSessionId.length > 0;
101
+ const session = await opts.driver.start({
102
+ cwd: opts.cwd,
103
+ system,
104
+ ...(opts.model ? { model: opts.model } : {}),
105
+ ...(resuming ? { resumeSessionId: opts.resumeSessionId } : {}),
106
+ signal: runSignal,
107
+ onEvent: onDriverEvent,
108
+ });
109
+ // The domain preset's review policy (exposed on the result) and the review
110
+ // checklist it drives — absent without a preset (#1372): the agent is a black
111
+ // box, so nothing reviews its work unless the user opted in.
112
+ const { loop, reviewChecklist } = buildReview(session, domainPreset, {
113
+ ...(opts.buildEvent ? { buildEvent: opts.buildEvent } : {}),
114
+ signal: runSignal,
115
+ emit,
116
+ });
117
+ // Boot-and-serve gate: provision a runner so the checklist can gate on the app
118
+ // actually running. Local adopts (never deletes) the driver's cwd in place; docker
119
+ // sandboxes the check in a throwaway container (#229). An injected runner wins over both.
120
+ const sandbox = opts.sandbox ?? 'local';
121
+ const s = opts.serve;
122
+ let runner;
123
+ if (s)
124
+ runner = opts.runner ?? (await provisionServeRunner(sandbox, opts.cwd, s, emit));
125
+ const checklist = withServeCheck(reviewChecklist, runner, s, {
126
+ sandbox,
127
+ cwd: opts.cwd,
128
+ injectedRunner: opts.runner !== undefined,
129
+ emit,
130
+ });
131
+ // A real driver writes files to the workspace, so the build/improve steps can
132
+ // detect an empty workspace and hard-scaffold it (#182). The fake driver writes
133
+ // nothing (its whole workspace is always "empty"), so it opts out to stay
134
+ // deterministic.
135
+ const verifyWorkspace = opts.driver.name !== 'fake';
136
+ const workspaceOpt = verifyWorkspace ? { verifyWorkspace: true } : {};
137
+ // The shared deps of every agent-facing gate.
138
+ const gateDeps = {
139
+ ...(opts.requestChoice ? { requestChoice: opts.requestChoice } : {}),
140
+ emit,
141
+ signal: runSignal,
142
+ onDecline: () => declineController.abort(new Error('[framework] plan declined')),
143
+ // Topic runs only (#1121): resolves an await-bind-project / await-create-project gate.
144
+ ...(opts.bind ? { bind: opts.bind } : {}),
145
+ };
146
+ // A hand-off driver (#1225): the prompt leaves this machine and the reply never comes back,
147
+ // so the build prompt is the entire run. Every phase after it — the review checklist,
148
+ // improving against its blockers, the backlog gate, live chat — would be reading
149
+ // the driver's own "handed off to <url>" summary as if the agent had written it. That is
150
+ // what put a verdict-is-missing complaint and an unanswerable "Start the next
151
+ // backlog item?" call on a dashboard whose agent was somewhere else entirely. So the phases
152
+ // are dropped rather than fed: Bootstrap skips its whole loop when no `checklist` step is
153
+ // given, which leaves scope -> build and nothing after it. A run with no preset and no
154
+ // serve config has no checklist either (#1372), and skips the loop the same way.
155
+ const handsOff = opts.driver.handsOff === true;
156
+ let preview;
157
+ try {
158
+ const bootstrap = new Bootstrap({
159
+ maxPasses: opts.maxPasses ?? DEFAULT_MAX_PASSES,
160
+ signal: runSignal,
161
+ onEvent: (event) => emit({ kind: 'bootstrap', event }),
162
+ steps: {
163
+ scope: () => ({ scope: opts.scope ?? 'full', intent: opts.intent }),
164
+ // Resuming (#1467): the intent IS the continuation message and goes out verbatim — the
165
+ // resumed transcript already carries the build framing, so re-rendering it would stack
166
+ // a second scope→build preamble onto a conversation that lived through the first.
167
+ build: agentAwaitGate(driverBuild(session, { ...workspaceOpt, ...(resuming ? { prompt: (intent) => intent } : {}) }), session, gateDeps),
168
+ ...(handsOff || !checklist ? {} : { checklist, improve: driverImprove(session, workspaceOpt) }),
169
+ ...(opts.deploy
170
+ ? {
171
+ deploy: opts.deployTarget
172
+ ? deployWith(opts.deploy, opts.deployTarget)
173
+ : decideDeploy(opts.deploy),
174
+ }
175
+ : {}),
176
+ },
177
+ });
178
+ const result = await bootstrap.run();
179
+ // The run controls (budget #322, decline #358, quota #529) abort between phases.
180
+ // The review loop used to be the phase after the build and observed the abort for
181
+ // free; with no checklist step the bootstrap can settle without ever re-checking
182
+ // (#1372), so the run must look for itself before treating the result as a success.
183
+ if (runSignal.aborted) {
184
+ throw runSignal.reason instanceof Error ? runSignal.reason : new Error('[framework] run stopped');
185
+ }
186
+ // The backlog loop (#323): with the build settled, consume the agent's own
187
+ // TODO backlog one gated entry per turn until it is empty. Default on for
188
+ // real drivers (the fake demo writes no backlog and must stay deterministic;
189
+ // its reused tmp workspace could also carry stale files). The run signal
190
+ // (Stop / budget cap #322) and the item cap bound it for unattended runs.
191
+ let todo;
192
+ if (!handsOff && (opts.todoLoop ?? opts.driver.name !== 'fake')) {
193
+ todo = await runTodoLoop({
194
+ session,
195
+ cwd: opts.cwd,
196
+ emit,
197
+ requestChoice: opts.requestChoice,
198
+ signal: runSignal,
199
+ maxItems: opts.todoMaxItems,
200
+ });
201
+ }
202
+ // The serve gate boots the app only to check it, then stops it. When the
203
+ // caller opts in (keepAlive), boot it once more after success and leave it up
204
+ // so the user can open it; the caller owns tearing it down (Ctrl+C). Failure
205
+ // to boot is non-fatal. Default off, so a programmatic run never leaks a
206
+ // process a caller that ignores `preview` would never stop.
207
+ if (runner && s?.keepAlive)
208
+ preview = await startAppPreview(runner, s, emit);
209
+ // Live chat (#714): with the build settled, take the user's own messages, each continuing
210
+ // the same session — draining what queued and ending on idle (#1390), or parked until Stop
211
+ // for a terminal-dashboard run (stayOpenChat).
212
+ // A hand-off run has no session here to continue: the CLI can start a cloud session and
213
+ // pull one back, but it cannot send a second message to one, so staying open would offer
214
+ // a composer whose every message answers itself. The run ends instead, with the link.
215
+ if (opts.messages && !handsOff) {
216
+ await runChatPhase(session, opts.messages, { text: '' }, {
217
+ ...(opts.requestChoice ? { requestChoice: opts.requestChoice } : {}),
218
+ emit,
219
+ emitTurnSignals: createTurnSignalEmitter(emit),
220
+ signal: runSignal,
221
+ ...(opts.recordMessage ? { recordMessage: opts.recordMessage } : {}),
222
+ }, opts.stayOpenChat === true);
223
+ }
224
+ // Say why the run stops here, so a finished hand-off does not read as a run that gave up
225
+ // one phase in. The link itself is already on the driver's `cloud <url>` action.
226
+ if (handsOff)
227
+ emit({ kind: 'log', message: 'Handed off: the rest of this run happens in its own session, which opens its own pull request.' });
228
+ emit({ kind: 'end', ok: true });
229
+ return { result, detection, events, ...(preview ? { preview } : {}), ...(loop ? { loop } : {}), ...(todo ? { todo } : {}) };
230
+ }
231
+ catch (err) {
232
+ const { stopped, detail } = await endStopDetail({
233
+ err,
234
+ ...(opts.signal ? { signal: opts.signal } : {}),
235
+ budgetController,
236
+ consumptionController,
237
+ declineController,
238
+ consumptionTrip,
239
+ ...(opts.budgetUsd != null ? { budgetUsd: opts.budgetUsd } : {}),
240
+ leaveResumeNote: () => leaveResumeNote(opts.cwd, events, emit),
241
+ });
242
+ emit({ kind: 'end', ok: false, ...(stopped ? { stopped: true } : {}), detail });
243
+ throw err;
244
+ }
245
+ finally {
246
+ await session.dispose();
247
+ // Keep the runner alive only when it owns a live preview handed to the caller.
248
+ if (runner && !preview)
249
+ await runner.dispose();
250
+ }
251
+ }
252
+ /**
253
+ * Materialize the domain preset's review policy against the run's driver, and the review
254
+ * checklist it drives (#252) — each pass fires the preset's review chain through the
255
+ * driver. Without a preset there is no review checklist at all (#1372): the agent is
256
+ * treated as a black box, so the run reviews only what the user opted into. The build
257
+ * event kind: an explicit run choice wins, else the preset's own default, else
258
+ * `major-change` — how a `bug-fix` run reaches the preset's bug-fix loop (#265). The
259
+ * `loop` is returned so the caller can expose it on the result.
260
+ */
261
+ function buildReview(session, domainPreset, ctx) {
262
+ const loop = domainPreset
263
+ ? new LoopEngine({
264
+ loops: [...domainPreset.loops],
265
+ prompts: driverLoopPrompts(session, domainPreset.prompts, { signal: ctx.signal }),
266
+ })
267
+ : undefined;
268
+ const buildEvent = ctx.buildEvent ?? domainPreset?.defaultEvent ?? 'major-change';
269
+ const reviewChecklist = loop ? domainLoopChecklist(loop, { kind: buildEvent }) : undefined;
270
+ if (loop && domainPreset) {
271
+ ctx.emit({ kind: 'log', message: `Review policy: the ${domainPreset.title} loop drives the ${buildEvent} review` });
272
+ }
273
+ return { loop, reviewChecklist };
274
+ }
275
+ /**
276
+ * Union the review checklist with a boot-and-serve gate (#229) when the run has a runner:
277
+ * `serveCheck` verifies the app actually boots, and `mergeChecklists` runs it alongside
278
+ * the review. A docker sandbox re-seeds the container from the host source before every
279
+ * check (the build writes to the host each pass); local reads the host dir live, so it
280
+ * needs no sync. Without a runner/serve the review checklist stands alone — which may be
281
+ * no checklist at all (#1372: no preset, no serve → nothing gates the build).
282
+ */
283
+ function withServeCheck(review, runner, serve, ctx) {
284
+ if (!runner || !serve)
285
+ return review;
286
+ const check = serveCheck(runner, {
287
+ serve: serve.command,
288
+ ...(serve.install ? { install: serve.install } : {}),
289
+ ...(serve.build ? { build: serve.build } : {}),
290
+ ...(serve.port !== undefined ? { port: serve.port } : {}),
291
+ ...(serve.waitMs !== undefined ? { waitMs: serve.waitMs } : {}),
292
+ ...(serve.healthPath ? { healthPath: serve.healthPath } : {}),
293
+ onProgress: message => ctx.emit({ kind: 'log', message: `serve: ${message}` }),
294
+ });
295
+ const serveStep = ctx.sandbox === 'docker' && !ctx.injectedRunner ? syncThenServe(runner, ctx.cwd, check, ctx.emit) : check;
296
+ return review ? mergeChecklists(review, serveStep) : serveStep;
297
+ }
298
+ /**
299
+ * The agent-authored await gate (#337 / #339): the turn-boundary counterpart to the
300
+ * framework-emitted plan-approval gate (#304). When a build turn ends by asking the
301
+ * user — an `await-choices` (pick one), `await-multiselect` (pick any), or
302
+ * `await-confirmation` (approve/decline a plan, #358) block per
303
+ * {@link AWAIT_PROTOCOL}, e.g. the #326 alternatives flow or the [Research] preset (#331)
304
+ * — rather than finishing, show it, wait for the answer, and re-prompt the driver to
305
+ * continue from that decision. A no-op unless a {@link RunFrameworkOptions.requestChoice}
306
+ * handler is wired (headless byte-identical), and unless the agent actually stopped to
307
+ * ask (the common case returns straight through). Bounded so an agent that keeps asking
308
+ * can't loop forever.
309
+ */
310
+ function agentAwaitGate(base, session, deps) {
311
+ return async (ctx) => {
312
+ const { requestChoice, emit } = deps;
313
+ // Non-blocking signals the agent emitted this turn: markdown views (#441) pushed to the
314
+ // rail, and the #326 lifecycle signals (session name, ready-for-merge) that flip the run's
315
+ // dashboard status. None stop the turn.
316
+ const emitTurnSignals = createTurnSignalEmitter(emit);
317
+ let run = await base(ctx);
318
+ emitTurnSignals(run.text);
319
+ // The run controls (budget #322, quota #529) abort on the build turn's own usage.
320
+ // The build can be the bootstrap's last step (#1372: no checklist without a preset or
321
+ // serve config), so a stop the loop would once have caught must throw here — otherwise
322
+ // the bootstrap settles an aborted run as done.
323
+ const throwIfStopped = () => {
324
+ if (!deps.signal?.aborted)
325
+ return;
326
+ throw deps.signal.reason instanceof Error ? deps.signal.reason : new Error('[framework] run stopped');
327
+ };
328
+ // Headless: nobody to ask, so the build's turn stands as it is rather than auto-answering
329
+ // its own question. (The prompt paths differ here — they resolve to the recommended pick.)
330
+ if (!requestChoice) {
331
+ throwIfStopped();
332
+ return run;
333
+ }
334
+ const drained = await drainGates(run, { ...deps, emitTurnSignals }, (question, answer) => continueAfterChoice(session, ctx, question, answer));
335
+ // A declined plan (#358) ends the build here rather than re-prompting: the user takes over
336
+ // with fresh instructions (e.g. a new run from the dashboard).
337
+ if (drained.declined)
338
+ deps.onDecline?.();
339
+ // The agent kept asking past the limit: proceed with the latest turn rather than loop.
340
+ else if (drained.exhausted)
341
+ emit({ kind: 'log', message: 'Proceeding with the build (await limit reached).' });
342
+ throwIfStopped();
343
+ return drained.turn;
344
+ };
345
+ }
346
+ /**
347
+ * Boot the generated app in the adopted runner and keep it serving. Reuses the
348
+ * same {@link ServeConfig} the serve gate used (deps are already installed from
349
+ * the gate), so this only `start`s the server and `preview`s the port. Returns a
350
+ * handle that stops the app and frees the runner; on any failure it narrates and
351
+ * returns `undefined` so a run never fails just because the demo preview didn't
352
+ * come up.
353
+ */
354
+ async function startAppPreview(runner, serve, emit) {
355
+ if (!runner.start || !runner.preview)
356
+ return undefined;
357
+ let proc;
358
+ try {
359
+ proc = await runner.start(serve.command);
360
+ const { url } = await runner.preview({
361
+ port: serve.port ?? 3000,
362
+ waitMs: serve.waitMs ?? 15_000,
363
+ });
364
+ emit({ kind: 'preview', url, command: serve.command });
365
+ let stopped = false;
366
+ return {
367
+ url,
368
+ command: serve.command,
369
+ stop: async () => {
370
+ if (stopped)
371
+ return;
372
+ stopped = true;
373
+ try {
374
+ await proc?.stop();
375
+ }
376
+ finally {
377
+ await runner.dispose();
378
+ }
379
+ },
380
+ };
381
+ }
382
+ catch (err) {
383
+ emit({ kind: 'log', message: `preview: could not boot the app (${errorMessage(err)})` });
384
+ // Leave cleanup to the caller's finally (runner.dispose stops leftovers).
385
+ return undefined;
386
+ }
387
+ }
388
+ /**
389
+ * Provision the runner the serve gate verifies in (#229). `local` adopts the host
390
+ * cwd in place (dispose leaves it); `docker` boots a throwaway container the check
391
+ * seeds and tears down. Fails fast with a clear message when docker is requested
392
+ * but not reachable, so the run never limps on unsandboxed by surprise.
393
+ */
394
+ async function provisionServeRunner(sandbox, cwd, serve, emit) {
395
+ if (sandbox === 'docker') {
396
+ if (!(await dockerAvailable())) {
397
+ throw new Error('sandbox: --sandbox docker was requested but Docker is not reachable (need a running daemon and the `docker` CLI on PATH).');
398
+ }
399
+ emit({ kind: 'log', message: 'sandbox: booting a Docker container for the serve check' });
400
+ // preview() publishes the container's fixed port, so it must match the port the
401
+ // serve check previews on (serve.port, default 3000).
402
+ return new DockerRunner({ previewPort: serve.port ?? 3000 }).boot();
403
+ }
404
+ return new LocalRunner().adopt(cwd);
405
+ }
406
+ /**
407
+ * Wrap a serve check so the sandbox is re-seeded with the host source before it
408
+ * runs. The build happens on the host in this slice, so an isolated container has
409
+ * to be synced each pass to see what the agent just wrote.
410
+ */
411
+ function syncThenServe(runner, cwd, check, emit) {
412
+ return async (ctx) => {
413
+ const files = await snapshotWorkspace(cwd);
414
+ for (const [path, contents] of Object.entries(files))
415
+ await runner.fs.write(path, contents);
416
+ emit({ kind: 'log', message: `serve: synced ${Object.keys(files).length} file(s) into the sandbox` });
417
+ return check(ctx);
418
+ };
419
+ }
420
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The composite key scheme for the daemon runtime's per-project state (#736): `<projectKey>::<agentId>`,
3
+ * or the bare project key for a project-scoped entry (a fallback agent with no worktree, a project's
4
+ * preview). Built and parsed only here -- three call sites used to hand-roll the encoding, the prefix
5
+ * match and the split separately -- and shared by the agent runtime and the preview runtime, which both
6
+ * key their state this way.
7
+ */
8
+ /** Encode a run/preview key: project-scoped when `agentId` is absent, else run-scoped. */
9
+ export declare const scopedKey: (projectKey: string, agentId?: string) => string;
10
+ /** The two halves of a {@link scopedKey}. */
11
+ export declare function parseScopedKey(key: string): {
12
+ projectKey: string;
13
+ agentId?: string;
14
+ };
15
+ /** Whether a {@link scopedKey} belongs to a project (its own entry, or one of its agents). */
16
+ export declare const keyBelongsTo: (key: string, projectKey: string) => boolean;
17
+ //# sourceMappingURL=runtime-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-keys.d.ts","sourceRoot":"","sources":["../src/runtime-keys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0FAA0F;AAC1F,eAAO,MAAM,SAAS,eAAgB,MAAM,YAAY,MAAM,KAAG,MAA8D,CAAA;AAE/H,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAGpF;AAED,8FAA8F;AAC9F,eAAO,MAAM,YAAY,QAAS,MAAM,cAAc,MAAM,KAAG,OAAkE,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The composite key scheme for the daemon runtime's per-project state (#736): `<projectKey>::<agentId>`,
3
+ * or the bare project key for a project-scoped entry (a fallback agent with no worktree, a project's
4
+ * preview). Built and parsed only here -- three call sites used to hand-roll the encoding, the prefix
5
+ * match and the split separately -- and shared by the agent runtime and the preview runtime, which both
6
+ * key their state this way.
7
+ */
8
+ /** Encode a run/preview key: project-scoped when `agentId` is absent, else run-scoped. */
9
+ export const scopedKey = (projectKey, agentId) => (agentId ? `${projectKey}::${agentId}` : projectKey);
10
+ /** The two halves of a {@link scopedKey}. */
11
+ export function parseScopedKey(key) {
12
+ const separator = key.indexOf('::');
13
+ return separator === -1 ? { projectKey: key } : { projectKey: key.slice(0, separator), agentId: key.slice(separator + 2) };
14
+ }
15
+ /** Whether a {@link scopedKey} belongs to a project (its own entry, or one of its agents). */
16
+ export const keyBelongsTo = (key, projectKey) => key === projectKey || key.startsWith(`${projectKey}::`);
17
+ //# sourceMappingURL=runtime-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-keys.js","sourceRoot":"","sources":["../src/runtime-keys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0FAA0F;AAC1F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,OAAgB,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;AAE/H,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAA;AAC5H,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,UAAkB,EAAW,EAAE,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,CAAC,CAAA"}
@@ -0,0 +1,27 @@
1
+ import type { FileTree } from '@gemstack/ai-autopilot';
2
+ /**
3
+ * Directory names never copied into a sandbox: build output, VCS, and caches. The
4
+ * sandbox installs its own deps, so `node_modules` is copied by nobody — it is
5
+ * rebuilt inside the container from the seeded `package.json`.
6
+ */
7
+ export declare const SANDBOX_IGNORE: ReadonlySet<string>;
8
+ /** Options for {@link snapshotWorkspace}. */
9
+ export interface SnapshotOptions {
10
+ /** Directory names to skip. Default {@link SANDBOX_IGNORE}. */
11
+ ignore?: ReadonlySet<string>;
12
+ /** Skip files larger than this many bytes (default 1 MiB) — assets belong in the repo, not the sandbox seed. */
13
+ maxFileBytes?: number;
14
+ }
15
+ /**
16
+ * Read a host workspace into a Runner {@link FileTree} (relative path → contents),
17
+ * so a fresh sandbox container can be seeded with just the source the driver wrote.
18
+ * This is the Docker analog of `LocalRunner.adopt`: Local adopts the host dir in
19
+ * place, Docker cannot, so we copy the source in.
20
+ *
21
+ * Text only, and deliberately shallow on cost: build/VCS/cache dirs are skipped,
22
+ * oversized files are skipped, and a file containing a NUL byte is treated as
23
+ * binary and skipped (its absence does not stop the app from booting for a health
24
+ * check). This is a first-slice serve-verification seed, not a faithful mirror.
25
+ */
26
+ export declare function snapshotWorkspace(dir: string, opts?: SnapshotOptions): Promise<FileTree>;
27
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAY7C,CAAA;AAEF,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5B,gHAAgH;IAChH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4BlG"}
@@ -0,0 +1,63 @@
1
+ import { readdir, readFile, stat } from 'node:fs/promises';
2
+ import { join, relative, sep } from 'node:path';
3
+ /**
4
+ * Directory names never copied into a sandbox: build output, VCS, and caches. The
5
+ * sandbox installs its own deps, so `node_modules` is copied by nobody — it is
6
+ * rebuilt inside the container from the seeded `package.json`.
7
+ */
8
+ export const SANDBOX_IGNORE = new Set([
9
+ 'node_modules',
10
+ '.git',
11
+ 'dist',
12
+ 'build',
13
+ 'out',
14
+ '.next',
15
+ '.turbo',
16
+ '.vite',
17
+ '.cache',
18
+ 'coverage',
19
+ '.the-framework',
20
+ ]);
21
+ /**
22
+ * Read a host workspace into a Runner {@link FileTree} (relative path → contents),
23
+ * so a fresh sandbox container can be seeded with just the source the driver wrote.
24
+ * This is the Docker analog of `LocalRunner.adopt`: Local adopts the host dir in
25
+ * place, Docker cannot, so we copy the source in.
26
+ *
27
+ * Text only, and deliberately shallow on cost: build/VCS/cache dirs are skipped,
28
+ * oversized files are skipped, and a file containing a NUL byte is treated as
29
+ * binary and skipped (its absence does not stop the app from booting for a health
30
+ * check). This is a first-slice serve-verification seed, not a faithful mirror.
31
+ */
32
+ export async function snapshotWorkspace(dir, opts = {}) {
33
+ const ignore = opts.ignore ?? SANDBOX_IGNORE;
34
+ const maxBytes = opts.maxFileBytes ?? 1024 * 1024;
35
+ const tree = {};
36
+ async function walk(abs) {
37
+ const entries = await readdir(abs, { withFileTypes: true });
38
+ for (const entry of entries) {
39
+ if (ignore.has(entry.name))
40
+ continue;
41
+ const child = join(abs, entry.name);
42
+ if (entry.isDirectory()) {
43
+ await walk(child);
44
+ continue;
45
+ }
46
+ if (!entry.isFile())
47
+ continue; // skip symlinks, sockets, devices
48
+ // Check the size before reading, so a huge asset is skipped without ever
49
+ // loading it into memory.
50
+ const st = await stat(child);
51
+ if (st.size > maxBytes)
52
+ continue;
53
+ const buf = await readFile(child);
54
+ if (buf.includes(0))
55
+ continue; // binary
56
+ // Always use POSIX separators: the key is a path inside a Linux container.
57
+ tree[relative(dir, child).split(sep).join('/')] = buf.toString('utf8');
58
+ }
59
+ }
60
+ await walk(dir);
61
+ return tree;
62
+ }
63
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAG/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,gBAAgB;CACjB,CAAC,CAAA;AAUF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,OAAwB,EAAE;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,CAAA;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,IAAI,CAAA;IACjD,MAAM,IAAI,GAAa,EAAE,CAAA;IAEzB,KAAK,UAAU,IAAI,CAAC,GAAW;QAC7B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjB,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAAE,SAAQ,CAAC,kCAAkC;YAChE,yEAAyE;YACzE,0BAA0B;YAC1B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,EAAE,CAAC,IAAI,GAAG,QAAQ;gBAAE,SAAQ;YAChC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,SAAQ,CAAC,SAAS;YACvC,2EAA2E;YAC3E,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;IACf,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The placeholder a session-link template uses for the real session id.
3
+ * Remote Control does not expose a URL you can build from a session id, so we
4
+ * surface the honest id and let a template — a driver's own link report, e.g.
5
+ * `https://example.com/s/{sessionId}` — drop a real URL in when there is one.
6
+ */
7
+ export declare const SESSION_ID_PLACEHOLDER = "{sessionId}";
8
+ /** Whether a session-link value is a template (needs the id) vs a literal URL. */
9
+ export declare function hasSessionIdPlaceholder(template: string): boolean;
10
+ /** Fill a session-link template with the real session id (no-op for a literal). */
11
+ export declare function resolveSessionLink(template: string, sessionId: string): string;
12
+ /**
13
+ * The generic Claude Code entry point. It is NOT a per-agent live session: a
14
+ * headless run is not Remote-Controlled, so there is no deep link to build (see
15
+ * #214). We surface this only as an "Open Claude Code" affordance; a real live
16
+ * link comes from an explicit `sessionLink`.
17
+ */
18
+ export declare const CLAUDE_CODE_SESSION_LINK = "https://claude.ai/code";
19
+ //# sourceMappingURL=session-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-link.d.ts","sourceRoot":"","sources":["../src/session-link.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gBAAgB,CAAA;AAEnD,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,2BAA2B,CAAA"}
@@ -0,0 +1,26 @@
1
+ // The session-link plumbing: turn a link template into a real URL for the wrapped
2
+ // agent's session. Kept apart from the event contract (events.ts) and the terminal
3
+ // formatter (terminal.ts) — it is about session URLs, not event shapes or rendering.
4
+ /**
5
+ * The placeholder a session-link template uses for the real session id.
6
+ * Remote Control does not expose a URL you can build from a session id, so we
7
+ * surface the honest id and let a template — a driver's own link report, e.g.
8
+ * `https://example.com/s/{sessionId}` — drop a real URL in when there is one.
9
+ */
10
+ export const SESSION_ID_PLACEHOLDER = '{sessionId}';
11
+ /** Whether a session-link value is a template (needs the id) vs a literal URL. */
12
+ export function hasSessionIdPlaceholder(template) {
13
+ return template.includes(SESSION_ID_PLACEHOLDER);
14
+ }
15
+ /** Fill a session-link template with the real session id (no-op for a literal). */
16
+ export function resolveSessionLink(template, sessionId) {
17
+ return template.split(SESSION_ID_PLACEHOLDER).join(sessionId);
18
+ }
19
+ /**
20
+ * The generic Claude Code entry point. It is NOT a per-agent live session: a
21
+ * headless run is not Remote-Controlled, so there is no deep link to build (see
22
+ * #214). We surface this only as an "Open Claude Code" affordance; a real live
23
+ * link comes from an explicit `sessionLink`.
24
+ */
25
+ export const CLAUDE_CODE_SESSION_LINK = 'https://claude.ai/code';
26
+ //# sourceMappingURL=session-link.js.map