infra-kit 0.1.125 → 0.1.127

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 (318) hide show
  1. package/.eslintcache +1 -1
  2. package/.omc/state/agent-replay-036daa78-5fee-4c7d-9b44-53584acb0d87.jsonl +26 -0
  3. package/.omc/state/agent-replay-0a65ec83-9de7-458d-9d0f-e56e1a26c68e.jsonl +2 -0
  4. package/.omc/state/agent-replay-1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a.jsonl +17 -0
  5. package/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +5 -0
  6. package/.omc/state/agent-replay-d02e6565-5168-40c8-8629-de219a29fa43.jsonl +2 -0
  7. package/.omc/state/idle-notif-cooldown.json +1 -1
  8. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/last-tool-error-state.json +7 -0
  9. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/mission-state.json +129 -0
  10. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/pre-tool-advisory-throttle.json +34 -0
  11. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralph-state.json +13 -0
  12. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralplan-state.json +11 -0
  13. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/subagent-tracking-state.json +80 -0
  14. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ultrawork-state.json +11 -0
  15. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/pre-tool-advisory-throttle.json +18 -0
  16. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/skill-active-state.json +15 -0
  17. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/last-tool-error-state.json +7 -0
  18. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/mission-state.json +139 -0
  19. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/pre-tool-advisory-throttle.json +50 -0
  20. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/ralplan-state.json +11 -0
  21. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/subagent-tracking-state.json +90 -0
  22. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/last-tool-error-state.json +7 -0
  23. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +79 -0
  24. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +10 -0
  25. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/skill-active-state.json +15 -0
  26. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +26 -0
  27. package/.omc/state/sessions/7772f972-4ec1-4287-bf42-a92c14cf3ffc/pre-tool-advisory-throttle.json +10 -0
  28. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/last-tool-error-state.json +7 -0
  29. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/mission-state.json +53 -0
  30. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/pre-tool-advisory-throttle.json +18 -0
  31. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/subagent-tracking-state.json +17 -0
  32. package/.turbo/turbo-build.log +7 -6
  33. package/.turbo/turbo-eslint-check.log +2 -1
  34. package/.turbo/turbo-prettier-check.log +1 -1
  35. package/.turbo/turbo-test.log +406 -128
  36. package/.turbo/turbo-ts-check.log +1 -1
  37. package/coverage/base.css +224 -0
  38. package/coverage/block-navigation.js +87 -0
  39. package/coverage/cli/index.html +116 -0
  40. package/coverage/cli/package.json.html +283 -0
  41. package/coverage/cli/src/commands/audit/audit.ts.html +616 -0
  42. package/coverage/cli/src/commands/audit/index.html +131 -0
  43. package/coverage/cli/src/commands/audit/index.ts.html +88 -0
  44. package/coverage/cli/src/commands/doctor/doctor.ts.html +1654 -0
  45. package/coverage/cli/src/commands/doctor/index.html +131 -0
  46. package/coverage/cli/src/commands/doctor/index.ts.html +88 -0
  47. package/coverage/cli/src/commands/env-clear/env-clear.ts.html +370 -0
  48. package/coverage/cli/src/commands/env-clear/index.html +131 -0
  49. package/coverage/cli/src/commands/env-clear/index.ts.html +88 -0
  50. package/coverage/cli/src/commands/env-list/env-list.ts.html +229 -0
  51. package/coverage/cli/src/commands/env-list/index.html +131 -0
  52. package/coverage/cli/src/commands/env-list/index.ts.html +88 -0
  53. package/coverage/cli/src/commands/env-load/env-load.ts.html +1201 -0
  54. package/coverage/cli/src/commands/env-load/index.html +131 -0
  55. package/coverage/cli/src/commands/env-load/index.ts.html +91 -0
  56. package/coverage/cli/src/commands/env-status/env-status.ts.html +409 -0
  57. package/coverage/cli/src/commands/env-status/index.html +131 -0
  58. package/coverage/cli/src/commands/env-status/index.ts.html +88 -0
  59. package/coverage/cli/src/commands/gh-merge-dev/gh-merge-dev.ts.html +694 -0
  60. package/coverage/cli/src/commands/gh-merge-dev/index.html +131 -0
  61. package/coverage/cli/src/commands/gh-merge-dev/index.ts.html +88 -0
  62. package/coverage/cli/src/commands/gh-release-deliver/gh-release-deliver.ts.html +1495 -0
  63. package/coverage/cli/src/commands/gh-release-deliver/index.html +131 -0
  64. package/coverage/cli/src/commands/gh-release-deliver/index.ts.html +88 -0
  65. package/coverage/cli/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts.html +706 -0
  66. package/coverage/cli/src/commands/gh-release-deploy-all/index.html +131 -0
  67. package/coverage/cli/src/commands/gh-release-deploy-all/index.ts.html +88 -0
  68. package/coverage/cli/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts.html +994 -0
  69. package/coverage/cli/src/commands/gh-release-deploy-selected/index.html +131 -0
  70. package/coverage/cli/src/commands/gh-release-deploy-selected/index.ts.html +88 -0
  71. package/coverage/cli/src/commands/gh-release-list/gh-release-list.ts.html +355 -0
  72. package/coverage/cli/src/commands/gh-release-list/index.html +131 -0
  73. package/coverage/cli/src/commands/gh-release-list/index.ts.html +88 -0
  74. package/coverage/cli/src/commands/init/agent-files.ts.html +742 -0
  75. package/coverage/cli/src/commands/init/index.html +146 -0
  76. package/coverage/cli/src/commands/init/init.ts.html +1159 -0
  77. package/coverage/cli/src/commands/init/migrate-config.ts.html +1219 -0
  78. package/coverage/cli/src/commands/release-create/index.html +131 -0
  79. package/coverage/cli/src/commands/release-create/index.ts.html +88 -0
  80. package/coverage/cli/src/commands/release-create/release-create.ts.html +1426 -0
  81. package/coverage/cli/src/commands/release-desc-edit/index.html +131 -0
  82. package/coverage/cli/src/commands/release-desc-edit/index.ts.html +88 -0
  83. package/coverage/cli/src/commands/release-desc-edit/release-desc-edit.ts.html +766 -0
  84. package/coverage/cli/src/commands/vendor-check/index.html +131 -0
  85. package/coverage/cli/src/commands/vendor-check/index.ts.html +88 -0
  86. package/coverage/cli/src/commands/vendor-check/vendor-check.ts.html +466 -0
  87. package/coverage/cli/src/commands/vendor-config/index.html +116 -0
  88. package/coverage/cli/src/commands/vendor-config/vendor-config.ts.html +571 -0
  89. package/coverage/cli/src/commands/vendor-diff/index.html +131 -0
  90. package/coverage/cli/src/commands/vendor-diff/index.ts.html +88 -0
  91. package/coverage/cli/src/commands/vendor-diff/vendor-diff.ts.html +316 -0
  92. package/coverage/cli/src/commands/vendor-manifest/index.html +131 -0
  93. package/coverage/cli/src/commands/vendor-manifest/index.ts.html +88 -0
  94. package/coverage/cli/src/commands/vendor-manifest/vendor-manifest.ts.html +265 -0
  95. package/coverage/cli/src/commands/vendor-sync/index.html +131 -0
  96. package/coverage/cli/src/commands/vendor-sync/index.ts.html +88 -0
  97. package/coverage/cli/src/commands/vendor-sync/vendor-sync.ts.html +355 -0
  98. package/coverage/cli/src/commands/version/index.html +131 -0
  99. package/coverage/cli/src/commands/version/index.ts.html +88 -0
  100. package/coverage/cli/src/commands/version/version.ts.html +184 -0
  101. package/coverage/cli/src/commands/worktrees-add/index.html +131 -0
  102. package/coverage/cli/src/commands/worktrees-add/index.ts.html +88 -0
  103. package/coverage/cli/src/commands/worktrees-add/worktrees-add.ts.html +1183 -0
  104. package/coverage/cli/src/commands/worktrees-list/index.html +131 -0
  105. package/coverage/cli/src/commands/worktrees-list/index.ts.html +88 -0
  106. package/coverage/cli/src/commands/worktrees-list/worktrees-list.ts.html +400 -0
  107. package/coverage/cli/src/commands/worktrees-reload/index.html +131 -0
  108. package/coverage/cli/src/commands/worktrees-reload/index.ts.html +88 -0
  109. package/coverage/cli/src/commands/worktrees-reload/worktrees-reload.ts.html +775 -0
  110. package/coverage/cli/src/commands/worktrees-remove/index.html +131 -0
  111. package/coverage/cli/src/commands/worktrees-remove/index.ts.html +88 -0
  112. package/coverage/cli/src/commands/worktrees-remove/worktrees-remove.ts.html +682 -0
  113. package/coverage/cli/src/commands/worktrees-sync/index.html +131 -0
  114. package/coverage/cli/src/commands/worktrees-sync/index.ts.html +88 -0
  115. package/coverage/cli/src/commands/worktrees-sync/worktrees-sync.ts.html +679 -0
  116. package/coverage/cli/src/dev/__tests__/fixtures.ts.html +787 -0
  117. package/coverage/cli/src/dev/__tests__/index.html +116 -0
  118. package/coverage/cli/src/dev/dev-server.ts.html +1855 -0
  119. package/coverage/cli/src/dev/discovery.ts.html +598 -0
  120. package/coverage/cli/src/dev/index.html +191 -0
  121. package/coverage/cli/src/dev/interfaces.ts.html +223 -0
  122. package/coverage/cli/src/dev/logger.ts.html +1102 -0
  123. package/coverage/cli/src/dev/ports.ts.html +430 -0
  124. package/coverage/cli/src/dev/serverless-local-run.ts.html +916 -0
  125. package/coverage/cli/src/entry/dev-server.ts.html +409 -0
  126. package/coverage/cli/src/entry/index.html +116 -0
  127. package/coverage/cli/src/index.html +116 -0
  128. package/coverage/cli/src/integrations/cmux/canonicalize-cmux-title.ts.html +178 -0
  129. package/coverage/cli/src/integrations/cmux/close-workspace-by-title.ts.html +262 -0
  130. package/coverage/cli/src/integrations/cmux/index.html +191 -0
  131. package/coverage/cli/src/integrations/cmux/index.ts.html +100 -0
  132. package/coverage/cli/src/integrations/cmux/list-workspace-titles.ts.html +226 -0
  133. package/coverage/cli/src/integrations/cmux/open-workspace-with-layout.ts.html +325 -0
  134. package/coverage/cli/src/integrations/cmux/workspace-title.ts.html +154 -0
  135. package/coverage/cli/src/integrations/cursor/add-folders-to-workspace.ts.html +337 -0
  136. package/coverage/cli/src/integrations/cursor/index.html +206 -0
  137. package/coverage/cli/src/integrations/cursor/index.ts.html +103 -0
  138. package/coverage/cli/src/integrations/cursor/launch-cursor.ts.html +121 -0
  139. package/coverage/cli/src/integrations/cursor/open-cursor-workspace.ts.html +277 -0
  140. package/coverage/cli/src/integrations/cursor/reconcile-workspace-folders.ts.html +355 -0
  141. package/coverage/cli/src/integrations/cursor/remove-folders-from-workspace.ts.html +364 -0
  142. package/coverage/cli/src/integrations/cursor/resolve-workspace-path.ts.html +124 -0
  143. package/coverage/cli/src/integrations/doppler/doppler-cli-auth.ts.html +178 -0
  144. package/coverage/cli/src/integrations/doppler/doppler-errors.ts.html +349 -0
  145. package/coverage/cli/src/integrations/doppler/doppler-project.ts.html +355 -0
  146. package/coverage/cli/src/integrations/doppler/index.html +161 -0
  147. package/coverage/cli/src/integrations/doppler/index.ts.html +97 -0
  148. package/coverage/cli/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts.html +172 -0
  149. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.html +131 -0
  150. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.ts.html +88 -0
  151. package/coverage/cli/src/integrations/gh/gh-release-prs/gh-release-prs.ts.html +703 -0
  152. package/coverage/cli/src/integrations/gh/gh-release-prs/index.html +131 -0
  153. package/coverage/cli/src/integrations/gh/gh-release-prs/index.ts.html +91 -0
  154. package/coverage/cli/src/integrations/gh/index.html +116 -0
  155. package/coverage/cli/src/integrations/gh/index.ts.html +94 -0
  156. package/coverage/cli/src/integrations/ide/add-ide-worktree-folders.ts.html +316 -0
  157. package/coverage/cli/src/integrations/ide/index.html +191 -0
  158. package/coverage/cli/src/integrations/ide/index.ts.html +103 -0
  159. package/coverage/cli/src/integrations/ide/open-ide-workspace.ts.html +238 -0
  160. package/coverage/cli/src/integrations/ide/provider-label.ts.html +157 -0
  161. package/coverage/cli/src/integrations/ide/remove-ide-worktree-folders.ts.html +520 -0
  162. package/coverage/cli/src/integrations/ide/types.ts.html +208 -0
  163. package/coverage/cli/src/integrations/jira/api.ts.html +1060 -0
  164. package/coverage/cli/src/integrations/jira/index.html +131 -0
  165. package/coverage/cli/src/integrations/jira/index.ts.html +142 -0
  166. package/coverage/cli/src/integrations/zed/add-folders-to-zed-workspace.ts.html +175 -0
  167. package/coverage/cli/src/integrations/zed/index.html +161 -0
  168. package/coverage/cli/src/integrations/zed/index.ts.html +94 -0
  169. package/coverage/cli/src/integrations/zed/open-zed-workspace.ts.html +238 -0
  170. package/coverage/cli/src/integrations/zed/reuse-zed-workspace.ts.html +256 -0
  171. package/coverage/cli/src/lib/assert-never/assert-never.ts.html +130 -0
  172. package/coverage/cli/src/lib/assert-never/index.html +131 -0
  173. package/coverage/cli/src/lib/assert-never/index.ts.html +88 -0
  174. package/coverage/cli/src/lib/command-catalog/command-catalog.ts.html +523 -0
  175. package/coverage/cli/src/lib/command-catalog/index.html +116 -0
  176. package/coverage/cli/src/lib/command-echo/command-echo.ts.html +319 -0
  177. package/coverage/cli/src/lib/command-echo/index.html +131 -0
  178. package/coverage/cli/src/lib/command-echo/index.ts.html +88 -0
  179. package/coverage/cli/src/lib/constants/constants.ts.html +472 -0
  180. package/coverage/cli/src/lib/constants/index.html +131 -0
  181. package/coverage/cli/src/lib/constants/index.ts.html +139 -0
  182. package/coverage/cli/src/lib/env-autoload/env-autoload.ts.html +1111 -0
  183. package/coverage/cli/src/lib/env-autoload/index.html +116 -0
  184. package/coverage/cli/src/lib/errors/format-zx-error.ts.html +247 -0
  185. package/coverage/cli/src/lib/errors/index.html +146 -0
  186. package/coverage/cli/src/lib/errors/is-prompt-cancellation.ts.html +199 -0
  187. package/coverage/cli/src/lib/errors/operation-error.ts.html +325 -0
  188. package/coverage/cli/src/lib/git-guard/git-guard.ts.html +250 -0
  189. package/coverage/cli/src/lib/git-guard/index.html +131 -0
  190. package/coverage/cli/src/lib/git-guard/index.ts.html +91 -0
  191. package/coverage/cli/src/lib/git-utils/git-utils.ts.html +622 -0
  192. package/coverage/cli/src/lib/git-utils/index.html +131 -0
  193. package/coverage/cli/src/lib/git-utils/index.ts.html +115 -0
  194. package/coverage/cli/src/lib/infra-kit-config/index.html +131 -0
  195. package/coverage/cli/src/lib/infra-kit-config/index.ts.html +142 -0
  196. package/coverage/cli/src/lib/infra-kit-config/infra-kit-config.ts.html +1447 -0
  197. package/coverage/cli/src/lib/json-output/index.html +116 -0
  198. package/coverage/cli/src/lib/json-output/json-output.ts.html +226 -0
  199. package/coverage/cli/src/lib/logger/index.html +116 -0
  200. package/coverage/cli/src/lib/logger/index.ts.html +205 -0
  201. package/coverage/cli/src/lib/managed-block/index.html +131 -0
  202. package/coverage/cli/src/lib/managed-block/index.ts.html +109 -0
  203. package/coverage/cli/src/lib/managed-block/managed-block.ts.html +520 -0
  204. package/coverage/cli/src/lib/package-config/index.html +146 -0
  205. package/coverage/cli/src/lib/package-config/index.ts.html +94 -0
  206. package/coverage/cli/src/lib/package-config/package-config-schema.ts.html +142 -0
  207. package/coverage/cli/src/lib/package-config/package-config.ts.html +376 -0
  208. package/coverage/cli/src/lib/package-validator/checks/config-check.ts.html +175 -0
  209. package/coverage/cli/src/lib/package-validator/checks/files-check.ts.html +172 -0
  210. package/coverage/cli/src/lib/package-validator/checks/index.html +176 -0
  211. package/coverage/cli/src/lib/package-validator/checks/index.ts.html +97 -0
  212. package/coverage/cli/src/lib/package-validator/checks/scripts-check.ts.html +154 -0
  213. package/coverage/cli/src/lib/package-validator/checks/turbo-check.ts.html +226 -0
  214. package/coverage/cli/src/lib/package-validator/fs-utils.ts.html +139 -0
  215. package/coverage/cli/src/lib/package-validator/index.html +146 -0
  216. package/coverage/cli/src/lib/package-validator/index.ts.html +94 -0
  217. package/coverage/cli/src/lib/package-validator/loader/config-loader.ts.html +316 -0
  218. package/coverage/cli/src/lib/package-validator/loader/index.html +146 -0
  219. package/coverage/cli/src/lib/package-validator/loader/index.ts.html +91 -0
  220. package/coverage/cli/src/lib/package-validator/loader/package-discovery.ts.html +379 -0
  221. package/coverage/cli/src/lib/package-validator/package-validator.ts.html +229 -0
  222. package/coverage/cli/src/lib/path-display/index.html +131 -0
  223. package/coverage/cli/src/lib/path-display/index.ts.html +88 -0
  224. package/coverage/cli/src/lib/path-display/path-display.ts.html +211 -0
  225. package/coverage/cli/src/lib/release-id/index.html +131 -0
  226. package/coverage/cli/src/lib/release-id/index.ts.html +130 -0
  227. package/coverage/cli/src/lib/release-id/release-id.ts.html +859 -0
  228. package/coverage/cli/src/lib/release-utils/index.html +131 -0
  229. package/coverage/cli/src/lib/release-utils/index.ts.html +130 -0
  230. package/coverage/cli/src/lib/release-utils/release-utils.ts.html +778 -0
  231. package/coverage/cli/src/lib/render/index.html +116 -0
  232. package/coverage/cli/src/lib/render/render.ts.html +157 -0
  233. package/coverage/cli/src/lib/vendor/__tests__/index.html +116 -0
  234. package/coverage/cli/src/lib/vendor/__tests__/zx-mock.ts.html +181 -0
  235. package/coverage/cli/src/lib/vendor/config-schema.ts.html +319 -0
  236. package/coverage/cli/src/lib/vendor/config.ts.html +259 -0
  237. package/coverage/cli/src/lib/vendor/factory-config-schema.ts.html +190 -0
  238. package/coverage/cli/src/lib/vendor/factory-config.ts.html +358 -0
  239. package/coverage/cli/src/lib/vendor/hash.ts.html +133 -0
  240. package/coverage/cli/src/lib/vendor/index.html +251 -0
  241. package/coverage/cli/src/lib/vendor/index.ts.html +154 -0
  242. package/coverage/cli/src/lib/vendor/manifest.ts.html +538 -0
  243. package/coverage/cli/src/lib/vendor/skip-sets.ts.html +229 -0
  244. package/coverage/cli/src/lib/vendor/sync-ops.ts.html +955 -0
  245. package/coverage/cli/src/lib/vendor/walk.ts.html +253 -0
  246. package/coverage/cli/src/lib/version-utils/index.html +161 -0
  247. package/coverage/cli/src/lib/version-utils/index.ts.html +139 -0
  248. package/coverage/cli/src/lib/version-utils/load-existing-versions.ts.html +343 -0
  249. package/coverage/cli/src/lib/version-utils/next-version.ts.html +934 -0
  250. package/coverage/cli/src/lib/version-utils/version-utils.ts.html +178 -0
  251. package/coverage/cli/src/lib/worktrees/index.html +131 -0
  252. package/coverage/cli/src/lib/worktrees/index.ts.html +88 -0
  253. package/coverage/cli/src/lib/worktrees/remove-worktrees.ts.html +283 -0
  254. package/coverage/cli/src/tui/boot.tsx.html +265 -0
  255. package/coverage/cli/src/tui/index.html +116 -0
  256. package/coverage/cli/src/tui/screens/command-palette.tsx.html +562 -0
  257. package/coverage/cli/src/tui/screens/index.html +116 -0
  258. package/coverage/cli/src/types.ts.html +283 -0
  259. package/coverage/clover.xml +4488 -0
  260. package/coverage/coverage-final.json +156 -0
  261. package/coverage/favicon.png +0 -0
  262. package/coverage/index.html +1076 -0
  263. package/coverage/prettify.css +1 -0
  264. package/coverage/prettify.js +2 -0
  265. package/coverage/sort-arrow-sprite.png +0 -0
  266. package/coverage/sorter.js +210 -0
  267. package/dist/chunk-DB6CTNBS.js +3 -0
  268. package/dist/chunk-DB6CTNBS.js.map +7 -0
  269. package/dist/chunk-SGR2XAVR.js +164 -0
  270. package/dist/chunk-SGR2XAVR.js.map +7 -0
  271. package/dist/cli.js +5 -5
  272. package/dist/cli.js.map +3 -3
  273. package/dist/dev-server.js +13 -0
  274. package/dist/dev-server.js.map +7 -0
  275. package/dist/mcp.js +1 -1
  276. package/dist/mcp.js.map +1 -1
  277. package/package.json +6 -1
  278. package/scripts/build.js +4 -4
  279. package/src/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +5 -0
  280. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +79 -0
  281. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +26 -0
  282. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +26 -0
  283. package/src/commands/doctor/doctor.ts +53 -0
  284. package/src/commands/env-autoload/env-autoload.ts +14 -2
  285. package/src/commands/env-clear/env-clear.ts +48 -7
  286. package/src/commands/env-load/env-load.ts +23 -1
  287. package/src/commands/init/__tests__/shell-body.test.ts +73 -3
  288. package/src/commands/init/init.ts +74 -7
  289. package/src/dev/__tests__/dev-server-options.test.ts +57 -0
  290. package/src/dev/__tests__/dev-server.test.ts +420 -0
  291. package/src/dev/__tests__/discovery.test.ts +181 -0
  292. package/src/dev/__tests__/fixtures.ts +257 -0
  293. package/src/dev/__tests__/ports.test.ts +98 -0
  294. package/src/dev/__tests__/serverless-local-run.test.ts +533 -0
  295. package/src/dev/dev-server.ts +796 -0
  296. package/src/dev/discovery.ts +229 -0
  297. package/src/dev/interfaces.ts +11 -0
  298. package/src/dev/managed-child.ts +73 -0
  299. package/src/dev/ports.ts +100 -0
  300. package/src/dev/serverless-local-run.ts +329 -0
  301. package/src/dev/turbo-watch.ts +62 -0
  302. package/src/dev/ui-dev.ts +62 -0
  303. package/src/entry/cli.ts +25 -6
  304. package/src/entry/dev-server.ts +103 -0
  305. package/src/lib/command-catalog/__tests__/__snapshots__/command-catalog.test.ts.snap +1 -0
  306. package/src/lib/command-catalog/command-catalog.ts +4 -0
  307. package/src/lib/constants/constants.ts +38 -0
  308. package/src/lib/constants/index.ts +4 -0
  309. package/src/lib/env-autoload/__tests__/env-autoload.test.ts +25 -0
  310. package/src/lib/env-autoload/env-autoload.ts +35 -4
  311. package/src/lib/infra-kit-config/index.ts +2 -0
  312. package/src/lib/infra-kit-config/infra-kit-config.ts +22 -0
  313. package/src/lib/warm-cache/__tests__/warm-cache.test.ts +164 -0
  314. package/src/lib/warm-cache/index.ts +7 -0
  315. package/src/lib/warm-cache/warm-cache.ts +136 -0
  316. package/tsconfig.tsbuildinfo +1 -1
  317. package/dist/chunk-VI7TEWVJ.js +0 -164
  318. package/dist/chunk-VI7TEWVJ.js.map +0 -7
@@ -0,0 +1,94 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for cli/src/integrations/zed/index.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">cli/src/integrations/zed</a> index.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/0</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/0</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/0</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
70
+ <span class="cline-any cline-neutral">&nbsp;</span>
71
+ <span class="cline-any cline-neutral">&nbsp;</span>
72
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export { addFoldersToZedWorkspace } from './add-folders-to-zed-workspace'
73
+ export { openZedWorkspace } from './open-zed-workspace'
74
+ export { reuseZedWorkspace } from './reuse-zed-workspace'
75
+ &nbsp;</pre></td></tr></table></pre>
76
+
77
+ <div class='push'></div><!-- for sticky footer -->
78
+ </div><!-- /wrapper -->
79
+ <div class='footer quiet pad2 space-top1 center small'>
80
+ Code coverage generated by
81
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
+ at 2026-07-02T09:20:45.872Z
83
+ </div>
84
+ <script src="../../../../prettify.js"></script>
85
+ <script>
86
+ window.onload = function () {
87
+ prettyPrint();
88
+ };
89
+ </script>
90
+ <script src="../../../../sorter.js"></script>
91
+ <script src="../../../../block-navigation.js"></script>
92
+ </body>
93
+ </html>
94
+
@@ -0,0 +1,238 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for cli/src/integrations/zed/open-zed-workspace.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">cli/src/integrations/zed</a> open-zed-workspace.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>11/11</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>11/11</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-yes">3x</span>
145
+ <span class="cline-any cline-yes">3x</span>
146
+ <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-yes">3x</span>
148
+ <span class="cline-any cline-yes">1x</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-yes">2x</span>
152
+ <span class="cline-any cline-neutral">&nbsp;</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-yes">3x</span>
155
+ <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-yes">2x</span>
159
+ <span class="cline-any cline-yes">2x</span>
160
+ <span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-yes">1x</span>
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-yes">1x</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-yes">1x</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { $ } from 'zx'
169
+ &nbsp;
170
+ import { logger } from 'src/lib/logger'
171
+ &nbsp;
172
+ interface OpenZedWorkspaceArgs {
173
+ projectRoot: string
174
+ worktreeDir: string
175
+ currentBranches: string[]
176
+ }
177
+ &nbsp;
178
+ interface OpenZedWorkspaceOutcome {
179
+ ran: boolean
180
+ added: number
181
+ removed: number
182
+ }
183
+ &nbsp;
184
+ /**
185
+ * Opens a single Zed workspace containing the project root plus every release
186
+ * worktree, via one `zed &lt;root&gt; &lt;wt...&gt;` invocation (Zed realizes a multi-folder
187
+ * workspace from multiple path arguments). Used by `worktrees-reload`; skips the
188
+ * launch when there are no worktrees so it never pops a bare Zed window.
189
+ *
190
+ * Zed has no portable workspace file and no folder-remove CLI, so there is
191
+ * nothing to reconcile: `added` is the number of worktrees opened and `removed`
192
+ * is always 0. All failures are swallowed into a warning — opening Zed is
193
+ * best-effort, mirroring the Cursor integration.
194
+ */
195
+ export const openZedWorkspace = async (args: OpenZedWorkspaceArgs): Promise&lt;OpenZedWorkspaceOutcome&gt; =&gt; {
196
+ const { projectRoot, worktreeDir, currentBranches } = args
197
+ &nbsp;
198
+ if (currentBranches.length === 0) {
199
+ return { ran: false, added: 0, removed: 0 }
200
+ }
201
+ &nbsp;
202
+ const paths = [
203
+ projectRoot,
204
+ ...currentBranches.map((branch) =&gt; {
205
+ return `${worktreeDir}/${branch}`
206
+ }),
207
+ ]
208
+ &nbsp;
209
+ try {
210
+ await $`zed ${paths}`
211
+ &nbsp;
212
+ return { ran: true, added: currentBranches.length, removed: 0 }
213
+ } catch (error) {
214
+ logger.warn({ error }, '⚠️ Failed to open Zed workspace')
215
+ &nbsp;
216
+ return { ran: false, added: 0, removed: 0 }
217
+ }
218
+ }
219
+ &nbsp;</pre></td></tr></table></pre>
220
+
221
+ <div class='push'></div><!-- for sticky footer -->
222
+ </div><!-- /wrapper -->
223
+ <div class='footer quiet pad2 space-top1 center small'>
224
+ Code coverage generated by
225
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
226
+ at 2026-07-02T09:20:45.872Z
227
+ </div>
228
+ <script src="../../../../prettify.js"></script>
229
+ <script>
230
+ window.onload = function () {
231
+ prettyPrint();
232
+ };
233
+ </script>
234
+ <script src="../../../../sorter.js"></script>
235
+ <script src="../../../../block-navigation.js"></script>
236
+ </body>
237
+ </html>
238
+
@@ -0,0 +1,256 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for cli/src/integrations/zed/reuse-zed-workspace.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">cli/src/integrations/zed</a> reuse-zed-workspace.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>10/10</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>10/10</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
+ <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-neutral">&nbsp;</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-neutral">&nbsp;</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-yes">3x</span>
157
+ <span class="cline-any cline-yes">4x</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-yes">4x</span>
160
+ <span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-yes">4x</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-yes">4x</span>
167
+ <span class="cline-any cline-yes">4x</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-yes">3x</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
173
+ <span class="cline-any cline-yes">3x</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-yes">1x</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
179
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { $ } from 'zx'
181
+ &nbsp;
182
+ import { logger } from 'src/lib/logger'
183
+ &nbsp;
184
+ interface ReuseZedWorkspaceArgs {
185
+ projectRoot: string
186
+ worktreeDir: string
187
+ remainingBranches: string[]
188
+ }
189
+ &nbsp;
190
+ interface ReuseZedWorkspaceOutcome {
191
+ ran: boolean
192
+ }
193
+ &nbsp;
194
+ /**
195
+ * Reflects a worktree removal in the open Zed window by running
196
+ * `zed --reuse &lt;root&gt; &lt;remaining release worktrees...&gt;`.
197
+ *
198
+ * IMPORTANT — this is destructive: `--reuse` REPLACES the focused window's
199
+ * ENTIRE folder set with exactly these paths. The remaining set is built from
200
+ * release worktrees only (`getCurrentWorktrees('release')`), so any other folder
201
+ * open in that window — feature worktrees, scratch dirs, user-added dirs — is
202
+ * DROPPED and is NOT recoverable by infra-kit (Zed offers no undo and we keep no
203
+ * record of the prior set). The caller MUST therefore only invoke this on an
204
+ * interactive path where a human is present and can re-add folders via
205
+ * `zed --add`. We emit a disclosure log line saying as much.
206
+ *
207
+ * Distinct from `openZedWorkspace`, which runs `zed &lt;paths&gt;` WITHOUT `--reuse`
208
+ * to realize a multi-folder workspace; that does not replace a focused window.
209
+ *
210
+ * Best-effort: any launch failure is swallowed into a warning, mirroring
211
+ * `openZedWorkspace`. Root is always included so the path list is never empty.
212
+ */
213
+ export const reuseZedWorkspace = async (args: ReuseZedWorkspaceArgs): Promise&lt;ReuseZedWorkspaceOutcome&gt; =&gt; {
214
+ const { projectRoot, worktreeDir, remainingBranches } = args
215
+ &nbsp;
216
+ const paths = [
217
+ projectRoot,
218
+ ...remainingBranches.map((branch) =&gt; {
219
+ return `${worktreeDir}/${branch}`
220
+ }),
221
+ ]
222
+ &nbsp;
223
+ try {
224
+ await $`zed --reuse ${paths}`
225
+ &nbsp;
226
+ logger.info(
227
+ `↻ Refreshed Zed workspace to root + ${remainingBranches.length} release worktree(s) (other folders in the focused window are not preserved)`,
228
+ )
229
+ &nbsp;
230
+ return { ran: true }
231
+ } catch (error) {
232
+ logger.warn({ error }, '⚠️ Failed to refresh Zed workspace')
233
+ &nbsp;
234
+ return { ran: false }
235
+ }
236
+ }
237
+ &nbsp;</pre></td></tr></table></pre>
238
+
239
+ <div class='push'></div><!-- for sticky footer -->
240
+ </div><!-- /wrapper -->
241
+ <div class='footer quiet pad2 space-top1 center small'>
242
+ Code coverage generated by
243
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
244
+ at 2026-07-02T09:20:45.872Z
245
+ </div>
246
+ <script src="../../../../prettify.js"></script>
247
+ <script>
248
+ window.onload = function () {
249
+ prettyPrint();
250
+ };
251
+ </script>
252
+ <script src="../../../../sorter.js"></script>
253
+ <script src="../../../../block-navigation.js"></script>
254
+ </body>
255
+ </html>
256
+