@hearsay-tools/squawk 0.0.0-stage → 0.17.0-dev.5682

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 (1976) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +1846 -2
  3. package/dist/activity/demand.d.ts +21 -0
  4. package/dist/activity/demand.js +49 -0
  5. package/dist/activity/demand.js.map +1 -0
  6. package/dist/activity/publisher.d.ts +48 -0
  7. package/dist/activity/publisher.js +175 -0
  8. package/dist/activity/publisher.js.map +1 -0
  9. package/dist/activity/read-model.d.ts +50 -0
  10. package/dist/activity/read-model.js +143 -0
  11. package/dist/activity/read-model.js.map +1 -0
  12. package/dist/activity/requests.d.ts +27 -0
  13. package/dist/activity/requests.js +81 -0
  14. package/dist/activity/requests.js.map +1 -0
  15. package/dist/activity/text.d.ts +4 -0
  16. package/dist/activity/text.js +13 -0
  17. package/dist/activity/text.js.map +1 -0
  18. package/dist/activity/tool-activity.d.ts +87 -0
  19. package/dist/activity/tool-activity.js +250 -0
  20. package/dist/activity/tool-activity.js.map +1 -0
  21. package/dist/activity/wait.d.ts +19 -0
  22. package/dist/activity/wait.js +91 -0
  23. package/dist/activity/wait.js.map +1 -0
  24. package/dist/agent-config/account-identity.d.ts +28 -0
  25. package/dist/agent-config/account-identity.js +132 -0
  26. package/dist/agent-config/account-identity.js.map +1 -0
  27. package/dist/agent-config/catalog.d.ts +70 -0
  28. package/dist/agent-config/catalog.js +384 -0
  29. package/dist/agent-config/catalog.js.map +1 -0
  30. package/dist/agent-config/files.d.ts +42 -0
  31. package/dist/agent-config/files.js +115 -0
  32. package/dist/agent-config/files.js.map +1 -0
  33. package/dist/agent-config/model-settings/claude.d.ts +2 -0
  34. package/dist/agent-config/model-settings/claude.js +11 -0
  35. package/dist/agent-config/model-settings/claude.js.map +1 -0
  36. package/dist/agent-config/model-settings/codex.d.ts +2 -0
  37. package/dist/agent-config/model-settings/codex.js +16 -0
  38. package/dist/agent-config/model-settings/codex.js.map +1 -0
  39. package/dist/agent-config/model-settings/opencode.d.ts +2 -0
  40. package/dist/agent-config/model-settings/opencode.js +8 -0
  41. package/dist/agent-config/model-settings/opencode.js.map +1 -0
  42. package/dist/agent-config/model-settings/pi.d.ts +2 -0
  43. package/dist/agent-config/model-settings/pi.js +38 -0
  44. package/dist/agent-config/model-settings/pi.js.map +1 -0
  45. package/dist/agent-config/model-settings/shared.d.ts +12 -0
  46. package/dist/agent-config/model-settings/shared.js +100 -0
  47. package/dist/agent-config/model-settings/shared.js.map +1 -0
  48. package/dist/agent-config/model-settings/types.d.ts +9 -0
  49. package/dist/agent-config/model-settings/types.js +2 -0
  50. package/dist/agent-config/model-settings/types.js.map +1 -0
  51. package/dist/agent-config/models.d.ts +9 -0
  52. package/dist/agent-config/models.js +40 -0
  53. package/dist/agent-config/models.js.map +1 -0
  54. package/dist/agent-config/seed.d.ts +15 -0
  55. package/dist/agent-config/seed.js +94 -0
  56. package/dist/agent-config/seed.js.map +1 -0
  57. package/dist/agent-config/service.d.ts +44 -0
  58. package/dist/agent-config/service.js +73 -0
  59. package/dist/agent-config/service.js.map +1 -0
  60. package/dist/agent-config/validate.d.ts +18 -0
  61. package/dist/agent-config/validate.js +82 -0
  62. package/dist/agent-config/validate.js.map +1 -0
  63. package/dist/application-update/bin-recovery.d.ts +5 -0
  64. package/dist/application-update/bin-recovery.js +96 -0
  65. package/dist/application-update/bin-recovery.js.map +1 -0
  66. package/dist/application-update/discovery.d.ts +23 -0
  67. package/dist/application-update/discovery.js +131 -0
  68. package/dist/application-update/discovery.js.map +1 -0
  69. package/dist/application-update/helper.d.ts +58 -0
  70. package/dist/application-update/helper.js +363 -0
  71. package/dist/application-update/helper.js.map +1 -0
  72. package/dist/application-update/launcher.d.ts +12 -0
  73. package/dist/application-update/launcher.js +61 -0
  74. package/dist/application-update/launcher.js.map +1 -0
  75. package/dist/application-update/lock.d.ts +4 -0
  76. package/dist/application-update/lock.js +70 -0
  77. package/dist/application-update/lock.js.map +1 -0
  78. package/dist/application-update/npm-process.d.ts +17 -0
  79. package/dist/application-update/npm-process.js +156 -0
  80. package/dist/application-update/npm-process.js.map +1 -0
  81. package/dist/application-update/runtime-layout.d.ts +20 -0
  82. package/dist/application-update/runtime-layout.js +91 -0
  83. package/dist/application-update/runtime-layout.js.map +1 -0
  84. package/dist/application-update/scoped-recovery.d.ts +32 -0
  85. package/dist/application-update/scoped-recovery.js +210 -0
  86. package/dist/application-update/scoped-recovery.js.map +1 -0
  87. package/dist/application-update/service.d.ts +86 -0
  88. package/dist/application-update/service.js +523 -0
  89. package/dist/application-update/service.js.map +1 -0
  90. package/dist/archive-on-merge-setting.d.ts +15 -0
  91. package/dist/archive-on-merge-setting.js +15 -0
  92. package/dist/archive-on-merge-setting.js.map +1 -0
  93. package/dist/artifacts/cli.d.ts +1 -0
  94. package/dist/artifacts/cli.js +54 -0
  95. package/dist/artifacts/cli.js.map +1 -0
  96. package/dist/artifacts/lifecycle.d.ts +4 -0
  97. package/dist/artifacts/lifecycle.js +42 -0
  98. package/dist/artifacts/lifecycle.js.map +1 -0
  99. package/dist/artifacts/reports-index.d.ts +46 -0
  100. package/dist/artifacts/reports-index.js +279 -0
  101. package/dist/artifacts/reports-index.js.map +1 -0
  102. package/dist/artifacts/reports-watch.d.ts +43 -0
  103. package/dist/artifacts/reports-watch.js +129 -0
  104. package/dist/artifacts/reports-watch.js.map +1 -0
  105. package/dist/artifacts/resolve.d.ts +18 -0
  106. package/dist/artifacts/resolve.js +129 -0
  107. package/dist/artifacts/resolve.js.map +1 -0
  108. package/dist/artifacts/store.d.ts +40 -0
  109. package/dist/artifacts/store.js +513 -0
  110. package/dist/artifacts/store.js.map +1 -0
  111. package/dist/automations/automation-cli.d.ts +61 -0
  112. package/dist/automations/automation-cli.js +519 -0
  113. package/dist/automations/automation-cli.js.map +1 -0
  114. package/dist/automations/builtin-skill.d.ts +7 -0
  115. package/dist/automations/builtin-skill.js +14 -0
  116. package/dist/automations/builtin-skill.js.map +1 -0
  117. package/dist/automations/coordinator.d.ts +53 -0
  118. package/dist/automations/coordinator.js +136 -0
  119. package/dist/automations/coordinator.js.map +1 -0
  120. package/dist/automations/github-baseline.d.ts +3 -0
  121. package/dist/automations/github-baseline.js +17 -0
  122. package/dist/automations/github-baseline.js.map +1 -0
  123. package/dist/automations/github-poller.d.ts +93 -0
  124. package/dist/automations/github-poller.js +303 -0
  125. package/dist/automations/github-poller.js.map +1 -0
  126. package/dist/automations/project-files.d.ts +6 -0
  127. package/dist/automations/project-files.js +43 -0
  128. package/dist/automations/project-files.js.map +1 -0
  129. package/dist/automations/prompts.d.ts +12 -0
  130. package/dist/automations/prompts.js +162 -0
  131. package/dist/automations/prompts.js.map +1 -0
  132. package/dist/automations/schedule-runner.d.ts +153 -0
  133. package/dist/automations/schedule-runner.js +529 -0
  134. package/dist/automations/schedule-runner.js.map +1 -0
  135. package/dist/automations/scheduler.d.ts +95 -0
  136. package/dist/automations/scheduler.js +462 -0
  137. package/dist/automations/scheduler.js.map +1 -0
  138. package/dist/automations/service.d.ts +793 -0
  139. package/dist/automations/service.js +444 -0
  140. package/dist/automations/service.js.map +1 -0
  141. package/dist/automations/store.d.ts +168 -0
  142. package/dist/automations/store.js +805 -0
  143. package/dist/automations/store.js.map +1 -0
  144. package/dist/automations/task-template.d.ts +59 -0
  145. package/dist/automations/task-template.js +285 -0
  146. package/dist/automations/task-template.js.map +1 -0
  147. package/dist/automations/tool-adapter.d.ts +6 -0
  148. package/dist/automations/tool-adapter.js +115 -0
  149. package/dist/automations/tool-adapter.js.map +1 -0
  150. package/dist/automations/types.d.ts +1 -0
  151. package/dist/automations/types.js +2 -0
  152. package/dist/automations/types.js.map +1 -0
  153. package/dist/autosave-cleanup.d.ts +26 -0
  154. package/dist/autosave-cleanup.js +87 -0
  155. package/dist/autosave-cleanup.js.map +1 -0
  156. package/dist/autosave-git.d.ts +23 -0
  157. package/dist/autosave-git.js +211 -0
  158. package/dist/autosave-git.js.map +1 -0
  159. package/dist/autosave-group.d.ts +8 -0
  160. package/dist/autosave-group.js +61 -0
  161. package/dist/autosave-group.js.map +1 -0
  162. package/dist/autosave-holders.d.ts +34 -0
  163. package/dist/autosave-holders.js +228 -0
  164. package/dist/autosave-holders.js.map +1 -0
  165. package/dist/autosave-windows.d.ts +25 -0
  166. package/dist/autosave-windows.js +170 -0
  167. package/dist/autosave-windows.js.map +1 -0
  168. package/dist/cez.d.ts +2 -0
  169. package/dist/cez.js +3 -0
  170. package/dist/cez.js.map +1 -0
  171. package/dist/cezarion.d.ts +2 -0
  172. package/dist/cezarion.js +3 -0
  173. package/dist/cezarion.js.map +1 -0
  174. package/dist/ci-wait/client.d.ts +28 -0
  175. package/dist/ci-wait/client.js +123 -0
  176. package/dist/ci-wait/client.js.map +1 -0
  177. package/dist/ci-wait/controller.d.ts +824 -0
  178. package/dist/ci-wait/controller.js +305 -0
  179. package/dist/ci-wait/controller.js.map +1 -0
  180. package/dist/ci-wait/errors.d.ts +35 -0
  181. package/dist/ci-wait/errors.js +273 -0
  182. package/dist/ci-wait/errors.js.map +1 -0
  183. package/dist/ci-wait/github.d.ts +105 -0
  184. package/dist/ci-wait/github.js +324 -0
  185. package/dist/ci-wait/github.js.map +1 -0
  186. package/dist/ci-wait/injection.d.ts +3 -0
  187. package/dist/ci-wait/injection.js +13 -0
  188. package/dist/ci-wait/injection.js.map +1 -0
  189. package/dist/ci-wait/mcp.d.ts +3 -0
  190. package/dist/ci-wait/mcp.js +30 -0
  191. package/dist/ci-wait/mcp.js.map +1 -0
  192. package/dist/ci-wait/merge-progress.d.ts +84 -0
  193. package/dist/ci-wait/merge-progress.js +50 -0
  194. package/dist/ci-wait/merge-progress.js.map +1 -0
  195. package/dist/ci-wait/progress.d.ts +56 -0
  196. package/dist/ci-wait/progress.js +100 -0
  197. package/dist/ci-wait/progress.js.map +1 -0
  198. package/dist/ci-wait/resources.d.ts +9 -0
  199. package/dist/ci-wait/resources.js +46 -0
  200. package/dist/ci-wait/resources.js.map +1 -0
  201. package/dist/ci-wait/supervisor.d.ts +47 -0
  202. package/dist/ci-wait/supervisor.js +334 -0
  203. package/dist/ci-wait/supervisor.js.map +1 -0
  204. package/dist/ci-wait/text.d.ts +2 -0
  205. package/dist/ci-wait/text.js +5 -0
  206. package/dist/ci-wait/text.js.map +1 -0
  207. package/dist/ci-wait/tools.d.ts +845 -0
  208. package/dist/ci-wait/tools.js +232 -0
  209. package/dist/ci-wait/tools.js.map +1 -0
  210. package/dist/cli-dispatch.d.ts +33 -0
  211. package/dist/cli-dispatch.js +239 -0
  212. package/dist/cli-dispatch.js.map +1 -0
  213. package/dist/config.d.ts +117 -0
  214. package/dist/config.js +343 -0
  215. package/dist/config.js.map +1 -0
  216. package/dist/contract/active-provider.d.ts +12 -0
  217. package/dist/contract/activity.d.ts +1478 -0
  218. package/dist/contract/agent-config.d.ts +160 -0
  219. package/dist/contract/agent-profiles.d.ts +369 -0
  220. package/dist/contract/application-update.d.ts +32 -0
  221. package/dist/contract/artifacts.d.ts +100 -0
  222. package/dist/contract/ask-schema.d.ts +50 -0
  223. package/dist/contract/ask.d.ts +11 -0
  224. package/dist/contract/attachments.d.ts +35 -0
  225. package/dist/contract/attention.d.ts +99 -0
  226. package/dist/contract/automation-requests.d.ts +314 -0
  227. package/dist/contract/automation-schedule.d.ts +89 -0
  228. package/dist/contract/automation-storage.d.ts +518 -0
  229. package/dist/contract/automations.d.ts +1560 -0
  230. package/dist/contract/ci-wait.d.ts +281 -0
  231. package/dist/contract/config-requests.d.ts +36 -0
  232. package/dist/contract/control-locations.d.ts +10 -0
  233. package/dist/contract/conversations.d.ts +415 -0
  234. package/dist/contract/defined.d.ts +8 -0
  235. package/dist/contract/delegation.d.ts +2168 -0
  236. package/dist/contract/discovery.d.ts +228 -0
  237. package/dist/contract/effort.d.ts +18 -0
  238. package/dist/contract/events.d.ts +324 -0
  239. package/dist/contract/github-requests.d.ts +26 -0
  240. package/dist/contract/github.d.ts +732 -0
  241. package/dist/contract/handoff.d.ts +43 -0
  242. package/dist/contract/health.d.ts +128 -0
  243. package/dist/contract/home-recovery.d.ts +71 -0
  244. package/dist/contract/image-path.d.ts +6 -0
  245. package/dist/contract/index.d.ts +68 -0
  246. package/dist/contract/index.js +6709 -0
  247. package/dist/contract/live-coordination.d.ts +164 -0
  248. package/dist/contract/live-limits.d.ts +8 -0
  249. package/dist/contract/live.d.ts +123 -0
  250. package/dist/contract/pending-ask.d.ts +58 -0
  251. package/dist/contract/per-runner-optional-strings.d.ts +10 -0
  252. package/dist/contract/permissions.d.ts +54 -0
  253. package/dist/contract/preview.d.ts +568 -0
  254. package/dist/contract/project-limits.d.ts +35 -0
  255. package/dist/contract/projects.d.ts +716 -0
  256. package/dist/contract/provider-requests.d.ts +77 -0
  257. package/dist/contract/query-requests.d.ts +52 -0
  258. package/dist/contract/repo-requests.d.ts +12 -0
  259. package/dist/contract/repo.d.ts +515 -0
  260. package/dist/contract/report-title.d.ts +3 -0
  261. package/dist/contract/reports.d.ts +101 -0
  262. package/dist/contract/run-labels.d.ts +8 -0
  263. package/dist/contract/run-limits.d.ts +8 -0
  264. package/dist/contract/run-predicates.d.ts +87 -0
  265. package/dist/contract/run-requests.d.ts +33 -0
  266. package/dist/contract/run-search.d.ts +193 -0
  267. package/dist/contract/runs.d.ts +7108 -0
  268. package/dist/contract/scheduled-tasks.d.ts +188 -0
  269. package/dist/contract/self-update.d.ts +255 -0
  270. package/dist/contract/skill-sources.d.ts +125 -0
  271. package/dist/contract/skills.d.ts +56 -0
  272. package/dist/contract/task-options.d.ts +18 -0
  273. package/dist/contract/team-skill-ref.d.ts +10 -0
  274. package/dist/contract/tool-display.d.ts +25 -0
  275. package/dist/contract/ui-state-requests.d.ts +60 -0
  276. package/dist/contract/version.d.ts +3 -0
  277. package/dist/contract/voice.d.ts +213 -0
  278. package/dist/contract/waits.d.ts +1996 -0
  279. package/dist/contract/workflow-file.d.ts +37 -0
  280. package/dist/contract/workflow-requests.d.ts +7 -0
  281. package/dist/contract/workflows.d.ts +250 -0
  282. package/dist/contract/workspace-events.d.ts +410 -0
  283. package/dist/contract/workspace.d.ts +631 -0
  284. package/dist/contract/zoned-time.d.ts +26 -0
  285. package/dist/core/agent-env.d.ts +34 -0
  286. package/dist/core/agent-env.js +411 -0
  287. package/dist/core/agent-env.js.map +1 -0
  288. package/dist/core/agent-model-policy.d.ts +11 -0
  289. package/dist/core/agent-model-policy.js +38 -0
  290. package/dist/core/agent-model-policy.js.map +1 -0
  291. package/dist/core/agent-profiles.d.ts +50 -0
  292. package/dist/core/agent-profiles.js +105 -0
  293. package/dist/core/agent-profiles.js.map +1 -0
  294. package/dist/core/agent-runner.d.ts +425 -0
  295. package/dist/core/agent-runner.js +98 -0
  296. package/dist/core/agent-runner.js.map +1 -0
  297. package/dist/core/ask.d.ts +26 -0
  298. package/dist/core/ask.js +35 -0
  299. package/dist/core/ask.js.map +1 -0
  300. package/dist/core/backend-detect.d.ts +18 -0
  301. package/dist/core/backend-detect.js +216 -0
  302. package/dist/core/backend-detect.js.map +1 -0
  303. package/dist/core/claude-cli-runner.d.ts +85 -0
  304. package/dist/core/claude-cli-runner.js +899 -0
  305. package/dist/core/claude-cli-runner.js.map +1 -0
  306. package/dist/core/claude-executable.d.ts +2 -0
  307. package/dist/core/claude-executable.js +15 -0
  308. package/dist/core/claude-executable.js.map +1 -0
  309. package/dist/core/claude-model-catalog.d.ts +16 -0
  310. package/dist/core/claude-model-catalog.js +198 -0
  311. package/dist/core/claude-model-catalog.js.map +1 -0
  312. package/dist/core/claude-stream.d.ts +38 -0
  313. package/dist/core/claude-stream.js +77 -0
  314. package/dist/core/claude-stream.js.map +1 -0
  315. package/dist/core/claude-ui-mapper.d.ts +88 -0
  316. package/dist/core/claude-ui-mapper.js +851 -0
  317. package/dist/core/claude-ui-mapper.js.map +1 -0
  318. package/dist/core/codex-app-server-runner.d.ts +76 -0
  319. package/dist/core/codex-app-server-runner.js +1271 -0
  320. package/dist/core/codex-app-server-runner.js.map +1 -0
  321. package/dist/core/codex-app-server-transport.d.ts +52 -0
  322. package/dist/core/codex-app-server-transport.js +200 -0
  323. package/dist/core/codex-app-server-transport.js.map +1 -0
  324. package/dist/core/codex-approvals.d.ts +12 -0
  325. package/dist/core/codex-approvals.js +180 -0
  326. package/dist/core/codex-approvals.js.map +1 -0
  327. package/dist/core/codex-hook-mapper.d.ts +15 -0
  328. package/dist/core/codex-hook-mapper.js +73 -0
  329. package/dist/core/codex-hook-mapper.js.map +1 -0
  330. package/dist/core/codex-model-catalog.d.ts +10 -0
  331. package/dist/core/codex-model-catalog.js +110 -0
  332. package/dist/core/codex-model-catalog.js.map +1 -0
  333. package/dist/core/codex-native-frames.d.ts +35 -0
  334. package/dist/core/codex-native-frames.js +80 -0
  335. package/dist/core/codex-native-frames.js.map +1 -0
  336. package/dist/core/codex-permissions.d.ts +6 -0
  337. package/dist/core/codex-permissions.js +27 -0
  338. package/dist/core/codex-permissions.js.map +1 -0
  339. package/dist/core/codex-stream-error.d.ts +2 -0
  340. package/dist/core/codex-stream-error.js +12 -0
  341. package/dist/core/codex-stream-error.js.map +1 -0
  342. package/dist/core/codex-turn-outcome.d.ts +10 -0
  343. package/dist/core/codex-turn-outcome.js +35 -0
  344. package/dist/core/codex-turn-outcome.js.map +1 -0
  345. package/dist/core/codex-ui-mapper-state.d.ts +84 -0
  346. package/dist/core/codex-ui-mapper-state.js +8 -0
  347. package/dist/core/codex-ui-mapper-state.js.map +1 -0
  348. package/dist/core/codex-ui-mapper.d.ts +44 -0
  349. package/dist/core/codex-ui-mapper.js +799 -0
  350. package/dist/core/codex-ui-mapper.js.map +1 -0
  351. package/dist/core/cursor-cli-flags.d.ts +19 -0
  352. package/dist/core/cursor-cli-flags.js +47 -0
  353. package/dist/core/cursor-cli-flags.js.map +1 -0
  354. package/dist/core/cursor-config-options.d.ts +18 -0
  355. package/dist/core/cursor-config-options.js +31 -0
  356. package/dist/core/cursor-config-options.js.map +1 -0
  357. package/dist/core/cursor-model-catalog.d.ts +50 -0
  358. package/dist/core/cursor-model-catalog.js +306 -0
  359. package/dist/core/cursor-model-catalog.js.map +1 -0
  360. package/dist/core/cursor-print-capabilities.d.ts +14 -0
  361. package/dist/core/cursor-print-capabilities.js +169 -0
  362. package/dist/core/cursor-print-capabilities.js.map +1 -0
  363. package/dist/core/cursor-print-process.d.ts +31 -0
  364. package/dist/core/cursor-print-process.js +117 -0
  365. package/dist/core/cursor-print-process.js.map +1 -0
  366. package/dist/core/cursor-print-runner.d.ts +43 -0
  367. package/dist/core/cursor-print-runner.js +574 -0
  368. package/dist/core/cursor-print-runner.js.map +1 -0
  369. package/dist/core/cursor-print-tool-catalog.d.ts +3 -0
  370. package/dist/core/cursor-print-tool-catalog.js +13 -0
  371. package/dist/core/cursor-print-tool-catalog.js.map +1 -0
  372. package/dist/core/cursor-print-ui-mapper.d.ts +47 -0
  373. package/dist/core/cursor-print-ui-mapper.js +574 -0
  374. package/dist/core/cursor-print-ui-mapper.js.map +1 -0
  375. package/dist/core/cursor-provider-error.d.ts +9 -0
  376. package/dist/core/cursor-provider-error.js +15 -0
  377. package/dist/core/cursor-provider-error.js.map +1 -0
  378. package/dist/core/cursor-runner.d.ts +46 -0
  379. package/dist/core/cursor-runner.js +144 -0
  380. package/dist/core/cursor-runner.js.map +1 -0
  381. package/dist/core/defined.d.ts +1 -0
  382. package/dist/core/defined.js +2 -0
  383. package/dist/core/defined.js.map +1 -0
  384. package/dist/core/disclaim-spawn.d.ts +11 -0
  385. package/dist/core/disclaim-spawn.js +60 -0
  386. package/dist/core/disclaim-spawn.js.map +1 -0
  387. package/dist/core/edit-write-key.d.ts +2 -0
  388. package/dist/core/edit-write-key.js +6 -0
  389. package/dist/core/edit-write-key.js.map +1 -0
  390. package/dist/core/hook-items.d.ts +14 -0
  391. package/dist/core/hook-items.js +13 -0
  392. package/dist/core/hook-items.js.map +1 -0
  393. package/dist/core/host-model-catalog.d.ts +7 -0
  394. package/dist/core/host-model-catalog.js +21 -0
  395. package/dist/core/host-model-catalog.js.map +1 -0
  396. package/dist/core/input-submissions.d.ts +14 -0
  397. package/dist/core/input-submissions.js +26 -0
  398. package/dist/core/input-submissions.js.map +1 -0
  399. package/dist/core/managed-session.d.ts +6 -0
  400. package/dist/core/managed-session.js +116 -0
  401. package/dist/core/managed-session.js.map +1 -0
  402. package/dist/core/model-discovery-options.d.ts +8 -0
  403. package/dist/core/model-discovery-options.js +2 -0
  404. package/dist/core/model-discovery-options.js.map +1 -0
  405. package/dist/core/model-identity.d.ts +108 -0
  406. package/dist/core/model-identity.js +137 -0
  407. package/dist/core/model-identity.js.map +1 -0
  408. package/dist/core/model-presets.d.ts +10 -0
  409. package/dist/core/model-presets.js +77 -0
  410. package/dist/core/model-presets.js.map +1 -0
  411. package/dist/core/model-probe-teardown.d.ts +4 -0
  412. package/dist/core/model-probe-teardown.js +20 -0
  413. package/dist/core/model-probe-teardown.js.map +1 -0
  414. package/dist/core/ndjson.d.ts +6 -0
  415. package/dist/core/ndjson.js +23 -0
  416. package/dist/core/ndjson.js.map +1 -0
  417. package/dist/core/omp-model-catalog.d.ts +39 -0
  418. package/dist/core/omp-model-catalog.js +183 -0
  419. package/dist/core/omp-model-catalog.js.map +1 -0
  420. package/dist/core/omp-runner.d.ts +86 -0
  421. package/dist/core/omp-runner.js +818 -0
  422. package/dist/core/omp-runner.js.map +1 -0
  423. package/dist/core/omp-subagent-rows.d.ts +21 -0
  424. package/dist/core/omp-subagent-rows.js +99 -0
  425. package/dist/core/omp-subagent-rows.js.map +1 -0
  426. package/dist/core/omp-ui-mapper.d.ts +112 -0
  427. package/dist/core/omp-ui-mapper.js +807 -0
  428. package/dist/core/omp-ui-mapper.js.map +1 -0
  429. package/dist/core/opencode-model-catalog.d.ts +27 -0
  430. package/dist/core/opencode-model-catalog.js +189 -0
  431. package/dist/core/opencode-model-catalog.js.map +1 -0
  432. package/dist/core/opencode-permissions.d.ts +52 -0
  433. package/dist/core/opencode-permissions.js +101 -0
  434. package/dist/core/opencode-permissions.js.map +1 -0
  435. package/dist/core/opencode-runtime-config.d.ts +9 -0
  436. package/dist/core/opencode-runtime-config.js +26 -0
  437. package/dist/core/opencode-runtime-config.js.map +1 -0
  438. package/dist/core/opencode-server-runner.d.ts +75 -0
  439. package/dist/core/opencode-server-runner.js +1690 -0
  440. package/dist/core/opencode-server-runner.js.map +1 -0
  441. package/dist/core/opencode-session-error.d.ts +19 -0
  442. package/dist/core/opencode-session-error.js +42 -0
  443. package/dist/core/opencode-session-error.js.map +1 -0
  444. package/dist/core/opencode-task-scope.d.ts +9 -0
  445. package/dist/core/opencode-task-scope.js +19 -0
  446. package/dist/core/opencode-task-scope.js.map +1 -0
  447. package/dist/core/opencode-ui-mapper-state.d.ts +82 -0
  448. package/dist/core/opencode-ui-mapper-state.js +7 -0
  449. package/dist/core/opencode-ui-mapper-state.js.map +1 -0
  450. package/dist/core/opencode-ui-mapper.d.ts +59 -0
  451. package/dist/core/opencode-ui-mapper.js +724 -0
  452. package/dist/core/opencode-ui-mapper.js.map +1 -0
  453. package/dist/core/opencode-usage.d.ts +32 -0
  454. package/dist/core/opencode-usage.js +105 -0
  455. package/dist/core/opencode-usage.js.map +1 -0
  456. package/dist/core/pi-model-catalog.d.ts +34 -0
  457. package/dist/core/pi-model-catalog.js +247 -0
  458. package/dist/core/pi-model-catalog.js.map +1 -0
  459. package/dist/core/pi-rpc-turn.d.ts +179 -0
  460. package/dist/core/pi-rpc-turn.js +370 -0
  461. package/dist/core/pi-rpc-turn.js.map +1 -0
  462. package/dist/core/pi-rpc-wire.d.ts +31 -0
  463. package/dist/core/pi-rpc-wire.js +88 -0
  464. package/dist/core/pi-rpc-wire.js.map +1 -0
  465. package/dist/core/pi-runner.d.ts +58 -0
  466. package/dist/core/pi-runner.js +587 -0
  467. package/dist/core/pi-runner.js.map +1 -0
  468. package/dist/core/pi-ui-mapper.d.ts +52 -0
  469. package/dist/core/pi-ui-mapper.js +408 -0
  470. package/dist/core/pi-ui-mapper.js.map +1 -0
  471. package/dist/core/process-usage.d.ts +74 -0
  472. package/dist/core/process-usage.js +219 -0
  473. package/dist/core/process-usage.js.map +1 -0
  474. package/dist/core/product-env.d.ts +21 -0
  475. package/dist/core/product-env.js +38 -0
  476. package/dist/core/product-env.js.map +1 -0
  477. package/dist/core/provider-auth.d.ts +168 -0
  478. package/dist/core/provider-auth.js +661 -0
  479. package/dist/core/provider-auth.js.map +1 -0
  480. package/dist/core/provider-availability.d.ts +3 -0
  481. package/dist/core/provider-availability.js +14 -0
  482. package/dist/core/provider-availability.js.map +1 -0
  483. package/dist/core/runner-factory.d.ts +11 -0
  484. package/dist/core/runner-factory.js +36 -0
  485. package/dist/core/runner-factory.js.map +1 -0
  486. package/dist/core/runner-facts.d.ts +135 -0
  487. package/dist/core/runner-facts.js +59 -0
  488. package/dist/core/runner-facts.js.map +1 -0
  489. package/dist/core/runner-model-catalog.d.ts +34 -0
  490. package/dist/core/runner-model-catalog.js +109 -0
  491. package/dist/core/runner-model-catalog.js.map +1 -0
  492. package/dist/core/runner-runtime.d.ts +40 -0
  493. package/dist/core/runner-runtime.js +88 -0
  494. package/dist/core/runner-runtime.js.map +1 -0
  495. package/dist/core/runner-stderr.d.ts +2 -0
  496. package/dist/core/runner-stderr.js +20 -0
  497. package/dist/core/runner-stderr.js.map +1 -0
  498. package/dist/core/runner-tool-grants.d.ts +19 -0
  499. package/dist/core/runner-tool-grants.js +54 -0
  500. package/dist/core/runner-tool-grants.js.map +1 -0
  501. package/dist/core/secret-redaction.d.ts +20 -0
  502. package/dist/core/secret-redaction.js +95 -0
  503. package/dist/core/secret-redaction.js.map +1 -0
  504. package/dist/core/session-process.d.ts +43 -0
  505. package/dist/core/session-process.js +363 -0
  506. package/dist/core/session-process.js.map +1 -0
  507. package/dist/core/shell-env.d.ts +17 -0
  508. package/dist/core/shell-env.js +51 -0
  509. package/dist/core/shell-env.js.map +1 -0
  510. package/dist/core/ui-events.d.ts +356 -0
  511. package/dist/core/ui-events.js +13 -0
  512. package/dist/core/ui-events.js.map +1 -0
  513. package/dist/core/usage-limit.d.ts +42 -0
  514. package/dist/core/usage-limit.js +152 -0
  515. package/dist/core/usage-limit.js.map +1 -0
  516. package/dist/core/usage.d.ts +11 -0
  517. package/dist/core/usage.js +15 -0
  518. package/dist/core/usage.js.map +1 -0
  519. package/dist/core/v1-text-coalescer.d.ts +36 -0
  520. package/dist/core/v1-text-coalescer.js +72 -0
  521. package/dist/core/v1-text-coalescer.js.map +1 -0
  522. package/dist/data-gitignore.d.ts +6 -0
  523. package/dist/data-gitignore.js +80 -0
  524. package/dist/data-gitignore.js.map +1 -0
  525. package/dist/delegation/capacity.d.ts +15 -0
  526. package/dist/delegation/capacity.js +30 -0
  527. package/dist/delegation/capacity.js.map +1 -0
  528. package/dist/delegation/cli.d.ts +5 -0
  529. package/dist/delegation/cli.js +572 -0
  530. package/dist/delegation/cli.js.map +1 -0
  531. package/dist/delegation/context.d.ts +40 -0
  532. package/dist/delegation/context.js +398 -0
  533. package/dist/delegation/context.js.map +1 -0
  534. package/dist/delegation/conversation-send.d.ts +64 -0
  535. package/dist/delegation/conversation-send.js +74 -0
  536. package/dist/delegation/conversation-send.js.map +1 -0
  537. package/dist/delegation/conversations.d.ts +2186 -0
  538. package/dist/delegation/conversations.js +285 -0
  539. package/dist/delegation/conversations.js.map +1 -0
  540. package/dist/delegation/credentials.d.ts +21 -0
  541. package/dist/delegation/credentials.js +66 -0
  542. package/dist/delegation/credentials.js.map +1 -0
  543. package/dist/delegation/destroy-observation.d.ts +42 -0
  544. package/dist/delegation/destroy-observation.js +115 -0
  545. package/dist/delegation/destroy-observation.js.map +1 -0
  546. package/dist/delegation/effort.d.ts +1 -0
  547. package/dist/delegation/effort.js +11 -0
  548. package/dist/delegation/effort.js.map +1 -0
  549. package/dist/delegation/execution-identity.d.ts +257 -0
  550. package/dist/delegation/execution-identity.js +253 -0
  551. package/dist/delegation/execution-identity.js.map +1 -0
  552. package/dist/delegation/execution-settings.d.ts +11 -0
  553. package/dist/delegation/execution-settings.js +65 -0
  554. package/dist/delegation/execution-settings.js.map +1 -0
  555. package/dist/delegation/idle-test-app.d.ts +4 -0
  556. package/dist/delegation/idle-test-app.js +186 -0
  557. package/dist/delegation/idle-test-app.js.map +1 -0
  558. package/dist/delegation/input.d.ts +12 -0
  559. package/dist/delegation/input.js +50 -0
  560. package/dist/delegation/input.js.map +1 -0
  561. package/dist/delegation/park-notice.d.ts +45 -0
  562. package/dist/delegation/park-notice.js +81 -0
  563. package/dist/delegation/park-notice.js.map +1 -0
  564. package/dist/delegation/policy.d.ts +27 -0
  565. package/dist/delegation/policy.js +110 -0
  566. package/dist/delegation/policy.js.map +1 -0
  567. package/dist/delegation/process-liveness.d.ts +98 -0
  568. package/dist/delegation/process-liveness.js +213 -0
  569. package/dist/delegation/process-liveness.js.map +1 -0
  570. package/dist/delegation/provision.d.ts +36 -0
  571. package/dist/delegation/provision.js +218 -0
  572. package/dist/delegation/provision.js.map +1 -0
  573. package/dist/delegation/questions.d.ts +24 -0
  574. package/dist/delegation/questions.js +56 -0
  575. package/dist/delegation/questions.js.map +1 -0
  576. package/dist/delegation/readiness.d.ts +13 -0
  577. package/dist/delegation/readiness.js +19 -0
  578. package/dist/delegation/readiness.js.map +1 -0
  579. package/dist/delegation/results.d.ts +13 -0
  580. package/dist/delegation/results.js +153 -0
  581. package/dist/delegation/results.js.map +1 -0
  582. package/dist/delegation/retry-backoff.d.ts +31 -0
  583. package/dist/delegation/retry-backoff.js +26 -0
  584. package/dist/delegation/retry-backoff.js.map +1 -0
  585. package/dist/delegation/routes.d.ts +1017 -0
  586. package/dist/delegation/routes.js +85 -0
  587. package/dist/delegation/routes.js.map +1 -0
  588. package/dist/delegation/scratch-cleanup.d.ts +33 -0
  589. package/dist/delegation/scratch-cleanup.js +155 -0
  590. package/dist/delegation/scratch-cleanup.js.map +1 -0
  591. package/dist/delegation/service.d.ts +264 -0
  592. package/dist/delegation/service.js +807 -0
  593. package/dist/delegation/service.js.map +1 -0
  594. package/dist/delegation/task-discovery.d.ts +6 -0
  595. package/dist/delegation/task-discovery.js +27 -0
  596. package/dist/delegation/task-discovery.js.map +1 -0
  597. package/dist/delegation/transport.d.ts +995 -0
  598. package/dist/delegation/transport.js +22 -0
  599. package/dist/delegation/transport.js.map +1 -0
  600. package/dist/delegation/wait.d.ts +7 -0
  601. package/dist/delegation/wait.js +44 -0
  602. package/dist/delegation/wait.js.map +1 -0
  603. package/dist/delegation/windows-test-app.d.ts +5 -0
  604. package/dist/delegation/windows-test-app.js +64 -0
  605. package/dist/delegation/windows-test-app.js.map +1 -0
  606. package/dist/delegation/windows-workspace-identity.d.ts +3 -0
  607. package/dist/delegation/windows-workspace-identity.js +23 -0
  608. package/dist/delegation/windows-workspace-identity.js.map +1 -0
  609. package/dist/delegation/worker-cleanup.d.ts +53 -0
  610. package/dist/delegation/worker-cleanup.js +330 -0
  611. package/dist/delegation/worker-cleanup.js.map +1 -0
  612. package/dist/delegation/workspace.d.ts +40 -0
  613. package/dist/delegation/workspace.js +592 -0
  614. package/dist/delegation/workspace.js.map +1 -0
  615. package/dist/detached-process.d.ts +134 -0
  616. package/dist/detached-process.js +460 -0
  617. package/dist/detached-process.js.map +1 -0
  618. package/dist/discovery/catalog.d.ts +16 -0
  619. package/dist/discovery/catalog.js +31 -0
  620. package/dist/discovery/catalog.js.map +1 -0
  621. package/dist/discovery/cli.d.ts +8 -0
  622. package/dist/discovery/cli.js +122 -0
  623. package/dist/discovery/cli.js.map +1 -0
  624. package/dist/git-command.d.ts +7 -0
  625. package/dist/git-command.js +8 -0
  626. package/dist/git-command.js.map +1 -0
  627. package/dist/git-diff-base.d.ts +41 -0
  628. package/dist/git-diff-base.js +116 -0
  629. package/dist/git-diff-base.js.map +1 -0
  630. package/dist/git-index-copy.d.ts +4 -0
  631. package/dist/git-index-copy.js +10 -0
  632. package/dist/git-index-copy.js.map +1 -0
  633. package/dist/git-private-index.d.ts +11 -0
  634. package/dist/git-private-index.js +51 -0
  635. package/dist/git-private-index.js.map +1 -0
  636. package/dist/git-refs.d.ts +11 -0
  637. package/dist/git-refs.js +14 -0
  638. package/dist/git-refs.js.map +1 -0
  639. package/dist/git-worktree-lock-helper.d.ts +7 -0
  640. package/dist/git-worktree-lock-helper.js +178 -0
  641. package/dist/git-worktree-lock-helper.js.map +1 -0
  642. package/dist/git-worktree-lock.d.ts +17 -0
  643. package/dist/git-worktree-lock.js +90 -0
  644. package/dist/git-worktree-lock.js.map +1 -0
  645. package/dist/git-worktree-release.d.ts +20 -0
  646. package/dist/git-worktree-release.js +27 -0
  647. package/dist/git-worktree-release.js.map +1 -0
  648. package/dist/git-worktree.d.ts +148 -0
  649. package/dist/git-worktree.js +858 -0
  650. package/dist/git-worktree.js.map +1 -0
  651. package/dist/handoff.d.ts +72 -0
  652. package/dist/handoff.js +213 -0
  653. package/dist/handoff.js.map +1 -0
  654. package/dist/headless-run.d.ts +48 -0
  655. package/dist/headless-run.js +158 -0
  656. package/dist/headless-run.js.map +1 -0
  657. package/dist/home/boundary.d.ts +5 -0
  658. package/dist/home/boundary.js +76 -0
  659. package/dist/home/boundary.js.map +1 -0
  660. package/dist/home/changes.d.ts +3 -0
  661. package/dist/home/changes.js +11 -0
  662. package/dist/home/changes.js.map +1 -0
  663. package/dist/home/command.d.ts +9 -0
  664. package/dist/home/command.js +37 -0
  665. package/dist/home/command.js.map +1 -0
  666. package/dist/home/deprecation.d.ts +9 -0
  667. package/dist/home/deprecation.js +17 -0
  668. package/dist/home/deprecation.js.map +1 -0
  669. package/dist/home/display.d.ts +4 -0
  670. package/dist/home/display.js +11 -0
  671. package/dist/home/display.js.map +1 -0
  672. package/dist/home/entry-authorization.d.ts +17 -0
  673. package/dist/home/entry-authorization.js +39 -0
  674. package/dist/home/entry-authorization.js.map +1 -0
  675. package/dist/home/entry.d.ts +16 -0
  676. package/dist/home/entry.js +96 -0
  677. package/dist/home/entry.js.map +1 -0
  678. package/dist/home/file-location.d.ts +14 -0
  679. package/dist/home/file-location.js +24 -0
  680. package/dist/home/file-location.js.map +1 -0
  681. package/dist/home/home.d.ts +42 -0
  682. package/dist/home/home.js +70 -0
  683. package/dist/home/home.js.map +1 -0
  684. package/dist/home/identity.d.ts +22 -0
  685. package/dist/home/identity.js +25 -0
  686. package/dist/home/identity.js.map +1 -0
  687. package/dist/home/install-marker.d.ts +27 -0
  688. package/dist/home/install-marker.js +78 -0
  689. package/dist/home/install-marker.js.map +1 -0
  690. package/dist/home/kind-roots.d.ts +10 -0
  691. package/dist/home/kind-roots.js +36 -0
  692. package/dist/home/kind-roots.js.map +1 -0
  693. package/dist/home/leases.d.ts +14 -0
  694. package/dist/home/leases.js +55 -0
  695. package/dist/home/leases.js.map +1 -0
  696. package/dist/home/legacy-account-paths.d.ts +4 -0
  697. package/dist/home/legacy-account-paths.js +41 -0
  698. package/dist/home/legacy-account-paths.js.map +1 -0
  699. package/dist/home/legacy-merge.d.ts +3 -0
  700. package/dist/home/legacy-merge.js +45 -0
  701. package/dist/home/legacy-merge.js.map +1 -0
  702. package/dist/home/legacy-recovery.d.ts +5 -0
  703. package/dist/home/legacy-recovery.js +154 -0
  704. package/dist/home/legacy-recovery.js.map +1 -0
  705. package/dist/home/legacy-source.d.ts +15 -0
  706. package/dist/home/legacy-source.js +57 -0
  707. package/dist/home/legacy-source.js.map +1 -0
  708. package/dist/home/migrate.d.ts +19 -0
  709. package/dist/home/migrate.js +322 -0
  710. package/dist/home/migrate.js.map +1 -0
  711. package/dist/home/migration-account-source.d.ts +2 -0
  712. package/dist/home/migration-account-source.js +17 -0
  713. package/dist/home/migration-account-source.js.map +1 -0
  714. package/dist/home/migration-accounts.d.ts +23 -0
  715. package/dist/home/migration-accounts.js +174 -0
  716. package/dist/home/migration-accounts.js.map +1 -0
  717. package/dist/home/migration-boot.d.ts +23 -0
  718. package/dist/home/migration-boot.js +84 -0
  719. package/dist/home/migration-boot.js.map +1 -0
  720. package/dist/home/migration-claim.d.ts +4 -0
  721. package/dist/home/migration-claim.js +69 -0
  722. package/dist/home/migration-claim.js.map +1 -0
  723. package/dist/home/migration-cli.d.ts +3 -0
  724. package/dist/home/migration-cli.js +64 -0
  725. package/dist/home/migration-cli.js.map +1 -0
  726. package/dist/home/migration-files.d.ts +14 -0
  727. package/dist/home/migration-files.js +192 -0
  728. package/dist/home/migration-files.js.map +1 -0
  729. package/dist/home/migration-guard.d.ts +2 -0
  730. package/dist/home/migration-guard.js +20 -0
  731. package/dist/home/migration-guard.js.map +1 -0
  732. package/dist/home/migration-plan.d.ts +20 -0
  733. package/dist/home/migration-plan.js +71 -0
  734. package/dist/home/migration-plan.js.map +1 -0
  735. package/dist/home/migration-record.d.ts +79 -0
  736. package/dist/home/migration-record.js +39 -0
  737. package/dist/home/migration-record.js.map +1 -0
  738. package/dist/home/private-files.d.ts +13 -0
  739. package/dist/home/private-files.js +113 -0
  740. package/dist/home/private-files.js.map +1 -0
  741. package/dist/home/process-identity.d.ts +2 -0
  742. package/dist/home/process-identity.js +8 -0
  743. package/dist/home/process-identity.js.map +1 -0
  744. package/dist/home/protected-roots.d.ts +25 -0
  745. package/dist/home/protected-roots.js +91 -0
  746. package/dist/home/protected-roots.js.map +1 -0
  747. package/dist/home/recovery-watch.d.ts +3 -0
  748. package/dist/home/recovery-watch.js +75 -0
  749. package/dist/home/recovery-watch.js.map +1 -0
  750. package/dist/home/recovery.d.ts +10 -0
  751. package/dist/home/recovery.js +94 -0
  752. package/dist/home/recovery.js.map +1 -0
  753. package/dist/home/registry-content.d.ts +2 -0
  754. package/dist/home/registry-content.js +17 -0
  755. package/dist/home/registry-content.js.map +1 -0
  756. package/dist/home/reset-detection.d.ts +5 -0
  757. package/dist/home/reset-detection.js +22 -0
  758. package/dist/home/reset-detection.js.map +1 -0
  759. package/dist/home/resolve.d.ts +10 -0
  760. package/dist/home/resolve.js +28 -0
  761. package/dist/home/resolve.js.map +1 -0
  762. package/dist/home/store.d.ts +48 -0
  763. package/dist/home/store.js +324 -0
  764. package/dist/home/store.js.map +1 -0
  765. package/dist/home/switch.d.ts +2 -0
  766. package/dist/home/switch.js +3 -0
  767. package/dist/home/switch.js.map +1 -0
  768. package/dist/home/version-log.d.ts +48 -0
  769. package/dist/home/version-log.js +216 -0
  770. package/dist/home/version-log.js.map +1 -0
  771. package/dist/home/write-lock.d.ts +6 -0
  772. package/dist/home/write-lock.js +96 -0
  773. package/dist/home/write-lock.js.map +1 -0
  774. package/dist/hsq.d.ts +2 -0
  775. package/dist/hsq.js +3 -0
  776. package/dist/hsq.js.map +1 -0
  777. package/dist/index.d.ts +2 -0
  778. package/dist/index.js +123 -0
  779. package/dist/index.js.map +1 -0
  780. package/dist/install-as-command.d.ts +32 -0
  781. package/dist/install-as-command.js +55 -0
  782. package/dist/install-as-command.js.map +1 -0
  783. package/dist/jobs/cli.d.ts +2 -0
  784. package/dist/jobs/cli.js +53 -0
  785. package/dist/jobs/cli.js.map +1 -0
  786. package/dist/jobs/command.d.ts +9 -0
  787. package/dist/jobs/command.js +19 -0
  788. package/dist/jobs/command.js.map +1 -0
  789. package/dist/jobs/job.d.ts +77 -0
  790. package/dist/jobs/job.js +252 -0
  791. package/dist/jobs/job.js.map +1 -0
  792. package/dist/merge-observations.d.ts +13 -0
  793. package/dist/merge-observations.js +55 -0
  794. package/dist/merge-observations.js.map +1 -0
  795. package/dist/merged-streams.d.ts +13 -0
  796. package/dist/merged-streams.js +33 -0
  797. package/dist/merged-streams.js.map +1 -0
  798. package/dist/open-url.d.ts +2 -0
  799. package/dist/open-url.js +10 -0
  800. package/dist/open-url.js.map +1 -0
  801. package/dist/pack-check.d.ts +17 -0
  802. package/dist/pack-check.js +27 -0
  803. package/dist/pack-check.js.map +1 -0
  804. package/dist/paths.d.ts +118 -0
  805. package/dist/paths.js +192 -0
  806. package/dist/paths.js.map +1 -0
  807. package/dist/planner.d.ts +30 -0
  808. package/dist/planner.js +270 -0
  809. package/dist/planner.js.map +1 -0
  810. package/dist/preview/agent-address.d.ts +34 -0
  811. package/dist/preview/agent-address.js +52 -0
  812. package/dist/preview/agent-address.js.map +1 -0
  813. package/dist/preview/agent-marker.d.ts +17 -0
  814. package/dist/preview/agent-marker.js +71 -0
  815. package/dist/preview/agent-marker.js.map +1 -0
  816. package/dist/preview/browser-launch.d.ts +28 -0
  817. package/dist/preview/browser-launch.js +64 -0
  818. package/dist/preview/browser-launch.js.map +1 -0
  819. package/dist/preview/cdp-proxy.d.ts +54 -0
  820. package/dist/preview/cdp-proxy.js +152 -0
  821. package/dist/preview/cdp-proxy.js.map +1 -0
  822. package/dist/preview/cdp.d.ts +49 -0
  823. package/dist/preview/cdp.js +167 -0
  824. package/dist/preview/cdp.js.map +1 -0
  825. package/dist/preview/chromium-launch-progress.d.ts +10 -0
  826. package/dist/preview/chromium-launch-progress.js +48 -0
  827. package/dist/preview/chromium-launch-progress.js.map +1 -0
  828. package/dist/preview/chromium.d.ts +91 -0
  829. package/dist/preview/chromium.js +500 -0
  830. package/dist/preview/chromium.js.map +1 -0
  831. package/dist/preview/density.d.ts +17 -0
  832. package/dist/preview/density.js +62 -0
  833. package/dist/preview/density.js.map +1 -0
  834. package/dist/preview/dev-server.d.ts +68 -0
  835. package/dist/preview/dev-server.js +318 -0
  836. package/dist/preview/dev-server.js.map +1 -0
  837. package/dist/preview/host.d.ts +215 -0
  838. package/dist/preview/host.js +954 -0
  839. package/dist/preview/host.js.map +1 -0
  840. package/dist/preview/registration.d.ts +68 -0
  841. package/dist/preview/registration.js +111 -0
  842. package/dist/preview/registration.js.map +1 -0
  843. package/dist/preview/run-tools.d.ts +9 -0
  844. package/dist/preview/run-tools.js +72 -0
  845. package/dist/preview/run-tools.js.map +1 -0
  846. package/dist/preview/session.d.ts +139 -0
  847. package/dist/preview/session.js +479 -0
  848. package/dist/preview/session.js.map +1 -0
  849. package/dist/preview/url.d.ts +6 -0
  850. package/dist/preview/url.js +17 -0
  851. package/dist/preview/url.js.map +1 -0
  852. package/dist/process-wait/exit-file.d.ts +29 -0
  853. package/dist/process-wait/exit-file.js +67 -0
  854. package/dist/process-wait/exit-file.js.map +1 -0
  855. package/dist/process-wait/supervisor.d.ts +30 -0
  856. package/dist/process-wait/supervisor.js +71 -0
  857. package/dist/process-wait/supervisor.js.map +1 -0
  858. package/dist/project-commands.d.ts +14 -0
  859. package/dist/project-commands.js +91 -0
  860. package/dist/project-commands.js.map +1 -0
  861. package/dist/project-migration/answer.d.ts +23 -0
  862. package/dist/project-migration/answer.js +37 -0
  863. package/dist/project-migration/answer.js.map +1 -0
  864. package/dist/project-migration/auto.d.ts +73 -0
  865. package/dist/project-migration/auto.js +161 -0
  866. package/dist/project-migration/auto.js.map +1 -0
  867. package/dist/project-migration/cli.d.ts +18 -0
  868. package/dist/project-migration/cli.js +57 -0
  869. package/dist/project-migration/cli.js.map +1 -0
  870. package/dist/project-migration/containment.d.ts +52 -0
  871. package/dist/project-migration/containment.js +200 -0
  872. package/dist/project-migration/containment.js.map +1 -0
  873. package/dist/project-migration/durable.d.ts +25 -0
  874. package/dist/project-migration/durable.js +69 -0
  875. package/dist/project-migration/durable.js.map +1 -0
  876. package/dist/project-migration/engine.d.ts +47 -0
  877. package/dist/project-migration/engine.js +103 -0
  878. package/dist/project-migration/engine.js.map +1 -0
  879. package/dist/project-migration/fresh.d.ts +4 -0
  880. package/dist/project-migration/fresh.js +25 -0
  881. package/dist/project-migration/fresh.js.map +1 -0
  882. package/dist/project-migration/journal.d.ts +139 -0
  883. package/dist/project-migration/journal.js +69 -0
  884. package/dist/project-migration/journal.js.map +1 -0
  885. package/dist/project-migration/live.d.ts +48 -0
  886. package/dist/project-migration/live.js +148 -0
  887. package/dist/project-migration/live.js.map +1 -0
  888. package/dist/project-migration/offline.d.ts +25 -0
  889. package/dist/project-migration/offline.js +54 -0
  890. package/dist/project-migration/offline.js.map +1 -0
  891. package/dist/project-migration/plan.d.ts +91 -0
  892. package/dist/project-migration/plan.js +466 -0
  893. package/dist/project-migration/plan.js.map +1 -0
  894. package/dist/project-migration/recovery.d.ts +28 -0
  895. package/dist/project-migration/recovery.js +78 -0
  896. package/dist/project-migration/recovery.js.map +1 -0
  897. package/dist/project-migration/steps.d.ts +18 -0
  898. package/dist/project-migration/steps.js +312 -0
  899. package/dist/project-migration/steps.js.map +1 -0
  900. package/dist/project-paths.d.ts +61 -0
  901. package/dist/project-paths.js +185 -0
  902. package/dist/project-paths.js.map +1 -0
  903. package/dist/release/compatibility.d.ts +12 -0
  904. package/dist/release/compatibility.js +62 -0
  905. package/dist/release/compatibility.js.map +1 -0
  906. package/dist/release/manifests.d.ts +112 -0
  907. package/dist/release/manifests.js +104 -0
  908. package/dist/release/manifests.js.map +1 -0
  909. package/dist/release/publication.d.ts +3 -0
  910. package/dist/release/publication.js +34 -0
  911. package/dist/release/publication.js.map +1 -0
  912. package/dist/release/snapshot.d.ts +67 -0
  913. package/dist/release/snapshot.js +97 -0
  914. package/dist/release/snapshot.js.map +1 -0
  915. package/dist/release/stable.d.ts +38 -0
  916. package/dist/release/stable.js +55 -0
  917. package/dist/release/stable.js.map +1 -0
  918. package/dist/remote-settings-cli.d.ts +24 -0
  919. package/dist/remote-settings-cli.js +156 -0
  920. package/dist/remote-settings-cli.js.map +1 -0
  921. package/dist/remote-settings.d.ts +41 -0
  922. package/dist/remote-settings.js +110 -0
  923. package/dist/remote-settings.js.map +1 -0
  924. package/dist/runs/agent-tmpdir-removal.d.ts +15 -0
  925. package/dist/runs/agent-tmpdir-removal.js +60 -0
  926. package/dist/runs/agent-tmpdir-removal.js.map +1 -0
  927. package/dist/runs/agent-tmpdir.d.ts +119 -0
  928. package/dist/runs/agent-tmpdir.js +855 -0
  929. package/dist/runs/agent-tmpdir.js.map +1 -0
  930. package/dist/runs/archive-family.d.ts +33 -0
  931. package/dist/runs/archive-family.js +90 -0
  932. package/dist/runs/archive-family.js.map +1 -0
  933. package/dist/runs/arm-repo-handle.d.ts +10 -0
  934. package/dist/runs/arm-repo-handle.js +45 -0
  935. package/dist/runs/arm-repo-handle.js.map +1 -0
  936. package/dist/runs/auto-name.d.ts +77 -0
  937. package/dist/runs/auto-name.js +179 -0
  938. package/dist/runs/auto-name.js.map +1 -0
  939. package/dist/runs/claim-families.d.ts +37 -0
  940. package/dist/runs/claim-families.js +101 -0
  941. package/dist/runs/claim-families.js.map +1 -0
  942. package/dist/runs/client-request.d.ts +11 -0
  943. package/dist/runs/client-request.js +26 -0
  944. package/dist/runs/client-request.js.map +1 -0
  945. package/dist/runs/cold-reads.d.ts +40 -0
  946. package/dist/runs/cold-reads.js +56 -0
  947. package/dist/runs/cold-reads.js.map +1 -0
  948. package/dist/runs/conversation-identity.d.ts +19 -0
  949. package/dist/runs/conversation-identity.js +31 -0
  950. package/dist/runs/conversation-identity.js.map +1 -0
  951. package/dist/runs/delegation-state.d.ts +409 -0
  952. package/dist/runs/delegation-state.js +22 -0
  953. package/dist/runs/delegation-state.js.map +1 -0
  954. package/dist/runs/event-history-agent-context.d.ts +15 -0
  955. package/dist/runs/event-history-agent-context.js +119 -0
  956. package/dist/runs/event-history-agent-context.js.map +1 -0
  957. package/dist/runs/event-history-context.d.ts +15 -0
  958. package/dist/runs/event-history-context.js +109 -0
  959. package/dist/runs/event-history-context.js.map +1 -0
  960. package/dist/runs/event-history.d.ts +53 -0
  961. package/dist/runs/event-history.js +563 -0
  962. package/dist/runs/event-history.js.map +1 -0
  963. package/dist/runs/exit-events.d.ts +27 -0
  964. package/dist/runs/exit-events.js +46 -0
  965. package/dist/runs/exit-events.js.map +1 -0
  966. package/dist/runs/history-compressor.d.ts +29 -0
  967. package/dist/runs/history-compressor.js +116 -0
  968. package/dist/runs/history-compressor.js.map +1 -0
  969. package/dist/runs/history-file.d.ts +36 -0
  970. package/dist/runs/history-file.js +464 -0
  971. package/dist/runs/history-file.js.map +1 -0
  972. package/dist/runs/history-stream.d.ts +2 -0
  973. package/dist/runs/history-stream.js +62 -0
  974. package/dist/runs/history-stream.js.map +1 -0
  975. package/dist/runs/legacy-index.d.ts +49 -0
  976. package/dist/runs/legacy-index.js +156 -0
  977. package/dist/runs/legacy-index.js.map +1 -0
  978. package/dist/runs/legacy-run-rows.d.ts +12 -0
  979. package/dist/runs/legacy-run-rows.js +33 -0
  980. package/dist/runs/legacy-run-rows.js.map +1 -0
  981. package/dist/runs/legacy-waits.d.ts +64 -0
  982. package/dist/runs/legacy-waits.js +335 -0
  983. package/dist/runs/legacy-waits.js.map +1 -0
  984. package/dist/runs/live-item-snapshots.d.ts +15 -0
  985. package/dist/runs/live-item-snapshots.js +95 -0
  986. package/dist/runs/live-item-snapshots.js.map +1 -0
  987. package/dist/runs/loaded-run-exits.d.ts +6 -0
  988. package/dist/runs/loaded-run-exits.js +32 -0
  989. package/dist/runs/loaded-run-exits.js.map +1 -0
  990. package/dist/runs/loaded-run-healing.d.ts +3 -0
  991. package/dist/runs/loaded-run-healing.js +17 -0
  992. package/dist/runs/loaded-run-healing.js.map +1 -0
  993. package/dist/runs/outcome-commit.d.ts +119 -0
  994. package/dist/runs/outcome-commit.js +155 -0
  995. package/dist/runs/outcome-commit.js.map +1 -0
  996. package/dist/runs/owned-run-create.d.ts +33 -0
  997. package/dist/runs/owned-run-create.js +98 -0
  998. package/dist/runs/owned-run-create.js.map +1 -0
  999. package/dist/runs/project-run-connection.d.ts +76 -0
  1000. package/dist/runs/project-run-connection.js +287 -0
  1001. package/dist/runs/project-run-connection.js.map +1 -0
  1002. package/dist/runs/project-run-sources.d.ts +21 -0
  1003. package/dist/runs/project-run-sources.js +86 -0
  1004. package/dist/runs/project-run-sources.js.map +1 -0
  1005. package/dist/runs/pull-requests.d.ts +14 -0
  1006. package/dist/runs/pull-requests.js +96 -0
  1007. package/dist/runs/pull-requests.js.map +1 -0
  1008. package/dist/runs/raw-record.d.ts +40 -0
  1009. package/dist/runs/raw-record.js +133 -0
  1010. package/dist/runs/raw-record.js.map +1 -0
  1011. package/dist/runs/record-write-rules.d.ts +129 -0
  1012. package/dist/runs/record-write-rules.js +326 -0
  1013. package/dist/runs/record-write-rules.js.map +1 -0
  1014. package/dist/runs/report-rows.d.ts +36 -0
  1015. package/dist/runs/report-rows.js +102 -0
  1016. package/dist/runs/report-rows.js.map +1 -0
  1017. package/dist/runs/retention.d.ts +91 -0
  1018. package/dist/runs/retention.js +193 -0
  1019. package/dist/runs/retention.js.map +1 -0
  1020. package/dist/runs/review-gate.d.ts +18 -0
  1021. package/dist/runs/review-gate.js +22 -0
  1022. package/dist/runs/review-gate.js.map +1 -0
  1023. package/dist/runs/run-claims.d.ts +30 -0
  1024. package/dist/runs/run-claims.js +52 -0
  1025. package/dist/runs/run-claims.js.map +1 -0
  1026. package/dist/runs/run-database-peer-page.d.ts +12 -0
  1027. package/dist/runs/run-database-peer-page.js +25 -0
  1028. package/dist/runs/run-database-peer-page.js.map +1 -0
  1029. package/dist/runs/run-database-row.d.ts +39 -0
  1030. package/dist/runs/run-database-row.js +83 -0
  1031. package/dist/runs/run-database-row.js.map +1 -0
  1032. package/dist/runs/run-database-version.d.ts +14 -0
  1033. package/dist/runs/run-database-version.js +19 -0
  1034. package/dist/runs/run-database-version.js.map +1 -0
  1035. package/dist/runs/run-database.d.ts +389 -0
  1036. package/dist/runs/run-database.js +957 -0
  1037. package/dist/runs/run-database.js.map +1 -0
  1038. package/dist/runs/run-exits.d.ts +4510 -0
  1039. package/dist/runs/run-exits.js +191 -0
  1040. package/dist/runs/run-exits.js.map +1 -0
  1041. package/dist/runs/run-index.d.ts +36 -0
  1042. package/dist/runs/run-index.js +262 -0
  1043. package/dist/runs/run-index.js.map +1 -0
  1044. package/dist/runs/run-references.d.ts +61 -0
  1045. package/dist/runs/run-references.js +421 -0
  1046. package/dist/runs/run-references.js.map +1 -0
  1047. package/dist/runs/run-row.d.ts +14 -0
  1048. package/dist/runs/run-row.js +56 -0
  1049. package/dist/runs/run-row.js.map +1 -0
  1050. package/dist/runs/run-summary-page.d.ts +36 -0
  1051. package/dist/runs/run-summary-page.js +46 -0
  1052. package/dist/runs/run-summary-page.js.map +1 -0
  1053. package/dist/runs/run-title.d.ts +8 -0
  1054. package/dist/runs/run-title.js +28 -0
  1055. package/dist/runs/run-title.js.map +1 -0
  1056. package/dist/runs/store-open-error.d.ts +24 -0
  1057. package/dist/runs/store-open-error.js +62 -0
  1058. package/dist/runs/store-open-error.js.map +1 -0
  1059. package/dist/runs/store.d.ts +3974 -0
  1060. package/dist/runs/store.js +3516 -0
  1061. package/dist/runs/store.js.map +1 -0
  1062. package/dist/runs/task-markers.d.ts +29 -0
  1063. package/dist/runs/task-markers.js +78 -0
  1064. package/dist/runs/task-markers.js.map +1 -0
  1065. package/dist/runs/task-refs.d.ts +39 -0
  1066. package/dist/runs/task-refs.js +107 -0
  1067. package/dist/runs/task-refs.js.map +1 -0
  1068. package/dist/runs/transcript-facts-fold.d.ts +64 -0
  1069. package/dist/runs/transcript-facts-fold.js +109 -0
  1070. package/dist/runs/transcript-facts-fold.js.map +1 -0
  1071. package/dist/runs/transcript-facts-load.d.ts +11 -0
  1072. package/dist/runs/transcript-facts-load.js +66 -0
  1073. package/dist/runs/transcript-facts-load.js.map +1 -0
  1074. package/dist/runs/transcript-facts-queue.d.ts +30 -0
  1075. package/dist/runs/transcript-facts-queue.js +227 -0
  1076. package/dist/runs/transcript-facts-queue.js.map +1 -0
  1077. package/dist/runs/transcript-facts-worker.d.ts +15 -0
  1078. package/dist/runs/transcript-facts-worker.js +26 -0
  1079. package/dist/runs/transcript-facts-worker.js.map +1 -0
  1080. package/dist/runs/transcript-facts.d.ts +40 -0
  1081. package/dist/runs/transcript-facts.js +193 -0
  1082. package/dist/runs/transcript-facts.js.map +1 -0
  1083. package/dist/runs/ui-event-sink.d.ts +59 -0
  1084. package/dist/runs/ui-event-sink.js +197 -0
  1085. package/dist/runs/ui-event-sink.js.map +1 -0
  1086. package/dist/runs/wait-capacity.d.ts +8 -0
  1087. package/dist/runs/wait-capacity.js +28 -0
  1088. package/dist/runs/wait-capacity.js.map +1 -0
  1089. package/dist/runs/wait-phases.d.ts +4 -0
  1090. package/dist/runs/wait-phases.js +11 -0
  1091. package/dist/runs/wait-phases.js.map +1 -0
  1092. package/dist/runs/wait-registration-write.d.ts +5 -0
  1093. package/dist/runs/wait-registration-write.js +35 -0
  1094. package/dist/runs/wait-registration-write.js.map +1 -0
  1095. package/dist/runs/webhook.d.ts +193 -0
  1096. package/dist/runs/webhook.js +362 -0
  1097. package/dist/runs/webhook.js.map +1 -0
  1098. package/dist/runs/worker-deletion-proof.d.ts +13 -0
  1099. package/dist/runs/worker-deletion-proof.js +13 -0
  1100. package/dist/runs/worker-deletion-proof.js.map +1 -0
  1101. package/dist/runs/worker-execution.d.ts +22 -0
  1102. package/dist/runs/worker-execution.js +30 -0
  1103. package/dist/runs/worker-execution.js.map +1 -0
  1104. package/dist/runs/worker-resource-holders.d.ts +17 -0
  1105. package/dist/runs/worker-resource-holders.js +34 -0
  1106. package/dist/runs/worker-resource-holders.js.map +1 -0
  1107. package/dist/runs/worker-result-commit.d.ts +26 -0
  1108. package/dist/runs/worker-result-commit.js +121 -0
  1109. package/dist/runs/worker-result-commit.js.map +1 -0
  1110. package/dist/self-update/checkouts.d.ts +46 -0
  1111. package/dist/self-update/checkouts.js +284 -0
  1112. package/dist/self-update/checkouts.js.map +1 -0
  1113. package/dist/self-update/cli.d.ts +19 -0
  1114. package/dist/self-update/cli.js +243 -0
  1115. package/dist/self-update/cli.js.map +1 -0
  1116. package/dist/self-update/installer.d.ts +24 -0
  1117. package/dist/self-update/installer.js +139 -0
  1118. package/dist/self-update/installer.js.map +1 -0
  1119. package/dist/self-update/launcher.d.ts +30 -0
  1120. package/dist/self-update/launcher.js +172 -0
  1121. package/dist/self-update/launcher.js.map +1 -0
  1122. package/dist/self-update/layout.d.ts +108 -0
  1123. package/dist/self-update/layout.js +276 -0
  1124. package/dist/self-update/layout.js.map +1 -0
  1125. package/dist/self-update/pulls.d.ts +30 -0
  1126. package/dist/self-update/pulls.js +128 -0
  1127. package/dist/self-update/pulls.js.map +1 -0
  1128. package/dist/self-update/registry.d.ts +37 -0
  1129. package/dist/self-update/registry.js +86 -0
  1130. package/dist/self-update/registry.js.map +1 -0
  1131. package/dist/self-update/restart.d.ts +25 -0
  1132. package/dist/self-update/restart.js +79 -0
  1133. package/dist/self-update/restart.js.map +1 -0
  1134. package/dist/self-update/semver.d.ts +19 -0
  1135. package/dist/self-update/semver.js +79 -0
  1136. package/dist/self-update/semver.js.map +1 -0
  1137. package/dist/self-update/service.d.ts +115 -0
  1138. package/dist/self-update/service.js +332 -0
  1139. package/dist/self-update/service.js.map +1 -0
  1140. package/dist/self-update/supervisor.d.ts +10 -0
  1141. package/dist/self-update/supervisor.js +52 -0
  1142. package/dist/self-update/supervisor.js.map +1 -0
  1143. package/dist/serve-boot.d.ts +60 -0
  1144. package/dist/serve-boot.js +142 -0
  1145. package/dist/serve-boot.js.map +1 -0
  1146. package/dist/serve-command.d.ts +71 -0
  1147. package/dist/serve-command.js +168 -0
  1148. package/dist/serve-command.js.map +1 -0
  1149. package/dist/serve-listener.d.ts +12 -0
  1150. package/dist/serve-listener.js +52 -0
  1151. package/dist/serve-listener.js.map +1 -0
  1152. package/dist/server/activity-project-topic.d.ts +44 -0
  1153. package/dist/server/activity-project-topic.js +137 -0
  1154. package/dist/server/activity-project-topic.js.map +1 -0
  1155. package/dist/server/activity-routes.d.ts +317 -0
  1156. package/dist/server/activity-routes.js +117 -0
  1157. package/dist/server/activity-routes.js.map +1 -0
  1158. package/dist/server/activity-sources.d.ts +26 -0
  1159. package/dist/server/activity-sources.js +45 -0
  1160. package/dist/server/activity-sources.js.map +1 -0
  1161. package/dist/server/activity-topic.d.ts +33 -0
  1162. package/dist/server/activity-topic.js +48 -0
  1163. package/dist/server/activity-topic.js.map +1 -0
  1164. package/dist/server/app-type.d.ts +6 -0
  1165. package/dist/server/app-type.js +2 -0
  1166. package/dist/server/app-type.js.map +1 -0
  1167. package/dist/server/archive-on-merge.d.ts +45 -0
  1168. package/dist/server/archive-on-merge.js +242 -0
  1169. package/dist/server/archive-on-merge.js.map +1 -0
  1170. package/dist/server/automation-log-retry.d.ts +27 -0
  1171. package/dist/server/automation-log-retry.js +88 -0
  1172. package/dist/server/automation-log-retry.js.map +1 -0
  1173. package/dist/server/capabilities.d.ts +69 -0
  1174. package/dist/server/capabilities.js +111 -0
  1175. package/dist/server/capabilities.js.map +1 -0
  1176. package/dist/server/checkout-progress.d.ts +10 -0
  1177. package/dist/server/checkout-progress.js +27 -0
  1178. package/dist/server/checkout-progress.js.map +1 -0
  1179. package/dist/server/checkout.d.ts +153 -0
  1180. package/dist/server/checkout.js +323 -0
  1181. package/dist/server/checkout.js.map +1 -0
  1182. package/dist/server/cockpit-ownership.d.ts +112 -0
  1183. package/dist/server/cockpit-ownership.js +420 -0
  1184. package/dist/server/cockpit-ownership.js.map +1 -0
  1185. package/dist/server/cold-repo-handles.d.ts +17 -0
  1186. package/dist/server/cold-repo-handles.js +82 -0
  1187. package/dist/server/cold-repo-handles.js.map +1 -0
  1188. package/dist/server/completion-actions.d.ts +37 -0
  1189. package/dist/server/completion-actions.js +261 -0
  1190. package/dist/server/completion-actions.js.map +1 -0
  1191. package/dist/server/config-merge.d.ts +11 -0
  1192. package/dist/server/config-merge.js +74 -0
  1193. package/dist/server/config-merge.js.map +1 -0
  1194. package/dist/server/create-project.d.ts +71 -0
  1195. package/dist/server/create-project.js +467 -0
  1196. package/dist/server/create-project.js.map +1 -0
  1197. package/dist/server/forge/draft-pr.d.ts +8 -0
  1198. package/dist/server/forge/draft-pr.js +123 -0
  1199. package/dist/server/forge/draft-pr.js.map +1 -0
  1200. package/dist/server/forge/github-filters.d.ts +22 -0
  1201. package/dist/server/forge/github-filters.js +128 -0
  1202. package/dist/server/forge/github-filters.js.map +1 -0
  1203. package/dist/server/forge/github-merge-requirements.d.ts +18 -0
  1204. package/dist/server/forge/github-merge-requirements.js +148 -0
  1205. package/dist/server/forge/github-merge-requirements.js.map +1 -0
  1206. package/dist/server/forge/github-merge-state.d.ts +27 -0
  1207. package/dist/server/forge/github-merge-state.js +248 -0
  1208. package/dist/server/forge/github-merge-state.js.map +1 -0
  1209. package/dist/server/forge/github-timeline.d.ts +117 -0
  1210. package/dist/server/forge/github-timeline.js +273 -0
  1211. package/dist/server/forge/github-timeline.js.map +1 -0
  1212. package/dist/server/forge/github.d.ts +393 -0
  1213. package/dist/server/forge/github.js +2881 -0
  1214. package/dist/server/forge/github.js.map +1 -0
  1215. package/dist/server/forge/index.d.ts +47 -0
  1216. package/dist/server/forge/index.js +81 -0
  1217. package/dist/server/forge/index.js.map +1 -0
  1218. package/dist/server/forge/repo-handle-discovery.d.ts +16 -0
  1219. package/dist/server/forge/repo-handle-discovery.js +2 -0
  1220. package/dist/server/forge/repo-handle-discovery.js.map +1 -0
  1221. package/dist/server/forge/types.d.ts +278 -0
  1222. package/dist/server/forge/types.js +2 -0
  1223. package/dist/server/forge/types.js.map +1 -0
  1224. package/dist/server/fs-browse.d.ts +82 -0
  1225. package/dist/server/fs-browse.js +217 -0
  1226. package/dist/server/fs-browse.js.map +1 -0
  1227. package/dist/server/git-changes.d.ts +205 -0
  1228. package/dist/server/git-changes.js +531 -0
  1229. package/dist/server/git-changes.js.map +1 -0
  1230. package/dist/server/git.d.ts +52 -0
  1231. package/dist/server/git.js +174 -0
  1232. package/dist/server/git.js.map +1 -0
  1233. package/dist/server/home-recovery-routes.d.ts +171 -0
  1234. package/dist/server/home-recovery-routes.js +56 -0
  1235. package/dist/server/home-recovery-routes.js.map +1 -0
  1236. package/dist/server/launch-key.d.ts +5 -0
  1237. package/dist/server/launch-key.js +35 -0
  1238. package/dist/server/launch-key.js.map +1 -0
  1239. package/dist/server/live-routes.d.ts +73 -0
  1240. package/dist/server/live-routes.js +161 -0
  1241. package/dist/server/live-routes.js.map +1 -0
  1242. package/dist/server/open-in-app.d.ts +57 -0
  1243. package/dist/server/open-in-app.js +178 -0
  1244. package/dist/server/open-in-app.js.map +1 -0
  1245. package/dist/server/open-in-targets.d.ts +53 -0
  1246. package/dist/server/open-in-targets.js +112 -0
  1247. package/dist/server/open-in-targets.js.map +1 -0
  1248. package/dist/server/open-in-terminal.d.ts +73 -0
  1249. package/dist/server/open-in-terminal.js +160 -0
  1250. package/dist/server/open-in-terminal.js.map +1 -0
  1251. package/dist/server/preview-cdp-socket.d.ts +21 -0
  1252. package/dist/server/preview-cdp-socket.js +112 -0
  1253. package/dist/server/preview-cdp-socket.js.map +1 -0
  1254. package/dist/server/preview-socket.d.ts +36 -0
  1255. package/dist/server/preview-socket.js +142 -0
  1256. package/dist/server/preview-socket.js.map +1 -0
  1257. package/dist/server/preview-sockets.d.ts +14 -0
  1258. package/dist/server/preview-sockets.js +18 -0
  1259. package/dist/server/preview-sockets.js.map +1 -0
  1260. package/dist/server/project-context.d.ts +218 -0
  1261. package/dist/server/project-context.js +525 -0
  1262. package/dist/server/project-context.js.map +1 -0
  1263. package/dist/server/project-run-files.d.ts +13 -0
  1264. package/dist/server/project-run-files.js +52 -0
  1265. package/dist/server/project-run-files.js.map +1 -0
  1266. package/dist/server/provider-action-gate.d.ts +5 -0
  1267. package/dist/server/provider-action-gate.js +28 -0
  1268. package/dist/server/provider-action-gate.js.map +1 -0
  1269. package/dist/server/provider-auth-runtime.d.ts +34 -0
  1270. package/dist/server/provider-auth-runtime.js +118 -0
  1271. package/dist/server/provider-auth-runtime.js.map +1 -0
  1272. package/dist/server/repo-branch-forge.d.ts +61 -0
  1273. package/dist/server/repo-branch-forge.js +158 -0
  1274. package/dist/server/repo-branch-forge.js.map +1 -0
  1275. package/dist/server/repo-branch-sweep.d.ts +21 -0
  1276. package/dist/server/repo-branch-sweep.js +64 -0
  1277. package/dist/server/repo-branch-sweep.js.map +1 -0
  1278. package/dist/server/repo-branches.d.ts +103 -0
  1279. package/dist/server/repo-branches.js +804 -0
  1280. package/dist/server/repo-branches.js.map +1 -0
  1281. package/dist/server/repo-pull.d.ts +18 -0
  1282. package/dist/server/repo-pull.js +97 -0
  1283. package/dist/server/repo-pull.js.map +1 -0
  1284. package/dist/server/reports-api.d.ts +90 -0
  1285. package/dist/server/reports-api.js +21 -0
  1286. package/dist/server/reports-api.js.map +1 -0
  1287. package/dist/server/reports-topic.d.ts +5 -0
  1288. package/dist/server/reports-topic.js +37 -0
  1289. package/dist/server/reports-topic.js.map +1 -0
  1290. package/dist/server/run-checkout.d.ts +56 -0
  1291. package/dist/server/run-checkout.js +141 -0
  1292. package/dist/server/run-checkout.js.map +1 -0
  1293. package/dist/server/run-event-feed.d.ts +20 -0
  1294. package/dist/server/run-event-feed.js +203 -0
  1295. package/dist/server/run-event-feed.js.map +1 -0
  1296. package/dist/server/self-update-routes.d.ts +308 -0
  1297. package/dist/server/self-update-routes.js +80 -0
  1298. package/dist/server/self-update-routes.js.map +1 -0
  1299. package/dist/server/server-deps.d.ts +40 -0
  1300. package/dist/server/server-deps.js +132 -0
  1301. package/dist/server/server-deps.js.map +1 -0
  1302. package/dist/server/server.d.ts +35332 -0
  1303. package/dist/server/server.js +5046 -0
  1304. package/dist/server/server.js.map +1 -0
  1305. package/dist/server/skill-sources.d.ts +264 -0
  1306. package/dist/server/skill-sources.js +130 -0
  1307. package/dist/server/skill-sources.js.map +1 -0
  1308. package/dist/server/start-run-options.d.ts +84 -0
  1309. package/dist/server/start-run-options.js +114 -0
  1310. package/dist/server/start-run-options.js.map +1 -0
  1311. package/dist/server/static-ui.d.ts +49 -0
  1312. package/dist/server/static-ui.js +99 -0
  1313. package/dist/server/static-ui.js.map +1 -0
  1314. package/dist/server/upgrade-router.d.ts +23 -0
  1315. package/dist/server/upgrade-router.js +53 -0
  1316. package/dist/server/upgrade-router.js.map +1 -0
  1317. package/dist/server/validators.d.ts +80 -0
  1318. package/dist/server/validators.js +85 -0
  1319. package/dist/server/validators.js.map +1 -0
  1320. package/dist/server/workflow-files.d.ts +9 -0
  1321. package/dist/server/workflow-files.js +27 -0
  1322. package/dist/server/workflow-files.js.map +1 -0
  1323. package/dist/server/workspace-config-patch.d.ts +11 -0
  1324. package/dist/server/workspace-config-patch.js +75 -0
  1325. package/dist/server/workspace-config-patch.js.map +1 -0
  1326. package/dist/server/workspace-live-routes.d.ts +222 -0
  1327. package/dist/server/workspace-live-routes.js +8 -0
  1328. package/dist/server/workspace-live-routes.js.map +1 -0
  1329. package/dist/server/workspace-projects.d.ts +51 -0
  1330. package/dist/server/workspace-projects.js +161 -0
  1331. package/dist/server/workspace-projects.js.map +1 -0
  1332. package/dist/server/workspace-run-feed.d.ts +66 -0
  1333. package/dist/server/workspace-run-feed.js +171 -0
  1334. package/dist/server/workspace-run-feed.js.map +1 -0
  1335. package/dist/server/ws.d.ts +80 -0
  1336. package/dist/server/ws.js +280 -0
  1337. package/dist/server/ws.js.map +1 -0
  1338. package/dist/server/wsl.d.ts +25 -0
  1339. package/dist/server/wsl.js +92 -0
  1340. package/dist/server/wsl.js.map +1 -0
  1341. package/dist/server-command.d.ts +53 -0
  1342. package/dist/server-command.js +180 -0
  1343. package/dist/server-command.js.map +1 -0
  1344. package/dist/server-install/engine.d.ts +51 -0
  1345. package/dist/server-install/engine.js +358 -0
  1346. package/dist/server-install/engine.js.map +1 -0
  1347. package/dist/server-install/group-migrate.d.ts +26 -0
  1348. package/dist/server-install/group-migrate.js +241 -0
  1349. package/dist/server-install/group-migrate.js.map +1 -0
  1350. package/dist/server-install/migrate-cli.d.ts +12 -0
  1351. package/dist/server-install/migrate-cli.js +44 -0
  1352. package/dist/server-install/migrate-cli.js.map +1 -0
  1353. package/dist/server-install/migrate-journal.d.ts +15 -0
  1354. package/dist/server-install/migrate-journal.js +48 -0
  1355. package/dist/server-install/migrate-journal.js.map +1 -0
  1356. package/dist/server-install/migration-report.d.ts +3 -0
  1357. package/dist/server-install/migration-report.js +21 -0
  1358. package/dist/server-install/migration-report.js.map +1 -0
  1359. package/dist/server-install/npx-cache.d.ts +34 -0
  1360. package/dist/server-install/npx-cache.js +142 -0
  1361. package/dist/server-install/npx-cache.js.map +1 -0
  1362. package/dist/server-install/platforms/macosx-launchd-files.d.ts +11 -0
  1363. package/dist/server-install/platforms/macosx-launchd-files.js +60 -0
  1364. package/dist/server-install/platforms/macosx-launchd-files.js.map +1 -0
  1365. package/dist/server-install/platforms/macosx-migration.d.ts +17 -0
  1366. package/dist/server-install/platforms/macosx-migration.js +239 -0
  1367. package/dist/server-install/platforms/macosx-migration.js.map +1 -0
  1368. package/dist/server-install/platforms/macosx-ngrok.d.ts +12 -0
  1369. package/dist/server-install/platforms/macosx-ngrok.js +490 -0
  1370. package/dist/server-install/platforms/macosx-ngrok.js.map +1 -0
  1371. package/dist/server-install/platforms/service-env.d.ts +4 -0
  1372. package/dist/server-install/platforms/service-env.js +17 -0
  1373. package/dist/server-install/platforms/service-env.js.map +1 -0
  1374. package/dist/server-install/platforms/ubuntu-vps-files.d.ts +18 -0
  1375. package/dist/server-install/platforms/ubuntu-vps-files.js +43 -0
  1376. package/dist/server-install/platforms/ubuntu-vps-files.js.map +1 -0
  1377. package/dist/server-install/platforms/ubuntu-vps-migration.d.ts +26 -0
  1378. package/dist/server-install/platforms/ubuntu-vps-migration.js +391 -0
  1379. package/dist/server-install/platforms/ubuntu-vps-migration.js.map +1 -0
  1380. package/dist/server-install/platforms/ubuntu-vps-names.d.ts +30 -0
  1381. package/dist/server-install/platforms/ubuntu-vps-names.js +50 -0
  1382. package/dist/server-install/platforms/ubuntu-vps-names.js.map +1 -0
  1383. package/dist/server-install/platforms/ubuntu-vps-redeploy.d.ts +42 -0
  1384. package/dist/server-install/platforms/ubuntu-vps-redeploy.js +127 -0
  1385. package/dist/server-install/platforms/ubuntu-vps-redeploy.js.map +1 -0
  1386. package/dist/server-install/platforms/ubuntu-vps.d.ts +57 -0
  1387. package/dist/server-install/platforms/ubuntu-vps.js +945 -0
  1388. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -0
  1389. package/dist/server-install/state.d.ts +51 -0
  1390. package/dist/server-install/state.js +178 -0
  1391. package/dist/server-install/state.js.map +1 -0
  1392. package/dist/server-install/steps.d.ts +108 -0
  1393. package/dist/server-install/steps.js +348 -0
  1394. package/dist/server-install/steps.js.map +1 -0
  1395. package/dist/server-install/strategies.d.ts +6 -0
  1396. package/dist/server-install/strategies.js +24 -0
  1397. package/dist/server-install/strategies.js.map +1 -0
  1398. package/dist/server-install/types.d.ts +316 -0
  1399. package/dist/server-install/types.js +118 -0
  1400. package/dist/server-install/types.js.map +1 -0
  1401. package/dist/server-install/ui.d.ts +36 -0
  1402. package/dist/server-install/ui.js +131 -0
  1403. package/dist/server-install/ui.js.map +1 -0
  1404. package/dist/session-context.d.ts +66 -0
  1405. package/dist/session-context.js +266 -0
  1406. package/dist/session-context.js.map +1 -0
  1407. package/dist/skills-provision.d.ts +64 -0
  1408. package/dist/skills-provision.js +325 -0
  1409. package/dist/skills-provision.js.map +1 -0
  1410. package/dist/skills-remote.d.ts +144 -0
  1411. package/dist/skills-remote.js +847 -0
  1412. package/dist/skills-remote.js.map +1 -0
  1413. package/dist/skills.d.ts +81 -0
  1414. package/dist/skills.js +288 -0
  1415. package/dist/skills.js.map +1 -0
  1416. package/dist/subcommands.d.ts +12 -0
  1417. package/dist/subcommands.js +59 -0
  1418. package/dist/subcommands.js.map +1 -0
  1419. package/dist/task-cli/cli.d.ts +39 -0
  1420. package/dist/task-cli/cli.js +773 -0
  1421. package/dist/task-cli/cli.js.map +1 -0
  1422. package/dist/task-cli/discovery.d.ts +32 -0
  1423. package/dist/task-cli/discovery.js +133 -0
  1424. package/dist/task-cli/discovery.js.map +1 -0
  1425. package/dist/task-cli/hint.d.ts +20 -0
  1426. package/dist/task-cli/hint.js +15 -0
  1427. package/dist/task-cli/hint.js.map +1 -0
  1428. package/dist/task-cli/http.d.ts +42 -0
  1429. package/dist/task-cli/http.js +110 -0
  1430. package/dist/task-cli/http.js.map +1 -0
  1431. package/dist/task-cli/projections.d.ts +68 -0
  1432. package/dist/task-cli/projections.js +76 -0
  1433. package/dist/task-cli/projections.js.map +1 -0
  1434. package/dist/task-cli/watch.d.ts +119 -0
  1435. package/dist/task-cli/watch.js +494 -0
  1436. package/dist/task-cli/watch.js.map +1 -0
  1437. package/dist/ui-state.d.ts +41 -0
  1438. package/dist/ui-state.js +93 -0
  1439. package/dist/ui-state.js.map +1 -0
  1440. package/dist/update-check.d.ts +2 -0
  1441. package/dist/update-check.js +28 -0
  1442. package/dist/update-check.js.map +1 -0
  1443. package/dist/use-command-notice.d.ts +1 -0
  1444. package/dist/use-command-notice.js +6 -0
  1445. package/dist/use-command-notice.js.map +1 -0
  1446. package/dist/voice/decide.d.ts +35 -0
  1447. package/dist/voice/decide.js +329 -0
  1448. package/dist/voice/decide.js.map +1 -0
  1449. package/dist/voice/decision-log.d.ts +48 -0
  1450. package/dist/voice/decision-log.js +117 -0
  1451. package/dist/voice/decision-log.js.map +1 -0
  1452. package/dist/voice/engine.d.ts +119 -0
  1453. package/dist/voice/engine.js +61 -0
  1454. package/dist/voice/engine.js.map +1 -0
  1455. package/dist/voice/fake-engine.d.ts +10 -0
  1456. package/dist/voice/fake-engine.js +192 -0
  1457. package/dist/voice/fake-engine.js.map +1 -0
  1458. package/dist/voice/jev-engine.d.ts +17 -0
  1459. package/dist/voice/jev-engine.js +110 -0
  1460. package/dist/voice/jev-engine.js.map +1 -0
  1461. package/dist/voice/pending-ask.d.ts +17 -0
  1462. package/dist/voice/pending-ask.js +51 -0
  1463. package/dist/voice/pending-ask.js.map +1 -0
  1464. package/dist/voice/routes.d.ts +115 -0
  1465. package/dist/voice/routes.js +92 -0
  1466. package/dist/voice/routes.js.map +1 -0
  1467. package/dist/voice/sentence.d.ts +21 -0
  1468. package/dist/voice/sentence.js +61 -0
  1469. package/dist/voice/sentence.js.map +1 -0
  1470. package/dist/voice/thresholds.d.ts +28 -0
  1471. package/dist/voice/thresholds.js +29 -0
  1472. package/dist/voice/thresholds.js.map +1 -0
  1473. package/dist/webhooks/cli.d.ts +18 -0
  1474. package/dist/webhooks/cli.js +127 -0
  1475. package/dist/webhooks/cli.js.map +1 -0
  1476. package/dist/webhooks/prompt.d.ts +5 -0
  1477. package/dist/webhooks/prompt.js +26 -0
  1478. package/dist/webhooks/prompt.js.map +1 -0
  1479. package/dist/workflows/active-run.d.ts +46 -0
  1480. package/dist/workflows/active-run.js +46 -0
  1481. package/dist/workflows/active-run.js.map +1 -0
  1482. package/dist/workflows/attachment-path.d.ts +6 -0
  1483. package/dist/workflows/attachment-path.js +40 -0
  1484. package/dist/workflows/attachment-path.js.map +1 -0
  1485. package/dist/workflows/completion-policy.d.ts +98 -0
  1486. package/dist/workflows/completion-policy.js +77 -0
  1487. package/dist/workflows/completion-policy.js.map +1 -0
  1488. package/dist/workflows/continuation-admission.d.ts +1229 -0
  1489. package/dist/workflows/continuation-admission.js +277 -0
  1490. package/dist/workflows/continuation-admission.js.map +1 -0
  1491. package/dist/workflows/execution-account.d.ts +13 -0
  1492. package/dist/workflows/execution-account.js +18 -0
  1493. package/dist/workflows/execution-account.js.map +1 -0
  1494. package/dist/workflows/grouped-command.d.ts +31 -0
  1495. package/dist/workflows/grouped-command.js +147 -0
  1496. package/dist/workflows/grouped-command.js.map +1 -0
  1497. package/dist/workflows/input-acknowledgement.d.ts +233 -0
  1498. package/dist/workflows/input-acknowledgement.js +41 -0
  1499. package/dist/workflows/input-acknowledgement.js.map +1 -0
  1500. package/dist/workflows/line-order.d.ts +5 -0
  1501. package/dist/workflows/line-order.js +25 -0
  1502. package/dist/workflows/line-order.js.map +1 -0
  1503. package/dist/workflows/load.d.ts +19 -0
  1504. package/dist/workflows/load.js +74 -0
  1505. package/dist/workflows/load.js.map +1 -0
  1506. package/dist/workflows/outcome-batches.d.ts +32 -0
  1507. package/dist/workflows/outcome-batches.js +55 -0
  1508. package/dist/workflows/outcome-batches.js.map +1 -0
  1509. package/dist/workflows/pasted-content.d.ts +60 -0
  1510. package/dist/workflows/pasted-content.js +69 -0
  1511. package/dist/workflows/pasted-content.js.map +1 -0
  1512. package/dist/workflows/question-routing.d.ts +16 -0
  1513. package/dist/workflows/question-routing.js +28 -0
  1514. package/dist/workflows/question-routing.js.map +1 -0
  1515. package/dist/workflows/run/attachment-writer.d.ts +34 -0
  1516. package/dist/workflows/run/attachment-writer.js +98 -0
  1517. package/dist/workflows/run/attachment-writer.js.map +1 -0
  1518. package/dist/workflows/run/auto-resume.d.ts +91 -0
  1519. package/dist/workflows/run/auto-resume.js +247 -0
  1520. package/dist/workflows/run/auto-resume.js.map +1 -0
  1521. package/dist/workflows/run/cezar-tools.d.ts +45 -0
  1522. package/dist/workflows/run/cezar-tools.js +117 -0
  1523. package/dist/workflows/run/cezar-tools.js.map +1 -0
  1524. package/dist/workflows/run/completion-gate.d.ts +77 -0
  1525. package/dist/workflows/run/completion-gate.js +93 -0
  1526. package/dist/workflows/run/completion-gate.js.map +1 -0
  1527. package/dist/workflows/run/compose.d.ts +181 -0
  1528. package/dist/workflows/run/compose.js +413 -0
  1529. package/dist/workflows/run/compose.js.map +1 -0
  1530. package/dist/workflows/run/constants.d.ts +48 -0
  1531. package/dist/workflows/run/constants.js +49 -0
  1532. package/dist/workflows/run/constants.js.map +1 -0
  1533. package/dist/workflows/run/continuation-acceptance.d.ts +70 -0
  1534. package/dist/workflows/run/continuation-acceptance.js +188 -0
  1535. package/dist/workflows/run/continuation-acceptance.js.map +1 -0
  1536. package/dist/workflows/run/continuation-session.d.ts +130 -0
  1537. package/dist/workflows/run/continuation-session.js +597 -0
  1538. package/dist/workflows/run/continuation-session.js.map +1 -0
  1539. package/dist/workflows/run/drop-active.d.ts +4 -0
  1540. package/dist/workflows/run/drop-active.js +11 -0
  1541. package/dist/workflows/run/drop-active.js.map +1 -0
  1542. package/dist/workflows/run/family-reconciler.d.ts +78 -0
  1543. package/dist/workflows/run/family-reconciler.js +308 -0
  1544. package/dist/workflows/run/family-reconciler.js.map +1 -0
  1545. package/dist/workflows/run/human-waits.d.ts +85 -0
  1546. package/dist/workflows/run/human-waits.js +163 -0
  1547. package/dist/workflows/run/human-waits.js.map +1 -0
  1548. package/dist/workflows/run/inbox-claims.d.ts +38 -0
  1549. package/dist/workflows/run/inbox-claims.js +108 -0
  1550. package/dist/workflows/run/inbox-claims.js.map +1 -0
  1551. package/dist/workflows/run/input-batch.d.ts +15 -0
  1552. package/dist/workflows/run/input-batch.js +32 -0
  1553. package/dist/workflows/run/input-batch.js.map +1 -0
  1554. package/dist/workflows/run/input-delivery.d.ts +202 -0
  1555. package/dist/workflows/run/input-delivery.js +818 -0
  1556. package/dist/workflows/run/input-delivery.js.map +1 -0
  1557. package/dist/workflows/run/input-receipts.d.ts +65 -0
  1558. package/dist/workflows/run/input-receipts.js +221 -0
  1559. package/dist/workflows/run/input-receipts.js.map +1 -0
  1560. package/dist/workflows/run/input-timers.d.ts +10 -0
  1561. package/dist/workflows/run/input-timers.js +32 -0
  1562. package/dist/workflows/run/input-timers.js.map +1 -0
  1563. package/dist/workflows/run/launch-context.d.ts +62 -0
  1564. package/dist/workflows/run/launch-context.js +119 -0
  1565. package/dist/workflows/run/launch-context.js.map +1 -0
  1566. package/dist/workflows/run/launch-read-resolver.d.ts +510 -0
  1567. package/dist/workflows/run/launch-read-resolver.js +658 -0
  1568. package/dist/workflows/run/launch-read-resolver.js.map +1 -0
  1569. package/dist/workflows/run/launch-settings.d.ts +10 -0
  1570. package/dist/workflows/run/launch-settings.js +11 -0
  1571. package/dist/workflows/run/launch-settings.js.map +1 -0
  1572. package/dist/workflows/run/live-session-state.d.ts +49 -0
  1573. package/dist/workflows/run/live-session-state.js +83 -0
  1574. package/dist/workflows/run/live-session-state.js.map +1 -0
  1575. package/dist/workflows/run/maintenance-claims.d.ts +47 -0
  1576. package/dist/workflows/run/maintenance-claims.js +83 -0
  1577. package/dist/workflows/run/maintenance-claims.js.map +1 -0
  1578. package/dist/workflows/run/memory-guard.d.ts +25 -0
  1579. package/dist/workflows/run/memory-guard.js +64 -0
  1580. package/dist/workflows/run/memory-guard.js.map +1 -0
  1581. package/dist/workflows/run/opening.d.ts +30 -0
  1582. package/dist/workflows/run/opening.js +6 -0
  1583. package/dist/workflows/run/opening.js.map +1 -0
  1584. package/dist/workflows/run/pending-ask-facts.d.ts +10 -0
  1585. package/dist/workflows/run/pending-ask-facts.js +19 -0
  1586. package/dist/workflows/run/pending-ask-facts.js.map +1 -0
  1587. package/dist/workflows/run/prompts.d.ts +74 -0
  1588. package/dist/workflows/run/prompts.js +140 -0
  1589. package/dist/workflows/run/prompts.js.map +1 -0
  1590. package/dist/workflows/run/queued-input.d.ts +108 -0
  1591. package/dist/workflows/run/queued-input.js +249 -0
  1592. package/dist/workflows/run/queued-input.js.map +1 -0
  1593. package/dist/workflows/run/queued-revival.d.ts +44 -0
  1594. package/dist/workflows/run/queued-revival.js +124 -0
  1595. package/dist/workflows/run/queued-revival.js.map +1 -0
  1596. package/dist/workflows/run/readonly-collections.d.ts +24 -0
  1597. package/dist/workflows/run/readonly-collections.js +33 -0
  1598. package/dist/workflows/run/readonly-collections.js.map +1 -0
  1599. package/dist/workflows/run/repo-root-lease.d.ts +34 -0
  1600. package/dist/workflows/run/repo-root-lease.js +71 -0
  1601. package/dist/workflows/run/repo-root-lease.js.map +1 -0
  1602. package/dist/workflows/run/resolved-wait-input-batch.d.ts +7 -0
  1603. package/dist/workflows/run/resolved-wait-input-batch.js +23 -0
  1604. package/dist/workflows/run/resolved-wait-input-batch.js.map +1 -0
  1605. package/dist/workflows/run/run-cancel.d.ts +36 -0
  1606. package/dist/workflows/run/run-cancel.js +130 -0
  1607. package/dist/workflows/run/run-cancel.js.map +1 -0
  1608. package/dist/workflows/run/run-finish.d.ts +72 -0
  1609. package/dist/workflows/run/run-finish.js +256 -0
  1610. package/dist/workflows/run/run-finish.js.map +1 -0
  1611. package/dist/workflows/run/run-guards.d.ts +15 -0
  1612. package/dist/workflows/run/run-guards.js +39 -0
  1613. package/dist/workflows/run/run-guards.js.map +1 -0
  1614. package/dist/workflows/run/run-line.d.ts +187 -0
  1615. package/dist/workflows/run/run-line.js +438 -0
  1616. package/dist/workflows/run/run-line.js.map +1 -0
  1617. package/dist/workflows/run/run-recovery.d.ts +116 -0
  1618. package/dist/workflows/run/run-recovery.js +422 -0
  1619. package/dist/workflows/run/run-recovery.js.map +1 -0
  1620. package/dist/workflows/run/run-settlement.d.ts +177 -0
  1621. package/dist/workflows/run/run-settlement.js +504 -0
  1622. package/dist/workflows/run/run-settlement.js.map +1 -0
  1623. package/dist/workflows/run/run-skills.d.ts +114 -0
  1624. package/dist/workflows/run/run-skills.js +233 -0
  1625. package/dist/workflows/run/run-skills.js.map +1 -0
  1626. package/dist/workflows/run/run-start.d.ts +64 -0
  1627. package/dist/workflows/run/run-start.js +126 -0
  1628. package/dist/workflows/run/run-start.js.map +1 -0
  1629. package/dist/workflows/run/run-workspace.d.ts +25 -0
  1630. package/dist/workflows/run/run-workspace.js +66 -0
  1631. package/dist/workflows/run/run-workspace.js.map +1 -0
  1632. package/dist/workflows/run/session-events.d.ts +155 -0
  1633. package/dist/workflows/run/session-events.js +282 -0
  1634. package/dist/workflows/run/session-events.js.map +1 -0
  1635. package/dist/workflows/run/step-decisions.d.ts +37 -0
  1636. package/dist/workflows/run/step-decisions.js +43 -0
  1637. package/dist/workflows/run/step-decisions.js.map +1 -0
  1638. package/dist/workflows/run/step-loop.d.ts +143 -0
  1639. package/dist/workflows/run/step-loop.js +488 -0
  1640. package/dist/workflows/run/step-loop.js.map +1 -0
  1641. package/dist/workflows/run/step-session.d.ts +65 -0
  1642. package/dist/workflows/run/step-session.js +280 -0
  1643. package/dist/workflows/run/step-session.js.map +1 -0
  1644. package/dist/workflows/run/steps.d.ts +13 -0
  1645. package/dist/workflows/run/steps.js +14 -0
  1646. package/dist/workflows/run/steps.js.map +1 -0
  1647. package/dist/workflows/run/subagent-waits.d.ts +138 -0
  1648. package/dist/workflows/run/subagent-waits.js +305 -0
  1649. package/dist/workflows/run/subagent-waits.js.map +1 -0
  1650. package/dist/workflows/run/tracked-work.d.ts +12 -0
  1651. package/dist/workflows/run/tracked-work.js +29 -0
  1652. package/dist/workflows/run/tracked-work.js.map +1 -0
  1653. package/dist/workflows/run/turn-bookkeeping.d.ts +67 -0
  1654. package/dist/workflows/run/turn-bookkeeping.js +173 -0
  1655. package/dist/workflows/run/turn-bookkeeping.js.map +1 -0
  1656. package/dist/workflows/run/turn-boundary.d.ts +215 -0
  1657. package/dist/workflows/run/turn-boundary.js +329 -0
  1658. package/dist/workflows/run/turn-boundary.js.map +1 -0
  1659. package/dist/workflows/run/turn-markers.d.ts +62 -0
  1660. package/dist/workflows/run/turn-markers.js +86 -0
  1661. package/dist/workflows/run/turn-markers.js.map +1 -0
  1662. package/dist/workflows/run/turn-nudges.d.ts +104 -0
  1663. package/dist/workflows/run/turn-nudges.js +244 -0
  1664. package/dist/workflows/run/turn-nudges.js.map +1 -0
  1665. package/dist/workflows/run/turn-settler.d.ts +161 -0
  1666. package/dist/workflows/run/turn-settler.js +469 -0
  1667. package/dist/workflows/run/turn-settler.js.map +1 -0
  1668. package/dist/workflows/run/types.d.ts +293 -0
  1669. package/dist/workflows/run/types.js +2 -0
  1670. package/dist/workflows/run/types.js.map +1 -0
  1671. package/dist/workflows/run/usage-accounting.d.ts +49 -0
  1672. package/dist/workflows/run/usage-accounting.js +213 -0
  1673. package/dist/workflows/run/usage-accounting.js.map +1 -0
  1674. package/dist/workflows/run/wait-engine.d.ts +1210 -0
  1675. package/dist/workflows/run/wait-engine.js +456 -0
  1676. package/dist/workflows/run/wait-engine.js.map +1 -0
  1677. package/dist/workflows/run/wait-kinds.d.ts +336 -0
  1678. package/dist/workflows/run/wait-kinds.js +471 -0
  1679. package/dist/workflows/run/wait-kinds.js.map +1 -0
  1680. package/dist/workflows/run/wait-registration-tool.d.ts +3 -0
  1681. package/dist/workflows/run/wait-registration-tool.js +68 -0
  1682. package/dist/workflows/run/wait-registration-tool.js.map +1 -0
  1683. package/dist/workflows/run/wait-registration.d.ts +7 -0
  1684. package/dist/workflows/run/wait-registration.js +39 -0
  1685. package/dist/workflows/run/wait-registration.js.map +1 -0
  1686. package/dist/workflows/run/wait-registry.d.ts +120 -0
  1687. package/dist/workflows/run/wait-registry.js +365 -0
  1688. package/dist/workflows/run/wait-registry.js.map +1 -0
  1689. package/dist/workflows/run/wait-watches.d.ts +13 -0
  1690. package/dist/workflows/run/wait-watches.js +12 -0
  1691. package/dist/workflows/run/wait-watches.js.map +1 -0
  1692. package/dist/workflows/run/wake-admission.d.ts +150 -0
  1693. package/dist/workflows/run/wake-admission.js +397 -0
  1694. package/dist/workflows/run/wake-admission.js.map +1 -0
  1695. package/dist/workflows/run/wake-ledger.d.ts +61 -0
  1696. package/dist/workflows/run/wake-ledger.js +78 -0
  1697. package/dist/workflows/run/wake-ledger.js.map +1 -0
  1698. package/dist/workflows/run/wake-retries.d.ts +31 -0
  1699. package/dist/workflows/run/wake-retries.js +93 -0
  1700. package/dist/workflows/run/wake-retries.js.map +1 -0
  1701. package/dist/workflows/run/worker-executions.d.ts +54 -0
  1702. package/dist/workflows/run/worker-executions.js +149 -0
  1703. package/dist/workflows/run/worker-executions.js.map +1 -0
  1704. package/dist/workflows/run/worker-orphans.d.ts +91 -0
  1705. package/dist/workflows/run/worker-orphans.js +275 -0
  1706. package/dist/workflows/run/worker-orphans.js.map +1 -0
  1707. package/dist/workflows/run/worker-questions.d.ts +169 -0
  1708. package/dist/workflows/run/worker-questions.js +464 -0
  1709. package/dist/workflows/run/worker-questions.js.map +1 -0
  1710. package/dist/workflows/run/workflow-position.d.ts +7 -0
  1711. package/dist/workflows/run/workflow-position.js +9 -0
  1712. package/dist/workflows/run/workflow-position.js.map +1 -0
  1713. package/dist/workflows/run/worktree-autosave.d.ts +48 -0
  1714. package/dist/workflows/run/worktree-autosave.js +175 -0
  1715. package/dist/workflows/run/worktree-autosave.js.map +1 -0
  1716. package/dist/workflows/run-scheduling.d.ts +38 -0
  1717. package/dist/workflows/run-scheduling.js +76 -0
  1718. package/dist/workflows/run-scheduling.js.map +1 -0
  1719. package/dist/workflows/run-states.d.ts +73 -0
  1720. package/dist/workflows/run-states.js +233 -0
  1721. package/dist/workflows/run-states.js.map +1 -0
  1722. package/dist/workflows/run.d.ts +275 -0
  1723. package/dist/workflows/run.js +626 -0
  1724. package/dist/workflows/run.js.map +1 -0
  1725. package/dist/workflows/turn-end.d.ts +119 -0
  1726. package/dist/workflows/turn-end.js +74 -0
  1727. package/dist/workflows/turn-end.js.map +1 -0
  1728. package/dist/workflows/types.d.ts +83 -0
  1729. package/dist/workflows/types.js +192 -0
  1730. package/dist/workflows/types.js.map +1 -0
  1731. package/dist/workflows/wait-scope.d.ts +75 -0
  1732. package/dist/workflows/wait-scope.js +115 -0
  1733. package/dist/workflows/wait-scope.js.map +1 -0
  1734. package/dist/workflows/waits.d.ts +58 -0
  1735. package/dist/workflows/waits.js +89 -0
  1736. package/dist/workflows/waits.js.map +1 -0
  1737. package/dist/workspace/agent-accounts.d.ts +135 -0
  1738. package/dist/workspace/agent-accounts.js +353 -0
  1739. package/dist/workspace/agent-accounts.js.map +1 -0
  1740. package/dist/workspace/agent-profiles.d.ts +125 -0
  1741. package/dist/workspace/agent-profiles.js +190 -0
  1742. package/dist/workspace/agent-profiles.js.map +1 -0
  1743. package/dist/workspace/backup-cli.d.ts +9 -0
  1744. package/dist/workspace/backup-cli.js +147 -0
  1745. package/dist/workspace/backup-cli.js.map +1 -0
  1746. package/dist/workspace/backups.d.ts +36 -0
  1747. package/dist/workspace/backups.js +249 -0
  1748. package/dist/workspace/backups.js.map +1 -0
  1749. package/dist/workspace/config.d.ts +179 -0
  1750. package/dist/workspace/config.js +396 -0
  1751. package/dist/workspace/config.js.map +1 -0
  1752. package/dist/workspace/migrations.d.ts +37 -0
  1753. package/dist/workspace/migrations.js +149 -0
  1754. package/dist/workspace/migrations.js.map +1 -0
  1755. package/dist/workspace/projects-cli.d.ts +27 -0
  1756. package/dist/workspace/projects-cli.js +175 -0
  1757. package/dist/workspace/projects-cli.js.map +1 -0
  1758. package/dist/workspace/projects.d.ts +131 -0
  1759. package/dist/workspace/projects.js +274 -0
  1760. package/dist/workspace/projects.js.map +1 -0
  1761. package/dist/workspace/root-probe-cache.d.ts +10 -0
  1762. package/dist/workspace/root-probe-cache.js +43 -0
  1763. package/dist/workspace/root-probe-cache.js.map +1 -0
  1764. package/dist/workspace/semaphore.d.ts +147 -0
  1765. package/dist/workspace/semaphore.js +196 -0
  1766. package/dist/workspace/semaphore.js.map +1 -0
  1767. package/dist/workspace/ui-state.d.ts +17 -0
  1768. package/dist/workspace/ui-state.js +59 -0
  1769. package/dist/workspace/ui-state.js.map +1 -0
  1770. package/dist/workspace/webhooks.d.ts +40 -0
  1771. package/dist/workspace/webhooks.js +146 -0
  1772. package/dist/workspace/webhooks.js.map +1 -0
  1773. package/dist/worktree-manifest.d.ts +165 -0
  1774. package/dist/worktree-manifest.js +535 -0
  1775. package/dist/worktree-manifest.js.map +1 -0
  1776. package/dist/worktree-setup.d.ts +88 -0
  1777. package/dist/worktree-setup.js +170 -0
  1778. package/dist/worktree-setup.js.map +1 -0
  1779. package/package.json +80 -4
  1780. package/scripts/benchmark-family-reconcile.ts +119 -0
  1781. package/scripts/benchmark-home.ts +32 -0
  1782. package/scripts/benchmark-project-probes.mjs +158 -0
  1783. package/scripts/benchmark-run-store-fixture.ts +432 -0
  1784. package/scripts/benchmark-run-store.ts +767 -0
  1785. package/scripts/benchmark-stuck-destroys.ts +144 -0
  1786. package/scripts/benchmark-workspace-events.ts +339 -0
  1787. package/scripts/check-pack.mjs +48 -0
  1788. package/scripts/inline-contract.mjs +165 -0
  1789. package/scripts/install-as-command.mjs +125 -0
  1790. package/scripts/measure-transcript-facts-health.mjs +103 -0
  1791. package/scripts/measure-transcript-facts-lag.mjs +69 -0
  1792. package/scripts/mock-autonomous.mjs +13 -0
  1793. package/scripts/mock-ci-tool.mjs +159 -0
  1794. package/scripts/mock-claude-model-refusal.mjs +76 -0
  1795. package/scripts/mock-claude-subagents.mjs +54 -0
  1796. package/scripts/mock-claude.mjs +800 -0
  1797. package/scripts/mock-codex-app-server.mjs +767 -0
  1798. package/scripts/mock-codex-coalesce-steer.mjs +59 -0
  1799. package/scripts/mock-codex-reverse-steer.mjs +143 -0
  1800. package/scripts/mock-codex-subagents.mjs +52 -0
  1801. package/scripts/mock-controls.d.mts +11 -0
  1802. package/scripts/mock-controls.mjs +13 -0
  1803. package/scripts/mock-cursor-hang-stdin-late.mjs +35 -0
  1804. package/scripts/mock-cursor-hang-stdin.mjs +30 -0
  1805. package/scripts/mock-cursor-print.mjs +237 -0
  1806. package/scripts/mock-deferred-turn-start.mjs +16 -0
  1807. package/scripts/mock-delivery-control.d.mts +23 -0
  1808. package/scripts/mock-delivery-control.mjs +80 -0
  1809. package/scripts/mock-env-record.mjs +11 -0
  1810. package/scripts/mock-failure-control.d.mts +13 -0
  1811. package/scripts/mock-failure-control.mjs +68 -0
  1812. package/scripts/mock-lifecycle.mjs +51 -0
  1813. package/scripts/mock-multi-pr.mjs +10 -0
  1814. package/scripts/mock-nudge.mjs +43 -0
  1815. package/scripts/mock-omp-rpc.mjs +536 -0
  1816. package/scripts/mock-opencode-serve.mjs +1000 -0
  1817. package/scripts/mock-pi-rpc.mjs +421 -0
  1818. package/scripts/mock-publish.mjs +13 -0
  1819. package/scripts/mock-runner-crash.mjs +64 -0
  1820. package/scripts/mock-scenario.d.mts +71 -0
  1821. package/scripts/mock-scenario.mjs +295 -0
  1822. package/scripts/mock-session-context.d.mts +5 -0
  1823. package/scripts/mock-session-context.mjs +56 -0
  1824. package/scripts/mock-silent-tail.mjs +93 -0
  1825. package/scripts/mock-turn-messages.mjs +5 -0
  1826. package/scripts/mock-wire-evidence.config.mjs +12 -0
  1827. package/scripts/mock-wire-recorder.mjs +66 -0
  1828. package/scripts/mock-wire-tools.mjs +7 -0
  1829. package/scripts/omp-ci-wait.mjs +29 -0
  1830. package/scripts/opencode-task-scope.d.mts +18 -0
  1831. package/scripts/opencode-task-scope.mjs +59 -0
  1832. package/scripts/parity-rows.ts +160 -0
  1833. package/scripts/pi-ci-wait.mjs +17 -0
  1834. package/scripts/pi-default-tools.mjs +22 -0
  1835. package/scripts/pi-project-skills.mjs +59 -0
  1836. package/scripts/pi-retry-degraded-service.mjs +16 -0
  1837. package/scripts/probe-cursor-print.mjs +699 -0
  1838. package/scripts/probe-session-env.ts +8 -0
  1839. package/scripts/product-env.mjs +6 -0
  1840. package/scripts/product-identity.mjs +12 -0
  1841. package/scripts/record-mock-wires.mjs +16 -0
  1842. package/scripts/seed-archive-profile.ts +53 -0
  1843. package/scripts/sync-readme.mjs +20 -0
  1844. package/scripts/test-process-usage.mjs +47 -0
  1845. package/scripts/transcript-facts-fixture.mjs +53 -0
  1846. package/scripts/transcript-facts-timing.mjs +42 -0
  1847. package/scripts/voice-replay.ts +50 -0
  1848. package/scripts/windows-workspace-identity.cs +208 -0
  1849. package/scripts/windows-workspace-identity.ps1 +10 -0
  1850. package/web/dist/assets/activity-motion-0wHCeUs7.css +1 -0
  1851. package/web/dist/assets/activity-motion-SGth5vR4.js +2 -0
  1852. package/web/dist/assets/activity-route-D8otXwOA.js +1 -0
  1853. package/web/dist/assets/agent-accounts-6EuZhy-N.js +18 -0
  1854. package/web/dist/assets/alert-dialog-vFjLgfK4.js +1 -0
  1855. package/web/dist/assets/app-window-CSHwDX9N.js +1 -0
  1856. package/web/dist/assets/arrow-right-Dh_Lx3um.js +1 -0
  1857. package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
  1858. package/web/dist/assets/button-BEK7XKhS.js +3 -0
  1859. package/web/dist/assets/centered-state-CPgI8cCO.js +1 -0
  1860. package/web/dist/assets/cez-idle-BT0U4GN_.js +1 -0
  1861. package/web/dist/assets/chunk-BO2N2NFS-DE6qKn3r.js +131 -0
  1862. package/web/dist/assets/commit-diff-panel-DzyWgn1Z.js +1 -0
  1863. package/web/dist/assets/control-locations-CexZsd3M.js +1 -0
  1864. package/web/dist/assets/core-BCsw8oQw.js +12 -0
  1865. package/web/dist/assets/createLucideIcon-BHp8sXmF.js +1 -0
  1866. package/web/dist/assets/css-BsVw1vtW.js +1 -0
  1867. package/web/dist/assets/design-icons-DmYTv2r1.js +1 -0
  1868. package/web/dist/assets/diff-DBDiZl58.js +3 -0
  1869. package/web/dist/assets/diff-controls-DXyB0aDl.js +1 -0
  1870. package/web/dist/assets/diff-view-DiKAwVMH.js +11 -0
  1871. package/web/dist/assets/diff-woXpYk--.js +1 -0
  1872. package/web/dist/assets/dropdown-menu-DYflHa4m.js +1 -0
  1873. package/web/dist/assets/engine-javascript-FQvzRocB.js +141 -0
  1874. package/web/dist/assets/es2015-BO600Xfi.js +41 -0
  1875. package/web/dist/assets/eye-B8okNWXU.js +1 -0
  1876. package/web/dist/assets/file-preview-DTSRkmMo.js +2 -0
  1877. package/web/dist/assets/git-toolbar-U4s46kUd.js +1 -0
  1878. package/web/dist/assets/github-UaBp2yRF.js +1 -0
  1879. package/web/dist/assets/github-sidebar-model-czjLsgVJ.js +1 -0
  1880. package/web/dist/assets/global-activity-route-B2N2Nz0H.js +1 -0
  1881. package/web/dist/assets/go-rLFTqkRN.js +1 -0
  1882. package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
  1883. package/web/dist/assets/hourglass-B0lPAJvT.js +1 -0
  1884. package/web/dist/assets/html-BY76lXLH.js +1 -0
  1885. package/web/dist/assets/image-preview-XPCPclpG.js +1 -0
  1886. package/web/dist/assets/index-B18AqW0Z.css +1 -0
  1887. package/web/dist/assets/index-xj-3O89_.js +14 -0
  1888. package/web/dist/assets/index.global-D3Ga_D3Y.js +1 -0
  1889. package/web/dist/assets/info-DA1x_4bz.js +1 -0
  1890. package/web/dist/assets/javascript-BgS3c2Ky.js +1 -0
  1891. package/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  1892. package/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  1893. package/web/dist/assets/json-qhed-kSA.js +1 -0
  1894. package/web/dist/assets/jsonc-CYpm1nAK.js +1 -0
  1895. package/web/dist/assets/jsx-Bz0zcwM4.js +1 -0
  1896. package/web/dist/assets/lib-BxQXEXDF.js +1 -0
  1897. package/web/dist/assets/live-protocol-BDY7JJpT.js +64 -0
  1898. package/web/dist/assets/live-refetch-C-Ony2Yr.js +1 -0
  1899. package/web/dist/assets/live-worker-BWdeGzQX.ts +34 -0
  1900. package/web/dist/assets/loader-circle-CZkGEdoI.js +1 -0
  1901. package/web/dist/assets/markdown-BBDDg-4t.js +1 -0
  1902. package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
  1903. package/web/dist/assets/markdown-UdZ_toya.js +6 -0
  1904. package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
  1905. package/web/dist/assets/mermaid.min-3O9YjB2l.js +1 -0
  1906. package/web/dist/assets/message-square-B-MD-8rD.js +1 -0
  1907. package/web/dist/assets/nav-row-styles-BE99gD3_.js +1 -0
  1908. package/web/dist/assets/popover-CpULuQSm.js +1 -0
  1909. package/web/dist/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2 +0 -0
  1910. package/web/dist/assets/poppins-devanagari-400-normal-CqVvlrh5.woff +0 -0
  1911. package/web/dist/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2 +0 -0
  1912. package/web/dist/assets/poppins-devanagari-500-normal-DMPDjHtT.woff +0 -0
  1913. package/web/dist/assets/poppins-devanagari-600-normal-ClASKHrr.woff +0 -0
  1914. package/web/dist/assets/poppins-devanagari-600-normal-STEjXBNN.woff2 +0 -0
  1915. package/web/dist/assets/poppins-latin-400-normal-BOb3E3N0.woff +0 -0
  1916. package/web/dist/assets/poppins-latin-400-normal-cpxAROuN.woff2 +0 -0
  1917. package/web/dist/assets/poppins-latin-500-normal-C8OXljZJ.woff2 +0 -0
  1918. package/web/dist/assets/poppins-latin-500-normal-DGXqpDMm.woff +0 -0
  1919. package/web/dist/assets/poppins-latin-600-normal-BJdTmd5m.woff +0 -0
  1920. package/web/dist/assets/poppins-latin-600-normal-zEkxB9Mr.woff2 +0 -0
  1921. package/web/dist/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff +0 -0
  1922. package/web/dist/assets/poppins-latin-ext-400-normal-by3JarPu.woff2 +0 -0
  1923. package/web/dist/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2 +0 -0
  1924. package/web/dist/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff +0 -0
  1925. package/web/dist/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2 +0 -0
  1926. package/web/dist/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff +0 -0
  1927. package/web/dist/assets/preview-pane-connected-CgRK7GzB.js +3 -0
  1928. package/web/dist/assets/project-router-CimAoN1H.js +1 -0
  1929. package/web/dist/assets/project-scope-context-DMpvJqIm.js +4 -0
  1930. package/web/dist/assets/python-gzcpVVnB.js +1 -0
  1931. package/web/dist/assets/queries-BIOp8jLx.js +1 -0
  1932. package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
  1933. package/web/dist/assets/repo-git-DVXNOJDT.css +1 -0
  1934. package/web/dist/assets/repo-git-XkyTfP9G.js +1 -0
  1935. package/web/dist/assets/report-reader-CZjYS5Aw.js +1 -0
  1936. package/web/dist/assets/report-title-D4Mbu2Er.js +1 -0
  1937. package/web/dist/assets/reports-B7QAzibP.css +1 -0
  1938. package/web/dist/assets/reports-D_2sFE1y.js +1 -0
  1939. package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  1940. package/web/dist/assets/run-header-BwPDVPpg.js +2 -0
  1941. package/web/dist/assets/run-header-CC7VUTg9.css +1 -0
  1942. package/web/dist/assets/rust-Cfkwpbl8.js +1 -0
  1943. package/web/dist/assets/shellscript-CLZ0U2zV.js +1 -0
  1944. package/web/dist/assets/skill-empty-hint-YDmkqgo-.js +1 -0
  1945. package/web/dist/assets/skills-BkXe4p4q.js +1 -0
  1946. package/web/dist/assets/skills-DFBiAuJG.js +1 -0
  1947. package/web/dist/assets/skills-workflows-C21NystW.css +1 -0
  1948. package/web/dist/assets/sortable.esm-zp_qkYGV.js +5 -0
  1949. package/web/dist/assets/sql-BsFa4tDR.js +1 -0
  1950. package/web/dist/assets/tab-link-BIweqlIZ.js +1 -0
  1951. package/web/dist/assets/task-changes-USNHNm_T.js +1 -0
  1952. package/web/dist/assets/task-commits-kHqlOJe_.js +1 -0
  1953. package/web/dist/assets/task-files-wTWwLR39.js +1 -0
  1954. package/web/dist/assets/task-github-item-GzaQjkF1.js +1 -0
  1955. package/web/dist/assets/task-thread-BZX863UN.js +9 -0
  1956. package/web/dist/assets/task-thread-DtQ6uGfQ.css +1 -0
  1957. package/web/dist/assets/textarea-FAUkHz1K.js +1 -0
  1958. package/web/dist/assets/thread-state-CBzx2hmX.js +4 -0
  1959. package/web/dist/assets/toaster-pthKGWiE.js +1 -0
  1960. package/web/dist/assets/toml-CcmNWLt0.js +1 -0
  1961. package/web/dist/assets/tsx-udAQXfEw.js +1 -0
  1962. package/web/dist/assets/typescript-bsJCZSQ-.js +1 -0
  1963. package/web/dist/assets/use-hand-to-agent-state-Bav9eT3b.js +1 -0
  1964. package/web/dist/assets/use-hand-to-agent-state-C7esPJ-N.css +1 -0
  1965. package/web/dist/assets/useInfiniteQuery-CQI4BO4C.js +1 -0
  1966. package/web/dist/assets/useQuery-Bkq-x4Id.js +1 -0
  1967. package/web/dist/assets/workflows-D871Gx--.js +7 -0
  1968. package/web/dist/assets/ws-DspW9wBH.js +1 -0
  1969. package/web/dist/assets/yaml-rwi0_p6S.js +1 -0
  1970. package/web/dist/assets/zoomable-image-DNc6ORaF.js +1 -0
  1971. package/web/dist/cezarion-lockup-dark.svg +9 -0
  1972. package/web/dist/cezarion-lockup-light.svg +9 -0
  1973. package/web/dist/cezarion-mark-dark.svg +4 -0
  1974. package/web/dist/cezarion-mark-light.svg +4 -0
  1975. package/web/dist/index.html +90 -0
  1976. package/web/dist/live-worker.js +4 -0
@@ -0,0 +1,945 @@
1
+ import { productName } from '../../home/display.js';
2
+ import { productIdentity } from '../../home/identity.js';
3
+ import { commandText } from '../../home/command.js';
4
+ import { repairUnitEnv, writeFileStep } from './ubuntu-vps-files.js';
5
+ import { productEnvEntries } from '../../core/product-env.js';
6
+ import { existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
7
+ import { randomUUID } from 'node:crypto';
8
+ import { homedir, userInfo } from 'node:os';
9
+ import { dirname, join, resolve } from 'node:path';
10
+ import { fileURLToPath } from 'node:url';
11
+ import { CANCEL, PreflightError } from '../types.js';
12
+ import { depCheckStep, generatePassword, owned, shared, shquote, StepAborted, StepCancelled, StepSkipped, sudoStep, verifyCommand } from '../steps.js';
13
+ import { isForeignNpxExecStart, isNpxExecStart, refreshNpxCacheForRedeploy } from '../npx-cache.js';
14
+ import { failedRestart, freshRestartOrFail, readExecStart, resolveRedeployScope, restartSystemService, restartUserService, serviceDiagnostics, serviceSnapshot } from './ubuntu-vps-redeploy.js';
15
+ import { recordedSite, recordedUnit, sitePathsToRemove, unitHint } from './ubuntu-vps-names.js';
16
+ import { migrateUbuntu, rollbackUbuntuMigration, startUbuntuService, stopUbuntuService } from './ubuntu-vps-migration.js';
17
+ import { REBRAND_SWITCH } from '../../home/switch.js';
18
+ export { isForeignNpxExecStart, isNpxExecStart, refreshNpxCacheForRedeploy };
19
+ /**
20
+ * The `ubuntu-vps` strategy: stand up an authenticated, proxied cezar on a bare
21
+ * Ubuntu/Debian VPS. cezar itself stays loopback-bound; nginx is the single
22
+ * public surface (TLS + htpasswd identity) forwarding to 127.0.0.1:<port>.
23
+ *
24
+ * Phase 1 ships deps → nginx+htpasswd → identity-verify (and their `undo`s).
25
+ * Phase 2 appends the optional SSL and autostart steps to `steps()`.
26
+ */
27
+ /** Best-effort current OS username, suggested as the default cockpit login. */
28
+ function currentUsername() {
29
+ try {
30
+ return userInfo().username || 'ops';
31
+ }
32
+ catch {
33
+ return 'ops';
34
+ }
35
+ }
36
+ /**
37
+ * True when ufw is installed and enabled. `ufw status` needs root and the
38
+ * installer is mandatorily non-root, so it always failed — instead read
39
+ * `/etc/ufw/ufw.conf` (world-readable), whose `ENABLED=yes` is the same truth
40
+ * `ufw enable` maintains.
41
+ */
42
+ async function ufwIsActive(ctx) {
43
+ const r = await ctx.runner.capture('sh', [
44
+ '-c',
45
+ 'grep -qi "^ENABLED=yes" /etc/ufw/ufw.conf 2>/dev/null && echo ufw-enabled || true',
46
+ ]);
47
+ return r.stdout.includes('ufw-enabled');
48
+ }
49
+ /** The HTTP status curl saw for a request ("000" = could not connect / no response). */
50
+ async function curlCode(ctx, args, opts) {
51
+ const r = await ctx.runner.capture('curl', ['-s', '-o', '/dev/null', '-w', '%{http_code}', ...args], opts);
52
+ return r.stdout.trim() || '000';
53
+ }
54
+ /**
55
+ * Name of the process listening on `port`, or null when nothing is. Best effort
56
+ * (`ss` output varies, and without root the process name may be hidden) — used
57
+ * only to make a port collision explainable, never to gate the install.
58
+ */
59
+ export async function portListener(ctx, port) {
60
+ if (ctx.dryRun)
61
+ return null;
62
+ const r = await ctx.runner.capture('ss', ['-ltnp', `( sport = :${port} )`]);
63
+ if (r.code !== 0)
64
+ return null;
65
+ const line = r.stdout.split('\n').find((l) => /LISTEN/.test(l));
66
+ if (!line)
67
+ return null;
68
+ // `users:(("docker-proxy",pid=123,fd=4))` → docker-proxy; unnamed → "another process".
69
+ return /users:\(\("([^"]+)"/.exec(line)?.[1] ?? 'another process';
70
+ }
71
+ /** The interface the cockpit listens on — loopback unless an external-proxy
72
+ * install bound it somewhere the proxy can reach (e.g. the docker bridge). */
73
+ export function upstreamHost(ctx) {
74
+ return ctx.state.bindHost?.trim() || '127.0.0.1';
75
+ }
76
+ /** True once cezar answers on <host>:<port> (any HTTP status = the process is up). */
77
+ async function isCezarUp(ctx, port) {
78
+ const code = await curlCode(ctx, [`http://${upstreamHost(ctx)}:${port}/`]);
79
+ return code !== '000';
80
+ }
81
+ /** Poll the upstream until cezar responds or the attempts run out. */
82
+ async function waitForCezar(ctx, port, attempts = 15) {
83
+ for (let i = 0; i < attempts; i++) {
84
+ if (await isCezarUp(ctx, port))
85
+ return true;
86
+ // `sleep 1` via the runner keeps this testable (no real timers in unit tests).
87
+ if (i < attempts - 1)
88
+ await ctx.runner.capture('sh', ['-c', 'sleep 1']);
89
+ }
90
+ return false;
91
+ }
92
+ /**
93
+ * After a service is enabled, wait for cezar to actually answer on the loopback
94
+ * port. A running unit that crash-loops (bad WorkingDirectory, missing build)
95
+ * would otherwise leave nginx proxying to nothing (502) while the installer
96
+ * claims success. On failure, point the operator at the service logs.
97
+ */
98
+ async function confirmCezarRunning(ctx, statusCmd, logsCmd) {
99
+ if (ctx.dryRun) {
100
+ ctx.ui.info(`DRY RUN — would wait for ${productName('cezar')} on ${upstreamHost(ctx)}:${ctx.state.primaryPort}.`);
101
+ return;
102
+ }
103
+ const sp = ctx.ui.spinner();
104
+ sp.start(`Waiting for ${productName('cezar')} to start on 127.0.0.1:${ctx.state.primaryPort}…`);
105
+ const up = await waitForCezar(ctx, ctx.state.primaryPort);
106
+ sp.stop(up ? `${productName('cezar')} is running.` : `${productName('cezar')} did not come up.`);
107
+ if (!up) {
108
+ ctx.ui.warn(`${productName('cezar')} is not answering on 127.0.0.1:${ctx.state.primaryPort} yet — nginx will return 502 until it is.\n` +
109
+ `Check the service:\n • ${statusCmd}\n • ${logsCmd}\n` +
110
+ `Common causes: the WorkingDirectory has no built ${productName('cezar')}, or the port is wrong.`);
111
+ }
112
+ }
113
+ /** nginx -v prints its version banner on stderr. Unknown versions use the compatible syntax. */
114
+ function supportsStandaloneHttp2(version) {
115
+ const match = version && /^(\d+)\.(\d+)\.(\d+)$/.exec(version);
116
+ if (!match)
117
+ return false;
118
+ const [major, minor, patch] = match.slice(1).map(Number);
119
+ return major > 1 || (major === 1 && (minor > 25 || (minor === 25 && patch >= 1)));
120
+ }
121
+ async function installedNginxVersion(ctx) {
122
+ const result = await ctx.runner.capture('nginx', ['-v']);
123
+ if (result.code !== 0)
124
+ return null;
125
+ return /nginx\/(\d+\.\d+\.\d+)/.exec(`${result.stderr}\n${result.stdout}`)?.[1] ?? null;
126
+ }
127
+ /** Add HTTP/2 only to Certbot's TLS listeners, preserving its trailing comments. */
128
+ export function enableHttp2OnTlsListenerSed(vhostPath) {
129
+ const program = `/^[[:space:]]*listen[[:space:]].*443.*[[:space:]]ssl([[:space:]]|;)/{/http2/!s/;/ http2;/;}`;
130
+ return `sed -i -E ${shquote(program)} ${shquote(vhostPath)}`;
131
+ }
132
+ /** Roll back the file if validation or reload fails; mark only a completed edit. */
133
+ export function enableHttp2OnTlsCommand(vhostPath, marker) {
134
+ const backup = `${vhostPath}.cezar-http2-${randomUUID()}`;
135
+ return `cp -p ${shquote(vhostPath)} ${shquote(backup)} && ` +
136
+ `if ${enableHttp2OnTlsListenerSed(vhostPath)} && nginx -t && systemctl reload nginx && ` +
137
+ `printf '\n%s\n' ${shquote(marker)} >> ${shquote(vhostPath)}; then ` +
138
+ `rm -f ${shquote(backup)} || true; ` +
139
+ `else cp -p ${shquote(backup)} ${shquote(vhostPath)} && rm -f ${shquote(backup)} && ` +
140
+ `nginx -t && systemctl reload nginx; false; fi`;
141
+ }
142
+ /**
143
+ * The nginx server block: auth_basic identity + SSE-safe proxy to loopback.
144
+ * `serverName` defaults to the catch-all `_`; the SSL step rewrites it to the
145
+ * real domain so the `certbot --nginx` plugin can find this vhost to edit.
146
+ */
147
+ export function nginxVhost(port, serverName = '_', htpasswd = '/etc/cezar/htpasswd', nginxVersion = null) {
148
+ // Older nginx rejects `http2 on;` outright. Its SSL step adds `http2` to
149
+ // Certbot's TLS listener instead, retaining multiplexing for SSE streams.
150
+ const http2 = supportsStandaloneHttp2(nginxVersion)
151
+ ? `\n # Multiplex long-lived SSE streams over one TLS connection.\n http2 on;\n`
152
+ : '';
153
+ return `# Managed by cezar server-install — do not edit by hand.
154
+ server {
155
+ listen 80;
156
+ listen [::]:80;
157
+ server_name ${serverName};
158
+
159
+ ${http2}
160
+ auth_basic "cezar";
161
+ auth_basic_user_file ${htpasswd};
162
+
163
+ location / {
164
+ proxy_pass http://127.0.0.1:${port};
165
+ proxy_http_version 1.1;
166
+ proxy_set_header Host $host;
167
+ proxy_set_header X-Real-IP $remote_addr;
168
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
169
+ proxy_set_header X-Forwarded-Proto $scheme;
170
+
171
+ # ${productName('cezar')} streams SSE (run events). Never buffer it, or the cockpit goes mute.
172
+ proxy_buffering off;
173
+ proxy_read_timeout 3600s;
174
+ proxy_set_header Connection '';
175
+ }
176
+ }
177
+ `;
178
+ }
179
+ const nginxProxyStep = (rebrand) => ({
180
+ id: 'nginx-proxy',
181
+ title: 'Reverse proxy (nginx + htpasswd)',
182
+ async check(ctx) {
183
+ if (ctx.dryRun)
184
+ return false;
185
+ const nginxOk = await verifyCommand(ctx, 'nginx', ['-v']);
186
+ const vhostOk = await verifyCommand(ctx, 'test', ['-f', recordedSite(ctx, rebrand).vhostEnabled]);
187
+ return nginxOk && vhostOk;
188
+ },
189
+ async run(ctx) {
190
+ // 1) nginx. Record the package as a `shared` artifact only when this run
191
+ // installed it, so uninstall can list it for manual removal without
192
+ // claiming a pre-existing nginx.
193
+ const nginxWasPresent = await verifyCommand(ctx, 'nginx', ['-v']);
194
+ await sudoStep(ctx, {
195
+ description: `Install nginx (the public TLS + auth front for ${productName('cezar', rebrand)}).`,
196
+ command: 'apt-get update && apt-get install -y nginx',
197
+ verify: (c) => verifyCommand(c, 'nginx', ['-v']),
198
+ });
199
+ // 2) identity credentials. This is the HTTP Basic-Auth login nginx will
200
+ // challenge for over HTTPS — i.e. what you type in the browser to reach
201
+ // the cockpit. Suggest the current OS user as a sensible default.
202
+ const suggestedUser = currentUsername();
203
+ const userAnswer = await ctx.ui.text({
204
+ message: 'Cockpit login username (HTTPS Basic-Auth — you type this in the browser to reach the cockpit)',
205
+ placeholder: suggestedUser,
206
+ initialValue: suggestedUser,
207
+ // htpasswd's line format is `user:hash` — a ":" in the username would
208
+ // silently corrupt it into a login that can never succeed.
209
+ validate: (v) => {
210
+ if (!v.trim())
211
+ return 'username is required';
212
+ if (/[:\s]/.test(v.trim()))
213
+ return 'no ":" or whitespace — htpasswd uses ":" as its separator';
214
+ return undefined;
215
+ },
216
+ });
217
+ if (userAnswer === CANCEL)
218
+ throw new StepCancelled();
219
+ const user = String(userAnswer).trim();
220
+ // Set the cockpit password. Interactive operators may auto-generate a strong
221
+ // one (shown once) or type their own. Under `--yes` (no human) there is no
222
+ // menu — the password comes straight from the UI, and the length backstop
223
+ // below refuses an empty one rather than standing up an open cockpit (H1).
224
+ let password;
225
+ if (ctx.assumeYes) {
226
+ const typed = await ctx.ui.password({
227
+ message: `Set the HTTPS cockpit password for "${user}"`,
228
+ validate: (v) => (v.length >= 6 ? undefined : 'use at least 6 characters'),
229
+ });
230
+ if (typed === CANCEL)
231
+ throw new StepCancelled();
232
+ password = String(typed);
233
+ }
234
+ else {
235
+ const how = await ctx.ui.select({
236
+ message: `Cockpit password for "${user}" (used with the username to log in over HTTPS)`,
237
+ options: [
238
+ { value: 'generate', label: 'Generate a strong password for me', hint: 'shown once — save it now' },
239
+ { value: 'manual', label: 'Type my own password' },
240
+ ],
241
+ initialValue: 'generate',
242
+ });
243
+ if (how === CANCEL)
244
+ throw new StepCancelled();
245
+ if (how === 'generate') {
246
+ password = generatePassword();
247
+ ctx.ui.note(`Username: ${user}\nPassword: ${password}\n\nSave these now — this is your cockpit login. ${productName('cezar', rebrand)} stores only a hash; the plaintext is not written anywhere and cannot be recovered.`, 'Generated cockpit credentials');
248
+ }
249
+ else {
250
+ const typed = await ctx.ui.password({
251
+ message: `Set the HTTPS cockpit password for "${user}"`,
252
+ validate: (v) => (v.length >= 6 ? undefined : 'use at least 6 characters'),
253
+ });
254
+ if (typed === CANCEL)
255
+ throw new StepCancelled();
256
+ password = String(typed);
257
+ }
258
+ }
259
+ // The non-interactive UI (`--yes`) cannot invent a password and does not run
260
+ // validators — refuse rather than write an empty-password htpasswd (a public
261
+ // cockpit anyone can open). A real install must set a password interactively.
262
+ if (!ctx.dryRun && String(password).length < 6) {
263
+ throw new StepAborted('a cockpit password (≥6 chars) is required — run server-install without --yes to set one');
264
+ }
265
+ // Keep the credentials in memory (never persisted) so the final verify step
266
+ // can prove an authenticated request actually reaches cezar over the proxy.
267
+ ctx.prefs.cockpit = { user, password };
268
+ // 3) htpasswd file. The hash (not the plaintext) is embedded in the write
269
+ // command; the plaintext is fed to openssl via stdin so it never appears
270
+ // in the process argv (visible to other users via `ps`). apr1 is what
271
+ // nginx's auth_basic expects.
272
+ let hash = '<dry-run-hash>';
273
+ if (!ctx.dryRun) {
274
+ const out = await ctx.runner.capture('openssl', ['passwd', '-apr1', '-stdin'], { input: `${String(password)}\n` });
275
+ hash = out.stdout.trim();
276
+ if (out.code !== 0 || !hash)
277
+ throw new StepAborted('failed to hash the password (openssl) — cannot write htpasswd');
278
+ }
279
+ // nginx workers run as www-data and read auth_basic_user_file per request,
280
+ // so the file must be group-readable by www-data — 0640 root:root would make
281
+ // every request 500. 0640 root:www-data: readable by nginx, not by others.
282
+ // The credential line travels on STDIN (`cat > file`), never in argv — the
283
+ // apr1 hash is offline-crackable, and argv is world-readable via `ps`.
284
+ const { htpasswd, vhostAvailable: vhostAvail, vhostEnabled: vhostEnbl } = recordedSite(ctx, rebrand);
285
+ await sudoStep(ctx, {
286
+ description: 'Write the htpasswd identity file that nginx checks on every request.',
287
+ note: `${htpasswd}\n\n${user}:<apr1 hash of your password>`,
288
+ command: `install -d -m 0755 ${htpasswd.slice(0, htpasswd.lastIndexOf('/'))} && cat > ${htpasswd} && chown root:www-data ${htpasswd} && chmod 0640 ${htpasswd}`,
289
+ input: `${user}:${hash}\n`,
290
+ inputLabel: 'credential line (username:hash)',
291
+ verify: (c) => verifyCommand(c, 'test', ['-f', htpasswd]),
292
+ });
293
+ // Record whether the distro's default site was enabled *before* we disable
294
+ // it, so undo only re-enables it if we were the one who removed it.
295
+ const defaultWasEnabled = await verifyCommand(ctx, 'test', ['-L', '/etc/nginx/sites-enabled/default']);
296
+ // 4) vhost + enable + reload. A named instance already knows its domain, so
297
+ // stamp it into server_name from the start (Host-based routing works
298
+ // immediately and certbot --nginx can find the vhost later). The default
299
+ // instance keeps the catch-all `_` until the SSL step sets a domain.
300
+ const nginxVersion = await installedNginxVersion(ctx);
301
+ const vhost = nginxVhost(ctx.state.primaryPort, ctx.state.domain ?? '_', htpasswd, nginxVersion);
302
+ await writeFileStep(ctx, {
303
+ description: `Write the ${productName('cezar', rebrand)} nginx site, enable it, and reload nginx.`,
304
+ path: vhostAvail,
305
+ content: vhost,
306
+ extra: `ln -sf ${vhostAvail} ${vhostEnbl} && rm -f /etc/nginx/sites-enabled/default && nginx -t && systemctl reload nginx`,
307
+ verify: (c) => verifyCommand(c, 'test', ['-f', vhostEnbl]),
308
+ });
309
+ // 5) firewall: if ufw is active, the cockpit is unreachable until 80/443 are
310
+ // allowed — a common "installed fine but nothing loads" cause. This is a
311
+ // best-effort sub-step of the (required) proxy step: skipping it must not
312
+ // fail the whole install, so a StepSkipped is swallowed here.
313
+ if (!ctx.dryRun && (await ufwIsActive(ctx))) {
314
+ try {
315
+ await sudoStep(ctx, {
316
+ description: 'ufw is active — allow HTTP/HTTPS so the cockpit is reachable.',
317
+ // Self-verifying: the trailing grep makes the (root) command itself
318
+ // fail when the rule did not land — needed because rule listing also
319
+ // requires root, so the unprivileged verify below can't always check.
320
+ command: `ufw allow 'Nginx Full' && ufw status | grep -qi 'Nginx Full'`,
321
+ skippable: true,
322
+ skipHint: 'open ports 80 and 443 yourself, or via a cloud firewall',
323
+ verify: async (c) => {
324
+ if ((await c.runner.capture('sudo', ['-n', 'true'])).code === 0) {
325
+ return ((await c.runner.capture('sudo', ['-n', 'bash', '-lc', "ufw status | grep -qi 'Nginx Full'"])).code === 0);
326
+ }
327
+ // No root and no human in the loop (`--yes`): nobody ran the
328
+ // command, so it cannot have "verified itself" — fail, which the
329
+ // skippable path converts into the loud firewall warning below.
330
+ if (c.assumeYes)
331
+ return false;
332
+ // Interactive delegate: the operator confirmed running the
333
+ // self-verifying command (the trailing grep fails their paste if
334
+ // the rule is missing); we cannot re-check without root.
335
+ c.ui.warn('Cannot list ufw rules without root — trusting the self-verifying command you just ran. ' +
336
+ 'Double-check ports 80/443 are reachable.');
337
+ return true;
338
+ },
339
+ });
340
+ }
341
+ catch (err) {
342
+ if (!(err instanceof StepSkipped))
343
+ throw err;
344
+ ctx.ui.warn('Firewall left unchanged — make sure ports 80 and 443 are reachable, or the cockpit will not load.');
345
+ }
346
+ }
347
+ const artifacts = [
348
+ owned('file', { path: vhostAvail }),
349
+ owned('symlink', { path: vhostEnbl }),
350
+ owned('htpasswd', { path: htpasswd, name: user }),
351
+ ];
352
+ if (defaultWasEnabled)
353
+ artifacts.push(owned('nginx-default', { path: '/etc/nginx/sites-enabled/default' }));
354
+ if (!nginxWasPresent) {
355
+ artifacts.push(shared('package', { name: 'nginx', removeHint: 'sudo apt-get remove -y nginx' }));
356
+ }
357
+ return { artifacts };
358
+ },
359
+ async undo(ctx, created) {
360
+ // Remove the *known* cezar-owned paths (constants), so uninstall works even
361
+ // if server.json was lost and the step was re-recorded with created=null.
362
+ // Only re-enable the default site if the run recorded that it disabled it.
363
+ const restoreDefault = (created?.artifacts ?? []).some((a) => a.type === 'nginx-default');
364
+ const restoreClause = restoreDefault
365
+ ? ` && { [ -e /etc/nginx/sites-available/default ] && ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default || true; }`
366
+ : '';
367
+ // `shared` packages (nginx, when this install added it) are listed, never
368
+ // auto-removed — the operator may have started depending on them.
369
+ const sharedPkgs = (created?.artifacts ?? []).filter((a) => a.kind === 'shared');
370
+ if (sharedPkgs.length > 0) {
371
+ ctx.ui.note(sharedPkgs.map((a) => a.removeHint ?? a.name ?? '').filter(Boolean).join('\n'), `Installed for ${productName('cezar', rebrand)} but possibly used elsewhere — remove manually if unwanted`);
372
+ }
373
+ // rmdir only succeeds when empty, so removing one instance's
374
+ // htpasswd never nukes another instance's credentials in the same dir.
375
+ const { files, dirs } = sitePathsToRemove(ctx, rebrand);
376
+ const vhostEnbl = files[0];
377
+ await sudoStep(ctx, {
378
+ description: `Remove the ${productName('cezar', rebrand)} nginx site + htpasswd, reload nginx.`,
379
+ command: `rm -f ${files.join(' ')}` +
380
+ restoreClause +
381
+ ` && { rmdir ${dirs.join(' ')} 2>/dev/null || true; }` +
382
+ ` && { nginx -t && systemctl reload nginx || true; }`,
383
+ verify: (c) => verifyCommand(c, 'sh', ['-c', `! test -f ${vhostEnbl}`]),
384
+ });
385
+ },
386
+ });
387
+ const HOSTNAME_RE = /^(?=.{1,253}$)([a-z0-9](-?[a-z0-9])*\.)+[a-z]{2,}$/i;
388
+ const EMAIL_RE = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;
389
+ const sslStep = (rebrand) => ({
390
+ id: 'ssl',
391
+ title: 'Domain + SSL (Let’s Encrypt)',
392
+ optional: true,
393
+ async check() {
394
+ return false; // optional — the engine gates it with a confirm; certbot is idempotent
395
+ },
396
+ async run(ctx) {
397
+ // A named instance already captured its domain up front (it is the instance
398
+ // key) — reuse it instead of asking again. The default instance still
399
+ // prompts here, since it may be HTTP-only until this step runs.
400
+ const domain = ctx.state.domain
401
+ ? ctx.state.domain
402
+ : await ctx.ui.text({
403
+ message: 'Domain pointing at this server (an A/AAAA record must resolve here)',
404
+ placeholder: `cezar.example.com`,
405
+ validate: (v) => (HOSTNAME_RE.test(v.trim()) ? undefined : 'enter a valid domain'),
406
+ });
407
+ if (domain === CANCEL)
408
+ throw new StepCancelled();
409
+ const email = await ctx.ui.text({
410
+ message: 'Email for Let’s Encrypt renewal notices',
411
+ placeholder: 'you@example.com',
412
+ validate: (v) => (EMAIL_RE.test(v.trim()) ? undefined : 'enter a valid email'),
413
+ });
414
+ if (email === CANCEL)
415
+ throw new StepCancelled();
416
+ const certbotWasPresent = await verifyCommand(ctx, 'certbot', ['--version']);
417
+ await sudoStep(ctx, {
418
+ description: 'Install certbot + its nginx plugin.',
419
+ command: 'apt-get install -y certbot python3-certbot-nginx',
420
+ verify: (c) => verifyCommand(c, 'certbot', ['--version']),
421
+ });
422
+ // Point the nginx site's server_name at the domain BEFORE running certbot.
423
+ // The `certbot --nginx` plugin locates the vhost by matching `server_name`
424
+ // against `-d <domain>`; with the catch-all `server_name _;` it fails with
425
+ // "Unable to find a VirtualHost". Doing this first also means that if the
426
+ // operator skips certbot now, a later manual `certbot --nginx -d <domain>`
427
+ // just works — no "could not find a matching server" (issue #8).
428
+ //
429
+ // On a RE-RUN (--reconfigure ssl / --reinstall / resume) the vhost may
430
+ // already carry certbot's TLS edits (`listen 443 ssl`, `ssl_certificate`).
431
+ // Rewriting it with the plain-HTTP template would take working HTTPS down
432
+ // BEFORE certbot runs again — and leave it down if certbot then fails. So
433
+ // when TLS config is present, only the `server_name` lines are updated
434
+ // in place; the hostname regex bars every sed/shell metacharacter.
435
+ const trimmedDomain = String(domain).trim();
436
+ // Record the domain on the instance record so a resume / redeploy / verify
437
+ // (and the nginx server_name) all agree on it, even for the default instance
438
+ // that entered its domain here rather than up front.
439
+ ctx.state.domain = trimmedDomain;
440
+ const { vhostAvailable: vhostAvail, vhostEnabled: vhostEnbl, htpasswd } = recordedSite(ctx, rebrand);
441
+ const vhostHasTls = await verifyCommand(ctx, 'sh', ['-c', `grep -qs ssl_certificate ${vhostAvail}`]);
442
+ const nginxVersion = await installedNginxVersion(ctx);
443
+ if (vhostHasTls) {
444
+ await sudoStep(ctx, {
445
+ description: `Update server_name to ${trimmedDomain} in the existing TLS-enabled nginx site (certbot config preserved).`,
446
+ command: `sed -i 's/^\\([[:space:]]*\\)server_name .*;/\\1server_name ${trimmedDomain};/' ${vhostAvail} && nginx -t && systemctl reload nginx`,
447
+ verify: (c) => verifyCommand(c, 'sh', ['-c', `grep -qF ${shquote(`server_name ${trimmedDomain}`)} ${vhostAvail}`]),
448
+ });
449
+ }
450
+ else {
451
+ const domainVhost = nginxVhost(ctx.state.primaryPort, trimmedDomain, htpasswd, nginxVersion);
452
+ await writeFileStep(ctx, {
453
+ description: `Point the nginx site at ${trimmedDomain} so certbot can configure TLS for it.`,
454
+ path: vhostAvail,
455
+ content: domainVhost,
456
+ extra: `ln -sf ${vhostAvail} ${vhostEnbl} && nginx -t && systemctl reload nginx`,
457
+ verify: (c) => verifyCommand(c, 'sh', ['-c', `grep -qF ${shquote(`server_name ${trimmedDomain}`)} ${vhostAvail}`]),
458
+ });
459
+ }
460
+ // certbot can legitimately fail on external state (DNS not pointed yet, LE
461
+ // rate limit). Route it through sudoStep so it honors the sudo/delegate
462
+ // choice (issue #7) and offers Skip on repeated failure (issue #8) — on
463
+ // skip, nginx is already configured for a later manual certbot run.
464
+ await sudoStep(ctx, {
465
+ description: `Obtain and install a Let’s Encrypt certificate for ${String(domain).trim()} (adds HTTPS + redirect).`,
466
+ command: `certbot --nginx -d ${shquote(String(domain).trim())} --non-interactive --agree-tos -m ${shquote(String(email).trim())} --redirect`,
467
+ skippable: true,
468
+ skipHint: `run later: sudo certbot --nginx -d ${String(domain).trim()}`,
469
+ // Verify via the nginx vhost, NOT /etc/letsencrypt/live — that dir is 0700
470
+ // root, so a non-root `test -d` (the operator ran certbot themselves) fails
471
+ // with permission-denied and reports a false failure even when the cert was
472
+ // issued. certbot --nginx writes `ssl_certificate …` into the vhost, which
473
+ // is world-readable, so grepping it works without root.
474
+ verify: (c) => verifyCommand(c, 'sh', ['-c', `grep -qs ssl_certificate ${vhostAvail} ${vhostEnbl}`]),
475
+ });
476
+ if (!supportsStandaloneHttp2(nginxVersion)) {
477
+ // Certbot has now installed the TLS listeners. Keep the existing TLS site
478
+ // intact on reconfiguration; the edit is idempotent and touches only :443.
479
+ try {
480
+ const marker = `# cezar-http2-validated ${randomUUID()}`;
481
+ await sudoStep(ctx, {
482
+ description: 'Enable HTTP/2 on the nginx TLS listeners.',
483
+ command: enableHttp2OnTlsCommand(vhostAvail, marker),
484
+ skippable: true,
485
+ skipHint: `add http2 to the TLS listen lines in ${vhostAvail}, then reload nginx`,
486
+ // A matching listener alone cannot prove `nginx -t` and reload ran:
487
+ // sudoStep deliberately ignores a command's exit when verification
488
+ // succeeds, and delegate mode has no exit status to inspect at all.
489
+ verify: (c) => verifyCommand(c, 'sh', ['-c',
490
+ `grep -qF ${shquote(marker)} ${shquote(vhostAvail)} && grep -Eqs '^[[:space:]]*listen.*443.*http2' ${shquote(vhostAvail)}`,
491
+ ]),
492
+ });
493
+ }
494
+ catch (error) {
495
+ if (!(error instanceof StepSkipped))
496
+ throw error;
497
+ ctx.ui.warn('HTTPS is configured, but HTTP/2 is unavailable; long-lived SSE streams may exhaust the browser connection pool.');
498
+ }
499
+ }
500
+ ctx.state.publicUrl = `https://${trimmedDomain}`;
501
+ // The cert + its auto-renewal timer are `shared`: uninstall lists them, it
502
+ // does not delete them (removing a cert can break other vhosts). Same for
503
+ // the certbot packages when this run installed them.
504
+ const artifacts = [
505
+ shared('cert', { name: trimmedDomain, removeHint: `sudo certbot delete --cert-name ${trimmedDomain}` }),
506
+ ];
507
+ if (!certbotWasPresent) {
508
+ artifacts.push(shared('package', {
509
+ name: 'certbot + python3-certbot-nginx',
510
+ removeHint: 'sudo apt-get remove -y certbot python3-certbot-nginx',
511
+ }));
512
+ }
513
+ return { artifacts };
514
+ },
515
+ async undo(ctx, created) {
516
+ const cert = (created?.artifacts ?? []).find((a) => a.type === 'cert');
517
+ if (cert) {
518
+ ctx.ui.note(`The TLS certificate for ${cert.name ?? 'your domain'} and its auto-renewal timer were left in place.\nRemove them yourself if you want them gone:\n${cert.removeHint ?? ''}`, 'SSL');
519
+ }
520
+ const pkgs = (created?.artifacts ?? []).filter((a) => a.type === 'package');
521
+ if (pkgs.length > 0) {
522
+ ctx.ui.note(pkgs.map((a) => a.removeHint ?? a.name ?? '').filter(Boolean).join('\n'), `Installed for ${productName('cezar', rebrand)} but possibly used elsewhere — remove manually if unwanted`);
523
+ }
524
+ // The vhost (with certbot’s edits) is removed by the nginx-proxy step’s undo.
525
+ },
526
+ });
527
+ /**
528
+ * systemd unit that runs cezar loopback-bound with CEZ_REMOTE=1.
529
+ *
530
+ * `execStart` must be an ABSOLUTE command — systemd resolves the ExecStart
531
+ * executable against its OWN compiled-in PATH (/usr/local/bin:/usr/bin:…), NOT
532
+ * the unit's `Environment=PATH`, so a bare `cezar` gives status=203/EXEC
533
+ * ("Unable to locate executable"). `resolveExecStart` therefore returns an
534
+ * absolute `"<node> <entry.js>"`. We still set `Environment=PATH` (with the
535
+ * installer's node dir) for any child process the app spawns.
536
+ */
537
+ export function systemdUnit(repoRoot, port, scope, execStart, bindHost, _rebrand = REBRAND_SWITCH) {
538
+ const userLine = scope === 'system' ? `User=${userInfo().username}\n` : '';
539
+ const installTarget = scope === 'system' ? 'multi-user.target' : 'default.target';
540
+ // Give the service the operator's own PATH (node dir + the login PATH the CLI
541
+ // merged in, e.g. ~/.local/bin and nvm) so cezar can spawn claude / gh / codex
542
+ // at runtime — systemd's default PATH has none of those.
543
+ const pathDirs = [dirname(process.execPath), ...(process.env.PATH ?? '').split(':'), '/usr/local/bin', '/usr/bin', '/bin']
544
+ .filter((d, i, a) => d && d !== '.' && a.indexOf(d) === i);
545
+ // systemd expands `%` specifiers in Environment/ExecStart values — a literal
546
+ // `%` (possible in an nvm dir name) must be doubled or the unit fails to load.
547
+ const sysd = (s) => s.replace(/%/g, '%%');
548
+ // Loopback stays the default (and stays flag-less, so existing units are
549
+ // byte-identical); an external-proxy install binds an interface its proxy can
550
+ // actually reach — a container-based proxy cannot dial the host's loopback.
551
+ const bind = bindHost?.trim() && bindHost.trim() !== '127.0.0.1' ? ` --bind-host ${bindHost.trim()}` : '';
552
+ return `# Managed by cezar server-install — do not edit by hand.
553
+ [Unit]
554
+ Description=cezar cockpit
555
+ After=network-online.target
556
+ Wants=network-online.target
557
+
558
+ [Service]
559
+ Type=simple
560
+ ${userLine}WorkingDirectory=${repoRoot}
561
+ ${Object.entries(productEnvEntries('REMOTE', '1', true)).reverse().map(([key, value]) => `Environment=${key}=${value}`).join('\n')}
562
+ Environment=PATH=${sysd(pathDirs.join(':'))}
563
+ ExecStart=${sysd(execStart)} serve --no-open --port ${port}${sysd(bind)}
564
+ Restart=on-failure
565
+ RestartSec=5
566
+
567
+ [Install]
568
+ WantedBy=${installTarget}
569
+ `;
570
+ }
571
+ /**
572
+ * Decide the absolute ExecStart command for the service, mirroring how the
573
+ * installer itself was launched so the box keeps running the same cezar:
574
+ *
575
+ * - Launched via `npx <alias>` (the CLI package lives in npm's ephemeral
576
+ * `_npx` cache, which gets cleaned): the service can't point there, so it
577
+ * reinstalls-and-runs the same way — `<abs npx> --yes cezarion` (bare `npx`
578
+ * would 203/EXEC, so npx is made absolute).
579
+ * - A stable install (a checkout, or a global `cezarion`/`cez`): run the
580
+ * CLI's own built entry `<node> <pkg>/dist/index.js`, or a resolved global
581
+ * bin. Absolute node + absolute script → systemd never resolves off PATH.
582
+ */
583
+ export function serviceExecStart(opts, rebrand = REBRAND_SWITCH) {
584
+ const cliPackage = productIdentity(rebrand).npmAlias;
585
+ const entry = rebrand ? join(dirname(opts.entry), `${productIdentity(rebrand).command}.js`) : opts.entry;
586
+ if (/[/\\]_npx[/\\]/.test(opts.pkgRoot))
587
+ return `${opts.npxPath} --yes ${cliPackage}`;
588
+ if (opts.entryExists)
589
+ return `${opts.node} ${entry}`;
590
+ if (opts.globalBin)
591
+ return `${opts.node} ${opts.globalBin}`;
592
+ return `${opts.node} ${entry}`;
593
+ }
594
+ async function resolveExecStart(ctx, rebrand) {
595
+ const cliPackage = productIdentity(rebrand).npmAlias;
596
+ const node = process.execPath; // absolute node running this installer
597
+ // The CLI's OWN package root (…/dist/server-install/platforms/ → up 3), NOT the
598
+ // repo being operated on — `--repo` / cwd can differ from where cezar lives.
599
+ const pkgRoot = resolve(fileURLToPath(new URL('../../..', import.meta.url)));
600
+ const entry = join(pkgRoot, 'dist', 'index.js');
601
+ let npxPath = join(dirname(node), 'npx');
602
+ if (ctx.dryRun)
603
+ return serviceExecStart({ node, pkgRoot, entry, entryExists: true, npxPath }, rebrand);
604
+ // A standalone node binary has no adjacent npx — fall back to the login
605
+ // shell's, or ExecStart would 203/EXEC (the exact bug 9fea263 fixed).
606
+ if (!existsSync(npxPath)) {
607
+ const found = (await ctx.runner.capture('bash', ['-lc', 'command -v npx'])).stdout.trim().split('\n').pop()?.trim();
608
+ if (found)
609
+ npxPath = found;
610
+ }
611
+ let globalBin;
612
+ if (!existsSync(entry) && !/[/\\]_npx[/\\]/.test(pkgRoot)) {
613
+ const out = (await ctx.runner.capture('bash', ['-lc', rebrand ? `command -v ${productIdentity(rebrand).command}` : `command -v ${cliPackage} || command -v cez`])).stdout.trim();
614
+ globalBin = out.split('\n').map((s) => s.trim()).filter(Boolean).pop();
615
+ if (!globalBin) {
616
+ ctx.ui.warn(`Could not locate a built ${productName('cezar', rebrand)} to run (${entry} missing, no global ${cliPackage}).\n` +
617
+ `Install it (npm i -g ${cliPackage}) or build the checkout, then re-run with --reconfigure autostart.`);
618
+ }
619
+ }
620
+ return serviceExecStart({ node, pkgRoot, entry, entryExists: existsSync(entry), npxPath, globalBin }, rebrand);
621
+ }
622
+ const autostartStep = (rebrand) => ({
623
+ id: 'autostart',
624
+ // Required: after install the cockpit must actually be serving, so cezar runs
625
+ // as a systemd service — started now AND enabled on boot. (id kept as
626
+ // `autostart` for state compatibility.)
627
+ title: `Run ${productName('cezar', rebrand)} as a service (systemd — starts now + on boot)`,
628
+ async check() {
629
+ return false; // always (re)assert the service is installed and running
630
+ },
631
+ async run(ctx) {
632
+ const UNIT_NAME = recordedUnit(ctx, rebrand).name, hint = unitHint(ctx, rebrand);
633
+ const execStart = await resolveExecStart(ctx, rebrand);
634
+ // Prefer a rootless `systemd --user` service + linger; fall back to a system
635
+ // unit (via sudoStep) when the user bus is not reachable. `show-environment`
636
+ // exits 0 iff the user manager is up — on a headless SSH box with no session
637
+ // it fails (exit 1, not 127), which the old `!== 127` test misread as "up".
638
+ const userBus = ctx.dryRun ? true : (await ctx.runner.capture('systemctl', ['--user', 'show-environment'])).code === 0;
639
+ if (userBus) {
640
+ const unitPath = join(homedir(), '.config', 'systemd', 'user', UNIT_NAME);
641
+ if (ctx.dryRun) {
642
+ ctx.ui.info(`DRY RUN — would write ${unitPath} and enable it (systemctl --user enable --now ${hint}).`);
643
+ }
644
+ else {
645
+ mkdirSync(join(homedir(), '.config', 'systemd', 'user'), { recursive: true });
646
+ writeFileSync(unitPath, systemdUnit(ctx.repoRoot, ctx.state.primaryPort, 'user', execStart, ctx.state.bindHost, rebrand), 'utf8');
647
+ await ctx.runner.interactive('systemctl', ['--user', 'daemon-reload']);
648
+ await ctx.runner.interactive('systemctl', ['--user', 'enable', '--now', UNIT_NAME]);
649
+ if ((await ctx.runner.capture('systemctl', ['--user', 'is-enabled', UNIT_NAME])).code !== 0) {
650
+ ctx.ui.warn(`The user service did not enable cleanly — check \`systemctl --user status ${hint}\`.`);
651
+ }
652
+ }
653
+ // Linger lets the user service survive logout / start at boot — usually
654
+ // needs root. Record it as owned only when THIS run turned it on, so
655
+ // uninstall reverses exactly what install changed (a pre-existing linger
656
+ // may serve other user services).
657
+ const osUser = userInfo().username;
658
+ const lingerWasOn = await verifyCommand(ctx, 'loginctl', ['show-user', osUser, '-p', 'Linger'], (r) => r.stdout.includes('Linger=yes'));
659
+ await sudoStep(ctx, {
660
+ description: 'Enable linger so the cockpit starts at boot without a login session.',
661
+ command: `loginctl enable-linger ${shquote(osUser)}`,
662
+ verify: (c) => verifyCommand(c, 'loginctl', ['show-user', osUser, '-p', 'Linger'], (r) => r.stdout.includes('Linger=yes')),
663
+ });
664
+ await confirmCezarRunning(ctx, `systemctl --user status ${hint}`, `journalctl --user -u ${hint} -n 50 --no-pager`);
665
+ const artifacts = [owned('service', { name: UNIT_NAME, scope: 'user', path: unitPath })];
666
+ if (!lingerWasOn)
667
+ artifacts.push(owned('linger', { name: osUser }));
668
+ return { artifacts };
669
+ }
670
+ // System unit fallback.
671
+ await writeFileStep(ctx, {
672
+ description: `Install the ${productName('cezar', rebrand)} systemd unit, start it now, and enable it at boot.`,
673
+ path: `/etc/systemd/system/${UNIT_NAME}`,
674
+ content: systemdUnit(ctx.repoRoot, ctx.state.primaryPort, 'system', execStart, ctx.state.bindHost, rebrand),
675
+ extra: `systemctl daemon-reload && systemctl enable --now ${UNIT_NAME}`,
676
+ verify: (c) => verifyCommand(c, 'systemctl', ['is-enabled', UNIT_NAME]),
677
+ });
678
+ await confirmCezarRunning(ctx, `sudo systemctl status ${hint}`, `sudo journalctl -u ${hint} -n 50 --no-pager`);
679
+ return { artifacts: [owned('service', { name: UNIT_NAME, scope: 'system', path: `/etc/systemd/system/${UNIT_NAME}` })] };
680
+ },
681
+ async undo(ctx, created) {
682
+ const svc = (created?.artifacts ?? []).find((a) => a.type === 'service');
683
+ const UNIT_NAME = recordedUnit(ctx, rebrand).name;
684
+ // Reverse linger only when install recorded that it enabled it.
685
+ const linger = (created?.artifacts ?? []).find((a) => a.type === 'linger');
686
+ if (svc?.scope === 'user') {
687
+ if (!ctx.dryRun) {
688
+ await ctx.runner.interactive('systemctl', ['--user', 'disable', '--now', UNIT_NAME]);
689
+ if (svc.path)
690
+ rmSync(svc.path, { force: true });
691
+ await ctx.runner.interactive('systemctl', ['--user', 'daemon-reload']);
692
+ }
693
+ else {
694
+ ctx.ui.info('DRY RUN — would disable and remove the user service.');
695
+ }
696
+ }
697
+ else if (svc) {
698
+ await sudoStep(ctx, {
699
+ description: `Disable and remove the ${productName('cezar', rebrand)} systemd unit.`,
700
+ command: `systemctl disable --now ${UNIT_NAME}; rm -f /etc/systemd/system/${UNIT_NAME} && systemctl daemon-reload`,
701
+ verify: (c) => verifyCommand(c, 'sh', ['-c', `! systemctl is-enabled ${UNIT_NAME}`]),
702
+ });
703
+ }
704
+ if (linger?.name) {
705
+ await sudoStep(ctx, {
706
+ description: 'Disable linger (this install enabled it; nothing else needs it).',
707
+ command: `loginctl disable-linger ${shquote(linger.name)}`,
708
+ verify: (c) => verifyCommand(c, 'loginctl', ['show-user', linger.name ?? '', '-p', 'Linger'], (r) => r.stdout.includes('Linger=no')),
709
+ });
710
+ }
711
+ },
712
+ });
713
+ /**
714
+ * `--external-proxy` verification: confirm the cockpit is listening on the
715
+ * interface the operator's proxy will dial, then hand them the routing snippet.
716
+ * cezar ships no auth of its own, so this is also where we say — unmissably —
717
+ * that the front they own has to enforce it.
718
+ */
719
+ async function verifyBehindExternalProxy(ctx, unit) {
720
+ const port = ctx.state.primaryPort;
721
+ const host = upstreamHost(ctx);
722
+ const target = `http://${host}:${port}`;
723
+ const domain = ctx.state.domain ?? '<your-domain>';
724
+ if (ctx.dryRun) {
725
+ ctx.ui.info(`DRY RUN — would verify ${productName('cezar')} answers on ${target} and print the proxy routing snippet.`);
726
+ return { artifacts: [] };
727
+ }
728
+ if (!(await waitForCezar(ctx, port))) {
729
+ ctx.ui.error(`${productName('cezar')} is not answering on ${target}.\n\n` +
730
+ `Diagnostics on the server:\n` +
731
+ ` • systemctl --user status ${unit} (or: sudo systemctl status ${unit})\n` +
732
+ ` • sudo ss -ltnp | grep :${port}\n` +
733
+ (host === '127.0.0.1'
734
+ ? ''
735
+ : ` • is ${host} a real local interface? (ip -brief addr) — a container-based proxy\n` +
736
+ ` usually reaches the host on the docker bridge, commonly 172.17.0.1\n`));
737
+ throw new StepAborted('cockpit verification failed — see the diagnostics above');
738
+ }
739
+ ctx.ui.success(`Cockpit is up and listening on ${target}.`);
740
+ ctx.ui.warn(`${productName('cezar')} has NO built-in authentication in this mode — your reverse proxy MUST enforce it. ` +
741
+ 'Anyone who can reach ' + target + ' can run agents on this box.');
742
+ ctx.ui.message([
743
+ `Point your existing proxy at ${target} for ${domain}. For Dokploy / Traefik,`,
744
+ `add a file-provider config (Traefik runs in a container, so it cannot use 127.0.0.1):`,
745
+ ``,
746
+ ` http:`,
747
+ ` routers:`,
748
+ ` cezar:`,
749
+ ` rule: "Host(\`${domain}\`)"`,
750
+ ` entryPoints: [websecure]`,
751
+ ` middlewares: [cezar-auth]`,
752
+ ` service: cezar`,
753
+ ` tls: { certResolver: letsencrypt }`,
754
+ ` services:`,
755
+ ` cezar:`,
756
+ ` loadBalancer:`,
757
+ ` servers: [{ url: "${target}" }]`,
758
+ ` middlewares:`,
759
+ ` cezar-auth:`,
760
+ ` basicAuth:`,
761
+ ` users: ["USER:$$apr1$$...."] # htpasswd -nb user pass (double every $)`,
762
+ ``,
763
+ `Keep ${host}:${port} off the public internet (ufw / cloud firewall) — the proxy`,
764
+ `should be the only thing that can reach it.`,
765
+ ].join('\n'));
766
+ return { artifacts: [] };
767
+ }
768
+ const identityStep = (rebrand) => ({
769
+ id: 'identity',
770
+ title: `Verify the cockpit end-to-end (auth + HTTPS reach ${productName('cezar', rebrand)})`,
771
+ async check() {
772
+ return false; // always re-verify; it creates nothing
773
+ },
774
+ async run(ctx) {
775
+ // External proxy: cezar installed no nginx, so there is no auth challenge of
776
+ // ours to probe. All we can (and should) verify is that the cockpit is
777
+ // actually listening where the operator's proxy will look for it.
778
+ if (ctx.state.externalProxy)
779
+ return verifyBehindExternalProxy(ctx, recordedUnit(ctx, rebrand).name);
780
+ if (ctx.dryRun) {
781
+ ctx.ui.info(`DRY RUN — would verify auth (401 for anon) AND that an authenticated request reaches ${productName('cezar', rebrand)}.`);
782
+ return { artifacts: [] };
783
+ }
784
+ const port = ctx.state.primaryPort;
785
+ const https = ctx.state.publicUrl?.startsWith('https://') ?? false;
786
+ const base = https ? 'https://127.0.0.1/' : 'http://127.0.0.1/';
787
+ const tls = https ? ['-k'] : [];
788
+ // When several instances share nginx, a bare 127.0.0.1 request hits whatever
789
+ // vhost nginx treats as default. Send this instance's own Host header so the
790
+ // probe verifies THIS cockpit's vhost, not a sibling's.
791
+ const host = ctx.state.domain ? ['-H', `Host: ${ctx.state.domain}`] : [];
792
+ // 1) Is cezar actually listening on the loopback upstream? nginx challenges
793
+ // auth *before* proxying, so an anonymous 401 alone does NOT prove the
794
+ // backend is up — check the upstream directly.
795
+ const upstreamUp = await isCezarUp(ctx, port);
796
+ // 2) An anonymous request through nginx must be challenged (auth is active).
797
+ const anonCode = await curlCode(ctx, [...tls, ...host, base]);
798
+ const authEnforced = anonCode === '401';
799
+ // 3) The real proof: an AUTHENTICATED request reaches cezar (2xx/3xx — not
800
+ // 401/403 = bad creds, not 502/504 = upstream down). Credentials are read
801
+ // from stdin (curl -K -) so they never land in argv. `null` = not testable
802
+ // (a resume where the plaintext password is no longer in memory).
803
+ let authedOk = null;
804
+ const cred = ctx.prefs.cockpit;
805
+ if (cred) {
806
+ // curl's config format requires `\` and `"` escaped inside the quoted
807
+ // value — both are legal password characters; unescaped they break the
808
+ // config parse and fail a WORKING install with "bad credentials".
809
+ const curlCfgQuote = (s) => s.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
810
+ const code = await curlCode(ctx, [...tls, ...host, '-K', '-', base], {
811
+ input: `user = "${curlCfgQuote(cred.user)}:${curlCfgQuote(cred.password)}"\n`,
812
+ });
813
+ authedOk = /^[23]\d\d$/.test(code);
814
+ }
815
+ const url = ctx.state.publicUrl ?? `http://<this-server>`;
816
+ const coreOk = upstreamUp && authEnforced && authedOk !== false;
817
+ if (coreOk) {
818
+ ctx.ui.success(`Cockpit is live at ${url} — ${authedOk ? `an authenticated request reached ${productName('cezar', rebrand)}` : `auth is enforced and ${productName('cezar', rebrand)} is up`}. ` +
819
+ 'Log in with the username and password you set.');
820
+ if (!https) {
821
+ ctx.ui.warn('This cockpit is HTTP-only (no domain/SSL configured). To serve it over HTTPS with this same auth, ' +
822
+ commandText('re-run: cez server-install --platform ubuntu-vps --reconfigure ssl', undefined, rebrand));
823
+ }
824
+ return { artifacts: [] };
825
+ }
826
+ const problems = [];
827
+ if (!upstreamUp)
828
+ problems.push(`${productName('cezar', rebrand)} is not listening on 127.0.0.1:${port} — the service is down, so nginx returns 502`);
829
+ if (!authEnforced)
830
+ problems.push(`nginx did not challenge an anonymous request (got "${anonCode}") — basic auth may not be active`);
831
+ if (authedOk === false)
832
+ problems.push(`an authenticated request did not reach ${productName('cezar', rebrand)} (bad credentials, or the upstream is down)`);
833
+ ctx.ui.error(`The cockpit is NOT fully working yet:\n` +
834
+ problems.map((p) => ` • ${p}`).join('\n') +
835
+ `\n\nDiagnostics on the server:\n` +
836
+ ` • systemctl --user status ${unitHint(ctx, rebrand)} (or: sudo systemctl status ${unitHint(ctx, rebrand)})\n` +
837
+ ` • sudo systemctl status nginx && sudo nginx -t\n` +
838
+ ` • sudo ss -ltnp | grep -E ':80|:443|:${port}'\n` +
839
+ ` • ports 80/443 open in ufw AND any cloud firewall (Hetzner/AWS)`);
840
+ // Fail the run so `installed` stays false and the exit code is non-zero —
841
+ // "complete" must mean the cockpit actually works. Re-run to resume (the
842
+ // service/proxy steps are idempotent).
843
+ throw new StepAborted('cockpit verification failed — see the diagnostics above');
844
+ },
845
+ async undo() {
846
+ // nothing created
847
+ },
848
+ });
849
+ export function createUbuntuVps({ rebrand = REBRAND_SWITCH } = {}) {
850
+ const steps = { proxy: nginxProxyStep(rebrand), ssl: sslStep(rebrand), autostart: autostartStep(rebrand), identity: identityStep(rebrand) };
851
+ const health = { identity: steps.identity, waitForCezar };
852
+ return {
853
+ id: 'ubuntu-vps',
854
+ label: 'Ubuntu/Debian VPS',
855
+ async preflight(ctx) {
856
+ if (ctx.dryRun) {
857
+ ctx.ui.info('DRY RUN — skipping OS/privilege preflight.');
858
+ return;
859
+ }
860
+ const uname = await ctx.runner.capture('uname', ['-s']);
861
+ if (!uname.stdout.includes('Linux')) {
862
+ throw new PreflightError('ubuntu-vps requires Linux. On macOS use --platform macosx-ngrok.');
863
+ }
864
+ if ((await ctx.runner.capture('apt-get', ['--version'])).code !== 0) {
865
+ throw new PreflightError('ubuntu-vps requires apt (Debian/Ubuntu).');
866
+ }
867
+ if ((await ctx.runner.capture('id', ['-u'])).stdout.trim() === '0') {
868
+ throw new PreflightError('run server-install as a normal sudo-capable user, not root.');
869
+ }
870
+ // Someone else already owns the HTTP front (Dokploy/Traefik, Coolify, Caddy,
871
+ // a hand-rolled nginx)? Installing ours would fight it for :80/:443 and the
872
+ // proxy step would fail with a confusing bind error — point at the mode that
873
+ // actually fits instead.
874
+ if (!ctx.state.externalProxy) {
875
+ const holder = await portListener(ctx, 80);
876
+ if (holder && !/nginx/i.test(holder)) {
877
+ ctx.ui.warn(`Port 80 is already served by "${holder}" on this host.\n` +
878
+ `${productName('cezar', rebrand)}'s ubuntu-vps install wants :80/:443 for its own nginx, so these will collide.\n\n` +
879
+ `If that is a reverse proxy you rely on (Dokploy/Traefik, Coolify, Caddy), re-run with:\n` +
880
+ commandText(` cez server-install --platform ubuntu-vps --external-proxy${ctx.state.domain ? ` --domain ${ctx.state.domain}` : ''} [--bind-host 172.17.0.1]\n`, undefined, rebrand) +
881
+ `That installs the ${productName('cezar', rebrand)} service only and lets your proxy front it.`);
882
+ }
883
+ }
884
+ },
885
+ steps(ctx) {
886
+ // `--external-proxy`: the box already has a front owning :80/:443 (Dokploy/
887
+ // Traefik, Coolify, Caddy, an existing nginx). Installing our own nginx
888
+ // there would fight it for the ports, so we ship the service only and let
889
+ // that proxy terminate TLS + auth.
890
+ if (ctx.state.externalProxy)
891
+ return [depCheckStep(), steps.autostart, steps.identity];
892
+ // deps → proxy → (optional) ssl → autostart → identity.
893
+ return [depCheckStep(), steps.proxy, steps.ssl, steps.autostart, steps.identity];
894
+ },
895
+ async redeploy(ctx) {
896
+ const UNIT_NAME = recordedUnit(ctx, rebrand).name;
897
+ // Restart the systemd service so it picks up the new cezar (a fresh local
898
+ // build the unit runs from, or a newly published cezarion via npx), then
899
+ // re-run the same end-to-end verify install uses.
900
+ const userUnitPath = join(homedir(), '.config', 'systemd', 'user', UNIT_NAME);
901
+ const scope = resolveRedeployScope(ctx,
902
+ // No recorded artifact (older record, or the step was check()-satisfied):
903
+ // prefer the scope whose unit file actually exists — the user unit is the
904
+ // install default, so defaulting to `system` would sudo-restart a unit
905
+ // that was never installed.
906
+ existsSync(userUnitPath));
907
+ // #696: an npx-launched unit re-execs its cached build on restart, so a
908
+ // deploy that doesn't invalidate the npx cache never actually updates.
909
+ // Clear the cezarion cache first (read the live ExecStart to know the
910
+ // launch form); a checkout / global unit is left alone.
911
+ refreshNpxCacheForRedeploy(ctx, await readExecStart(ctx, scope, UNIT_NAME));
912
+ if (ctx.dryRun) {
913
+ ctx.ui.info(`DRY RUN — would reload+restart the ${productName('cezar', rebrand)} ${scope} service and re-verify the cockpit.`);
914
+ return;
915
+ }
916
+ await repairUnitEnv(ctx, scope, recordedUnit(ctx, rebrand).path ?? (scope === 'user' ? userUnitPath : `/etc/systemd/system/${UNIT_NAME}`));
917
+ const before = await serviceSnapshot(ctx, scope, UNIT_NAME);
918
+ const sudo = { used: false };
919
+ const fail = (reason) => failedRestart(ctx, scope, UNIT_NAME, reason, sudo.used);
920
+ ctx.ui.info(`Redeploying — restarting the ${productName('cezar', rebrand)} ${scope} service to pick up the new version.`);
921
+ const after = scope === 'user'
922
+ ? await restartUserService(ctx, UNIT_NAME, fail)
923
+ : await restartSystemService(ctx, UNIT_NAME, before, sudo, fail);
924
+ await freshRestartOrFail(before, after, fail);
925
+ const { statusCmd, logsCmd } = serviceDiagnostics(scope, UNIT_NAME);
926
+ await confirmCezarRunning(ctx, statusCmd, logsCmd);
927
+ try {
928
+ await steps.identity.run(ctx);
929
+ }
930
+ catch (err) {
931
+ if (!(err instanceof StepAborted))
932
+ throw err;
933
+ const current = await serviceSnapshot(ctx, scope, UNIT_NAME);
934
+ await fail(`cockpit verification failed: ${err.message}; service is ${current.active ?? 'unreadable'}`);
935
+ }
936
+ await freshRestartOrFail(before, await serviceSnapshot(ctx, scope, UNIT_NAME), fail);
937
+ },
938
+ migrate: (ctx) => migrateUbuntu(ctx, rebrand),
939
+ rollbackMigration: (ctx, report) => rollbackUbuntuMigration(ctx, report, rebrand),
940
+ stopService: (ctx) => stopUbuntuService(ctx, rebrand),
941
+ startService: (ctx, opts) => startUbuntuService(ctx, health, rebrand, opts),
942
+ };
943
+ }
944
+ export const ubuntuVps = createUbuntuVps();
945
+ //# sourceMappingURL=ubuntu-vps.js.map