@openagt/dashboard 0.8.0 → 0.10.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 (965) hide show
  1. package/README.md +14 -17
  2. package/dist/agent-view.d.ts +3 -3
  3. package/dist/bridge-browser.d.ts +4 -4
  4. package/dist/bridge-browser.d.ts.map +1 -1
  5. package/dist/bridge-browser.js +8 -8
  6. package/dist/bridge-browser.js.map +1 -1
  7. package/dist/built-in.d.ts +45 -14
  8. package/dist/built-in.d.ts.map +1 -1
  9. package/dist/built-in.js +122 -27
  10. package/dist/built-in.js.map +1 -1
  11. package/dist/chrome-extension/background.js +11 -11
  12. package/dist/chrome-extension/content.js +37 -37
  13. package/dist/chrome-extension/driver-plan.js +1 -1
  14. package/dist/chrome-extension/fingerprint.js +1 -1
  15. package/dist/chrome-extension/manifest.json +3 -3
  16. package/dist/chrome-extension/options.html +4 -4
  17. package/dist/chrome-extension/options.js +4 -4
  18. package/dist/cli.d.ts +1 -1
  19. package/dist/cli.js +7 -7
  20. package/dist/cli.js.map +1 -1
  21. package/dist/client.d.ts +1 -1
  22. package/dist/client.js +2 -2
  23. package/dist/cloud-run-state.d.ts +1 -1
  24. package/dist/cloud-scratch-refs.js +7 -7
  25. package/dist/cloud-scratch-refs.js.map +1 -1
  26. package/dist/cloud-work.js +2 -2
  27. package/dist/daemon-runtime.d.ts +5 -4
  28. package/dist/daemon-runtime.d.ts.map +1 -1
  29. package/dist/daemon-runtime.js +59 -10
  30. package/dist/daemon-runtime.js.map +1 -1
  31. package/dist/daemon-services.d.ts +4 -3
  32. package/dist/daemon-services.d.ts.map +1 -1
  33. package/dist/daemon-services.js +14 -8
  34. package/dist/daemon-services.js.map +1 -1
  35. package/dist/daemon-tick.js +1 -1
  36. package/dist/daemon.d.ts +1 -12
  37. package/dist/daemon.d.ts.map +1 -1
  38. package/dist/daemon.js +9 -32
  39. package/dist/daemon.js.map +1 -1
  40. package/dist/dashboard/agent-handoff.d.ts +4 -4
  41. package/dist/dashboard/agent-handoff.js +7 -7
  42. package/dist/dashboard/agent-handoff.js.map +1 -1
  43. package/dist/dashboard/bridge-endpoints.d.ts +3 -3
  44. package/dist/dashboard/bridge-endpoints.js +3 -3
  45. package/dist/dashboard/content-type.js +1 -1
  46. package/dist/dashboard/docs.d.ts +1 -1
  47. package/dist/dashboard/docs.js +1 -1
  48. package/dist/dashboard/git-status.d.ts +1 -1
  49. package/dist/dashboard/index.d.ts +1 -1
  50. package/dist/dashboard/index.d.ts.map +1 -1
  51. package/dist/dashboard/interventions.d.ts +2 -2
  52. package/dist/dashboard/open-in-app.d.ts +3 -3
  53. package/dist/dashboard/open-in-app.js +4 -4
  54. package/dist/dashboard/open-questions.d.ts +2 -2
  55. package/dist/dashboard/projects.d.ts +6 -5
  56. package/dist/dashboard/projects.d.ts.map +1 -1
  57. package/dist/dashboard/projects.js.map +1 -1
  58. package/dist/dashboard/pull-requests.d.ts +5 -5
  59. package/dist/dashboard/pull-requests.d.ts.map +1 -1
  60. package/dist/dashboard/pull-requests.js +2 -2
  61. package/dist/dashboard/pull-requests.js.map +1 -1
  62. package/dist/dashboard/relay-endpoints.d.ts +3 -3
  63. package/dist/dashboard/relay-endpoints.js +1 -1
  64. package/dist/dashboard/remote-run.d.ts +5 -5
  65. package/dist/dashboard/remote-run.js +3 -3
  66. package/dist/dashboard/rpc-serve.d.ts +7 -4
  67. package/dist/dashboard/rpc-serve.d.ts.map +1 -1
  68. package/dist/dashboard/rpc-serve.js.map +1 -1
  69. package/dist/dashboard/run-inbox.d.ts +2 -2
  70. package/dist/dashboard/run-inbox.js +4 -4
  71. package/dist/dashboard/run-inbox.js.map +1 -1
  72. package/dist/dashboard/server.d.ts +6 -4
  73. package/dist/dashboard/server.d.ts.map +1 -1
  74. package/dist/dashboard/server.js +3 -2
  75. package/dist/dashboard/server.js.map +1 -1
  76. package/dist/dashboard/start-branch.d.ts +32 -0
  77. package/dist/dashboard/start-branch.d.ts.map +1 -0
  78. package/dist/dashboard/start-branch.js +47 -0
  79. package/dist/dashboard/start-branch.js.map +1 -0
  80. package/dist/dashboard/static.js +1 -1
  81. package/dist/dashboard/types.d.ts +29 -3
  82. package/dist/dashboard/types.d.ts.map +1 -1
  83. package/dist/dashboard/web-start-endpoints.d.ts +1 -1
  84. package/dist/dashboard/web-start-endpoints.d.ts.map +1 -1
  85. package/dist/dashboard/web-start-endpoints.js +1 -1
  86. package/dist/dashboard/web-start-endpoints.js.map +1 -1
  87. package/dist/dashboard-bundle/assets/main-Q7JMdMJI.css +2 -0
  88. package/dist/dashboard-bundle/assets/main-fDZWGOub.js +140 -0
  89. package/dist/dashboard-bundle/assets/{module-jASZmfSB.js → module-gKz-ZvkG.js} +4 -4
  90. package/dist/dashboard-bundle/host/module.js +1 -1
  91. package/dist/dashboard-bundle/index.html +6 -6
  92. package/dist/dashboard-rpc/context.d.ts +2 -0
  93. package/dist/dashboard-rpc/context.d.ts.map +1 -1
  94. package/dist/dashboard-rpc/context.js +4 -0
  95. package/dist/dashboard-rpc/context.js.map +1 -1
  96. package/dist/dashboard-rpc/control.d.ts +1 -1
  97. package/dist/dashboard-rpc/control.js +3 -3
  98. package/dist/dashboard-rpc/control.js.map +1 -1
  99. package/dist/dashboard-rpc/events.d.ts +3 -3
  100. package/dist/dashboard-rpc/index.d.ts +2 -1
  101. package/dist/dashboard-rpc/index.d.ts.map +1 -1
  102. package/dist/dashboard-rpc/index.js +4 -2
  103. package/dist/dashboard-rpc/index.js.map +1 -1
  104. package/dist/dashboard-rpc/modules.d.ts +8 -6
  105. package/dist/dashboard-rpc/modules.d.ts.map +1 -1
  106. package/dist/dashboard-rpc/modules.js +8 -6
  107. package/dist/dashboard-rpc/modules.js.map +1 -1
  108. package/dist/dashboard-rpc/preferences.d.ts +2 -2
  109. package/dist/dashboard-rpc/preferences.d.ts.map +1 -1
  110. package/dist/dashboard-rpc/preferences.js +2 -2
  111. package/dist/dashboard-rpc/preferences.js.map +1 -1
  112. package/dist/dashboard-rpc/projects.d.ts +29 -3
  113. package/dist/dashboard-rpc/projects.d.ts.map +1 -1
  114. package/dist/dashboard-rpc/projects.js +57 -8
  115. package/dist/dashboard-rpc/projects.js.map +1 -1
  116. package/dist/dashboard-rpc/reads.d.ts +3 -3
  117. package/dist/dashboard-rpc/reads.js +1 -1
  118. package/dist/dashboard-rpc/skills.d.ts +80 -0
  119. package/dist/dashboard-rpc/skills.d.ts.map +1 -0
  120. package/dist/dashboard-rpc/skills.js +84 -0
  121. package/dist/dashboard-rpc/skills.js.map +1 -0
  122. package/dist/dashboard-rpc/test-context.d.ts.map +1 -1
  123. package/dist/dashboard-rpc/test-context.js +4 -3
  124. package/dist/dashboard-rpc/test-context.js.map +1 -1
  125. package/dist/event-stream.d.ts +1 -1
  126. package/dist/event-stream.js +1 -1
  127. package/dist/events.d.ts +8 -8
  128. package/dist/events.d.ts.map +1 -1
  129. package/dist/index.d.ts +3 -2
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/install.d.ts +9 -7
  132. package/dist/install.d.ts.map +1 -1
  133. package/dist/install.js +28 -14
  134. package/dist/install.js.map +1 -1
  135. package/dist/module-server.d.ts +1 -1
  136. package/dist/module-types/dashboard/components/ui/switch.d.ts +7 -0
  137. package/dist/module-types/dashboard/lib/route.d.ts +2 -1
  138. package/dist/module-types/dashboard/lib/use-modules.d.ts +4 -3
  139. package/dist/module-types/dashboard/module/index.d.ts +6 -5
  140. package/dist/module-types/src/agent-view.d.ts +3 -3
  141. package/dist/module-types/src/bridge-browser.d.ts +4 -4
  142. package/dist/module-types/src/built-in.d.ts +45 -14
  143. package/dist/module-types/src/client.d.ts +1 -1
  144. package/dist/module-types/src/cloud-run-state.d.ts +1 -1
  145. package/dist/module-types/src/dashboard/agent-handoff.d.ts +4 -4
  146. package/dist/module-types/src/dashboard/bridge-endpoints.d.ts +3 -3
  147. package/dist/module-types/src/dashboard/docs.d.ts +1 -1
  148. package/dist/module-types/src/dashboard/git-status.d.ts +1 -1
  149. package/dist/module-types/src/dashboard/interventions.d.ts +2 -2
  150. package/dist/module-types/src/dashboard/open-in-app.d.ts +3 -3
  151. package/dist/module-types/src/dashboard/open-questions.d.ts +2 -2
  152. package/dist/module-types/src/dashboard/projects.d.ts +6 -5
  153. package/dist/module-types/src/dashboard/pull-requests.d.ts +5 -5
  154. package/dist/module-types/src/dashboard/remote-run.d.ts +5 -5
  155. package/dist/module-types/src/dashboard/rpc-serve.d.ts +7 -4
  156. package/dist/module-types/src/dashboard/run-inbox.d.ts +2 -2
  157. package/dist/module-types/src/dashboard/start-branch.d.ts +31 -0
  158. package/dist/module-types/src/dashboard/types.d.ts +29 -3
  159. package/dist/module-types/src/dashboard-rpc/context.d.ts +2 -0
  160. package/dist/module-types/src/dashboard-rpc/control.d.ts +1 -1
  161. package/dist/module-types/src/dashboard-rpc/events.d.ts +3 -3
  162. package/dist/module-types/src/dashboard-rpc/index.d.ts +2 -1
  163. package/dist/module-types/src/dashboard-rpc/modules.d.ts +8 -6
  164. package/dist/module-types/src/dashboard-rpc/preferences.d.ts +2 -2
  165. package/dist/module-types/src/dashboard-rpc/projects.d.ts +29 -3
  166. package/dist/module-types/src/dashboard-rpc/reads.d.ts +3 -3
  167. package/dist/module-types/src/dashboard-rpc/skills.d.ts +79 -0
  168. package/dist/module-types/src/event-stream.d.ts +1 -1
  169. package/dist/module-types/src/events.d.ts +8 -8
  170. package/dist/module-types/src/index.d.ts +3 -2
  171. package/dist/module-types/src/open-choices.d.ts +2 -2
  172. package/dist/module-types/src/openagent-dir.d.ts +8 -0
  173. package/dist/module-types/src/openagent-gitignore.d.ts +11 -0
  174. package/dist/module-types/src/project-commands.d.ts +5 -1
  175. package/dist/module-types/src/project-errors.d.ts +11 -7
  176. package/dist/module-types/src/project-hooks.d.ts +12 -9
  177. package/dist/module-types/src/project-modules.d.ts +9 -7
  178. package/dist/module-types/src/project-presets.d.ts +4 -4
  179. package/dist/module-types/src/project.d.ts +6 -6
  180. package/dist/module-types/src/publish-levels.d.ts +4 -4
  181. package/dist/module-types/src/quota-boundary.d.ts +2 -2
  182. package/dist/module-types/src/registry.d.ts +13 -7
  183. package/dist/module-types/src/store/agent-checkout.d.ts +1 -1
  184. package/dist/module-types/src/store/agent-store.d.ts +6 -6
  185. package/dist/module-types/src/store/branches.d.ts +8 -8
  186. package/dist/module-types/src/store/git-host.d.ts +8 -8
  187. package/dist/module-types/src/store/provided.d.ts +3 -3
  188. package/dist/module-types/src/store/queue.d.ts +9 -9
  189. package/dist/module-types/src/store/repository.d.ts +2 -2
  190. package/dist/module-types/src/store/run-record.d.ts +10 -10
  191. package/dist/module-types/src/store/runs.d.ts +7 -7
  192. package/dist/module-types/src/store/tickets.d.ts +8 -8
  193. package/dist/module-types/src/terminal.d.ts +3 -3
  194. package/dist/open-choices.d.ts +2 -2
  195. package/dist/openagent-dir.d.ts +9 -0
  196. package/dist/openagent-dir.d.ts.map +1 -0
  197. package/dist/openagent-dir.js +9 -0
  198. package/dist/openagent-dir.js.map +1 -0
  199. package/dist/openagent-gitignore.d.ts +12 -0
  200. package/dist/openagent-gitignore.d.ts.map +1 -0
  201. package/dist/openagent-gitignore.js +19 -0
  202. package/dist/openagent-gitignore.js.map +1 -0
  203. package/dist/pick-directory.js +2 -2
  204. package/dist/pick-directory.js.map +1 -1
  205. package/dist/project-commands.d.ts +5 -1
  206. package/dist/project-commands.d.ts.map +1 -1
  207. package/dist/project-commands.js +1 -1
  208. package/dist/project-commands.js.map +1 -1
  209. package/dist/project-errors.d.ts +11 -7
  210. package/dist/project-errors.d.ts.map +1 -1
  211. package/dist/project-errors.js +10 -8
  212. package/dist/project-errors.js.map +1 -1
  213. package/dist/project-hooks.d.ts +12 -9
  214. package/dist/project-hooks.d.ts.map +1 -1
  215. package/dist/project-hooks.js +17 -14
  216. package/dist/project-hooks.js.map +1 -1
  217. package/dist/project-modules.d.ts +9 -7
  218. package/dist/project-modules.d.ts.map +1 -1
  219. package/dist/project-modules.js +7 -13
  220. package/dist/project-modules.js.map +1 -1
  221. package/dist/project-presets.d.ts +4 -4
  222. package/dist/project-presets.d.ts.map +1 -1
  223. package/dist/project-presets.js +9 -9
  224. package/dist/project-presets.js.map +1 -1
  225. package/dist/project.d.ts +6 -6
  226. package/dist/project.d.ts.map +1 -1
  227. package/dist/project.js +6 -7
  228. package/dist/project.js.map +1 -1
  229. package/dist/publish-levels.d.ts +4 -4
  230. package/dist/publish-levels.d.ts.map +1 -1
  231. package/dist/publish-levels.js +7 -5
  232. package/dist/publish-levels.js.map +1 -1
  233. package/dist/quota-boundary.d.ts +2 -2
  234. package/dist/quota-boundary.js +2 -2
  235. package/dist/registry.d.ts +13 -7
  236. package/dist/registry.d.ts.map +1 -1
  237. package/dist/registry.js +19 -3
  238. package/dist/registry.js.map +1 -1
  239. package/dist/remove-files.d.ts +24 -0
  240. package/dist/remove-files.d.ts.map +1 -0
  241. package/dist/remove-files.js +98 -0
  242. package/dist/remove-files.js.map +1 -0
  243. package/dist/store/agent-checkout.d.ts +1 -1
  244. package/dist/store/agent-checkout.js +3 -3
  245. package/dist/store/agent-checkout.js.map +1 -1
  246. package/dist/store/agent-store.d.ts +6 -6
  247. package/dist/store/agent-store.js +8 -8
  248. package/dist/store/agent-store.js.map +1 -1
  249. package/dist/store/branches.d.ts +8 -8
  250. package/dist/store/branches.d.ts.map +1 -1
  251. package/dist/store/branches.js +2 -2
  252. package/dist/store/branches.js.map +1 -1
  253. package/dist/store/git-host.d.ts +8 -8
  254. package/dist/store/git-host.d.ts.map +1 -1
  255. package/dist/store/git-host.js +3 -3
  256. package/dist/store/git-host.js.map +1 -1
  257. package/dist/store/provided.d.ts +3 -3
  258. package/dist/store/provided.d.ts.map +1 -1
  259. package/dist/store/provided.js +3 -3
  260. package/dist/store/provided.js.map +1 -1
  261. package/dist/store/queue.d.ts +9 -9
  262. package/dist/store/queue.d.ts.map +1 -1
  263. package/dist/store/queue.js +2 -2
  264. package/dist/store/queue.js.map +1 -1
  265. package/dist/store/repository.d.ts +2 -2
  266. package/dist/store/run-record.d.ts +10 -10
  267. package/dist/store/run-record.d.ts.map +1 -1
  268. package/dist/store/run-record.js +7 -7
  269. package/dist/store/run-record.js.map +1 -1
  270. package/dist/store/runs.d.ts +7 -7
  271. package/dist/store/runs.d.ts.map +1 -1
  272. package/dist/store/runs.js +3 -3
  273. package/dist/store/runs.js.map +1 -1
  274. package/dist/store/test-branches.d.ts +0 -8
  275. package/dist/store/test-branches.d.ts.map +1 -1
  276. package/dist/store/test-branches.js +0 -24
  277. package/dist/store/test-branches.js.map +1 -1
  278. package/dist/store/tickets.d.ts +8 -8
  279. package/dist/store/tickets.d.ts.map +1 -1
  280. package/dist/store/tickets.js +2 -2
  281. package/dist/store/tickets.js.map +1 -1
  282. package/dist/terminal.d.ts +3 -3
  283. package/dist/terminal.js +3 -3
  284. package/package.json +23 -20
  285. package/dist/agent-archive.d.ts +0 -35
  286. package/dist/agent-archive.d.ts.map +0 -1
  287. package/dist/agent-archive.js +0 -67
  288. package/dist/agent-archive.js.map +0 -1
  289. package/dist/agent-commit.d.ts +0 -140
  290. package/dist/agent-commit.d.ts.map +0 -1
  291. package/dist/agent-commit.js +0 -254
  292. package/dist/agent-commit.js.map +0 -1
  293. package/dist/agent-driver.d.ts +0 -28
  294. package/dist/agent-driver.d.ts.map +0 -1
  295. package/dist/agent-driver.js +0 -18
  296. package/dist/agent-driver.js.map +0 -1
  297. package/dist/agent-location.d.ts +0 -11
  298. package/dist/agent-location.d.ts.map +0 -1
  299. package/dist/agent-location.js +0 -10
  300. package/dist/agent-location.js.map +0 -1
  301. package/dist/agent-messages.d.ts +0 -55
  302. package/dist/agent-messages.d.ts.map +0 -1
  303. package/dist/agent-messages.js +0 -73
  304. package/dist/agent-messages.js.map +0 -1
  305. package/dist/agent-names.d.ts +0 -24
  306. package/dist/agent-names.d.ts.map +0 -1
  307. package/dist/agent-names.js +0 -33
  308. package/dist/agent-names.js.map +0 -1
  309. package/dist/agent-options.d.ts +0 -45
  310. package/dist/agent-options.d.ts.map +0 -1
  311. package/dist/agent-options.js +0 -83
  312. package/dist/agent-options.js.map +0 -1
  313. package/dist/agent-spec.d.ts +0 -56
  314. package/dist/agent-spec.d.ts.map +0 -1
  315. package/dist/agent-spec.js +0 -56
  316. package/dist/agent-spec.js.map +0 -1
  317. package/dist/agent-telemetry.d.ts +0 -88
  318. package/dist/agent-telemetry.d.ts.map +0 -1
  319. package/dist/agent-telemetry.js +0 -97
  320. package/dist/agent-telemetry.js.map +0 -1
  321. package/dist/agent.d.ts +0 -113
  322. package/dist/agent.d.ts.map +0 -1
  323. package/dist/agent.js +0 -168
  324. package/dist/agent.js.map +0 -1
  325. package/dist/archived-agent-patch.d.ts +0 -14
  326. package/dist/archived-agent-patch.d.ts.map +0 -1
  327. package/dist/archived-agent-patch.js +0 -22
  328. package/dist/archived-agent-patch.js.map +0 -1
  329. package/dist/auto-pm.d.ts +0 -538
  330. package/dist/auto-pm.d.ts.map +0 -1
  331. package/dist/auto-pm.js +0 -707
  332. package/dist/auto-pm.js.map +0 -1
  333. package/dist/await-gate.d.ts +0 -184
  334. package/dist/await-gate.d.ts.map +0 -1
  335. package/dist/await-gate.js +0 -252
  336. package/dist/await-gate.js.map +0 -1
  337. package/dist/branch-links-pass.d.ts +0 -15
  338. package/dist/branch-links-pass.d.ts.map +0 -1
  339. package/dist/branch-links-pass.js +0 -13
  340. package/dist/branch-links-pass.js.map +0 -1
  341. package/dist/branch-links.d.ts +0 -53
  342. package/dist/branch-links.d.ts.map +0 -1
  343. package/dist/branch-links.js +0 -94
  344. package/dist/branch-links.js.map +0 -1
  345. package/dist/branch-names.d.ts +0 -57
  346. package/dist/branch-names.d.ts.map +0 -1
  347. package/dist/branch-names.js +0 -72
  348. package/dist/branch-names.js.map +0 -1
  349. package/dist/ci-watch.d.ts +0 -123
  350. package/dist/ci-watch.d.ts.map +0 -1
  351. package/dist/ci-watch.js +0 -228
  352. package/dist/ci-watch.js.map +0 -1
  353. package/dist/claude-trust.d.ts +0 -16
  354. package/dist/claude-trust.d.ts.map +0 -1
  355. package/dist/claude-trust.js +0 -72
  356. package/dist/claude-trust.js.map +0 -1
  357. package/dist/cli-exec.d.ts +0 -36
  358. package/dist/cli-exec.d.ts.map +0 -1
  359. package/dist/cli-exec.js +0 -44
  360. package/dist/cli-exec.js.map +0 -1
  361. package/dist/closing-keywords.d.ts +0 -28
  362. package/dist/closing-keywords.d.ts.map +0 -1
  363. package/dist/closing-keywords.js +0 -49
  364. package/dist/closing-keywords.js.map +0 -1
  365. package/dist/config-layers.d.ts +0 -62
  366. package/dist/config-layers.d.ts.map +0 -1
  367. package/dist/config-layers.js +0 -70
  368. package/dist/config-layers.js.map +0 -1
  369. package/dist/config.d.ts +0 -54
  370. package/dist/config.d.ts.map +0 -1
  371. package/dist/config.js +0 -78
  372. package/dist/config.js.map +0 -1
  373. package/dist/consumption-guard.d.ts +0 -53
  374. package/dist/consumption-guard.d.ts.map +0 -1
  375. package/dist/consumption-guard.js +0 -69
  376. package/dist/consumption-guard.js.map +0 -1
  377. package/dist/control.d.ts +0 -75
  378. package/dist/control.d.ts.map +0 -1
  379. package/dist/control.js +0 -68
  380. package/dist/control.js.map +0 -1
  381. package/dist/conversation-commit.d.ts +0 -166
  382. package/dist/conversation-commit.d.ts.map +0 -1
  383. package/dist/conversation-commit.js +0 -309
  384. package/dist/conversation-commit.js.map +0 -1
  385. package/dist/conversations.d.ts +0 -93
  386. package/dist/conversations.d.ts.map +0 -1
  387. package/dist/conversations.js +0 -176
  388. package/dist/conversations.js.map +0 -1
  389. package/dist/daemon-writes.d.ts +0 -33
  390. package/dist/daemon-writes.d.ts.map +0 -1
  391. package/dist/daemon-writes.js +0 -45
  392. package/dist/daemon-writes.js.map +0 -1
  393. package/dist/dashboard/agent-tree.d.ts +0 -106
  394. package/dist/dashboard/agent-tree.d.ts.map +0 -1
  395. package/dist/dashboard/agent-tree.js +0 -180
  396. package/dist/dashboard/agent-tree.js.map +0 -1
  397. package/dist/dashboard/browser-proxy.d.ts +0 -41
  398. package/dist/dashboard/browser-proxy.d.ts.map +0 -1
  399. package/dist/dashboard/browser-proxy.js +0 -96
  400. package/dist/dashboard/browser-proxy.js.map +0 -1
  401. package/dist/dashboard/discord-webhook.d.ts +0 -17
  402. package/dist/dashboard/discord-webhook.d.ts.map +0 -1
  403. package/dist/dashboard/discord-webhook.js +0 -36
  404. package/dist/dashboard/discord-webhook.js.map +0 -1
  405. package/dist/dashboard/file-diff.d.ts +0 -67
  406. package/dist/dashboard/file-diff.d.ts.map +0 -1
  407. package/dist/dashboard/file-diff.js +0 -132
  408. package/dist/dashboard/file-diff.js.map +0 -1
  409. package/dist/dashboard/file-read.d.ts +0 -42
  410. package/dist/dashboard/file-read.d.ts.map +0 -1
  411. package/dist/dashboard/file-read.js +0 -69
  412. package/dist/dashboard/file-read.js.map +0 -1
  413. package/dist/dashboard/file-status.d.ts +0 -21
  414. package/dist/dashboard/file-status.d.ts.map +0 -1
  415. package/dist/dashboard/file-status.js +0 -37
  416. package/dist/dashboard/file-status.js.map +0 -1
  417. package/dist/dashboard/gh.d.ts +0 -131
  418. package/dist/dashboard/gh.d.ts.map +0 -1
  419. package/dist/dashboard/gh.js +0 -150
  420. package/dist/dashboard/gh.js.map +0 -1
  421. package/dist/dashboard/github.d.ts +0 -11
  422. package/dist/dashboard/github.d.ts.map +0 -1
  423. package/dist/dashboard/github.js +0 -33
  424. package/dist/dashboard/github.js.map +0 -1
  425. package/dist/dashboard/run-handoff.d.ts +0 -311
  426. package/dist/dashboard/run-handoff.d.ts.map +0 -1
  427. package/dist/dashboard/run-handoff.js +0 -485
  428. package/dist/dashboard/run-handoff.js.map +0 -1
  429. package/dist/dashboard/scheduler-state.d.ts +0 -73
  430. package/dist/dashboard/scheduler-state.d.ts.map +0 -1
  431. package/dist/dashboard/scheduler-state.js +0 -120
  432. package/dist/dashboard/scheduler-state.js.map +0 -1
  433. package/dist/dashboard/subagent-settings.d.ts +0 -26
  434. package/dist/dashboard/subagent-settings.d.ts.map +0 -1
  435. package/dist/dashboard/subagent-settings.js +0 -52
  436. package/dist/dashboard/subagent-settings.js.map +0 -1
  437. package/dist/dashboard/telefunc-serve.d.ts +0 -118
  438. package/dist/dashboard/telefunc-serve.d.ts.map +0 -1
  439. package/dist/dashboard/telefunc-serve.js +0 -108
  440. package/dist/dashboard/telefunc-serve.js.map +0 -1
  441. package/dist/dashboard/tickets.d.ts +0 -29
  442. package/dist/dashboard/tickets.d.ts.map +0 -1
  443. package/dist/dashboard/tickets.js +0 -38
  444. package/dist/dashboard/tickets.js.map +0 -1
  445. package/dist/dashboard/widget-serve.d.ts +0 -15
  446. package/dist/dashboard/widget-serve.d.ts.map +0 -1
  447. package/dist/dashboard/widget-serve.js +0 -45
  448. package/dist/dashboard/widget-serve.js.map +0 -1
  449. package/dist/dashboard-bundle/assets/main-B3HghPQy.css +0 -2
  450. package/dist/dashboard-bundle/assets/main-om0WOAku.js +0 -140
  451. package/dist/dashboard-client/assets/chunks/chunk-BF9pJudf.js +0 -4
  452. package/dist/dashboard-client/assets/entries/entry-client-routing.CT1e9F0o.js +0 -1
  453. package/dist/dashboard-client/assets/entries/pages_index.CkW5JQ8X.js +0 -428
  454. package/dist/dashboard-client/assets/static/layouts_tailwind-00e65532.8OjKGAbA.css +0 -2
  455. package/dist/dashboard-client/index.html +0 -27
  456. package/dist/dashboard-client/index.pageContext.json +0 -1
  457. package/dist/dashboard-client/logo-animated.svg +0 -34
  458. package/dist/dashboard-client/logo.svg +0 -16
  459. package/dist/dashboard-rpc/control.telefunc.d.ts +0 -176
  460. package/dist/dashboard-rpc/control.telefunc.d.ts.map +0 -1
  461. package/dist/dashboard-rpc/control.telefunc.js +0 -373
  462. package/dist/dashboard-rpc/control.telefunc.js.map +0 -1
  463. package/dist/dashboard-rpc/devices.telefunc.d.ts +0 -9
  464. package/dist/dashboard-rpc/devices.telefunc.d.ts.map +0 -1
  465. package/dist/dashboard-rpc/devices.telefunc.js +0 -12
  466. package/dist/dashboard-rpc/devices.telefunc.js.map +0 -1
  467. package/dist/dashboard-rpc/events.telefunc.d.ts +0 -36
  468. package/dist/dashboard-rpc/events.telefunc.d.ts.map +0 -1
  469. package/dist/dashboard-rpc/events.telefunc.js +0 -70
  470. package/dist/dashboard-rpc/events.telefunc.js.map +0 -1
  471. package/dist/dashboard-rpc/preferences.telefunc.d.ts +0 -97
  472. package/dist/dashboard-rpc/preferences.telefunc.d.ts.map +0 -1
  473. package/dist/dashboard-rpc/preferences.telefunc.js +0 -157
  474. package/dist/dashboard-rpc/preferences.telefunc.js.map +0 -1
  475. package/dist/dashboard-rpc/projects.telefunc.d.ts +0 -56
  476. package/dist/dashboard-rpc/projects.telefunc.d.ts.map +0 -1
  477. package/dist/dashboard-rpc/projects.telefunc.js +0 -96
  478. package/dist/dashboard-rpc/projects.telefunc.js.map +0 -1
  479. package/dist/dashboard-rpc/quota.telefunc.d.ts +0 -40
  480. package/dist/dashboard-rpc/quota.telefunc.d.ts.map +0 -1
  481. package/dist/dashboard-rpc/quota.telefunc.js +0 -84
  482. package/dist/dashboard-rpc/quota.telefunc.js.map +0 -1
  483. package/dist/dashboard-rpc/reads.telefunc.d.ts +0 -197
  484. package/dist/dashboard-rpc/reads.telefunc.d.ts.map +0 -1
  485. package/dist/dashboard-rpc/reads.telefunc.js +0 -403
  486. package/dist/dashboard-rpc/reads.telefunc.js.map +0 -1
  487. package/dist/dashboard-rpc/register.d.ts +0 -18
  488. package/dist/dashboard-rpc/register.d.ts.map +0 -1
  489. package/dist/dashboard-rpc/register.js +0 -66
  490. package/dist/dashboard-rpc/register.js.map +0 -1
  491. package/dist/dashboard-rpc/relay-run.d.ts +0 -9
  492. package/dist/dashboard-rpc/relay-run.d.ts.map +0 -1
  493. package/dist/dashboard-rpc/relay-run.js +0 -21
  494. package/dist/dashboard-rpc/relay-run.js.map +0 -1
  495. package/dist/dashboard-rpc/stream-channel.d.ts +0 -23
  496. package/dist/dashboard-rpc/stream-channel.d.ts.map +0 -1
  497. package/dist/dashboard-rpc/stream-channel.js +0 -52
  498. package/dist/dashboard-rpc/stream-channel.js.map +0 -1
  499. package/dist/dashboard-rpc/subagents.d.ts +0 -12
  500. package/dist/dashboard-rpc/subagents.d.ts.map +0 -1
  501. package/dist/dashboard-rpc/subagents.js +0 -13
  502. package/dist/dashboard-rpc/subagents.js.map +0 -1
  503. package/dist/dashboard-rpc/widgets.d.ts +0 -33
  504. package/dist/dashboard-rpc/widgets.d.ts.map +0 -1
  505. package/dist/dashboard-rpc/widgets.js +0 -54
  506. package/dist/dashboard-rpc/widgets.js.map +0 -1
  507. package/dist/data-branch.d.ts +0 -120
  508. package/dist/data-branch.d.ts.map +0 -1
  509. package/dist/data-branch.js +0 -319
  510. package/dist/data-branch.js.map +0 -1
  511. package/dist/discord/bot.d.ts +0 -61
  512. package/dist/discord/bot.d.ts.map +0 -1
  513. package/dist/discord/bot.js +0 -94
  514. package/dist/discord/bot.js.map +0 -1
  515. package/dist/discord/gateway.d.ts +0 -137
  516. package/dist/discord/gateway.d.ts.map +0 -1
  517. package/dist/discord/gateway.js +0 -315
  518. package/dist/discord/gateway.js.map +0 -1
  519. package/dist/discord/live-run.d.ts +0 -31
  520. package/dist/discord/live-run.d.ts.map +0 -1
  521. package/dist/discord/live-run.js +0 -57
  522. package/dist/discord/live-run.js.map +0 -1
  523. package/dist/discord/reply-mirror.d.ts +0 -83
  524. package/dist/discord/reply-mirror.d.ts.map +0 -1
  525. package/dist/discord/reply-mirror.js +0 -84
  526. package/dist/discord/reply-mirror.js.map +0 -1
  527. package/dist/discord/rest.d.ts +0 -20
  528. package/dist/discord/rest.d.ts.map +0 -1
  529. package/dist/discord/rest.js +0 -41
  530. package/dist/discord/rest.js.map +0 -1
  531. package/dist/discord/routing.d.ts +0 -81
  532. package/dist/discord/routing.d.ts.map +0 -1
  533. package/dist/discord/routing.js +0 -91
  534. package/dist/discord/routing.js.map +0 -1
  535. package/dist/discord-credentials-store.d.ts +0 -14
  536. package/dist/discord-credentials-store.d.ts.map +0 -1
  537. package/dist/discord-credentials-store.js +0 -53
  538. package/dist/discord-credentials-store.js.map +0 -1
  539. package/dist/discord-credentials.d.ts +0 -80
  540. package/dist/discord-credentials.d.ts.map +0 -1
  541. package/dist/discord-credentials.js +0 -55
  542. package/dist/discord-credentials.js.map +0 -1
  543. package/dist/driver/actions-zip.d.ts +0 -2
  544. package/dist/driver/actions-zip.d.ts.map +0 -1
  545. package/dist/driver/actions-zip.js +0 -70
  546. package/dist/driver/actions-zip.js.map +0 -1
  547. package/dist/driver/actions.d.ts +0 -130
  548. package/dist/driver/actions.d.ts.map +0 -1
  549. package/dist/driver/actions.js +0 -261
  550. package/dist/driver/actions.js.map +0 -1
  551. package/dist/driver/agent-cli.d.ts +0 -57
  552. package/dist/driver/agent-cli.d.ts.map +0 -1
  553. package/dist/driver/agent-cli.js +0 -134
  554. package/dist/driver/agent-cli.js.map +0 -1
  555. package/dist/driver/child-registry.d.ts +0 -25
  556. package/dist/driver/child-registry.d.ts.map +0 -1
  557. package/dist/driver/child-registry.js +0 -53
  558. package/dist/driver/child-registry.js.map +0 -1
  559. package/dist/driver/claude-code-quota.d.ts +0 -40
  560. package/dist/driver/claude-code-quota.d.ts.map +0 -1
  561. package/dist/driver/claude-code-quota.js +0 -144
  562. package/dist/driver/claude-code-quota.js.map +0 -1
  563. package/dist/driver/claude-code.d.ts +0 -104
  564. package/dist/driver/claude-code.d.ts.map +0 -1
  565. package/dist/driver/claude-code.js +0 -314
  566. package/dist/driver/claude-code.js.map +0 -1
  567. package/dist/driver/cli-session.d.ts +0 -57
  568. package/dist/driver/cli-session.d.ts.map +0 -1
  569. package/dist/driver/cli-session.js +0 -134
  570. package/dist/driver/cli-session.js.map +0 -1
  571. package/dist/driver/cloud.d.ts +0 -109
  572. package/dist/driver/cloud.d.ts.map +0 -1
  573. package/dist/driver/cloud.js +0 -232
  574. package/dist/driver/cloud.js.map +0 -1
  575. package/dist/driver/codex.d.ts +0 -99
  576. package/dist/driver/codex.d.ts.map +0 -1
  577. package/dist/driver/codex.js +0 -190
  578. package/dist/driver/codex.js.map +0 -1
  579. package/dist/driver/fake.d.ts +0 -54
  580. package/dist/driver/fake.d.ts.map +0 -1
  581. package/dist/driver/fake.js +0 -73
  582. package/dist/driver/fake.js.map +0 -1
  583. package/dist/driver/index.d.ts +0 -10
  584. package/dist/driver/index.d.ts.map +0 -1
  585. package/dist/driver/index.js +0 -14
  586. package/dist/driver/index.js.map +0 -1
  587. package/dist/driver/session-support.d.ts +0 -14
  588. package/dist/driver/session-support.d.ts.map +0 -1
  589. package/dist/driver/session-support.js +0 -37
  590. package/dist/driver/session-support.js.map +0 -1
  591. package/dist/driver/types.d.ts +0 -310
  592. package/dist/driver/types.d.ts.map +0 -1
  593. package/dist/driver/types.js +0 -5
  594. package/dist/driver/types.js.map +0 -1
  595. package/dist/driver-cli.d.ts +0 -61
  596. package/dist/driver-cli.d.ts.map +0 -1
  597. package/dist/driver-cli.js +0 -66
  598. package/dist/driver-cli.js.map +0 -1
  599. package/dist/fake-script.d.ts +0 -15
  600. package/dist/fake-script.d.ts.map +0 -1
  601. package/dist/fake-script.js +0 -58
  602. package/dist/fake-script.js.map +0 -1
  603. package/dist/framework-dir.d.ts +0 -11
  604. package/dist/framework-dir.d.ts.map +0 -1
  605. package/dist/framework-dir.js +0 -11
  606. package/dist/framework-dir.js.map +0 -1
  607. package/dist/framework-gitignore.d.ts +0 -12
  608. package/dist/framework-gitignore.d.ts.map +0 -1
  609. package/dist/framework-gitignore.js +0 -19
  610. package/dist/framework-gitignore.js.map +0 -1
  611. package/dist/gate-keepalive.d.ts +0 -47
  612. package/dist/gate-keepalive.d.ts.map +0 -1
  613. package/dist/gate-keepalive.js +0 -62
  614. package/dist/gate-keepalive.js.map +0 -1
  615. package/dist/git-exclude.d.ts +0 -11
  616. package/dist/git-exclude.d.ts.map +0 -1
  617. package/dist/git-exclude.js +0 -23
  618. package/dist/git-exclude.js.map +0 -1
  619. package/dist/handoff-level.d.ts +0 -56
  620. package/dist/handoff-level.d.ts.map +0 -1
  621. package/dist/handoff-level.js +0 -62
  622. package/dist/handoff-level.js.map +0 -1
  623. package/dist/host-exec.d.ts +0 -21
  624. package/dist/host-exec.d.ts.map +0 -1
  625. package/dist/host-exec.js +0 -30
  626. package/dist/host-exec.js.map +0 -1
  627. package/dist/layout.d.ts +0 -41
  628. package/dist/layout.d.ts.map +0 -1
  629. package/dist/layout.js +0 -69
  630. package/dist/layout.js.map +0 -1
  631. package/dist/logs.d.ts +0 -73
  632. package/dist/logs.d.ts.map +0 -1
  633. package/dist/logs.js +0 -218
  634. package/dist/logs.js.map +0 -1
  635. package/dist/maintenance.d.ts +0 -90
  636. package/dist/maintenance.d.ts.map +0 -1
  637. package/dist/maintenance.js +0 -141
  638. package/dist/maintenance.js.map +0 -1
  639. package/dist/merged-worktrees.d.ts +0 -74
  640. package/dist/merged-worktrees.d.ts.map +0 -1
  641. package/dist/merged-worktrees.js +0 -84
  642. package/dist/merged-worktrees.js.map +0 -1
  643. package/dist/module-types/src/dashboard/agent-tree.d.ts +0 -105
  644. package/dist/module-types/src/dashboard/file-diff.d.ts +0 -66
  645. package/dist/module-types/src/dashboard/file-read.d.ts +0 -41
  646. package/dist/module-types/src/dashboard/file-status.d.ts +0 -20
  647. package/dist/module-types/src/dashboard/scheduler-state.d.ts +0 -72
  648. package/dist/module-types/src/dashboard/subagent-settings.d.ts +0 -25
  649. package/dist/module-types/src/dashboard-rpc/subagents.d.ts +0 -11
  650. package/dist/module-types/src/framework-dir.d.ts +0 -10
  651. package/dist/module-types/src/framework-gitignore.d.ts +0 -11
  652. package/dist/module-types/src/subagent-settings.d.ts +0 -26
  653. package/dist/on-before-mergeable-prompt.d.ts +0 -32
  654. package/dist/on-before-mergeable-prompt.d.ts.map +0 -1
  655. package/dist/on-before-mergeable-prompt.js +0 -26
  656. package/dist/on-before-mergeable-prompt.js.map +0 -1
  657. package/dist/planned-quick-wins.d.ts +0 -102
  658. package/dist/planned-quick-wins.d.ts.map +0 -1
  659. package/dist/planned-quick-wins.js +0 -171
  660. package/dist/planned-quick-wins.js.map +0 -1
  661. package/dist/preflight.d.ts +0 -77
  662. package/dist/preflight.d.ts.map +0 -1
  663. package/dist/preflight.js +0 -91
  664. package/dist/preflight.js.map +0 -1
  665. package/dist/preset-catalog.d.ts +0 -98
  666. package/dist/preset-catalog.d.ts.map +0 -1
  667. package/dist/preset-catalog.js +0 -129
  668. package/dist/preset-catalog.js.map +0 -1
  669. package/dist/preset-prompt.d.ts +0 -81
  670. package/dist/preset-prompt.d.ts.map +0 -1
  671. package/dist/preset-prompt.js +0 -51
  672. package/dist/preset-prompt.js.map +0 -1
  673. package/dist/preset-registry.d.ts +0 -32
  674. package/dist/preset-registry.d.ts.map +0 -1
  675. package/dist/preset-registry.js +0 -35
  676. package/dist/preset-registry.js.map +0 -1
  677. package/dist/presets.d.ts +0 -20
  678. package/dist/presets.d.ts.map +0 -1
  679. package/dist/presets.js +0 -33
  680. package/dist/presets.js.map +0 -1
  681. package/dist/preview-runtime.d.ts +0 -33
  682. package/dist/preview-runtime.d.ts.map +0 -1
  683. package/dist/preview-runtime.js +0 -96
  684. package/dist/preview-runtime.js.map +0 -1
  685. package/dist/preview.d.ts +0 -78
  686. package/dist/preview.d.ts.map +0 -1
  687. package/dist/preview.js +0 -301
  688. package/dist/preview.js.map +0 -1
  689. package/dist/project-widgets.d.ts +0 -46
  690. package/dist/project-widgets.d.ts.map +0 -1
  691. package/dist/project-widgets.js +0 -93
  692. package/dist/project-widgets.js.map +0 -1
  693. package/dist/prompt-run.d.ts +0 -104
  694. package/dist/prompt-run.d.ts.map +0 -1
  695. package/dist/prompt-run.js +0 -112
  696. package/dist/prompt-run.js.map +0 -1
  697. package/dist/prompt-template.d.ts +0 -16
  698. package/dist/prompt-template.d.ts.map +0 -1
  699. package/dist/prompt-template.js +0 -56
  700. package/dist/prompt-template.js.map +0 -1
  701. package/dist/prompts.generated.d.ts +0 -53
  702. package/dist/prompts.generated.d.ts.map +0 -1
  703. package/dist/prompts.generated.js +0 -55
  704. package/dist/prompts.generated.js.map +0 -1
  705. package/dist/queue-promote.d.ts +0 -70
  706. package/dist/queue-promote.d.ts.map +0 -1
  707. package/dist/queue-promote.js +0 -118
  708. package/dist/queue-promote.js.map +0 -1
  709. package/dist/relay.d.ts +0 -84
  710. package/dist/relay.d.ts.map +0 -1
  711. package/dist/relay.js +0 -199
  712. package/dist/relay.js.map +0 -1
  713. package/dist/repos-directory.d.ts +0 -19
  714. package/dist/repos-directory.d.ts.map +0 -1
  715. package/dist/repos-directory.js +0 -23
  716. package/dist/repos-directory.js.map +0 -1
  717. package/dist/retired-project-settings.d.ts +0 -43
  718. package/dist/retired-project-settings.d.ts.map +0 -1
  719. package/dist/retired-project-settings.js +0 -125
  720. package/dist/retired-project-settings.js.map +0 -1
  721. package/dist/routine-locks.d.ts +0 -53
  722. package/dist/routine-locks.d.ts.map +0 -1
  723. package/dist/routine-locks.js +0 -125
  724. package/dist/routine-locks.js.map +0 -1
  725. package/dist/run-driver.d.ts +0 -26
  726. package/dist/run-driver.d.ts.map +0 -1
  727. package/dist/run-driver.js +0 -17
  728. package/dist/run-driver.js.map +0 -1
  729. package/dist/run-locks.d.ts +0 -3
  730. package/dist/run-locks.d.ts.map +0 -1
  731. package/dist/run-locks.js +0 -39
  732. package/dist/run-locks.js.map +0 -1
  733. package/dist/run-messages.d.ts +0 -64
  734. package/dist/run-messages.d.ts.map +0 -1
  735. package/dist/run-messages.js +0 -76
  736. package/dist/run-messages.js.map +0 -1
  737. package/dist/run-options.d.ts +0 -53
  738. package/dist/run-options.d.ts.map +0 -1
  739. package/dist/run-options.js +0 -110
  740. package/dist/run-options.js.map +0 -1
  741. package/dist/run-telemetry.d.ts +0 -115
  742. package/dist/run-telemetry.d.ts.map +0 -1
  743. package/dist/run-telemetry.js +0 -137
  744. package/dist/run-telemetry.js.map +0 -1
  745. package/dist/run-view.d.ts +0 -109
  746. package/dist/run-view.d.ts.map +0 -1
  747. package/dist/run-view.js +0 -118
  748. package/dist/run-view.js.map +0 -1
  749. package/dist/run.d.ts +0 -261
  750. package/dist/run.d.ts.map +0 -1
  751. package/dist/run.js +0 -420
  752. package/dist/run.js.map +0 -1
  753. package/dist/runtime-keys.d.ts +0 -17
  754. package/dist/runtime-keys.d.ts.map +0 -1
  755. package/dist/runtime-keys.js +0 -17
  756. package/dist/runtime-keys.js.map +0 -1
  757. package/dist/sandbox.d.ts +0 -27
  758. package/dist/sandbox.d.ts.map +0 -1
  759. package/dist/sandbox.js +0 -63
  760. package/dist/sandbox.js.map +0 -1
  761. package/dist/session-link.d.ts +0 -19
  762. package/dist/session-link.d.ts.map +0 -1
  763. package/dist/session-link.js +0 -26
  764. package/dist/session-link.js.map +0 -1
  765. package/dist/sessions.d.ts +0 -77
  766. package/dist/sessions.d.ts.map +0 -1
  767. package/dist/sessions.js +0 -146
  768. package/dist/sessions.js.map +0 -1
  769. package/dist/spike-locks.d.ts +0 -75
  770. package/dist/spike-locks.d.ts.map +0 -1
  771. package/dist/spike-locks.js +0 -208
  772. package/dist/spike-locks.js.map +0 -1
  773. package/dist/stale-branch.d.ts +0 -21
  774. package/dist/stale-branch.d.ts.map +0 -1
  775. package/dist/stale-branch.js +0 -32
  776. package/dist/stale-branch.js.map +0 -1
  777. package/dist/steps.d.ts +0 -9
  778. package/dist/steps.d.ts.map +0 -1
  779. package/dist/steps.js +0 -13
  780. package/dist/steps.js.map +0 -1
  781. package/dist/store/forge.d.ts +0 -110
  782. package/dist/store/forge.d.ts.map +0 -1
  783. package/dist/store/forge.js +0 -97
  784. package/dist/store/forge.js.map +0 -1
  785. package/dist/store/run-checkout.d.ts +0 -33
  786. package/dist/store/run-checkout.d.ts.map +0 -1
  787. package/dist/store/run-checkout.js +0 -59
  788. package/dist/store/run-checkout.js.map +0 -1
  789. package/dist/store/run-store.d.ts +0 -501
  790. package/dist/store/run-store.d.ts.map +0 -1
  791. package/dist/store/run-store.js +0 -806
  792. package/dist/store/run-store.js.map +0 -1
  793. package/dist/store/suspend.d.ts +0 -38
  794. package/dist/store/suspend.d.ts.map +0 -1
  795. package/dist/store/suspend.js +0 -45
  796. package/dist/store/suspend.js.map +0 -1
  797. package/dist/store/worktree-deps.d.ts +0 -30
  798. package/dist/store/worktree-deps.d.ts.map +0 -1
  799. package/dist/store/worktree-deps.js +0 -115
  800. package/dist/store/worktree-deps.js.map +0 -1
  801. package/dist/store/worktree.d.ts +0 -194
  802. package/dist/store/worktree.d.ts.map +0 -1
  803. package/dist/store/worktree.js +0 -331
  804. package/dist/store/worktree.js.map +0 -1
  805. package/dist/subagent-settings.d.ts +0 -27
  806. package/dist/subagent-settings.d.ts.map +0 -1
  807. package/dist/subagent-settings.js +0 -35
  808. package/dist/subagent-settings.js.map +0 -1
  809. package/dist/system-prompt-file.d.ts +0 -18
  810. package/dist/system-prompt-file.d.ts.map +0 -1
  811. package/dist/system-prompt-file.js +0 -28
  812. package/dist/system-prompt-file.js.map +0 -1
  813. package/dist/system-prompt.d.ts +0 -148
  814. package/dist/system-prompt.d.ts.map +0 -1
  815. package/dist/system-prompt.js +0 -170
  816. package/dist/system-prompt.js.map +0 -1
  817. package/dist/target-driver.d.ts +0 -28
  818. package/dist/target-driver.d.ts.map +0 -1
  819. package/dist/target-driver.js +0 -18
  820. package/dist/target-driver.js.map +0 -1
  821. package/dist/ticket-locks.d.ts +0 -61
  822. package/dist/ticket-locks.d.ts.map +0 -1
  823. package/dist/ticket-locks.js +0 -137
  824. package/dist/ticket-locks.js.map +0 -1
  825. package/dist/tickets-file.d.ts +0 -7
  826. package/dist/tickets-file.d.ts.map +0 -1
  827. package/dist/tickets-file.js +0 -21
  828. package/dist/tickets-file.js.map +0 -1
  829. package/dist/tickets.d.ts +0 -18
  830. package/dist/tickets.d.ts.map +0 -1
  831. package/dist/tickets.js +0 -23
  832. package/dist/tickets.js.map +0 -1
  833. package/dist/todo-loop.d.ts +0 -110
  834. package/dist/todo-loop.d.ts.map +0 -1
  835. package/dist/todo-loop.js +0 -175
  836. package/dist/todo-loop.js.map +0 -1
  837. package/dist/turn-gate.d.ts +0 -144
  838. package/dist/turn-gate.d.ts.map +0 -1
  839. package/dist/turn-gate.js +0 -217
  840. package/dist/turn-gate.js.map +0 -1
  841. package/dist/usage.d.ts +0 -32
  842. package/dist/usage.d.ts.map +0 -1
  843. package/dist/usage.js +0 -46
  844. package/dist/usage.js.map +0 -1
  845. package/dist/widget-types/dashboard/components/LinkActions.d.ts +0 -26
  846. package/dist/widget-types/dashboard/components/Markdown.d.ts +0 -4
  847. package/dist/widget-types/dashboard/components/StartAgentButton.d.ts +0 -39
  848. package/dist/widget-types/dashboard/components/ui/badge.d.ts +0 -2
  849. package/dist/widget-types/dashboard/components/ui/button.d.ts +0 -10
  850. package/dist/widget-types/dashboard/components/ui/card.d.ts +0 -5
  851. package/dist/widget-types/dashboard/components/ui/checkbox.d.ts +0 -7
  852. package/dist/widget-types/dashboard/components/ui/dropdown-menu.d.ts +0 -16
  853. package/dist/widget-types/dashboard/components/ui/input.d.ts +0 -2
  854. package/dist/widget-types/dashboard/components/ui/option-label.d.ts +0 -4
  855. package/dist/widget-types/dashboard/components/ui/popover.d.ts +0 -8
  856. package/dist/widget-types/dashboard/components/ui/scroll-area.d.ts +0 -10
  857. package/dist/widget-types/dashboard/components/ui/separator.d.ts +0 -3
  858. package/dist/widget-types/dashboard/components/ui/skeleton.d.ts +0 -2
  859. package/dist/widget-types/dashboard/components/ui/slider.d.ts +0 -9
  860. package/dist/widget-types/dashboard/components/ui/tooltip.d.ts +0 -11
  861. package/dist/widget-types/dashboard/lib/draft-handoff.d.ts +0 -15
  862. package/dist/widget-types/dashboard/lib/format-date.d.ts +0 -51
  863. package/dist/widget-types/dashboard/lib/host-services.d.ts +0 -12
  864. package/dist/widget-types/dashboard/lib/route.d.ts +0 -24
  865. package/dist/widget-types/dashboard/lib/rpc.d.ts +0 -31
  866. package/dist/widget-types/dashboard/lib/use-action.d.ts +0 -25
  867. package/dist/widget-types/dashboard/lib/use-async.d.ts +0 -39
  868. package/dist/widget-types/dashboard/lib/use-widgets.d.ts +0 -42
  869. package/dist/widget-types/dashboard/lib/utils.d.ts +0 -3
  870. package/dist/widget-types/dashboard/rpc/widgets.d.ts +0 -4
  871. package/dist/widget-types/dashboard/widget/index.d.ts +0 -207
  872. package/dist/widget-types/src/agent-id.d.ts +0 -12
  873. package/dist/widget-types/src/agent-locks.d.ts +0 -2
  874. package/dist/widget-types/src/agent-view.d.ts +0 -38
  875. package/dist/widget-types/src/bridge-browser.d.ts +0 -216
  876. package/dist/widget-types/src/browser-stream.d.ts +0 -19
  877. package/dist/widget-types/src/browser.d.ts +0 -15
  878. package/dist/widget-types/src/cli-exec.d.ts +0 -35
  879. package/dist/widget-types/src/cloud-run-state.d.ts +0 -26
  880. package/dist/widget-types/src/dashboard/activity.d.ts +0 -40
  881. package/dist/widget-types/src/dashboard/agent-handoff.d.ts +0 -211
  882. package/dist/widget-types/src/dashboard/agent-tree.d.ts +0 -105
  883. package/dist/widget-types/src/dashboard/bridge-endpoints.d.ts +0 -157
  884. package/dist/widget-types/src/dashboard/bridge-question.d.ts +0 -32
  885. package/dist/widget-types/src/dashboard/bridge-store.d.ts +0 -178
  886. package/dist/widget-types/src/dashboard/cache.d.ts +0 -46
  887. package/dist/widget-types/src/dashboard/content-type.d.ts +0 -2
  888. package/dist/widget-types/src/dashboard/dashboard.d.ts +0 -37
  889. package/dist/widget-types/src/dashboard/discord-webhook.d.ts +0 -16
  890. package/dist/widget-types/src/dashboard/docs.d.ts +0 -38
  891. package/dist/widget-types/src/dashboard/file-diff.d.ts +0 -66
  892. package/dist/widget-types/src/dashboard/file-read.d.ts +0 -41
  893. package/dist/widget-types/src/dashboard/file-status.d.ts +0 -20
  894. package/dist/widget-types/src/dashboard/gh.d.ts +0 -130
  895. package/dist/widget-types/src/dashboard/git-status.d.ts +0 -32
  896. package/dist/widget-types/src/dashboard/github.d.ts +0 -10
  897. package/dist/widget-types/src/dashboard/http.d.ts +0 -28
  898. package/dist/widget-types/src/dashboard/interventions.d.ts +0 -66
  899. package/dist/widget-types/src/dashboard/keys.d.ts +0 -30
  900. package/dist/widget-types/src/dashboard/models.d.ts +0 -24
  901. package/dist/widget-types/src/dashboard/open-in-app.d.ts +0 -42
  902. package/dist/widget-types/src/dashboard/open-questions.d.ts +0 -52
  903. package/dist/widget-types/src/dashboard/overview.d.ts +0 -77
  904. package/dist/widget-types/src/dashboard/projects.d.ts +0 -89
  905. package/dist/widget-types/src/dashboard/pull-requests.d.ts +0 -126
  906. package/dist/widget-types/src/dashboard/queue.d.ts +0 -16
  907. package/dist/widget-types/src/dashboard/quota.d.ts +0 -59
  908. package/dist/widget-types/src/dashboard/remote-run.d.ts +0 -94
  909. package/dist/widget-types/src/dashboard/rpc-serve.d.ts +0 -102
  910. package/dist/widget-types/src/dashboard/run-inbox.d.ts +0 -30
  911. package/dist/widget-types/src/dashboard/scheduler-state.d.ts +0 -64
  912. package/dist/widget-types/src/dashboard/tickets.d.ts +0 -28
  913. package/dist/widget-types/src/dashboard/types.d.ts +0 -99
  914. package/dist/widget-types/src/dashboard/widget-serve.d.ts +0 -14
  915. package/dist/widget-types/src/dashboard-rpc/context.d.ts +0 -53
  916. package/dist/widget-types/src/dashboard-rpc/control.d.ts +0 -108
  917. package/dist/widget-types/src/dashboard-rpc/devices.d.ts +0 -8
  918. package/dist/widget-types/src/dashboard-rpc/events-tail.d.ts +0 -53
  919. package/dist/widget-types/src/dashboard-rpc/events.d.ts +0 -29
  920. package/dist/widget-types/src/dashboard-rpc/index.d.ts +0 -28
  921. package/dist/widget-types/src/dashboard-rpc/models.d.ts +0 -3
  922. package/dist/widget-types/src/dashboard-rpc/preferences.d.ts +0 -40
  923. package/dist/widget-types/src/dashboard-rpc/projects.d.ts +0 -54
  924. package/dist/widget-types/src/dashboard-rpc/quota.d.ts +0 -26
  925. package/dist/widget-types/src/dashboard-rpc/reads.d.ts +0 -227
  926. package/dist/widget-types/src/dashboard-rpc/relay-agent.d.ts +0 -8
  927. package/dist/widget-types/src/dashboard-rpc/stream-forward.d.ts +0 -16
  928. package/dist/widget-types/src/dashboard-rpc/widgets.d.ts +0 -32
  929. package/dist/widget-types/src/discord-credentials.d.ts +0 -79
  930. package/dist/widget-types/src/driver-names.d.ts +0 -21
  931. package/dist/widget-types/src/error-message.d.ts +0 -7
  932. package/dist/widget-types/src/event-stream.d.ts +0 -32
  933. package/dist/widget-types/src/events.d.ts +0 -235
  934. package/dist/widget-types/src/framework-dir.d.ts +0 -10
  935. package/dist/widget-types/src/framework-gitignore.d.ts +0 -11
  936. package/dist/widget-types/src/index.d.ts +0 -42
  937. package/dist/widget-types/src/jsonl-tail.d.ts +0 -54
  938. package/dist/widget-types/src/loopback-host.d.ts +0 -19
  939. package/dist/widget-types/src/node-fs.d.ts +0 -32
  940. package/dist/widget-types/src/open-choices.d.ts +0 -14
  941. package/dist/widget-types/src/pick-directory.d.ts +0 -29
  942. package/dist/widget-types/src/preference-defaults.d.ts +0 -53
  943. package/dist/widget-types/src/project-commands.d.ts +0 -23
  944. package/dist/widget-types/src/project-errors.d.ts +0 -43
  945. package/dist/widget-types/src/project-hooks.d.ts +0 -133
  946. package/dist/widget-types/src/project-presets.d.ts +0 -29
  947. package/dist/widget-types/src/project-widgets.d.ts +0 -45
  948. package/dist/widget-types/src/project.d.ts +0 -28
  949. package/dist/widget-types/src/quota-boundary.d.ts +0 -115
  950. package/dist/widget-types/src/quota-poller.d.ts +0 -82
  951. package/dist/widget-types/src/registry.d.ts +0 -210
  952. package/dist/widget-types/src/store/agent-checkout.d.ts +0 -46
  953. package/dist/widget-types/src/store/agent-store.d.ts +0 -237
  954. package/dist/widget-types/src/store/branches.d.ts +0 -133
  955. package/dist/widget-types/src/store/forge.d.ts +0 -109
  956. package/dist/widget-types/src/store/git-host.d.ts +0 -111
  957. package/dist/widget-types/src/store/index.d.ts +0 -9
  958. package/dist/widget-types/src/store/provided.d.ts +0 -16
  959. package/dist/widget-types/src/store/queue.d.ts +0 -45
  960. package/dist/widget-types/src/store/run-record.d.ts +0 -21
  961. package/dist/widget-types/src/store/runs.d.ts +0 -101
  962. package/dist/widget-types/src/store/tickets.d.ts +0 -72
  963. package/dist/widget-types/src/tickets.d.ts +0 -17
  964. package/dist/widget-types/src/worktrees.d.ts +0 -89
  965. package/dist/widget.css +0 -50
package/dist/preview.d.ts DELETED
@@ -1,78 +0,0 @@
1
- /**
2
- * On-demand app preview (#475): serve a project's built result from the dashboard
3
- * without an agent run. This is the decoupled twin of the run's serve gate — where
4
- * that boots the app to *verify* it, this boots it to *show* it (a one-click Preview
5
- * button, useful for non-technical users too). It runs entirely in the daemon
6
- * process: the project's dev script when it has one, else a built-in static server
7
- * for a plain `index.html`. Kept a quick-win (#475): a URL + a Stop, not a full
8
- * in-dashboard preview view.
9
- */
10
- /** A running preview: its URL, how it was served, and a teardown. */
11
- export interface PreviewHandle {
12
- /** The reachable localhost URL. */
13
- url: string;
14
- /** The npm script serving it (e.g. `dev`), or `static` for the built-in file server. */
15
- command: string;
16
- /** Stop the preview and free its port. Idempotent. */
17
- stop(): Promise<void>;
18
- /**
19
- * Resolves when the preview is no longer serving — on {@link stop}, or when the dev
20
- * server exits on its own (a crash, a build error, the user killing it). The daemon
21
- * watches this to evict a dead preview so the next open restarts it (#475).
22
- */
23
- exited: Promise<void>;
24
- }
25
- /** Options for {@link startPreview}. */
26
- export interface StartPreviewOptions {
27
- /** The project directory to serve. */
28
- cwd: string;
29
- /**
30
- * Which app to serve in a multi-package repo (#651), from {@link detectServeTargets}. Absent
31
- * serves the root package (the single-package default), preserving the original behavior.
32
- */
33
- target?: ServeTarget;
34
- /** How long to wait for a dev script to print its localhost URL before giving up. Default 20s. */
35
- waitMs?: number;
36
- }
37
- /** The npm scripts we try, best-first, when serving a project's dev preview. */
38
- export declare const PREVIEW_SCRIPTS: readonly ["dev", "start", "preview", "serve"];
39
- /** The first {@link PREVIEW_SCRIPTS} entry the project's `package.json` defines, else undefined. */
40
- export declare function detectDevScript(cwd: string): Promise<string | undefined>;
41
- /**
42
- * One servable app in a repo (#651): a package that defines a dev/serve script. Plain repos
43
- * have exactly one (the root); a monorepo has one per workspace package that can serve, and
44
- * the dashboard offers a picker over them.
45
- */
46
- export interface ServeTarget {
47
- /** Stable id = the dir relative to the repo root, or `.` for the root package itself. */
48
- id: string;
49
- /** Human label: the package.json `name`, else the directory basename (`.` → `root`). */
50
- label: string;
51
- /** The dir to run the script in, relative to the repo root (`''` = the root). */
52
- dir: string;
53
- /** The npm script that serves it (a {@link PREVIEW_SCRIPTS} entry). */
54
- script: string;
55
- }
56
- /**
57
- * Enumerate the repo's servable apps (#651), best-first: the root package (when it has a serve
58
- * script) followed by each workspace package that has one, in path order. A plain single-package
59
- * repo yields at most one target (the root); a monorepo yields one per servable workspace so the
60
- * Serve button can offer a pick. Workspaces come from `pnpm-workspace.yaml` or the package.json
61
- * `workspaces` field; unreadable/absent config just yields the root (or nothing).
62
- */
63
- export declare function detectServeTargets(cwd: string): Promise<ServeTarget[]>;
64
- /**
65
- * Parse the first browsable localhost URL a dev server prints (Vite, Next, CRA, and
66
- * friends all announce one), normalizing `0.0.0.0` to `localhost` and trimming any
67
- * trailing punctuation. Returns undefined when the output carries no such URL yet.
68
- */
69
- export declare function parsePreviewUrl(output: string): string | undefined;
70
- /**
71
- * Start a live preview of the project. Prefers its dev script (spawned as its own
72
- * process group so {@link PreviewHandle.stop} kills the whole tree), and reads the
73
- * localhost URL the server announces on stdout/stderr. With no dev script, falls back
74
- * to a built-in static server when the project has an `index.html`. Throws when there
75
- * is nothing to serve, or the dev script never announces a URL.
76
- */
77
- export declare function startPreview(opts: StartPreviewOptions): Promise<PreviewHandle>;
78
- //# sourceMappingURL=preview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AAEH,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,kGAAkG;IAClG,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,gFAAgF;AAChF,eAAO,MAAM,eAAe,+CAAgD,CAAA;AAQ5E,oGAAoG;AACpG,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE9E;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,yFAAyF;IACzF,EAAE,EAAE,MAAM,CAAA;IACV,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAA;IACb,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAA;IACX,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;CACf;AAKD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAmB5E;AAwGD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIlE;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAWpF"}
package/dist/preview.js DELETED
@@ -1,301 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import { createServer } from 'node:http';
3
- import { createReadStream } from 'node:fs';
4
- import { readFile, readdir, stat } from 'node:fs/promises';
5
- import { basename, join, normalize, sep } from 'node:path';
6
- import { parse as parseYaml } from 'yaml';
7
- import { contentTypeFor } from './dashboard/content-type.js';
8
- /** The npm scripts we try, best-first, when serving a project's dev preview. */
9
- export const PREVIEW_SCRIPTS = ['dev', 'start', 'preview', 'serve'];
10
- /** The first {@link PREVIEW_SCRIPTS} entry a `package.json`'s `scripts` defines, else undefined. */
11
- function pickScript(scripts) {
12
- const s = scripts ?? {};
13
- return PREVIEW_SCRIPTS.find(name => typeof s[name] === 'string' && s[name].trim() !== '');
14
- }
15
- /** The first {@link PREVIEW_SCRIPTS} entry the project's `package.json` defines, else undefined. */
16
- export async function detectDevScript(cwd) {
17
- return pickScript((await readPkg(cwd))?.scripts);
18
- }
19
- /** How many workspace packages we scan / offer, so a pathological monorepo can't hang or flood the picker. */
20
- const MAX_SERVE_TARGETS = 50;
21
- /**
22
- * Enumerate the repo's servable apps (#651), best-first: the root package (when it has a serve
23
- * script) followed by each workspace package that has one, in path order. A plain single-package
24
- * repo yields at most one target (the root); a monorepo yields one per servable workspace so the
25
- * Serve button can offer a pick. Workspaces come from `pnpm-workspace.yaml` or the package.json
26
- * `workspaces` field; unreadable/absent config just yields the root (or nothing).
27
- */
28
- export async function detectServeTargets(cwd) {
29
- const targets = [];
30
- const seen = new Set();
31
- const add = async (dir) => {
32
- const abs = dir === '' ? cwd : join(cwd, dir);
33
- if (seen.has(abs))
34
- return;
35
- seen.add(abs);
36
- const pkg = await readPkg(abs);
37
- const script = pickScript(pkg?.scripts);
38
- if (!script)
39
- return;
40
- targets.push({ id: dir === '' ? '.' : dir, label: serveLabel(pkg?.name, dir), dir, script });
41
- };
42
- await add('');
43
- const rootPkg = await readPkg(cwd);
44
- for (const dir of await workspaceDirs(cwd, rootPkg)) {
45
- if (targets.length >= MAX_SERVE_TARGETS)
46
- break;
47
- await add(dir);
48
- }
49
- return targets;
50
- }
51
- /** A target's display label: its package name, else the dir basename (`.`/root → `root`). */
52
- function serveLabel(name, dir) {
53
- if (typeof name === 'string' && name.trim() !== '')
54
- return name.trim();
55
- const base = basename(dir);
56
- return base === '' || base === '.' ? 'root' : base;
57
- }
58
- /** Read and parse a directory's `package.json`, or undefined when absent/unreadable/malformed. */
59
- async function readPkg(dir) {
60
- try {
61
- return JSON.parse(await readFile(join(dir, 'package.json'), 'utf8'));
62
- }
63
- catch {
64
- return undefined;
65
- }
66
- }
67
- /**
68
- * The workspace package directories (relative to `cwd`), from `pnpm-workspace.yaml` `packages:`
69
- * or the package.json `workspaces` field, expanded from their globs. Order is stable (sorted).
70
- */
71
- async function workspaceDirs(cwd, rootPkg) {
72
- const globs = await workspaceGlobs(cwd, rootPkg);
73
- const dirs = new Set();
74
- for (const glob of globs) {
75
- for (const dir of await expandWorkspaceGlob(cwd, glob))
76
- dirs.add(dir);
77
- }
78
- return [...dirs].sort();
79
- }
80
- /** The raw workspace globs: pnpm's `pnpm-workspace.yaml` wins, else npm/yarn's `workspaces`. */
81
- async function workspaceGlobs(cwd, rootPkg) {
82
- try {
83
- const doc = parseYaml(await readFile(join(cwd, 'pnpm-workspace.yaml'), 'utf8'));
84
- const pkgs = doc?.packages;
85
- if (Array.isArray(pkgs))
86
- return pkgs.filter((g) => typeof g === 'string');
87
- }
88
- catch {
89
- // no pnpm-workspace.yaml — fall through to the package.json workspaces field
90
- }
91
- const ws = rootPkg?.workspaces;
92
- const list = Array.isArray(ws) ? ws : Array.isArray(ws?.packages) ? ws.packages : [];
93
- return list.filter((g) => typeof g === 'string');
94
- }
95
- /**
96
- * Expand one workspace glob to the package dirs it matches (relative to `cwd`). Handles the shapes
97
- * real workspaces use — a literal dir, a single `*` segment (`packages/*`), and a trailing `**`
98
- * (`packages/**`) — by walking the directory tree rather than pulling in a glob dependency. Negations
99
- * (`!`) and dirs without a `package.json` are skipped; the walk is depth-bounded for `**`.
100
- */
101
- async function expandWorkspaceGlob(cwd, glob) {
102
- if (glob.startsWith('!'))
103
- return []; // exclusion patterns: skip, we only add positives
104
- const parts = glob.replace(/\/+$/, '').split('/');
105
- const out = [];
106
- let visited = 0;
107
- const walk = async (relDir, i) => {
108
- if (++visited > 2000)
109
- return; // bound the tree walk so a pathological repo can't hang the picker
110
- if (i === parts.length) {
111
- if (await hasPkg(join(cwd, relDir)))
112
- out.push(relDir);
113
- return;
114
- }
115
- const seg = parts[i];
116
- if (seg === '**') {
117
- // Match this dir and any descendant (bounded), then continue past the `**`.
118
- await walk(relDir, i + 1);
119
- for (const child of await subdirs(join(cwd, relDir)))
120
- await walk(join(relDir, child), i);
121
- return;
122
- }
123
- if (seg === '*') {
124
- for (const child of await subdirs(join(cwd, relDir)))
125
- await walk(join(relDir, child), i + 1);
126
- return;
127
- }
128
- await walk(relDir === '' ? seg : join(relDir, seg), i + 1);
129
- };
130
- await walk('', 0);
131
- return out;
132
- }
133
- /** The immediate child directory names of `dir` (excluding dotfiles and `node_modules`), or []. */
134
- async function subdirs(dir) {
135
- try {
136
- const entries = await readdir(dir, { withFileTypes: true });
137
- return entries.filter(e => e.isDirectory() && e.name !== 'node_modules' && !e.name.startsWith('.')).map(e => e.name);
138
- }
139
- catch {
140
- return [];
141
- }
142
- }
143
- /** Whether `dir` holds a `package.json` (marking a workspace package). */
144
- async function hasPkg(dir) {
145
- return stat(join(dir, 'package.json')).then(s => s.isFile()).catch(() => false);
146
- }
147
- // Strip ANSI color codes (dev servers print their URL in color) before matching.
148
- const ANSI = /\[[0-9;]*m/g;
149
- const LOCAL_URL = /https?:\/\/(?:localhost|127\.0\.0\.1|0\.0\.0\.0)(?::\d+)?(?:\/[^\s'"]*)?/i;
150
- /**
151
- * Parse the first browsable localhost URL a dev server prints (Vite, Next, CRA, and
152
- * friends all announce one), normalizing `0.0.0.0` to `localhost` and trimming any
153
- * trailing punctuation. Returns undefined when the output carries no such URL yet.
154
- */
155
- export function parsePreviewUrl(output) {
156
- const match = output.replace(ANSI, '').match(LOCAL_URL);
157
- if (!match)
158
- return undefined;
159
- return match[0].replace(/^(https?:\/\/)0\.0\.0\.0/, '$1localhost').replace(/[.,;:)\]]+$/, '');
160
- }
161
- /**
162
- * Start a live preview of the project. Prefers its dev script (spawned as its own
163
- * process group so {@link PreviewHandle.stop} kills the whole tree), and reads the
164
- * localhost URL the server announces on stdout/stderr. With no dev script, falls back
165
- * to a built-in static server when the project has an `index.html`. Throws when there
166
- * is nothing to serve, or the dev script never announces a URL.
167
- */
168
- export async function startPreview(opts) {
169
- // A picked target (#651) serves that workspace package; otherwise fall back to the root package.
170
- if (opts.target) {
171
- const dir = opts.target.dir === '' ? opts.cwd : join(opts.cwd, opts.target.dir);
172
- return startDevServer(dir, opts.target.script, opts.waitMs ?? 20_000);
173
- }
174
- const script = await detectDevScript(opts.cwd);
175
- if (script)
176
- return startDevServer(opts.cwd, script, opts.waitMs ?? 20_000);
177
- const hasIndex = await stat(join(opts.cwd, 'index.html')).then(s => s.isFile()).catch(() => false);
178
- if (hasIndex)
179
- return startStaticServer(opts.cwd);
180
- throw new Error('nothing to preview: the project has no dev script and no index.html');
181
- }
182
- /** Run the project's dev script and resolve once it announces a localhost URL. */
183
- async function startDevServer(cwd, script, waitMs) {
184
- const command = `npm run ${script}`;
185
- // Own process group (detached) so stop() can SIGTERM the whole tree, not just npm.
186
- const child = spawn('npm', ['run', script], { cwd, env: process.env, detached: true });
187
- try {
188
- const url = await new Promise((resolvePromise, reject) => {
189
- let output = '';
190
- const timer = setTimeout(() => reject(new Error(`the "${script}" script did not print a localhost URL within ${Math.round(waitMs / 1000)}s`)), waitMs);
191
- const settle = (fn) => {
192
- clearTimeout(timer);
193
- child.stdout?.off('data', onData);
194
- child.stderr?.off('data', onData);
195
- child.off('exit', onExit);
196
- child.off('error', onError);
197
- fn();
198
- };
199
- const onData = (d) => {
200
- output += d.toString();
201
- const found = parsePreviewUrl(output);
202
- if (found)
203
- settle(() => resolvePromise(found));
204
- };
205
- const onExit = () => settle(() => reject(new Error(`the "${script}" script exited before printing a URL`)));
206
- const onError = (err) => settle(() => reject(err));
207
- child.stdout?.on('data', onData);
208
- child.stderr?.on('data', onData);
209
- child.once('exit', onExit);
210
- child.once('error', onError);
211
- });
212
- // Resolves whether the child is killed by stop() or exits on its own (crash/build error).
213
- const exited = new Promise(resolvePromise => child.once('exit', () => resolvePromise()));
214
- return { url, command, exited, stop: () => stopChild(child) };
215
- }
216
- catch (err) {
217
- await stopChild(child);
218
- throw err;
219
- }
220
- }
221
- /** SIGTERM the child's process group, escalating to SIGKILL, and resolve once it exits. */
222
- function stopChild(child) {
223
- return new Promise(resolvePromise => {
224
- if (child.exitCode !== null || child.signalCode)
225
- return resolvePromise();
226
- let done = false;
227
- const finish = () => {
228
- if (done)
229
- return;
230
- done = true;
231
- resolvePromise();
232
- };
233
- child.once('exit', finish);
234
- const kill = (sig) => {
235
- try {
236
- if (child.pid)
237
- process.kill(-child.pid, sig);
238
- }
239
- catch {
240
- // group already gone
241
- }
242
- };
243
- kill('SIGTERM');
244
- setTimeout(() => {
245
- kill('SIGKILL');
246
- finish();
247
- }, 3000).unref();
248
- });
249
- }
250
- /** A built-in static file server for a project with a plain `index.html` and no dev script. */
251
- async function startStaticServer(cwd) {
252
- const server = createServer((req, res) => void serveStaticFile(cwd, req.url ?? '/', res));
253
- await new Promise((resolvePromise, reject) => {
254
- server.once('error', reject);
255
- server.listen(0, '127.0.0.1', () => resolvePromise());
256
- });
257
- const port = server.address().port;
258
- const exited = new Promise(resolvePromise => server.once('close', () => resolvePromise()));
259
- return {
260
- url: `http://localhost:${port}`,
261
- command: 'static',
262
- exited,
263
- stop: () => new Promise(resolvePromise => {
264
- // Destroy any lingering keep-alive sockets so close() cannot hang on an open tab.
265
- server.closeAllConnections?.();
266
- server.close(() => resolvePromise());
267
- }),
268
- };
269
- }
270
- /** Serve one file from `root`, defaulting `/` to `index.html`, refusing path traversal. */
271
- async function serveStaticFile(root, urlPath, res) {
272
- // A malformed escape (`/%zz`) must not throw: this runs void-dispatched, so an
273
- // exception here would be an unhandled rejection that takes the process down (#938).
274
- let decoded;
275
- try {
276
- decoded = decodeURIComponent(urlPath.split('?')[0]);
277
- }
278
- catch {
279
- res.writeHead(400, { 'content-type': 'text/plain' }).end('bad request');
280
- return;
281
- }
282
- const rel = normalize(decoded).replace(/^(\.\.[/\\])+/, '');
283
- // `join(root, '.')` drops a trailing separator, so a `dir/`-shaped cwd cannot fail the prefix check.
284
- const base = join(root, '.');
285
- const target = join(base, rel === '/' || rel === '.' || rel === '' ? 'index.html' : rel);
286
- // Refuse anything that escaped the root after normalization.
287
- if (target !== base && !target.startsWith(base + sep)) {
288
- res.writeHead(403, { 'content-type': 'text/plain' }).end('forbidden');
289
- return;
290
- }
291
- const info = await stat(target).catch(() => undefined);
292
- const file = info?.isDirectory() ? join(target, 'index.html') : target;
293
- const fileInfo = info?.isDirectory() ? await stat(file).catch(() => undefined) : info;
294
- if (!fileInfo?.isFile()) {
295
- res.writeHead(404, { 'content-type': 'text/plain' }).end('not found');
296
- return;
297
- }
298
- res.writeHead(200, { 'content-type': contentTypeFor(file) });
299
- createReadStream(file).pipe(res);
300
- }
301
- //# sourceMappingURL=preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { type PackageCommandResult } from '@gemstack/agent-data';
2
- /**
3
- * A dashboard widget one of a project's packages brings (#1774): the package's own browser module,
4
- * named by its `exports["./dashboard"]`. The framework names no package: any dependency of the
5
- * project that exports `./dashboard` is a widget, whoever wrote it.
6
- */
7
- export interface ProjectWidget {
8
- /** The package's name, as the project's package.json lists it. */
9
- package: string;
10
- /** The package's version, when its package.json says one. */
11
- version?: string;
12
- /** The directory the widget's module sits in, symlinks resolved: the only directory served for it. */
13
- dir: string;
14
- /** The widget module's file name inside {@link dir}. */
15
- entry: string;
16
- /** The package's commands, by name, as absolute paths: what the widget may run in this project. */
17
- bins: Record<string, string>;
18
- }
19
- /**
20
- * The widgets a project's packages bring: each of the project's dependencies whose package.json
21
- * exports `./dashboard` to a file that exists inside the package. Sorted by name.
22
- */
23
- export declare function readProjectWidgets(root: string): Promise<ProjectWidget[]>;
24
- /** The one widget of this project that `name` names, or undefined. */
25
- export declare function findProjectWidget(root: string, name: string): Promise<ProjectWidget | undefined>;
26
- /**
27
- * The file a widget serves at `rel`, a path relative to its module's directory: its module, its
28
- * stylesheet, a chunk. `undefined` for a path that leaves that directory (symlinks resolved) or
29
- * names no file, so nothing else of the package, and nothing of the project, is ever served.
30
- */
31
- export declare function widgetFile(widget: ProjectWidget, rel: string): Promise<string | undefined>;
32
- /** What a widget's command answered: its JSON output, or why there is none. */
33
- export type WidgetCommandResult = PackageCommandResult;
34
- /**
35
- * Run one of a widget package's own commands in the project, with the given arguments, and read
36
- * its standard output as JSON. This is how a widget reads its data: the same command an agent runs
37
- * (`npx logs`), so the widget and the agent see the same thing and the framework knows neither.
38
- *
39
- * `command` picks one of the package's commands; a package with exactly one needs none. The
40
- * command runs with Node (a package's commands are Node scripts), in the project root, never
41
- * through a shell, bounded in time and output. Refused: a command the package does not have, too
42
- * many or too long arguments. A command that exits non-zero answers its last stderr line; one that
43
- * prints no JSON says so.
44
- */
45
- export declare function runWidgetCommand(root: string, widget: ProjectWidget, args: readonly string[], command?: string): Promise<WidgetCommandResult>;
46
- //# sourceMappingURL=project-widgets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-widgets.d.ts","sourceRoot":"","sources":["../src/project-widgets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmD,KAAK,oBAAoB,EAAuB,MAAM,sBAAsB,CAAA;AAEtI;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sGAAsG;IACtG,GAAG,EAAE,MAAM,CAAA;IACX,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,mGAAmG;IACnG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAoBD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAO/E;AAgBD,sEAAsE;AACtE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAEtG;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKhG;AAED,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAA;AAMtD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAS9B"}
@@ -1,93 +0,0 @@
1
- import { realpath, stat } from 'node:fs/promises';
2
- import { dirname, join, normalize, sep } from 'node:path';
3
- import { packageBins, projectPackages, runPackageCommand } from '@gemstack/agent-data';
4
- /** The file an `exports["./dashboard"]` entry names: a plain path, or the `browser`/`import`/`default` condition. */
5
- function dashboardExport(exports) {
6
- if (!exports || typeof exports !== 'object' || Array.isArray(exports))
7
- return undefined;
8
- const entry = exports['./dashboard'];
9
- if (typeof entry === 'string')
10
- return entry;
11
- if (!entry || typeof entry !== 'object' || Array.isArray(entry))
12
- return undefined;
13
- for (const condition of ['browser', 'import', 'default']) {
14
- const target = entry[condition];
15
- if (typeof target === 'string')
16
- return target;
17
- }
18
- return undefined;
19
- }
20
- /** Whether `path` is `dir` itself or inside it; both already normalized. */
21
- function within(dir, path) {
22
- return path === dir || path.startsWith(dir + sep);
23
- }
24
- /**
25
- * The widgets a project's packages bring: each of the project's dependencies whose package.json
26
- * exports `./dashboard` to a file that exists inside the package. Sorted by name.
27
- */
28
- export async function readProjectWidgets(root) {
29
- const widgets = [];
30
- for (const pkg of await projectPackages(root)) {
31
- const widget = await readWidget(pkg);
32
- if (widget)
33
- widgets.push(widget);
34
- }
35
- return widgets.sort((a, b) => a.package.localeCompare(b.package));
36
- }
37
- async function readWidget({ name, dir: pkgDir, manifest: pkg }) {
38
- const target = dashboardExport(pkg.exports);
39
- if (!target)
40
- return undefined;
41
- const file = await realpath(join(pkgDir, target)).catch(() => undefined);
42
- if (!file || !within(pkgDir, file) || !(await stat(file).then(s => s.isFile()).catch(() => false)))
43
- return undefined;
44
- return {
45
- package: name,
46
- ...(typeof pkg.version === 'string' ? { version: pkg.version } : {}),
47
- dir: dirname(file),
48
- entry: file.slice(dirname(file).length + 1),
49
- bins: packageBins(name, pkg.bin, pkgDir),
50
- };
51
- }
52
- /** The one widget of this project that `name` names, or undefined. */
53
- export async function findProjectWidget(root, name) {
54
- return (await readProjectWidgets(root)).find(widget => widget.package === name);
55
- }
56
- /**
57
- * The file a widget serves at `rel`, a path relative to its module's directory: its module, its
58
- * stylesheet, a chunk. `undefined` for a path that leaves that directory (symlinks resolved) or
59
- * names no file, so nothing else of the package, and nothing of the project, is ever served.
60
- */
61
- export async function widgetFile(widget, rel) {
62
- if (!rel)
63
- return undefined;
64
- const candidate = await realpath(normalize(join(widget.dir, rel))).catch(() => undefined);
65
- if (!candidate || !within(widget.dir, candidate))
66
- return undefined;
67
- return (await stat(candidate).then(s => s.isFile()).catch(() => false)) ? candidate : undefined;
68
- }
69
- /** How many arguments, and how long each, a widget may pass: a command line, not a payload. */
70
- const MAX_ARGS = 32;
71
- const MAX_ARG_LENGTH = 4096;
72
- /**
73
- * Run one of a widget package's own commands in the project, with the given arguments, and read
74
- * its standard output as JSON. This is how a widget reads its data: the same command an agent runs
75
- * (`npx logs`), so the widget and the agent see the same thing and the framework knows neither.
76
- *
77
- * `command` picks one of the package's commands; a package with exactly one needs none. The
78
- * command runs with Node (a package's commands are Node scripts), in the project root, never
79
- * through a shell, bounded in time and output. Refused: a command the package does not have, too
80
- * many or too long arguments. A command that exits non-zero answers its last stderr line; one that
81
- * prints no JSON says so.
82
- */
83
- export async function runWidgetCommand(root, widget, args, command) {
84
- const names = Object.keys(widget.bins);
85
- const name = command ?? (names.length === 1 ? names[0] : undefined);
86
- const bin = name !== undefined ? widget.bins[name] : undefined;
87
- if (bin === undefined)
88
- return { ok: false, error: command !== undefined ? `${widget.package} has no command ${command}` : `${widget.package} has ${names.length === 0 ? 'no command' : 'several commands; name one'}` };
89
- if (args.length > MAX_ARGS || args.some(arg => typeof arg !== 'string' || arg.length > MAX_ARG_LENGTH))
90
- return { ok: false, error: 'too many or too long arguments' };
91
- return runPackageCommand(root, { name: name, bin }, args);
92
- }
93
- //# sourceMappingURL=project-widgets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-widgets.js","sourceRoot":"","sources":["../src/project-widgets.ts"],"names":[],"mappings":"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"}