infra-kit 0.1.128 → 0.1.129
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.
- package/dist/chunk-2PZRQHWF.js +2 -0
- package/dist/chunk-2PZRQHWF.js.map +7 -0
- package/dist/chunk-6RRAK2QO.js +5 -0
- package/dist/chunk-6RRAK2QO.js.map +7 -0
- package/dist/chunk-IX2A34UU.js +2 -0
- package/dist/chunk-IX2A34UU.js.map +7 -0
- package/dist/chunk-V5IDN7ZM.js +162 -0
- package/dist/chunk-V5IDN7ZM.js.map +7 -0
- package/dist/{chunk-YSBF5C7C.js → chunk-Z6KTUVIC.js} +2 -2
- package/dist/chunk-Z6KTUVIC.js.map +7 -0
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +3 -3
- package/dist/dev-server.js +15 -10
- package/dist/dev-server.js.map +4 -4
- package/dist/entry/index.d.ts +1 -1
- package/dist/entry/vite.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/lib/package-config/package-config-schema.d.ts +35 -0
- package/dist/lib/package-config/package-config.d.ts +28 -0
- package/dist/lib/release-slug/release-slug.d.ts +19 -0
- package/dist/lib/vite/vite.d.ts +135 -0
- package/dist/mcp.js +1 -1
- package/dist/mcp.js.map +1 -1
- package/dist/vite.js +2 -0
- package/dist/vite.js.map +7 -0
- package/package.json +10 -2
- package/.eslintcache +0 -1
- package/.omc/state/agent-replay-036daa78-5fee-4c7d-9b44-53584acb0d87.jsonl +0 -26
- package/.omc/state/agent-replay-0a58307d-2a37-4c69-851c-83a646502d62.jsonl +0 -1
- package/.omc/state/agent-replay-0a65ec83-9de7-458d-9d0f-e56e1a26c68e.jsonl +0 -2
- package/.omc/state/agent-replay-0d1515ce-4ebe-4ce8-a865-2897f68de168.jsonl +0 -1
- package/.omc/state/agent-replay-11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc.jsonl +0 -16
- package/.omc/state/agent-replay-127837d3-a000-4656-9453-2324ab353723.jsonl +0 -5
- package/.omc/state/agent-replay-15c409af-24fa-4026-88d3-a82dd1e68b87.jsonl +0 -11
- package/.omc/state/agent-replay-1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a.jsonl +0 -17
- package/.omc/state/agent-replay-1fcfe0ec-7567-41c3-9bfd-501e99e86819.jsonl +0 -19
- package/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
- package/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -1
- package/.omc/state/agent-replay-36d91435-50b4-442f-9f4e-3cc68d776236.jsonl +0 -2
- package/.omc/state/agent-replay-38382db5-3088-4b5a-aff7-2561a60827c7.jsonl +0 -17
- package/.omc/state/agent-replay-4cf1c186-81b2-497c-b002-d7f84e7839f3.jsonl +0 -9
- package/.omc/state/agent-replay-50c36be9-a3a2-42b9-9c85-5a06d3e22f6a.jsonl +0 -5
- package/.omc/state/agent-replay-5c4ab554-64f1-42ae-83e3-21e0237e955c.jsonl +0 -11
- package/.omc/state/agent-replay-6be1264f-8069-4412-8119-86118ed1943e.jsonl +0 -3
- package/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
- package/.omc/state/agent-replay-74afa912-1443-4011-b4f2-db9f055cdd9f.jsonl +0 -3
- package/.omc/state/agent-replay-8198b3e5-fad6-4ee0-9c59-ef773ad89af4.jsonl +0 -1
- package/.omc/state/agent-replay-8cd7652a-b8b5-49cf-9b1f-bee8e5972458.jsonl +0 -3
- package/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -3
- package/.omc/state/agent-replay-9bea518f-a9ee-4d14-bb53-a936ebaf647c.jsonl +0 -7
- package/.omc/state/agent-replay-a60ac2ec-afbd-449f-a540-6df287392fc2.jsonl +0 -1
- package/.omc/state/agent-replay-afc6290b-40d3-4bef-b3b6-14484c034ab9.jsonl +0 -14
- package/.omc/state/agent-replay-b52d89fb-0e24-4901-bc66-27e3c1697126.jsonl +0 -2
- package/.omc/state/agent-replay-be37e426-6fc8-47f4-8178-221c8494551c.jsonl +0 -3
- package/.omc/state/agent-replay-c967c819-3d1c-447b-ab48-56a8448ef9f8.jsonl +0 -2
- package/.omc/state/agent-replay-d02e6565-5168-40c8-8629-de219a29fa43.jsonl +0 -2
- package/.omc/state/agent-replay-d367c3be-9c2a-48e7-bcea-b45861af568c.jsonl +0 -2
- package/.omc/state/agent-replay-d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc.jsonl +0 -10
- package/.omc/state/agent-replay-e947a3c6-989d-4a60-91dd-6b0ddd827b2d.jsonl +0 -3
- package/.omc/state/agent-replay-eb44055b-c2fa-4e66-b491-a1d9b44f51c7.jsonl +0 -1
- package/.omc/state/agent-replay-f2846d8f-974c-486c-b16f-4bdaa28ca45f.jsonl +0 -2
- package/.omc/state/agent-replay-f581a1ae-0ee4-48a3-96f3-ce31a0633bb0.jsonl +0 -1
- package/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
- package/.omc/state/agent-replay-fe1057b4-9a25-4e8e-8c3f-3e11652ee697.jsonl +0 -5
- package/.omc/state/idle-notif-cooldown.json +0 -3
- package/.omc/state/last-tool-error.json +0 -7
- package/.omc/state/mission-state.json +0 -53
- package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/mission-state.json +0 -129
- package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/pre-tool-advisory-throttle.json +0 -34
- package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralph-state.json +0 -13
- package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralplan-state.json +0 -11
- package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/subagent-tracking-state.json +0 -80
- package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ultrawork-state.json +0 -11
- package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/subagent-tracking-state.json +0 -7
- package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/skill-active-state.json +0 -15
- package/.omc/state/sessions/0d1515ce-4ebe-4ce8-a865-2897f68de168/pre-tool-advisory-throttle.json +0 -10
- package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/mission-state.json +0 -117
- package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/pre-tool-advisory-throttle.json +0 -42
- package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/subagent-tracking-state.json +0 -53
- package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/mission-state.json +0 -61
- package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/pre-tool-advisory-throttle.json +0 -22
- package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/skill-active-state.json +0 -15
- package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/subagent-tracking-state.json +0 -26
- package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/mission-state.json +0 -89
- package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/pre-tool-advisory-throttle.json +0 -34
- package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ralph-state.json +0 -13
- package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/skill-active-state.json +0 -15
- package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/subagent-tracking-state.json +0 -44
- package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ultrawork-state.json +0 -11
- package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/mission-state.json +0 -139
- package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/pre-tool-advisory-throttle.json +0 -50
- package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/ralplan-state.json +0 -11
- package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/subagent-tracking-state.json +0 -90
- package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/mission-state.json +0 -109
- package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/pre-tool-advisory-throttle.json +0 -42
- package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ralph-state.json +0 -13
- package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/skill-active-state.json +0 -15
- package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/subagent-tracking-state.json +0 -62
- package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ultrawork-state.json +0 -11
- package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
- package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -10
- package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/skill-active-state.json +0 -15
- package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
- package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/mission-state.json +0 -145
- package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/pre-tool-advisory-throttle.json +0 -38
- package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/ralplan-state.json +0 -11
- package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/subagent-tracking-state.json +0 -98
- package/.omc/state/sessions/3a844fbd-ace8-4af1-8516-33d611839886/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/subagent-tracking-state.json +0 -7
- package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/mission-state.json +0 -61
- package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/pre-tool-advisory-throttle.json +0 -22
- package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/skill-active-state.json +0 -15
- package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/subagent-tracking-state.json +0 -26
- package/.omc/state/sessions/560ea519-574a-4713-b134-5bf6cfaf3c33/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/mission-state.json +0 -117
- package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/mission-state.json +0 -53
- package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/pre-tool-advisory-throttle.json +0 -22
- package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/skill-active-state.json +0 -15
- package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/skill-active-state.json +0 -15
- package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/7772f972-4ec1-4287-bf42-a92c14cf3ffc/pre-tool-advisory-throttle.json +0 -10
- package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/pre-tool-advisory-throttle.json +0 -14
- package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/ralplan-state.json +0 -11
- package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/subagent-tracking-state.json +0 -35
- package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
- package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
- package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
- package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/mission-state.json +0 -79
- package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/pre-tool-advisory-throttle.json +0 -22
- package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/progress.txt +0 -7
- package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/skill-active-state.json +0 -15
- package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/subagent-tracking-state.json +0 -26
- package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/subagent-tracking-state.json +0 -7
- package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/mission-state.json +0 -89
- package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -34
- package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ralph-state.json +0 -13
- package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/skill-active-state.json +0 -15
- package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/subagent-tracking-state.json +0 -35
- package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ultrawork-state.json +0 -11
- package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/pre-tool-advisory-throttle.json +0 -14
- package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -10
- package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/subagent-tracking-state.json +0 -7
- package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/mission-state.json +0 -53
- package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/mission-state.json +0 -103
- package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/pre-tool-advisory-throttle.json +0 -30
- package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ralph-state.json +0 -13
- package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/subagent-tracking-state.json +0 -62
- package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ultrawork-state.json +0 -11
- package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/pre-tool-advisory-throttle.json +0 -10
- package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/subagent-tracking-state.json +0 -26
- package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/pre-tool-advisory-throttle.json +0 -18
- package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/subagent-tracking-state.json +0 -17
- package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
- package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ralph-state.json +0 -13
- package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ultrawork-state.json +0 -11
- package/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
- package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/last-tool-error-state.json +0 -7
- package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/mission-state.json +0 -61
- package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/prd.json +0 -22
- package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/pre-tool-advisory-throttle.json +0 -22
- package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/progress.txt +0 -22
- package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/skill-active-state.json +0 -15
- package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/subagent-tracking-state.json +0 -26
- package/.omc/state/subagent-tracking.json +0 -17
- package/.turbo/turbo-build.log +0 -7
- package/.turbo/turbo-check.log +0 -14
- package/.turbo/turbo-eslint-check.log +0 -2
- package/.turbo/turbo-eslint-fix.log +0 -1
- package/.turbo/turbo-infra-kit-check.log +0 -14
- package/.turbo/turbo-prettier-check.log +0 -1
- package/.turbo/turbo-prettier-fix.log +0 -1
- package/.turbo/turbo-test.log +0 -406
- package/.turbo/turbo-ts-check.log +0 -1
- package/.turbo/turbo-validate.log +0 -14
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/cli/index.html +0 -116
- package/coverage/cli/package.json.html +0 -283
- package/coverage/cli/src/commands/audit/audit.ts.html +0 -616
- package/coverage/cli/src/commands/audit/index.html +0 -131
- package/coverage/cli/src/commands/audit/index.ts.html +0 -88
- package/coverage/cli/src/commands/doctor/doctor.ts.html +0 -1654
- package/coverage/cli/src/commands/doctor/index.html +0 -131
- package/coverage/cli/src/commands/doctor/index.ts.html +0 -88
- package/coverage/cli/src/commands/env-clear/env-clear.ts.html +0 -370
- package/coverage/cli/src/commands/env-clear/index.html +0 -131
- package/coverage/cli/src/commands/env-clear/index.ts.html +0 -88
- package/coverage/cli/src/commands/env-list/env-list.ts.html +0 -229
- package/coverage/cli/src/commands/env-list/index.html +0 -131
- package/coverage/cli/src/commands/env-list/index.ts.html +0 -88
- package/coverage/cli/src/commands/env-load/env-load.ts.html +0 -1201
- package/coverage/cli/src/commands/env-load/index.html +0 -131
- package/coverage/cli/src/commands/env-load/index.ts.html +0 -91
- package/coverage/cli/src/commands/env-status/env-status.ts.html +0 -409
- package/coverage/cli/src/commands/env-status/index.html +0 -131
- package/coverage/cli/src/commands/env-status/index.ts.html +0 -88
- package/coverage/cli/src/commands/gh-merge-dev/gh-merge-dev.ts.html +0 -694
- package/coverage/cli/src/commands/gh-merge-dev/index.html +0 -131
- package/coverage/cli/src/commands/gh-merge-dev/index.ts.html +0 -88
- package/coverage/cli/src/commands/gh-release-deliver/gh-release-deliver.ts.html +0 -1495
- package/coverage/cli/src/commands/gh-release-deliver/index.html +0 -131
- package/coverage/cli/src/commands/gh-release-deliver/index.ts.html +0 -88
- package/coverage/cli/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts.html +0 -706
- package/coverage/cli/src/commands/gh-release-deploy-all/index.html +0 -131
- package/coverage/cli/src/commands/gh-release-deploy-all/index.ts.html +0 -88
- package/coverage/cli/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts.html +0 -994
- package/coverage/cli/src/commands/gh-release-deploy-selected/index.html +0 -131
- package/coverage/cli/src/commands/gh-release-deploy-selected/index.ts.html +0 -88
- package/coverage/cli/src/commands/gh-release-list/gh-release-list.ts.html +0 -355
- package/coverage/cli/src/commands/gh-release-list/index.html +0 -131
- package/coverage/cli/src/commands/gh-release-list/index.ts.html +0 -88
- package/coverage/cli/src/commands/init/agent-files.ts.html +0 -742
- package/coverage/cli/src/commands/init/index.html +0 -146
- package/coverage/cli/src/commands/init/init.ts.html +0 -1159
- package/coverage/cli/src/commands/init/migrate-config.ts.html +0 -1219
- package/coverage/cli/src/commands/release-create/index.html +0 -131
- package/coverage/cli/src/commands/release-create/index.ts.html +0 -88
- package/coverage/cli/src/commands/release-create/release-create.ts.html +0 -1426
- package/coverage/cli/src/commands/release-desc-edit/index.html +0 -131
- package/coverage/cli/src/commands/release-desc-edit/index.ts.html +0 -88
- package/coverage/cli/src/commands/release-desc-edit/release-desc-edit.ts.html +0 -766
- package/coverage/cli/src/commands/vendor-check/index.html +0 -131
- package/coverage/cli/src/commands/vendor-check/index.ts.html +0 -88
- package/coverage/cli/src/commands/vendor-check/vendor-check.ts.html +0 -466
- package/coverage/cli/src/commands/vendor-config/index.html +0 -116
- package/coverage/cli/src/commands/vendor-config/vendor-config.ts.html +0 -571
- package/coverage/cli/src/commands/vendor-diff/index.html +0 -131
- package/coverage/cli/src/commands/vendor-diff/index.ts.html +0 -88
- package/coverage/cli/src/commands/vendor-diff/vendor-diff.ts.html +0 -316
- package/coverage/cli/src/commands/vendor-manifest/index.html +0 -131
- package/coverage/cli/src/commands/vendor-manifest/index.ts.html +0 -88
- package/coverage/cli/src/commands/vendor-manifest/vendor-manifest.ts.html +0 -265
- package/coverage/cli/src/commands/vendor-sync/index.html +0 -131
- package/coverage/cli/src/commands/vendor-sync/index.ts.html +0 -88
- package/coverage/cli/src/commands/vendor-sync/vendor-sync.ts.html +0 -355
- package/coverage/cli/src/commands/version/index.html +0 -131
- package/coverage/cli/src/commands/version/index.ts.html +0 -88
- package/coverage/cli/src/commands/version/version.ts.html +0 -184
- package/coverage/cli/src/commands/worktrees-add/index.html +0 -131
- package/coverage/cli/src/commands/worktrees-add/index.ts.html +0 -88
- package/coverage/cli/src/commands/worktrees-add/worktrees-add.ts.html +0 -1183
- package/coverage/cli/src/commands/worktrees-list/index.html +0 -131
- package/coverage/cli/src/commands/worktrees-list/index.ts.html +0 -88
- package/coverage/cli/src/commands/worktrees-list/worktrees-list.ts.html +0 -400
- package/coverage/cli/src/commands/worktrees-reload/index.html +0 -131
- package/coverage/cli/src/commands/worktrees-reload/index.ts.html +0 -88
- package/coverage/cli/src/commands/worktrees-reload/worktrees-reload.ts.html +0 -775
- package/coverage/cli/src/commands/worktrees-remove/index.html +0 -131
- package/coverage/cli/src/commands/worktrees-remove/index.ts.html +0 -88
- package/coverage/cli/src/commands/worktrees-remove/worktrees-remove.ts.html +0 -682
- package/coverage/cli/src/commands/worktrees-sync/index.html +0 -131
- package/coverage/cli/src/commands/worktrees-sync/index.ts.html +0 -88
- package/coverage/cli/src/commands/worktrees-sync/worktrees-sync.ts.html +0 -679
- package/coverage/cli/src/dev/__tests__/fixtures.ts.html +0 -787
- package/coverage/cli/src/dev/__tests__/index.html +0 -116
- package/coverage/cli/src/dev/dev-server.ts.html +0 -1855
- package/coverage/cli/src/dev/discovery.ts.html +0 -598
- package/coverage/cli/src/dev/index.html +0 -191
- package/coverage/cli/src/dev/interfaces.ts.html +0 -223
- package/coverage/cli/src/dev/logger.ts.html +0 -1102
- package/coverage/cli/src/dev/ports.ts.html +0 -430
- package/coverage/cli/src/dev/serverless-local-run.ts.html +0 -916
- package/coverage/cli/src/entry/dev-server.ts.html +0 -409
- package/coverage/cli/src/entry/index.html +0 -116
- package/coverage/cli/src/index.html +0 -116
- package/coverage/cli/src/integrations/cmux/canonicalize-cmux-title.ts.html +0 -178
- package/coverage/cli/src/integrations/cmux/close-workspace-by-title.ts.html +0 -262
- package/coverage/cli/src/integrations/cmux/index.html +0 -191
- package/coverage/cli/src/integrations/cmux/index.ts.html +0 -100
- package/coverage/cli/src/integrations/cmux/list-workspace-titles.ts.html +0 -226
- package/coverage/cli/src/integrations/cmux/open-workspace-with-layout.ts.html +0 -325
- package/coverage/cli/src/integrations/cmux/workspace-title.ts.html +0 -154
- package/coverage/cli/src/integrations/cursor/add-folders-to-workspace.ts.html +0 -337
- package/coverage/cli/src/integrations/cursor/index.html +0 -206
- package/coverage/cli/src/integrations/cursor/index.ts.html +0 -103
- package/coverage/cli/src/integrations/cursor/launch-cursor.ts.html +0 -121
- package/coverage/cli/src/integrations/cursor/open-cursor-workspace.ts.html +0 -277
- package/coverage/cli/src/integrations/cursor/reconcile-workspace-folders.ts.html +0 -355
- package/coverage/cli/src/integrations/cursor/remove-folders-from-workspace.ts.html +0 -364
- package/coverage/cli/src/integrations/cursor/resolve-workspace-path.ts.html +0 -124
- package/coverage/cli/src/integrations/doppler/doppler-cli-auth.ts.html +0 -178
- package/coverage/cli/src/integrations/doppler/doppler-errors.ts.html +0 -349
- package/coverage/cli/src/integrations/doppler/doppler-project.ts.html +0 -355
- package/coverage/cli/src/integrations/doppler/index.html +0 -161
- package/coverage/cli/src/integrations/doppler/index.ts.html +0 -97
- package/coverage/cli/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts.html +0 -172
- package/coverage/cli/src/integrations/gh/gh-cli-auth/index.html +0 -131
- package/coverage/cli/src/integrations/gh/gh-cli-auth/index.ts.html +0 -88
- package/coverage/cli/src/integrations/gh/gh-release-prs/gh-release-prs.ts.html +0 -703
- package/coverage/cli/src/integrations/gh/gh-release-prs/index.html +0 -131
- package/coverage/cli/src/integrations/gh/gh-release-prs/index.ts.html +0 -91
- package/coverage/cli/src/integrations/gh/index.html +0 -116
- package/coverage/cli/src/integrations/gh/index.ts.html +0 -94
- package/coverage/cli/src/integrations/ide/add-ide-worktree-folders.ts.html +0 -316
- package/coverage/cli/src/integrations/ide/index.html +0 -191
- package/coverage/cli/src/integrations/ide/index.ts.html +0 -103
- package/coverage/cli/src/integrations/ide/open-ide-workspace.ts.html +0 -238
- package/coverage/cli/src/integrations/ide/provider-label.ts.html +0 -157
- package/coverage/cli/src/integrations/ide/remove-ide-worktree-folders.ts.html +0 -520
- package/coverage/cli/src/integrations/ide/types.ts.html +0 -208
- package/coverage/cli/src/integrations/jira/api.ts.html +0 -1060
- package/coverage/cli/src/integrations/jira/index.html +0 -131
- package/coverage/cli/src/integrations/jira/index.ts.html +0 -142
- package/coverage/cli/src/integrations/zed/add-folders-to-zed-workspace.ts.html +0 -175
- package/coverage/cli/src/integrations/zed/index.html +0 -161
- package/coverage/cli/src/integrations/zed/index.ts.html +0 -94
- package/coverage/cli/src/integrations/zed/open-zed-workspace.ts.html +0 -238
- package/coverage/cli/src/integrations/zed/reuse-zed-workspace.ts.html +0 -256
- package/coverage/cli/src/lib/assert-never/assert-never.ts.html +0 -130
- package/coverage/cli/src/lib/assert-never/index.html +0 -131
- package/coverage/cli/src/lib/assert-never/index.ts.html +0 -88
- package/coverage/cli/src/lib/command-catalog/command-catalog.ts.html +0 -523
- package/coverage/cli/src/lib/command-catalog/index.html +0 -116
- package/coverage/cli/src/lib/command-echo/command-echo.ts.html +0 -319
- package/coverage/cli/src/lib/command-echo/index.html +0 -131
- package/coverage/cli/src/lib/command-echo/index.ts.html +0 -88
- package/coverage/cli/src/lib/constants/constants.ts.html +0 -472
- package/coverage/cli/src/lib/constants/index.html +0 -131
- package/coverage/cli/src/lib/constants/index.ts.html +0 -139
- package/coverage/cli/src/lib/env-autoload/env-autoload.ts.html +0 -1111
- package/coverage/cli/src/lib/env-autoload/index.html +0 -116
- package/coverage/cli/src/lib/errors/format-zx-error.ts.html +0 -247
- package/coverage/cli/src/lib/errors/index.html +0 -146
- package/coverage/cli/src/lib/errors/is-prompt-cancellation.ts.html +0 -199
- package/coverage/cli/src/lib/errors/operation-error.ts.html +0 -325
- package/coverage/cli/src/lib/git-guard/git-guard.ts.html +0 -250
- package/coverage/cli/src/lib/git-guard/index.html +0 -131
- package/coverage/cli/src/lib/git-guard/index.ts.html +0 -91
- package/coverage/cli/src/lib/git-utils/git-utils.ts.html +0 -622
- package/coverage/cli/src/lib/git-utils/index.html +0 -131
- package/coverage/cli/src/lib/git-utils/index.ts.html +0 -115
- package/coverage/cli/src/lib/infra-kit-config/index.html +0 -131
- package/coverage/cli/src/lib/infra-kit-config/index.ts.html +0 -142
- package/coverage/cli/src/lib/infra-kit-config/infra-kit-config.ts.html +0 -1447
- package/coverage/cli/src/lib/json-output/index.html +0 -116
- package/coverage/cli/src/lib/json-output/json-output.ts.html +0 -226
- package/coverage/cli/src/lib/logger/index.html +0 -116
- package/coverage/cli/src/lib/logger/index.ts.html +0 -205
- package/coverage/cli/src/lib/managed-block/index.html +0 -131
- package/coverage/cli/src/lib/managed-block/index.ts.html +0 -109
- package/coverage/cli/src/lib/managed-block/managed-block.ts.html +0 -520
- package/coverage/cli/src/lib/package-config/index.html +0 -146
- package/coverage/cli/src/lib/package-config/index.ts.html +0 -94
- package/coverage/cli/src/lib/package-config/package-config-schema.ts.html +0 -142
- package/coverage/cli/src/lib/package-config/package-config.ts.html +0 -376
- package/coverage/cli/src/lib/package-validator/checks/config-check.ts.html +0 -175
- package/coverage/cli/src/lib/package-validator/checks/files-check.ts.html +0 -172
- package/coverage/cli/src/lib/package-validator/checks/index.html +0 -176
- package/coverage/cli/src/lib/package-validator/checks/index.ts.html +0 -97
- package/coverage/cli/src/lib/package-validator/checks/scripts-check.ts.html +0 -154
- package/coverage/cli/src/lib/package-validator/checks/turbo-check.ts.html +0 -226
- package/coverage/cli/src/lib/package-validator/fs-utils.ts.html +0 -139
- package/coverage/cli/src/lib/package-validator/index.html +0 -146
- package/coverage/cli/src/lib/package-validator/index.ts.html +0 -94
- package/coverage/cli/src/lib/package-validator/loader/config-loader.ts.html +0 -316
- package/coverage/cli/src/lib/package-validator/loader/index.html +0 -146
- package/coverage/cli/src/lib/package-validator/loader/index.ts.html +0 -91
- package/coverage/cli/src/lib/package-validator/loader/package-discovery.ts.html +0 -379
- package/coverage/cli/src/lib/package-validator/package-validator.ts.html +0 -229
- package/coverage/cli/src/lib/path-display/index.html +0 -131
- package/coverage/cli/src/lib/path-display/index.ts.html +0 -88
- package/coverage/cli/src/lib/path-display/path-display.ts.html +0 -211
- package/coverage/cli/src/lib/release-id/index.html +0 -131
- package/coverage/cli/src/lib/release-id/index.ts.html +0 -130
- package/coverage/cli/src/lib/release-id/release-id.ts.html +0 -859
- package/coverage/cli/src/lib/release-utils/index.html +0 -131
- package/coverage/cli/src/lib/release-utils/index.ts.html +0 -130
- package/coverage/cli/src/lib/release-utils/release-utils.ts.html +0 -778
- package/coverage/cli/src/lib/render/index.html +0 -116
- package/coverage/cli/src/lib/render/render.ts.html +0 -157
- package/coverage/cli/src/lib/vendor/__tests__/index.html +0 -116
- package/coverage/cli/src/lib/vendor/__tests__/zx-mock.ts.html +0 -181
- package/coverage/cli/src/lib/vendor/config-schema.ts.html +0 -319
- package/coverage/cli/src/lib/vendor/config.ts.html +0 -259
- package/coverage/cli/src/lib/vendor/factory-config-schema.ts.html +0 -190
- package/coverage/cli/src/lib/vendor/factory-config.ts.html +0 -358
- package/coverage/cli/src/lib/vendor/hash.ts.html +0 -133
- package/coverage/cli/src/lib/vendor/index.html +0 -251
- package/coverage/cli/src/lib/vendor/index.ts.html +0 -154
- package/coverage/cli/src/lib/vendor/manifest.ts.html +0 -538
- package/coverage/cli/src/lib/vendor/skip-sets.ts.html +0 -229
- package/coverage/cli/src/lib/vendor/sync-ops.ts.html +0 -955
- package/coverage/cli/src/lib/vendor/walk.ts.html +0 -253
- package/coverage/cli/src/lib/version-utils/index.html +0 -161
- package/coverage/cli/src/lib/version-utils/index.ts.html +0 -139
- package/coverage/cli/src/lib/version-utils/load-existing-versions.ts.html +0 -343
- package/coverage/cli/src/lib/version-utils/next-version.ts.html +0 -934
- package/coverage/cli/src/lib/version-utils/version-utils.ts.html +0 -178
- package/coverage/cli/src/lib/worktrees/index.html +0 -131
- package/coverage/cli/src/lib/worktrees/index.ts.html +0 -88
- package/coverage/cli/src/lib/worktrees/remove-worktrees.ts.html +0 -283
- package/coverage/cli/src/tui/boot.tsx.html +0 -265
- package/coverage/cli/src/tui/index.html +0 -116
- package/coverage/cli/src/tui/screens/command-palette.tsx.html +0 -562
- package/coverage/cli/src/tui/screens/index.html +0 -116
- package/coverage/cli/src/types.ts.html +0 -283
- package/coverage/clover.xml +0 -4488
- package/coverage/coverage-final.json +0 -156
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -1076
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -210
- package/dist/chunk-DB6CTNBS.js +0 -3
- package/dist/chunk-DB6CTNBS.js.map +0 -7
- package/dist/chunk-QBHCWAAG.js +0 -164
- package/dist/chunk-QBHCWAAG.js.map +0 -7
- package/dist/chunk-YSBF5C7C.js.map +0 -7
- package/eslint.config.js +0 -35
- package/infra-kit.config.ts +0 -5
- package/scripts/build.js +0 -75
- package/src/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
- package/src/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -2
- package/src/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
- package/src/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -11
- package/src/.omc/state/agent-replay-c513ef38-cc3e-4a29-9c4c-1e0137245dd5.jsonl +0 -4
- package/src/.omc/state/agent-replay-ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a.jsonl +0 -2
- package/src/.omc/state/idle-notif-cooldown.json +0 -3
- package/src/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
- package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
- package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -26
- package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
- package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/last-tool-error-state.json +0 -7
- package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/mission-state.json +0 -53
- package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -22
- package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
- package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/last-tool-error-state.json +0 -7
- package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/mission-state.json +0 -53
- package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -22
- package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
- package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/mission-state.json +0 -79
- package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -22
- package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
- package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -26
- package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
- package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/mission-state.json +0 -79
- package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -22
- package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/subagent-tracking-state.json +0 -26
- package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
- package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ralph-state.json +0 -13
- package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ultrawork-state.json +0 -11
- package/src/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
- package/src/commands/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -14
- package/src/commands/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -18
- package/src/commands/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -14
- package/src/commands/audit/.omc/state/agent-replay-f9c17a0e-2dd8-4f7d-badf-631f266c5d4c.jsonl +0 -4
- package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/mission-state.json +0 -79
- package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -22
- package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/subagent-tracking-state.json +0 -26
- package/src/commands/audit/__tests__/audit.test.ts +0 -59
- package/src/commands/audit/audit.ts +0 -177
- package/src/commands/audit/index.ts +0 -1
- package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
- package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
- package/src/commands/config/config.ts +0 -137
- package/src/commands/config/index.ts +0 -1
- package/src/commands/doctor/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
- package/src/commands/doctor/__tests__/agent-files.test.ts +0 -88
- package/src/commands/doctor/__tests__/check-ide-installed.test.ts +0 -142
- package/src/commands/doctor/__tests__/check-legacy-user-global-config.test.ts +0 -110
- package/src/commands/doctor/doctor.ts +0 -576
- package/src/commands/doctor/index.ts +0 -1
- package/src/commands/env-autoload/env-autoload.ts +0 -24
- package/src/commands/env-autoload/index.ts +0 -1
- package/src/commands/env-clear/__tests__/env-clear.test.ts +0 -27
- package/src/commands/env-clear/env-clear.ts +0 -136
- package/src/commands/env-clear/index.ts +0 -1
- package/src/commands/env-list/env-list.ts +0 -48
- package/src/commands/env-list/index.ts +0 -1
- package/src/commands/env-load/__tests__/env-load.test.ts +0 -200
- package/src/commands/env-load/env-load.ts +0 -394
- package/src/commands/env-load/index.ts +0 -2
- package/src/commands/env-status/__tests__/env-status.test.ts +0 -78
- package/src/commands/env-status/env-status.ts +0 -108
- package/src/commands/env-status/index.ts +0 -1
- package/src/commands/gh-merge-dev/gh-merge-dev.ts +0 -203
- package/src/commands/gh-merge-dev/index.ts +0 -1
- package/src/commands/gh-release-deliver/gh-release-deliver.ts +0 -470
- package/src/commands/gh-release-deliver/index.ts +0 -1
- package/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts +0 -207
- package/src/commands/gh-release-deploy-all/index.ts +0 -1
- package/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts +0 -303
- package/src/commands/gh-release-deploy-selected/index.ts +0 -1
- package/src/commands/gh-release-list/gh-release-list.ts +0 -90
- package/src/commands/gh-release-list/index.ts +0 -1
- package/src/commands/init/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
- package/src/commands/init/__tests__/agent-files.test.ts +0 -265
- package/src/commands/init/__tests__/migrate-config.test.ts +0 -422
- package/src/commands/init/__tests__/migrate-factory-config.test.ts +0 -93
- package/src/commands/init/__tests__/seed-user-global-config.test.ts +0 -64
- package/src/commands/init/__tests__/shell-body.test.ts +0 -131
- package/src/commands/init/agent-files.ts +0 -219
- package/src/commands/init/index.ts +0 -8
- package/src/commands/init/init.ts +0 -440
- package/src/commands/init/migrate-config.ts +0 -378
- package/src/commands/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/src/commands/release-create/__tests__/release-create.test.ts +0 -92
- package/src/commands/release-create/index.ts +0 -1
- package/src/commands/release-create/release-create.ts +0 -447
- package/src/commands/release-desc-edit/index.ts +0 -1
- package/src/commands/release-desc-edit/release-desc-edit.ts +0 -227
- package/src/commands/vendor-check/__tests__/runtime-isolation.test.ts +0 -71
- package/src/commands/vendor-check/__tests__/vendor-check.test.ts +0 -87
- package/src/commands/vendor-check/index.ts +0 -1
- package/src/commands/vendor-check/vendor-check.ts +0 -127
- package/src/commands/vendor-config/__tests__/vendor-config.test.ts +0 -103
- package/src/commands/vendor-config/index.ts +0 -1
- package/src/commands/vendor-config/vendor-config.ts +0 -162
- package/src/commands/vendor-diff/__tests__/vendor-diff.test.ts +0 -74
- package/src/commands/vendor-diff/index.ts +0 -1
- package/src/commands/vendor-diff/vendor-diff.ts +0 -77
- package/src/commands/vendor-manifest/index.ts +0 -1
- package/src/commands/vendor-manifest/vendor-manifest.ts +0 -60
- package/src/commands/vendor-sync/__tests__/vendor-write.test.ts +0 -86
- package/src/commands/vendor-sync/index.ts +0 -1
- package/src/commands/vendor-sync/vendor-sync.ts +0 -90
- package/src/commands/version/index.ts +0 -1
- package/src/commands/version/version.ts +0 -33
- package/src/commands/worktrees-add/index.ts +0 -1
- package/src/commands/worktrees-add/worktrees-add.ts +0 -366
- package/src/commands/worktrees-list/index.ts +0 -1
- package/src/commands/worktrees-list/worktrees-list.ts +0 -105
- package/src/commands/worktrees-reload/__tests__/reload-cmux.test.ts +0 -119
- package/src/commands/worktrees-reload/index.ts +0 -1
- package/src/commands/worktrees-reload/worktrees-reload.ts +0 -230
- package/src/commands/worktrees-remove/index.ts +0 -1
- package/src/commands/worktrees-remove/worktrees-remove.ts +0 -199
- package/src/commands/worktrees-sync/index.ts +0 -1
- package/src/commands/worktrees-sync/worktrees-sync.ts +0 -198
- package/src/dev/__tests__/dev-server-options.test.ts +0 -57
- package/src/dev/__tests__/dev-server.test.ts +0 -420
- package/src/dev/__tests__/discovery.test.ts +0 -181
- package/src/dev/__tests__/fixtures.ts +0 -257
- package/src/dev/__tests__/ports.test.ts +0 -98
- package/src/dev/__tests__/serverless-local-run.test.ts +0 -533
- package/src/dev/dev-server.ts +0 -796
- package/src/dev/discovery.ts +0 -229
- package/src/dev/interfaces.ts +0 -11
- package/src/dev/managed-child.ts +0 -73
- package/src/dev/ports.ts +0 -100
- package/src/dev/serverless-local-run.ts +0 -329
- package/src/dev/turbo-watch.ts +0 -62
- package/src/dev/ui-dev.ts +0 -62
- package/src/entry/cli.ts +0 -630
- package/src/entry/dev-server.ts +0 -103
- package/src/entry/index.ts +0 -11
- package/src/entry/mcp.ts +0 -43
- package/src/integrations/cmux/__tests__/canonicalize-cmux-title.test.ts +0 -56
- package/src/integrations/cmux/__tests__/close-workspace-by-title.test.ts +0 -63
- package/src/integrations/cmux/__tests__/list-workspace-titles.test.ts +0 -65
- package/src/integrations/cmux/__tests__/open-workspace-with-layout.test.ts +0 -127
- package/src/integrations/cmux/canonicalize-cmux-title.ts +0 -31
- package/src/integrations/cmux/close-workspace-by-title.ts +0 -59
- package/src/integrations/cmux/index.ts +0 -5
- package/src/integrations/cmux/list-workspace-titles.ts +0 -47
- package/src/integrations/cmux/open-workspace-with-layout.ts +0 -80
- package/src/integrations/cmux/workspace-title.ts +0 -23
- package/src/integrations/cursor/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
- package/src/integrations/cursor/.omc/state/idle-notif-cooldown.json +0 -3
- package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -18
- package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/subagent-tracking-state.json +0 -17
- package/src/integrations/cursor/add-folders-to-workspace.ts +0 -84
- package/src/integrations/cursor/index.ts +0 -6
- package/src/integrations/cursor/launch-cursor.ts +0 -12
- package/src/integrations/cursor/open-cursor-workspace.ts +0 -64
- package/src/integrations/cursor/reconcile-workspace-folders.ts +0 -90
- package/src/integrations/cursor/remove-folders-from-workspace.ts +0 -93
- package/src/integrations/cursor/resolve-workspace-path.ts +0 -13
- package/src/integrations/doppler/__tests__/doppler-errors.test.ts +0 -76
- package/src/integrations/doppler/doppler-cli-auth.ts +0 -31
- package/src/integrations/doppler/doppler-errors.ts +0 -88
- package/src/integrations/doppler/doppler-project.ts +0 -90
- package/src/integrations/doppler/index.ts +0 -4
- package/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts +0 -29
- package/src/integrations/gh/gh-cli-auth/index.ts +0 -1
- package/src/integrations/gh/gh-release-prs/.omc/state/sessions/c6ed6186-1aac-48e0-aa2a-edc6da8e0410/pre-tool-advisory-throttle.json +0 -10
- package/src/integrations/gh/gh-release-prs/__tests__/gh-release-prs.test.ts +0 -198
- package/src/integrations/gh/gh-release-prs/gh-release-prs.ts +0 -206
- package/src/integrations/gh/gh-release-prs/index.ts +0 -2
- package/src/integrations/gh/index.ts +0 -3
- package/src/integrations/ide/__tests__/ide-facade.test.ts +0 -289
- package/src/integrations/ide/add-ide-worktree-folders.ts +0 -77
- package/src/integrations/ide/index.ts +0 -6
- package/src/integrations/ide/open-ide-workspace.ts +0 -51
- package/src/integrations/ide/provider-label.ts +0 -24
- package/src/integrations/ide/remove-ide-worktree-folders.ts +0 -145
- package/src/integrations/ide/types.ts +0 -41
- package/src/integrations/jira/api.ts +0 -325
- package/src/integrations/jira/index.ts +0 -19
- package/src/integrations/jira/types.ts +0 -85
- package/src/integrations/linear/.gitkeep +0 -0
- package/src/integrations/zed/__tests__/open-zed-workspace.test.ts +0 -69
- package/src/integrations/zed/__tests__/reuse-zed-workspace.test.ts +0 -86
- package/src/integrations/zed/add-folders-to-zed-workspace.ts +0 -30
- package/src/integrations/zed/index.ts +0 -3
- package/src/integrations/zed/open-zed-workspace.ts +0 -51
- package/src/integrations/zed/reuse-zed-workspace.ts +0 -57
- package/src/lib/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -18
- package/src/lib/assert-never/assert-never.ts +0 -15
- package/src/lib/assert-never/index.ts +0 -1
- package/src/lib/command-catalog/__tests__/__snapshots__/command-catalog.test.ts.snap +0 -213
- package/src/lib/command-catalog/__tests__/command-catalog.test.ts +0 -193
- package/src/lib/command-catalog/command-catalog.ts +0 -146
- package/src/lib/command-catalog/index.ts +0 -2
- package/src/lib/command-echo/__tests__/command-echo.test.ts +0 -127
- package/src/lib/command-echo/command-echo.ts +0 -78
- package/src/lib/command-echo/index.ts +0 -1
- package/src/lib/constants/__tests__/constants.test.ts +0 -182
- package/src/lib/constants/constants.ts +0 -167
- package/src/lib/constants/index.ts +0 -22
- package/src/lib/env-autoload/__tests__/env-autoload.test.ts +0 -327
- package/src/lib/env-autoload/env-autoload.ts +0 -373
- package/src/lib/env-autoload/index.ts +0 -9
- package/src/lib/error-handlers/index.ts +0 -36
- package/src/lib/errors/__tests__/is-prompt-cancellation.test.ts +0 -48
- package/src/lib/errors/__tests__/operation-error.test.ts +0 -62
- package/src/lib/errors/format-zx-error.ts +0 -54
- package/src/lib/errors/is-prompt-cancellation.ts +0 -38
- package/src/lib/errors/operation-error.ts +0 -80
- package/src/lib/git-guard/__tests__/git-guard.test.ts +0 -92
- package/src/lib/git-guard/git-guard.ts +0 -55
- package/src/lib/git-guard/index.ts +0 -2
- package/src/lib/git-utils/__tests__/git-primitives.test.ts +0 -217
- package/src/lib/git-utils/__tests__/git-utils.test.ts +0 -49
- package/src/lib/git-utils/git-utils.ts +0 -179
- package/src/lib/git-utils/index.ts +0 -10
- package/src/lib/infra-kit-config/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
- package/src/lib/infra-kit-config/__tests__/env-autoload-schema.test.ts +0 -71
- package/src/lib/infra-kit-config/__tests__/infra-kit-config.test.ts +0 -504
- package/src/lib/infra-kit-config/index.ts +0 -19
- package/src/lib/infra-kit-config/infra-kit-config.ts +0 -454
- package/src/lib/json-output/__tests__/json-output.test.ts +0 -139
- package/src/lib/json-output/index.ts +0 -1
- package/src/lib/json-output/json-output.ts +0 -47
- package/src/lib/logger/index.ts +0 -40
- package/src/lib/managed-block/__tests__/managed-block.test.ts +0 -121
- package/src/lib/managed-block/index.ts +0 -8
- package/src/lib/managed-block/managed-block.ts +0 -145
- package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/last-tool-error-state.json +0 -7
- package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/pre-tool-advisory-throttle.json +0 -10
- package/src/lib/package-config/__tests__/package-config.test.ts +0 -95
- package/src/lib/package-config/index.ts +0 -3
- package/src/lib/package-config/package-config-schema.ts +0 -19
- package/src/lib/package-config/package-config.ts +0 -97
- package/src/lib/package-validator/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
- package/src/lib/package-validator/__tests__/package-validator.test.ts +0 -270
- package/src/lib/package-validator/checks/__tests__/checks.test.ts +0 -130
- package/src/lib/package-validator/checks/config-check.ts +0 -30
- package/src/lib/package-validator/checks/files-check.ts +0 -29
- package/src/lib/package-validator/checks/index.ts +0 -4
- package/src/lib/package-validator/checks/scripts-check.ts +0 -23
- package/src/lib/package-validator/checks/turbo-check.ts +0 -47
- package/src/lib/package-validator/fs-utils.ts +0 -18
- package/src/lib/package-validator/index.ts +0 -3
- package/src/lib/package-validator/loader/config-loader.ts +0 -77
- package/src/lib/package-validator/loader/index.ts +0 -2
- package/src/lib/package-validator/loader/package-discovery.ts +0 -98
- package/src/lib/package-validator/package-validator.ts +0 -48
- package/src/lib/package-validator/types.ts +0 -15
- package/src/lib/path-display/index.ts +0 -1
- package/src/lib/path-display/path-display.ts +0 -42
- package/src/lib/release-id/__tests__/release-id.test.ts +0 -359
- package/src/lib/release-id/__tests__/versioned-regression.test.ts +0 -69
- package/src/lib/release-id/index.ts +0 -15
- package/src/lib/release-id/release-id.ts +0 -258
- package/src/lib/release-utils/__tests__/release-utils.test.ts +0 -122
- package/src/lib/release-utils/index.ts +0 -15
- package/src/lib/release-utils/release-utils.ts +0 -231
- package/src/lib/render/__tests__/render.test.ts +0 -48
- package/src/lib/render/index.ts +0 -1
- package/src/lib/render/render.ts +0 -24
- package/src/lib/tool-handler/index.ts +0 -1
- package/src/lib/tool-handler/tool-handler.ts +0 -30
- package/src/lib/vendor/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -10
- package/src/lib/vendor/__tests__/config-schema.test.ts +0 -31
- package/src/lib/vendor/__tests__/config.test.ts +0 -63
- package/src/lib/vendor/__tests__/factory-config.test.ts +0 -92
- package/src/lib/vendor/__tests__/vendor-lib.test.ts +0 -158
- package/src/lib/vendor/__tests__/zx-mock.ts +0 -32
- package/src/lib/vendor/config-schema.ts +0 -78
- package/src/lib/vendor/config.ts +0 -58
- package/src/lib/vendor/factory-config-schema.ts +0 -35
- package/src/lib/vendor/factory-config.ts +0 -91
- package/src/lib/vendor/hash.ts +0 -16
- package/src/lib/vendor/index.ts +0 -23
- package/src/lib/vendor/manifest.ts +0 -151
- package/src/lib/vendor/skip-sets.ts +0 -48
- package/src/lib/vendor/sync-ops.ts +0 -290
- package/src/lib/vendor/walk.ts +0 -56
- package/src/lib/version-utils/__tests__/load-existing-versions.test.ts +0 -37
- package/src/lib/version-utils/__tests__/next-version.test.ts +0 -407
- package/src/lib/version-utils/index.ts +0 -18
- package/src/lib/version-utils/load-existing-versions.ts +0 -86
- package/src/lib/version-utils/next-version.ts +0 -283
- package/src/lib/version-utils/version-utils.ts +0 -31
- package/src/lib/warm-cache/__tests__/warm-cache.test.ts +0 -164
- package/src/lib/warm-cache/index.ts +0 -7
- package/src/lib/warm-cache/warm-cache.ts +0 -136
- package/src/lib/worktrees/__tests__/remove-worktrees.test.ts +0 -167
- package/src/lib/worktrees/index.ts +0 -1
- package/src/lib/worktrees/remove-worktrees.ts +0 -66
- package/src/mcp/prompts/index.ts +0 -3
- package/src/mcp/resources/index.ts +0 -3
- package/src/mcp/server.ts +0 -27
- package/src/mcp/tools/index.ts +0 -21
- package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/src/sanity.test.tsx +0 -8
- package/src/tui/__tests__/boot.test.tsx +0 -61
- package/src/tui/__tests__/no-react-boundary.test.ts +0 -51
- package/src/tui/boot.tsx +0 -60
- package/src/tui/screens/__tests__/command-palette.test.tsx +0 -136
- package/src/tui/screens/command-palette.tsx +0 -159
- package/src/tui/types.ts +0 -8
- package/src/types.ts +0 -66
- package/tsconfig.json +0 -46
- package/tsconfig.tsbuildinfo +0 -1
- package/vitest.config.ts +0 -26
- package/vitest.setup.ts +0 -1
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod'
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
buildCmuxWorkspaceTitle,
|
|
5
|
-
canonicalizeCmuxTitle,
|
|
6
|
-
closeCmuxWorkspaceByTitle,
|
|
7
|
-
listCmuxWorkspaceTitles,
|
|
8
|
-
openCmuxWorkspaceWithLayout,
|
|
9
|
-
} from 'src/integrations/cmux'
|
|
10
|
-
import { ideProviderLabel, openIdeWorkspace } from 'src/integrations/ide'
|
|
11
|
-
import type { IdeProvider } from 'src/integrations/ide'
|
|
12
|
-
import { commandEcho } from 'src/lib/command-echo'
|
|
13
|
-
import { WORKTREES_DIR_SUFFIX } from 'src/lib/constants'
|
|
14
|
-
import { OperationError } from 'src/lib/errors/operation-error'
|
|
15
|
-
import { getCurrentWorktrees, getProjectRoot, getRepoName } from 'src/lib/git-utils'
|
|
16
|
-
import { logger } from 'src/lib/logger'
|
|
17
|
-
import { defineMcpTool, textContent } from 'src/types'
|
|
18
|
-
|
|
19
|
-
interface WorktreesReloadResult {
|
|
20
|
-
closedCmux: string[]
|
|
21
|
-
openedCmux: string[]
|
|
22
|
-
ideProviders: IdeProvider[]
|
|
23
|
-
ideFoldersAdded: number
|
|
24
|
-
ideFoldersRemoved: number
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Reload command: closes every open cmux workspace for the release worktrees on
|
|
29
|
-
* disk, then reopens the full set — cmux workspaces are recreated fresh and the
|
|
30
|
-
* configured editor workspace is reconciled and relaunched. The single
|
|
31
|
-
* window-restore command: also serves the cold-start case (editor + cmux closed),
|
|
32
|
-
* at the cost of tearing down any live cmux windows first.
|
|
33
|
-
*
|
|
34
|
-
* The editor has no per-window close primitive, so its "reload" is a reconcile +
|
|
35
|
-
* relaunch of the configured workspace. Safe to run from any branch
|
|
36
|
-
* (non-destructive to git — only cmux/editor view state is touched).
|
|
37
|
-
*/
|
|
38
|
-
export const worktreesReload = async () => {
|
|
39
|
-
commandEcho.start('worktrees-reload')
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
const projectRoot = await getProjectRoot()
|
|
43
|
-
const worktreeDir = `${projectRoot}${WORKTREES_DIR_SUFFIX}`
|
|
44
|
-
const currentBranches = await getCurrentWorktrees('release')
|
|
45
|
-
const repoName = await getRepoName()
|
|
46
|
-
|
|
47
|
-
// Phase 1 — close (cmux only; Cursor has no per-window close).
|
|
48
|
-
const closedCmux = await closeCmux({ currentBranches, repoName })
|
|
49
|
-
|
|
50
|
-
// Phase 2 — reopen. cmux and Cursor are independent surfaces, so reopen them
|
|
51
|
-
// concurrently to shrink the window where the just-closed cmux workspaces are gone.
|
|
52
|
-
const [ideOutcomes, { opened: openedCmux }] = await Promise.all([
|
|
53
|
-
openIdeWorkspace({ projectRoot, worktreeDir, currentBranches }),
|
|
54
|
-
reopenCmux({ worktreeDir, currentBranches, repoName }),
|
|
55
|
-
])
|
|
56
|
-
|
|
57
|
-
const result: WorktreesReloadResult = {
|
|
58
|
-
closedCmux,
|
|
59
|
-
openedCmux,
|
|
60
|
-
ideProviders: ideOutcomes
|
|
61
|
-
.filter((outcome) => {
|
|
62
|
-
return outcome.ran
|
|
63
|
-
})
|
|
64
|
-
.map((outcome) => {
|
|
65
|
-
return outcome.provider
|
|
66
|
-
}),
|
|
67
|
-
ideFoldersAdded: ideOutcomes.reduce((sum, outcome) => {
|
|
68
|
-
return sum + outcome.added
|
|
69
|
-
}, 0),
|
|
70
|
-
ideFoldersRemoved: ideOutcomes.reduce((sum, outcome) => {
|
|
71
|
-
return sum + outcome.removed
|
|
72
|
-
}, 0),
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
logResults(result, {
|
|
76
|
-
ideRan: ideOutcomes.some((outcome) => {
|
|
77
|
-
return outcome.ran
|
|
78
|
-
}),
|
|
79
|
-
})
|
|
80
|
-
|
|
81
|
-
commandEcho.print()
|
|
82
|
-
|
|
83
|
-
return {
|
|
84
|
-
content: textContent(JSON.stringify(result, null, 2)),
|
|
85
|
-
structuredContent: { ...result },
|
|
86
|
-
}
|
|
87
|
-
} catch (error) {
|
|
88
|
-
logger.error({ error }, '❌ Error reloading worktrees')
|
|
89
|
-
throw new OperationError(error, {
|
|
90
|
-
operation: 'reload worktrees',
|
|
91
|
-
remediation: "run 'worktrees-list' to confirm the branches exist",
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
interface CloseCmuxArgs {
|
|
97
|
-
currentBranches: string[]
|
|
98
|
-
repoName: string
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Close the cmux workspace for each release worktree that is currently open.
|
|
103
|
-
* Snapshots `listCmuxWorkspaceTitles()` up front purely so the returned list
|
|
104
|
-
* reflects which workspaces were actually open (the close itself is best-effort
|
|
105
|
-
* and per-title). Returns the titles a close was attempted for.
|
|
106
|
-
*/
|
|
107
|
-
export const closeCmux = async (args: CloseCmuxArgs): Promise<string[]> => {
|
|
108
|
-
const { currentBranches, repoName } = args
|
|
109
|
-
|
|
110
|
-
if (currentBranches.length === 0) {
|
|
111
|
-
return []
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
const openBefore = await listCmuxWorkspaceTitles()
|
|
115
|
-
|
|
116
|
-
const closed: string[] = []
|
|
117
|
-
|
|
118
|
-
for (const branch of currentBranches) {
|
|
119
|
-
const title = buildCmuxWorkspaceTitle({ repoName, branch })
|
|
120
|
-
|
|
121
|
-
// openBefore holds canonical keys; match the built title the same way so a
|
|
122
|
-
// workspace stored under a drifted title (whitespace / old v-prefix) resolves.
|
|
123
|
-
if (!openBefore.has(canonicalizeCmuxTitle(title))) {
|
|
124
|
-
continue
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
await closeCmuxWorkspaceByTitle(title)
|
|
128
|
-
closed.push(title)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
return closed
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
interface ReopenCmuxArgs {
|
|
135
|
-
worktreeDir: string
|
|
136
|
-
currentBranches: string[]
|
|
137
|
-
repoName: string
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
interface ReopenCmuxOutcome {
|
|
141
|
-
opened: string[]
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Recreate a cmux workspace for every release worktree on disk. Force-opens each
|
|
146
|
-
* branch (no dedup against the live workspace list): reload has just awaited the
|
|
147
|
-
* close of these workspaces, so it favours liveness — guaranteeing every branch
|
|
148
|
-
* ends up open.
|
|
149
|
-
*/
|
|
150
|
-
export const reopenCmux = async (args: ReopenCmuxArgs): Promise<ReopenCmuxOutcome> => {
|
|
151
|
-
const { worktreeDir, currentBranches, repoName } = args
|
|
152
|
-
|
|
153
|
-
const opened: string[] = []
|
|
154
|
-
|
|
155
|
-
for (const branch of currentBranches) {
|
|
156
|
-
const title = buildCmuxWorkspaceTitle({ repoName, branch })
|
|
157
|
-
|
|
158
|
-
try {
|
|
159
|
-
await openCmuxWorkspaceWithLayout({ cwd: `${worktreeDir}/${branch}`, title })
|
|
160
|
-
opened.push(title)
|
|
161
|
-
} catch (error) {
|
|
162
|
-
logger.warn({ error, title }, `⚠️ Failed to reopen cmux workspace for ${branch}`)
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
return { opened }
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
interface LogResultsContext {
|
|
170
|
-
ideRan: boolean
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
const logResults = (result: WorktreesReloadResult, context: LogResultsContext): void => {
|
|
174
|
-
if (result.closedCmux.length > 0) {
|
|
175
|
-
logger.info(`🧹 Closed ${result.closedCmux.length} cmux workspace(s)`)
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if (context.ideRan) {
|
|
179
|
-
const ideLabels = result.ideProviders
|
|
180
|
-
.map((provider) => {
|
|
181
|
-
return ideProviderLabel(provider)
|
|
182
|
-
})
|
|
183
|
-
.join(', ')
|
|
184
|
-
|
|
185
|
-
if (result.ideFoldersAdded > 0) {
|
|
186
|
-
logger.info(`✅ Added ${result.ideFoldersAdded} folder(s) to ${ideLabels} workspace(s)`)
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
if (result.ideFoldersRemoved > 0) {
|
|
190
|
-
logger.info(`🧹 Removed ${result.ideFoldersRemoved} dangling folder(s) from ${ideLabels} workspace(s)`)
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (result.openedCmux.length > 0) {
|
|
195
|
-
logger.info('✅ Reopened cmux workspaces:')
|
|
196
|
-
for (const title of result.openedCmux) {
|
|
197
|
-
logger.info(title)
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
if (
|
|
202
|
-
!context.ideRan &&
|
|
203
|
-
result.closedCmux.length === 0 &&
|
|
204
|
-
result.openedCmux.length === 0 &&
|
|
205
|
-
result.ideFoldersAdded === 0 &&
|
|
206
|
-
result.ideFoldersRemoved === 0
|
|
207
|
-
) {
|
|
208
|
-
logger.info('ℹ️ Nothing to reload')
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// MCP Tool Registration
|
|
213
|
-
export const worktreesReloadMcpTool = defineMcpTool({
|
|
214
|
-
name: 'worktrees-reload',
|
|
215
|
-
description:
|
|
216
|
-
'Close all open cmux workspaces for the current release worktrees, then reopen the full set — the single window-restore command. Every configured editor (Cursor and/or Zed) is reconciled + relaunched (no per-window close). Disruptive: closes live cmux windows first. Safe to run from any branch. Use to refresh stale windows or to restore everything after a cold start (editor + cmux closed).',
|
|
217
|
-
inputSchema: {},
|
|
218
|
-
outputSchema: {
|
|
219
|
-
closedCmux: z.array(z.string()).describe('Titles of cmux workspaces a close was attempted for (best-effort)'),
|
|
220
|
-
openedCmux: z.array(z.string()).describe('Titles of cmux workspaces reopened during this run'),
|
|
221
|
-
ideProviders: z
|
|
222
|
-
.array(z.string())
|
|
223
|
-
.describe('Configured IDE providers that were reloaded (cursor | zed); empty if none configured'),
|
|
224
|
-
ideFoldersAdded: z.number().describe('Total worktree folders added across all configured editor workspaces'),
|
|
225
|
-
ideFoldersRemoved: z
|
|
226
|
-
.number()
|
|
227
|
-
.describe('Total dangling worktree folders removed across all configured editor workspaces'),
|
|
228
|
-
},
|
|
229
|
-
handler: worktreesReload,
|
|
230
|
-
})
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { worktreesRemove, worktreesRemoveMcpTool } from './worktrees-remove'
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import checkbox from '@inquirer/checkbox'
|
|
2
|
-
import confirm from '@inquirer/confirm'
|
|
3
|
-
import process from 'node:process'
|
|
4
|
-
import { z } from 'zod'
|
|
5
|
-
|
|
6
|
-
import { getReleasePRsWithInfo } from 'src/integrations/gh'
|
|
7
|
-
import { removeIdeWorktreeFolders } from 'src/integrations/ide'
|
|
8
|
-
import { commandEcho } from 'src/lib/command-echo'
|
|
9
|
-
import { WORKTREES_DIR_SUFFIX } from 'src/lib/constants'
|
|
10
|
-
import { isPromptCancellation } from 'src/lib/errors/is-prompt-cancellation'
|
|
11
|
-
import { OperationError } from 'src/lib/errors/operation-error'
|
|
12
|
-
import { assertManagementContext } from 'src/lib/git-guard'
|
|
13
|
-
import { getCurrentWorktrees, getProjectRoot, getRepoName } from 'src/lib/git-utils'
|
|
14
|
-
import { logger } from 'src/lib/logger'
|
|
15
|
-
import { formatBranchName, parseReleaseRef } from 'src/lib/release-id'
|
|
16
|
-
import { detectReleaseType, formatBranchChoices, getJiraDescriptions, releaseBranchLabels } from 'src/lib/release-utils'
|
|
17
|
-
import type { ReleaseType } from 'src/lib/release-utils'
|
|
18
|
-
import { removeWorktrees } from 'src/lib/worktrees'
|
|
19
|
-
import { defineMcpTool, textContent } from 'src/types'
|
|
20
|
-
import type { RequiredConfirmedOptionArg } from 'src/types'
|
|
21
|
-
|
|
22
|
-
// Constants
|
|
23
|
-
interface WorktreeManagementArgs extends RequiredConfirmedOptionArg {
|
|
24
|
-
all?: boolean
|
|
25
|
-
versions?: string
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Manage git worktrees for release branches
|
|
30
|
-
* Creates worktrees for active release branches and removes unused ones
|
|
31
|
-
*/
|
|
32
|
-
export const worktreesRemove = async (options: WorktreeManagementArgs) => {
|
|
33
|
-
const { confirmedCommand, all, versions } = options
|
|
34
|
-
|
|
35
|
-
commandEcho.start('worktrees-remove')
|
|
36
|
-
|
|
37
|
-
await assertManagementContext({ operation: 'remove worktrees', requiredBranch: 'dev' })
|
|
38
|
-
|
|
39
|
-
try {
|
|
40
|
-
const currentWorktrees = await getCurrentWorktrees('release')
|
|
41
|
-
|
|
42
|
-
if (currentWorktrees.length === 0) {
|
|
43
|
-
logger.info('ℹ️ No active worktrees to remove')
|
|
44
|
-
|
|
45
|
-
commandEcho.print()
|
|
46
|
-
|
|
47
|
-
return {
|
|
48
|
-
content: textContent(JSON.stringify({ removedWorktrees: [], count: 0 }, null, 2)),
|
|
49
|
-
structuredContent: { removedWorktrees: [], count: 0 },
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const projectRoot = await getProjectRoot()
|
|
54
|
-
|
|
55
|
-
const worktreeDir = `${projectRoot}${WORKTREES_DIR_SUFFIX}`
|
|
56
|
-
|
|
57
|
-
let selectedReleaseBranches: string[] = []
|
|
58
|
-
|
|
59
|
-
if (all) {
|
|
60
|
-
selectedReleaseBranches = currentWorktrees
|
|
61
|
-
} else if (versions) {
|
|
62
|
-
selectedReleaseBranches = versions.split(',').map((v) => {
|
|
63
|
-
return formatBranchName(parseReleaseRef(v.trim()))
|
|
64
|
-
})
|
|
65
|
-
} else {
|
|
66
|
-
commandEcho.setInteractive()
|
|
67
|
-
|
|
68
|
-
const [descriptions, prInfo] = await Promise.all([getJiraDescriptions(), getReleasePRsWithInfo()])
|
|
69
|
-
|
|
70
|
-
const releaseTypes = new Map<string, ReleaseType>(
|
|
71
|
-
prInfo.map((pr) => {
|
|
72
|
-
return [pr.branch, detectReleaseType(pr.title)]
|
|
73
|
-
}),
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
selectedReleaseBranches = await checkbox({
|
|
77
|
-
required: true,
|
|
78
|
-
message: '🌿 Select release branches',
|
|
79
|
-
choices: formatBranchChoices({ branches: currentWorktrees, descriptions, types: releaseTypes }),
|
|
80
|
-
})
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Track --all flag if all branches were selected (either via flag or interactively)
|
|
84
|
-
const allSelected = selectedReleaseBranches.length === currentWorktrees.length
|
|
85
|
-
|
|
86
|
-
if (allSelected) {
|
|
87
|
-
commandEcho.addOption('--all', true)
|
|
88
|
-
} else {
|
|
89
|
-
commandEcho.addOption('--versions', releaseBranchLabels(selectedReleaseBranches))
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Ask for confirmation
|
|
93
|
-
const answer = confirmedCommand
|
|
94
|
-
? true
|
|
95
|
-
: await confirm({
|
|
96
|
-
message: 'Are you sure you want to proceed with these worktree changes?',
|
|
97
|
-
})
|
|
98
|
-
|
|
99
|
-
if (!confirmedCommand) {
|
|
100
|
-
commandEcho.setInteractive()
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (!answer) {
|
|
104
|
-
logger.info('Operation cancelled. Exiting...')
|
|
105
|
-
process.exit(0)
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Track --yes flag if confirmation was interactive (user confirmed)
|
|
109
|
-
if (!confirmedCommand) {
|
|
110
|
-
commandEcho.addOption('--yes', true)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const repoName = await getRepoName()
|
|
114
|
-
|
|
115
|
-
const removedWorktrees = await removeWorktrees({
|
|
116
|
-
branches: selectedReleaseBranches,
|
|
117
|
-
worktreeDir,
|
|
118
|
-
repoName,
|
|
119
|
-
pruneFolder: allSelected,
|
|
120
|
-
})
|
|
121
|
-
|
|
122
|
-
// `!confirmedCommand` is the interactive path (a human used the picker/confirm). Only there
|
|
123
|
-
// do we let Zed's destructive `--reuse` relaunch fire; MCP/--yes runs (confirmedCommand=true)
|
|
124
|
-
// and worktrees-sync never relaunch an editor window.
|
|
125
|
-
await removeIdeWorktreeFolders({
|
|
126
|
-
projectRoot,
|
|
127
|
-
worktreeDir,
|
|
128
|
-
currentWorktrees,
|
|
129
|
-
removedWorktrees,
|
|
130
|
-
allowEditorRelaunch: !confirmedCommand,
|
|
131
|
-
})
|
|
132
|
-
|
|
133
|
-
logResults(removedWorktrees)
|
|
134
|
-
|
|
135
|
-
commandEcho.print()
|
|
136
|
-
|
|
137
|
-
const structuredContent = {
|
|
138
|
-
removedWorktrees,
|
|
139
|
-
count: removedWorktrees.length,
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
return {
|
|
143
|
-
content: textContent(JSON.stringify(structuredContent, null, 2)),
|
|
144
|
-
structuredContent,
|
|
145
|
-
}
|
|
146
|
-
} catch (error) {
|
|
147
|
-
// A cancelled prompt (Ctrl-C / Esc) is a user back-out, not a failure: let it
|
|
148
|
-
// reach the top-level boundary untouched so it exits cleanly, instead of being
|
|
149
|
-
// logged as an error with a misleading remediation.
|
|
150
|
-
if (isPromptCancellation(error)) throw error
|
|
151
|
-
|
|
152
|
-
logger.error({ error }, '❌ Error managing worktrees')
|
|
153
|
-
throw new OperationError(error, {
|
|
154
|
-
operation: 'remove worktrees',
|
|
155
|
-
remediation: "check 'git worktree list' for the path; uncommitted changes block removal",
|
|
156
|
-
})
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Log the results of worktree management
|
|
162
|
-
*/
|
|
163
|
-
const logResults = (removed: string[]): void => {
|
|
164
|
-
if (removed.length > 0) {
|
|
165
|
-
logger.info('❌ Removed worktrees:')
|
|
166
|
-
for (const branch of removed) {
|
|
167
|
-
logger.info(branch)
|
|
168
|
-
}
|
|
169
|
-
logger.info('')
|
|
170
|
-
} else {
|
|
171
|
-
logger.info('ℹ️ No unused worktrees to remove')
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// MCP Tool Registration
|
|
176
|
-
export const worktreesRemoveMcpTool = defineMcpTool({
|
|
177
|
-
name: 'worktrees-remove',
|
|
178
|
-
description:
|
|
179
|
-
'Remove local git worktrees for release branches. When everything is removed, also runs "git worktree prune" to clear stale metadata; the worktrees directory and its release/feature subfolders are left in place. When invoked via MCP, pass either "versions" (comma-separated) or all=true — the branch picker is unreachable without a TTY, and the CLI confirmation is auto-skipped for MCP calls, so the caller is responsible for gating.',
|
|
180
|
-
inputSchema: {
|
|
181
|
-
all: z
|
|
182
|
-
.boolean()
|
|
183
|
-
.optional()
|
|
184
|
-
.describe(
|
|
185
|
-
'Remove every existing worktree. Either "all" or "versions" must be provided for MCP calls (the interactive picker is unavailable without a TTY). Ignored if "versions" is provided.',
|
|
186
|
-
),
|
|
187
|
-
versions: z
|
|
188
|
-
.string()
|
|
189
|
-
.optional()
|
|
190
|
-
.describe(
|
|
191
|
-
'Comma-separated release versions or names to target (e.g. "1.2.5, 1.2.6" or "checkout-redesign, 1.2.5"). Either "versions" or all=true must be provided for MCP calls. Overrides "all" when set.',
|
|
192
|
-
),
|
|
193
|
-
},
|
|
194
|
-
outputSchema: {
|
|
195
|
-
removedWorktrees: z.array(z.string()).describe('List of removed git worktree branches'),
|
|
196
|
-
count: z.number().describe('Number of git worktrees removed'),
|
|
197
|
-
},
|
|
198
|
-
handler: worktreesRemove,
|
|
199
|
-
})
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { worktreesSync, worktreesSyncMcpTool } from './worktrees-sync'
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import confirm from '@inquirer/confirm'
|
|
2
|
-
import process from 'node:process'
|
|
3
|
-
import { z } from 'zod'
|
|
4
|
-
import { $ } from 'zx'
|
|
5
|
-
|
|
6
|
-
import { buildCmuxWorkspaceTitle, closeCmuxWorkspaceByTitle } from 'src/integrations/cmux'
|
|
7
|
-
import { getReleasePRs } from 'src/integrations/gh'
|
|
8
|
-
import { removeIdeWorktreeFolders } from 'src/integrations/ide'
|
|
9
|
-
import { commandEcho } from 'src/lib/command-echo'
|
|
10
|
-
import { WORKTREES_DIR_SUFFIX } from 'src/lib/constants'
|
|
11
|
-
import { isPromptCancellation } from 'src/lib/errors/is-prompt-cancellation'
|
|
12
|
-
import { OperationError } from 'src/lib/errors/operation-error'
|
|
13
|
-
import { assertManagementContext } from 'src/lib/git-guard'
|
|
14
|
-
import { getCurrentWorktrees, getProjectRoot, getRepoName } from 'src/lib/git-utils'
|
|
15
|
-
import { logger } from 'src/lib/logger'
|
|
16
|
-
import { isReleaseBranch } from 'src/lib/release-id'
|
|
17
|
-
import { defineMcpTool, textContent } from 'src/types'
|
|
18
|
-
import type { RequiredConfirmedOptionArg } from 'src/types'
|
|
19
|
-
|
|
20
|
-
interface WorktreeSyncArgs extends RequiredConfirmedOptionArg {}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Manage git worktrees for release branches.
|
|
24
|
-
*
|
|
25
|
-
* Creates worktrees for active release branches and removes unused ones
|
|
26
|
-
*/
|
|
27
|
-
export const worktreesSync = async (options: WorktreeSyncArgs) => {
|
|
28
|
-
const { confirmedCommand } = options
|
|
29
|
-
|
|
30
|
-
commandEcho.start('worktrees-sync')
|
|
31
|
-
|
|
32
|
-
await assertManagementContext({ operation: 'sync worktrees', requiredBranch: 'dev' })
|
|
33
|
-
|
|
34
|
-
try {
|
|
35
|
-
const currentWorktrees = await getCurrentWorktrees('release')
|
|
36
|
-
const projectRoot = await getProjectRoot()
|
|
37
|
-
|
|
38
|
-
const worktreeDir = `${projectRoot}${WORKTREES_DIR_SUFFIX}`
|
|
39
|
-
|
|
40
|
-
const releasePRsList = await getReleasePRs()
|
|
41
|
-
|
|
42
|
-
// Ask for confirmation
|
|
43
|
-
const answer = confirmedCommand
|
|
44
|
-
? true
|
|
45
|
-
: await confirm({
|
|
46
|
-
message: 'Are you sure you want to proceed with these worktree changes?',
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
if (!confirmedCommand) {
|
|
50
|
-
commandEcho.setInteractive()
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (!answer) {
|
|
54
|
-
logger.info('Operation cancelled. Exiting...')
|
|
55
|
-
process.exit(0)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Track --yes flag if confirmation was interactive (user confirmed)
|
|
59
|
-
if (!confirmedCommand) {
|
|
60
|
-
commandEcho.addOption('--yes', true)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const { branchesToRemove } = categorizeWorktrees({
|
|
64
|
-
releasePRsList,
|
|
65
|
-
currentWorktrees,
|
|
66
|
-
})
|
|
67
|
-
|
|
68
|
-
const repoName = await getRepoName()
|
|
69
|
-
|
|
70
|
-
const removedWorktrees = await removeWorktrees({
|
|
71
|
-
branches: branchesToRemove,
|
|
72
|
-
worktreeDir,
|
|
73
|
-
repoName,
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
// Hard `false`: sync is background/stale-cleanup (predominantly the MCP path) — it must never
|
|
77
|
-
// relaunch and overwrite a focused Zed window. Zed removal stays a no-op here.
|
|
78
|
-
await removeIdeWorktreeFolders({
|
|
79
|
-
projectRoot,
|
|
80
|
-
worktreeDir,
|
|
81
|
-
currentWorktrees,
|
|
82
|
-
removedWorktrees,
|
|
83
|
-
allowEditorRelaunch: false,
|
|
84
|
-
})
|
|
85
|
-
|
|
86
|
-
logResults(removedWorktrees)
|
|
87
|
-
|
|
88
|
-
commandEcho.print()
|
|
89
|
-
|
|
90
|
-
const structuredContent = {
|
|
91
|
-
removedWorktrees,
|
|
92
|
-
count: removedWorktrees.length,
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return {
|
|
96
|
-
content: textContent(JSON.stringify(structuredContent, null, 2)),
|
|
97
|
-
structuredContent,
|
|
98
|
-
}
|
|
99
|
-
} catch (error) {
|
|
100
|
-
// A cancelled prompt (Ctrl-C / Esc) is a user back-out, not a failure: let it
|
|
101
|
-
// reach the top-level boundary untouched so it exits cleanly, instead of being
|
|
102
|
-
// logged as an error with a misleading remediation.
|
|
103
|
-
if (isPromptCancellation(error)) throw error
|
|
104
|
-
|
|
105
|
-
logger.error({ error }, '❌ Error managing worktrees')
|
|
106
|
-
throw new OperationError(error, {
|
|
107
|
-
operation: 'sync worktrees with remote',
|
|
108
|
-
remediation: "ensure 'gh auth status' is ok and you can reach origin",
|
|
109
|
-
})
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
interface CategorizeWorktreesArgs {
|
|
114
|
-
releasePRsList: string[]
|
|
115
|
-
currentWorktrees: string[]
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Categorize worktrees into those that need to be created or removed
|
|
120
|
-
*/
|
|
121
|
-
const categorizeWorktrees = (args: CategorizeWorktreesArgs): { branchesToRemove: string[] } => {
|
|
122
|
-
const { releasePRsList, currentWorktrees } = args
|
|
123
|
-
|
|
124
|
-
const currentBranchNames = currentWorktrees.filter((branch) => {
|
|
125
|
-
return isReleaseBranch(branch)
|
|
126
|
-
})
|
|
127
|
-
|
|
128
|
-
const branchesToRemove = currentBranchNames.filter((branch) => {
|
|
129
|
-
return !releasePRsList.includes(branch)
|
|
130
|
-
})
|
|
131
|
-
|
|
132
|
-
return { branchesToRemove }
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
interface RemoveWorktreesArgs {
|
|
136
|
-
branches: string[]
|
|
137
|
-
worktreeDir: string
|
|
138
|
-
repoName: string
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Remove worktrees for the specified branches and close their cmux workspaces
|
|
143
|
-
*/
|
|
144
|
-
const removeWorktrees = async (args: RemoveWorktreesArgs): Promise<string[]> => {
|
|
145
|
-
const { branches, worktreeDir, repoName } = args
|
|
146
|
-
|
|
147
|
-
const removed: string[] = []
|
|
148
|
-
|
|
149
|
-
for (const branch of branches) {
|
|
150
|
-
try {
|
|
151
|
-
const worktreePath = `${worktreeDir}/${branch}`
|
|
152
|
-
|
|
153
|
-
const title = buildCmuxWorkspaceTitle({ repoName, branch })
|
|
154
|
-
|
|
155
|
-
await closeCmuxWorkspaceByTitle(title)
|
|
156
|
-
|
|
157
|
-
await $`git worktree remove ${worktreePath}`
|
|
158
|
-
removed.push(branch)
|
|
159
|
-
} catch (error) {
|
|
160
|
-
const err = new OperationError(error, {
|
|
161
|
-
operation: `remove stale worktree for ${branch}`,
|
|
162
|
-
remediation: 'inspect the worktree dir manually; rerun with the branch checked out elsewhere',
|
|
163
|
-
})
|
|
164
|
-
|
|
165
|
-
logger.error({ error, branch, msg: err.message })
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
return removed
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Log the results of worktree management
|
|
174
|
-
*/
|
|
175
|
-
const logResults = (removed: string[]): void => {
|
|
176
|
-
if (removed.length > 0) {
|
|
177
|
-
logger.info('❌ Removed worktrees:')
|
|
178
|
-
for (const branch of removed) {
|
|
179
|
-
logger.info(branch)
|
|
180
|
-
}
|
|
181
|
-
logger.info('')
|
|
182
|
-
} else {
|
|
183
|
-
logger.info('ℹ️ No unused worktrees to remove')
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// MCP Tool Registration
|
|
188
|
-
export const worktreesSyncMcpTool = defineMcpTool({
|
|
189
|
-
name: 'worktrees-sync',
|
|
190
|
-
description:
|
|
191
|
-
'Remove worktrees whose release PR is no longer open (stale cleanup). Only removes — never creates; use worktrees-add to create worktrees for new releases. The CLI confirmation is auto-skipped for MCP calls, so the caller is responsible for gating.',
|
|
192
|
-
inputSchema: {},
|
|
193
|
-
outputSchema: {
|
|
194
|
-
removedWorktrees: z.array(z.string()).describe('List of removed worktree branches'),
|
|
195
|
-
count: z.number().describe('Number of worktrees removed during sync'),
|
|
196
|
-
},
|
|
197
|
-
handler: worktreesSync,
|
|
198
|
-
})
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest'
|
|
2
|
-
|
|
3
|
-
import { toDevServerOptions } from 'src/entry/dev-server'
|
|
4
|
-
import type { DevCliOptions } from 'src/entry/dev-server'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Flag/option parsing for the dev-server CLI entry. `toDevServerOptions` maps the
|
|
8
|
-
* raw Commander flag object (comma-joined strings) to the typed `DevServerOptions`
|
|
9
|
-
* the orchestrator consumes. Pure function — no fixtures.
|
|
10
|
-
*/
|
|
11
|
-
describe('toDevServerOptions — CLI flag parsing', () => {
|
|
12
|
-
it('splits --app into an include list', () => {
|
|
13
|
-
const opts = toDevServerOptions({ app: 'client,backoffice' } satisfies DevCliOptions)
|
|
14
|
-
|
|
15
|
-
expect(opts.include).toEqual(['client', 'backoffice'])
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
it('trims whitespace and drops empty segments in comma lists', () => {
|
|
19
|
-
const opts = toDevServerOptions({ app: ' client , , backoffice ,' } satisfies DevCliOptions)
|
|
20
|
-
|
|
21
|
-
expect(opts.include).toEqual(['client', 'backoffice'])
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
it('maps a missing --app to null (means "all apps")', () => {
|
|
25
|
-
const opts = toDevServerOptions({} satisfies DevCliOptions)
|
|
26
|
-
|
|
27
|
-
expect(opts.include).toBeNull()
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
it('maps an all-empty comma list to null rather than an empty array', () => {
|
|
31
|
-
const opts = toDevServerOptions({ app: ' , , ' } satisfies DevCliOptions)
|
|
32
|
-
|
|
33
|
-
expect(opts.include).toBeNull()
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
it('defaults watch to false when the flag is absent', () => {
|
|
37
|
-
expect(toDevServerOptions({} satisfies DevCliOptions).watch).toBe(false)
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
it('passes --watch through as true', () => {
|
|
41
|
-
expect(toDevServerOptions({ watch: true } satisfies DevCliOptions).watch).toBe(true)
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
it('parses a combined flag set (--app --watch) in one pass', () => {
|
|
45
|
-
const opts = toDevServerOptions({ app: 'a,b', watch: true } satisfies DevCliOptions)
|
|
46
|
-
|
|
47
|
-
expect(opts).toEqual({ watch: true, include: ['a', 'b'], ui: false })
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
it('defaults ui to false when --ui is absent (api-only, backward compatible)', () => {
|
|
51
|
-
expect(toDevServerOptions({} satisfies DevCliOptions).ui).toBe(false)
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
it('passes --ui through as true', () => {
|
|
55
|
-
expect(toDevServerOptions({ ui: true } satisfies DevCliOptions).ui).toBe(true)
|
|
56
|
-
})
|
|
57
|
-
})
|