infra-kit 0.1.127 → 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-Z6KTUVIC.js +2 -0
- 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/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-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-SGR2XAVR.js +0 -164
- package/dist/chunk-SGR2XAVR.js.map +0 -7
- package/dist/chunk-WA4BQRDC.js +0 -2
- package/dist/chunk-WA4BQRDC.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/__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 -100
- package/src/commands/init/agent-files.ts +0 -219
- package/src/commands/init/index.ts +0 -8
- package/src/commands/init/init.ts +0 -425
- 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/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/__tests__/package-validator.test.ts +0 -263
- 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,394 +0,0 @@
|
|
|
1
|
-
import select from '@inquirer/select'
|
|
2
|
-
import { Buffer } from 'node:buffer'
|
|
3
|
-
import fs from 'node:fs'
|
|
4
|
-
import path from 'node:path'
|
|
5
|
-
import process from 'node:process'
|
|
6
|
-
import { z } from 'zod'
|
|
7
|
-
import { $ } from 'zx'
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
buildDopplerNotFoundMessage,
|
|
11
|
-
classifyDopplerDownloadError,
|
|
12
|
-
getDopplerProject,
|
|
13
|
-
listDopplerConfigs,
|
|
14
|
-
listDopplerProjects,
|
|
15
|
-
validateDopplerCliAndAuth,
|
|
16
|
-
} from 'src/integrations/doppler'
|
|
17
|
-
import { commandEcho } from 'src/lib/command-echo'
|
|
18
|
-
import {
|
|
19
|
-
ENV_LOAD_FILE,
|
|
20
|
-
INFRA_KIT_ENV_AUTOLOADED_VAR,
|
|
21
|
-
INFRA_KIT_ENV_CLEARED_VAR,
|
|
22
|
-
INFRA_KIT_ENV_CONFIG_VAR,
|
|
23
|
-
INFRA_KIT_ENV_LOADED_AT_VAR,
|
|
24
|
-
INFRA_KIT_ENV_PROJECT_ROOT_VAR,
|
|
25
|
-
INFRA_KIT_ENV_PROJECT_VAR,
|
|
26
|
-
atomicWriteFileSync,
|
|
27
|
-
getSessionCacheDir,
|
|
28
|
-
} from 'src/lib/constants'
|
|
29
|
-
import { extractStderr } from 'src/lib/errors/operation-error'
|
|
30
|
-
import { getProjectRoot } from 'src/lib/git-utils'
|
|
31
|
-
import { getInfraKitConfig } from 'src/lib/infra-kit-config'
|
|
32
|
-
import { canonicalizeProjectRoot, evictStaleWarmCaches, shouldWriteWarm, writeWarmCache } from 'src/lib/warm-cache'
|
|
33
|
-
import { defineMcpTool, textContent } from 'src/types'
|
|
34
|
-
|
|
35
|
-
interface EnvLoadArgs {
|
|
36
|
-
config?: string
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
interface WriteEnvLoadFileArgs {
|
|
40
|
-
/** Resolved Doppler config / environment name (no interactive picker here). */
|
|
41
|
-
config: string
|
|
42
|
-
/**
|
|
43
|
-
* Marks the produced file as auto-loaded. `true` writes the
|
|
44
|
-
* INFRA_KIT_ENV_AUTOLOADED marker; `false` (a manual load) instead unsets the
|
|
45
|
-
* marker and lifts any clear suppression so a deliberate load wins.
|
|
46
|
-
*/
|
|
47
|
-
autoLoaded?: boolean
|
|
48
|
-
/**
|
|
49
|
-
* Auto-load only: re-checked AFTER the Doppler download, immediately before the
|
|
50
|
-
* atomic write. Return false to abort (a clear or a manual load landed during the
|
|
51
|
-
* slow download). Manual loads omit it and always write.
|
|
52
|
-
*/
|
|
53
|
-
beforeWrite?: () => boolean
|
|
54
|
-
/**
|
|
55
|
-
* Canonical (realpath'd) project dir the SHELL passed via `--project-dir` on the
|
|
56
|
-
* shell-startup auto-load spawn. Its presence (with `autoLoaded`) is what enables
|
|
57
|
-
* the project-scoped WARM cache write; see {@link shouldWriteWarm}. Undefined for
|
|
58
|
-
* manual loads and the cli-invocation trigger — those write no warm copy.
|
|
59
|
-
*/
|
|
60
|
-
projectDir?: string
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface EnvLoadFileResult {
|
|
64
|
-
filePath: string
|
|
65
|
-
variableCount: number
|
|
66
|
-
project: string
|
|
67
|
-
config: string
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
interface EnvLoadFileLinesArgs {
|
|
71
|
-
pairs: Array<[string, string]>
|
|
72
|
-
config: string
|
|
73
|
-
project: string
|
|
74
|
-
projectRoot: string
|
|
75
|
-
loadedAt: string
|
|
76
|
-
autoLoaded: boolean
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* The auto-load marker lines appended to env-load.sh. Pure so the marker policy
|
|
81
|
-
* is unit-testable without touching Doppler or the filesystem.
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* buildAutoLoadMarkerLines(true) // => ["INFRA_KIT_ENV_AUTOLOADED='1'"]
|
|
85
|
-
* buildAutoLoadMarkerLines(false) // => ['unset INFRA_KIT_ENV_AUTOLOADED', 'unset INFRA_KIT_ENV_CLEARED']
|
|
86
|
-
*/
|
|
87
|
-
const buildAutoLoadMarkerLines = (autoLoaded: boolean): string[] => {
|
|
88
|
-
if (autoLoaded) {
|
|
89
|
-
return [`${INFRA_KIT_ENV_AUTOLOADED_VAR}=${shellSingleQuote('1')}`]
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Manual load: drop any auto marker so auto-load never re-clobbers a deliberate
|
|
93
|
-
// choice, and lift a prior clear suppression so the manual load takes effect.
|
|
94
|
-
return [`unset ${INFRA_KIT_ENV_AUTOLOADED_VAR}`, `unset ${INFRA_KIT_ENV_CLEARED_VAR}`]
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Build the dotenv-format shell lines for env-load.sh. Pure (no I/O) so callers
|
|
99
|
-
* can assert the exact marker behavior. `set -a`/`set +a` auto-export every
|
|
100
|
-
* assignment when the file is sourced.
|
|
101
|
-
*/
|
|
102
|
-
export const buildEnvLoadFileLines = ({
|
|
103
|
-
pairs,
|
|
104
|
-
config,
|
|
105
|
-
project,
|
|
106
|
-
projectRoot,
|
|
107
|
-
loadedAt,
|
|
108
|
-
autoLoaded,
|
|
109
|
-
}: EnvLoadFileLinesArgs): string[] => {
|
|
110
|
-
return [
|
|
111
|
-
'set -a',
|
|
112
|
-
...pairs.map(([key, value]) => {
|
|
113
|
-
return `${key}=${shellSingleQuote(value)}`
|
|
114
|
-
}),
|
|
115
|
-
`${INFRA_KIT_ENV_CONFIG_VAR}=${shellSingleQuote(config)}`,
|
|
116
|
-
`${INFRA_KIT_ENV_PROJECT_VAR}=${shellSingleQuote(project)}`,
|
|
117
|
-
`${INFRA_KIT_ENV_PROJECT_ROOT_VAR}=${shellSingleQuote(projectRoot)}`,
|
|
118
|
-
`${INFRA_KIT_ENV_LOADED_AT_VAR}=${shellSingleQuote(loadedAt)}`,
|
|
119
|
-
...buildAutoLoadMarkerLines(autoLoaded),
|
|
120
|
-
'set +a',
|
|
121
|
-
]
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Project root (git top-level) the loaded env belongs to, for the cross-project
|
|
126
|
-
* shell gate. Returns '' when this isn't a git checkout so a non-git infra-kit
|
|
127
|
-
* project still loads — the shell gate then fails open (spawns rather than skips)
|
|
128
|
-
* instead of breaking the whole load on `git rev-parse` throwing.
|
|
129
|
-
*/
|
|
130
|
-
const resolveProjectRootSafe = async (): Promise<string> => {
|
|
131
|
-
try {
|
|
132
|
-
return await getProjectRoot()
|
|
133
|
-
} catch {
|
|
134
|
-
return ''
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Download Doppler secrets for a resolved config and atomically write env-load.sh
|
|
140
|
-
* to the session cache dir. Does NOT print to stdout — shared by the CLI/MCP
|
|
141
|
-
* `envLoad` entry (which prints the path) and the auto-load path (which lets the
|
|
142
|
-
* shell precmd hook source the file).
|
|
143
|
-
*/
|
|
144
|
-
export const writeEnvLoadFile = async ({
|
|
145
|
-
config,
|
|
146
|
-
autoLoaded = false,
|
|
147
|
-
beforeWrite,
|
|
148
|
-
projectDir,
|
|
149
|
-
}: WriteEnvLoadFileArgs): Promise<EnvLoadFileResult | null> => {
|
|
150
|
-
await validateDopplerCliAndAuth()
|
|
151
|
-
|
|
152
|
-
const project = await getDopplerProject()
|
|
153
|
-
const projectRoot = await resolveProjectRootSafe()
|
|
154
|
-
|
|
155
|
-
const pairs = await downloadDopplerSecrets(project, config)
|
|
156
|
-
|
|
157
|
-
const loadedAt = new Date().toISOString()
|
|
158
|
-
const envFileLines = buildEnvLoadFileLines({ pairs, config, project, projectRoot, loadedAt, autoLoaded })
|
|
159
|
-
const fileContents = `${envFileLines.join('\n')}\n`
|
|
160
|
-
|
|
161
|
-
const cacheDir = getSessionCacheDir()
|
|
162
|
-
const envFilePath = path.resolve(cacheDir, ENV_LOAD_FILE)
|
|
163
|
-
|
|
164
|
-
// Re-check suppression immediately before the atomic write: a clear or a manual
|
|
165
|
-
// load may have landed during the slow Doppler download (auto-load path only).
|
|
166
|
-
if (beforeWrite && !beforeWrite()) return null
|
|
167
|
-
|
|
168
|
-
fs.mkdirSync(cacheDir, { recursive: true, mode: 0o700 })
|
|
169
|
-
atomicWriteFileSync(envFilePath, fileContents, 0o600)
|
|
170
|
-
|
|
171
|
-
// Project-scoped WARM copy: lets the NEXT shell source these vars instantly at
|
|
172
|
-
// startup (pure zsh, no Doppler) before this session's fresh file lands. Gated so
|
|
173
|
-
// it only fires for a shell-startup auto-load whose realpath'd git root matches the
|
|
174
|
-
// dir the shell keyed on (see shouldWriteWarm). Each warm write also sweeps stale
|
|
175
|
-
// warm dirs — we own the only cache reaper in the codebase.
|
|
176
|
-
const canonicalProjectRoot = canonicalizeProjectRoot(projectRoot)
|
|
177
|
-
|
|
178
|
-
if (shouldWriteWarm({ autoLoaded, projectDir, canonicalProjectRoot })) {
|
|
179
|
-
writeWarmCache(projectDir!, fileContents)
|
|
180
|
-
evictStaleWarmCaches()
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
return {
|
|
184
|
-
filePath: envFilePath,
|
|
185
|
-
variableCount: pairs.length,
|
|
186
|
-
project,
|
|
187
|
-
config,
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Load environment variables from Doppler for the given config
|
|
193
|
-
*/
|
|
194
|
-
export const envLoad = async (args: EnvLoadArgs) => {
|
|
195
|
-
const { config } = args
|
|
196
|
-
|
|
197
|
-
commandEcho.start('env-load')
|
|
198
|
-
|
|
199
|
-
let selectedConfig = ''
|
|
200
|
-
|
|
201
|
-
if (config) {
|
|
202
|
-
selectedConfig = config
|
|
203
|
-
} else {
|
|
204
|
-
// Validate auth before the interactive picker so an unauthenticated user fails
|
|
205
|
-
// fast instead of choosing an env first. writeEnvLoadFile re-checks (cheap) for
|
|
206
|
-
// the non-interactive path where this branch is skipped.
|
|
207
|
-
await validateDopplerCliAndAuth()
|
|
208
|
-
|
|
209
|
-
const { environments } = await getInfraKitConfig()
|
|
210
|
-
|
|
211
|
-
commandEcho.setInteractive()
|
|
212
|
-
selectedConfig = await select(
|
|
213
|
-
{
|
|
214
|
-
message: 'Select environment config',
|
|
215
|
-
choices: environments.map((env) => {
|
|
216
|
-
return { name: env, value: env }
|
|
217
|
-
}),
|
|
218
|
-
},
|
|
219
|
-
// Render to stderr so the prompt is visible when stdout is captured via $() in the shell function.
|
|
220
|
-
// Only env-load and env-clear use the $() stdout-capture shell pattern.
|
|
221
|
-
{ output: process.stderr },
|
|
222
|
-
)
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
commandEcho.addOption('--config', selectedConfig)
|
|
226
|
-
|
|
227
|
-
// A manual load is authoritative: autoLoaded=false drops the auto marker.
|
|
228
|
-
const result = await writeEnvLoadFile({ config: selectedConfig, autoLoaded: false })
|
|
229
|
-
|
|
230
|
-
// A manual load passes no beforeWrite, so it always writes — this guards the
|
|
231
|
-
// invariant (and narrows the nullable result) rather than handling a real path.
|
|
232
|
-
if (!result) throw new Error('env-load: write was unexpectedly aborted')
|
|
233
|
-
|
|
234
|
-
// REQUIRED
|
|
235
|
-
process.stdout.write(`${result.filePath}\n`)
|
|
236
|
-
|
|
237
|
-
// Logs to stderr (pino → pretty-print), so it doesn't pollute the captured
|
|
238
|
-
// file path that the shell wrapper reads from stdout.
|
|
239
|
-
commandEcho.print()
|
|
240
|
-
|
|
241
|
-
const structuredContent = {
|
|
242
|
-
filePath: result.filePath,
|
|
243
|
-
variableCount: result.variableCount,
|
|
244
|
-
project: result.project,
|
|
245
|
-
config: result.config,
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
return {
|
|
249
|
-
content: textContent(JSON.stringify(structuredContent, null, 2)),
|
|
250
|
-
structuredContent,
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Cap the Doppler stdout we're willing to accept. A well-formed env bundle is
|
|
256
|
-
* O(10 KB); megabytes would indicate a service regression or the wrong stream
|
|
257
|
-
* being captured, and we don't want to write that to disk or source it.
|
|
258
|
-
*/
|
|
259
|
-
export const DOPPLER_MAX_OUTPUT_BYTES = 1024 * 1024
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Hard upper bound for the Doppler subprocess. Well under zx's default so a
|
|
263
|
-
* hung call surfaces quickly instead of blocking an interactive shell or an
|
|
264
|
-
* MCP tool handler.
|
|
265
|
-
*/
|
|
266
|
-
const DOPPLER_DOWNLOAD_TIMEOUT_MS = 30_000
|
|
267
|
-
|
|
268
|
-
const downloadDopplerSecrets = async (project: string, config: string): Promise<Array<[string, string]>> => {
|
|
269
|
-
const prevQuiet = $.quiet
|
|
270
|
-
|
|
271
|
-
$.quiet = true
|
|
272
|
-
try {
|
|
273
|
-
let result
|
|
274
|
-
|
|
275
|
-
try {
|
|
276
|
-
result =
|
|
277
|
-
await $`doppler secrets download --no-file --format json --project ${project} --config ${config}`.timeout(
|
|
278
|
-
DOPPLER_DOWNLOAD_TIMEOUT_MS,
|
|
279
|
-
)
|
|
280
|
-
} catch (error: unknown) {
|
|
281
|
-
throw await translateDopplerDownloadError(error, project, config)
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
assertDopplerOutputSize(result.stdout)
|
|
285
|
-
|
|
286
|
-
return parseDopplerSecretsJson(result.stdout)
|
|
287
|
-
} finally {
|
|
288
|
-
$.quiet = prevQuiet
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Turn a raw `doppler secrets download` failure into an actionable error. A
|
|
294
|
-
* recognized project/config not-found is enriched (on this error path only) with
|
|
295
|
-
* the list of available names and rethrown as a clean `Error` pointing at the
|
|
296
|
-
* exact infra-kit.json field. Anything else — auth, network, timeout — is
|
|
297
|
-
* rethrown untouched so it degrades to the existing behavior, never worse.
|
|
298
|
-
*/
|
|
299
|
-
const translateDopplerDownloadError = async (error: unknown, project: string, config: string): Promise<Error> => {
|
|
300
|
-
const stderr = extractStderr(error) ?? (error instanceof Error ? error.message : String(error))
|
|
301
|
-
const kind = classifyDopplerDownloadError(stderr)
|
|
302
|
-
|
|
303
|
-
if (kind === 'unknown') {
|
|
304
|
-
return error instanceof Error ? error : new Error(String(error))
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
const available = kind === 'project' ? await listDopplerProjects() : await listDopplerConfigs(project)
|
|
308
|
-
|
|
309
|
-
return new Error(buildDopplerNotFoundMessage({ kind, project, config, available }))
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
export const assertDopplerOutputSize = (stdout: string): void => {
|
|
313
|
-
const bytes = Buffer.byteLength(stdout, 'utf-8')
|
|
314
|
-
|
|
315
|
-
if (bytes > DOPPLER_MAX_OUTPUT_BYTES) {
|
|
316
|
-
throw new Error(
|
|
317
|
-
`doppler returned unexpectedly large output (${bytes} bytes > ${DOPPLER_MAX_OUTPUT_BYTES}) — refusing to write to disk`,
|
|
318
|
-
)
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
export const shellSingleQuote = (value: string): string => {
|
|
323
|
-
const escaped = value.replaceAll("'", "'\\''")
|
|
324
|
-
|
|
325
|
-
return `'${escaped}'`
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
/** A valid POSIX env-var name: a letter or underscore, then word characters. */
|
|
329
|
-
const ENV_VAR_NAME_PATTERN = /^[A-Z_]\w*$/i
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* Parse the `doppler secrets download --format json` output (a flat
|
|
333
|
-
* `{"KEY":"value"}` map) into ordered `[key, value]` pairs, validating the shape
|
|
334
|
-
* and every name/value. Values are returned RAW — callers must single-quote them
|
|
335
|
-
* before emitting shell (an unquoted `a$(cmd)b` would execute on `source`).
|
|
336
|
-
*
|
|
337
|
-
* @example
|
|
338
|
-
* parseDopplerSecretsJson('{"FOO":"bar","BAZ":"a$(x)"}')
|
|
339
|
-
* // => [['FOO', 'bar'], ['BAZ', 'a$(x)']]
|
|
340
|
-
*/
|
|
341
|
-
export const parseDopplerSecretsJson = (stdout: string): Array<[string, string]> => {
|
|
342
|
-
let parsed: unknown
|
|
343
|
-
|
|
344
|
-
try {
|
|
345
|
-
parsed = JSON.parse(stdout)
|
|
346
|
-
} catch {
|
|
347
|
-
throw new Error(`doppler returned non-JSON output for env-load (got: ${JSON.stringify(stdout.slice(0, 80))})`)
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
351
|
-
throw new Error('doppler returned unexpected JSON shape for env-load (expected an object of KEY: value pairs)')
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
const pairs: Array<[string, string]> = []
|
|
355
|
-
|
|
356
|
-
for (const [key, value] of Object.entries(parsed)) {
|
|
357
|
-
if (!ENV_VAR_NAME_PATTERN.test(key)) {
|
|
358
|
-
throw new Error(
|
|
359
|
-
`doppler returned an invalid env var name for env-load (got: ${JSON.stringify(key.slice(0, 80))})`,
|
|
360
|
-
)
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
if (typeof value !== 'string') {
|
|
364
|
-
throw new TypeError(`doppler returned a non-string value for "${key}" (got ${typeof value})`)
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
pairs.push([key, value])
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
if (pairs.length === 0) {
|
|
371
|
-
throw new Error('doppler returned empty output for env-load')
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
return pairs
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
// MCP Tool Registration
|
|
378
|
-
export const envLoadMcpTool = defineMcpTool({
|
|
379
|
-
name: 'env-load',
|
|
380
|
-
description:
|
|
381
|
-
'Download the env vars for a Doppler config and write them to a temporary shell script. Does NOT mutate the calling process — returns the path to a script that must be sourced ("source <filePath>") for the vars to take effect. The infra-kit shell wrapper auto-sources; direct MCP callers must handle sourcing themselves or surface filePath to the user. "config" is required when invoked via MCP (the CLI interactive picker is unreachable without a TTY).',
|
|
382
|
-
inputSchema: {
|
|
383
|
-
config: z
|
|
384
|
-
.string()
|
|
385
|
-
.describe('Doppler config / environment name to load (e.g. "dev", "arthur", "renana"). Required for MCP calls.'),
|
|
386
|
-
},
|
|
387
|
-
outputSchema: {
|
|
388
|
-
filePath: z.string().describe('Path to the file that must be sourced to apply variables'),
|
|
389
|
-
variableCount: z.number().describe('Number of variables loaded'),
|
|
390
|
-
project: z.string().describe('Doppler project name'),
|
|
391
|
-
config: z.string().describe('Doppler config name'),
|
|
392
|
-
},
|
|
393
|
-
handler: envLoad,
|
|
394
|
-
})
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs'
|
|
2
|
-
import os from 'node:os'
|
|
3
|
-
import path from 'node:path'
|
|
4
|
-
import process from 'node:process'
|
|
5
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
INFRA_KIT_ENV_AUTOLOADED_VAR,
|
|
9
|
-
INFRA_KIT_ENV_CLEARED_VAR,
|
|
10
|
-
INFRA_KIT_ENV_CONFIG_VAR,
|
|
11
|
-
INFRA_KIT_ENV_PROJECT_VAR,
|
|
12
|
-
INFRA_KIT_SESSION_VAR,
|
|
13
|
-
} from 'src/lib/constants'
|
|
14
|
-
|
|
15
|
-
import { envStatus } from '../env-status'
|
|
16
|
-
|
|
17
|
-
vi.mock('src/lib/logger', () => {
|
|
18
|
-
return { logger: { info: vi.fn(), warn: vi.fn() } }
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
// Pure local introspection: env-status must NOT call Doppler. If it did, importing
|
|
22
|
-
// this mock-free test (no doppler mock) and running offline would hang/throw — the
|
|
23
|
-
// fact these tests pass is itself the regression guard for the de-Doppler change.
|
|
24
|
-
|
|
25
|
-
const ORIGINAL_ENV = { ...process.env }
|
|
26
|
-
let cacheRoot: string
|
|
27
|
-
|
|
28
|
-
beforeEach(() => {
|
|
29
|
-
cacheRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'ik-envstatus-'))
|
|
30
|
-
process.env.XDG_CACHE_HOME = cacheRoot
|
|
31
|
-
process.env[INFRA_KIT_SESSION_VAR] = 'sess-status'
|
|
32
|
-
delete process.env[INFRA_KIT_ENV_CONFIG_VAR]
|
|
33
|
-
delete process.env[INFRA_KIT_ENV_PROJECT_VAR]
|
|
34
|
-
delete process.env[INFRA_KIT_ENV_AUTOLOADED_VAR]
|
|
35
|
-
delete process.env[INFRA_KIT_ENV_CLEARED_VAR]
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
afterEach(() => {
|
|
39
|
-
process.env = { ...ORIGINAL_ENV }
|
|
40
|
-
fs.rmSync(cacheRoot, { recursive: true, force: true })
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
describe('envStatus', () => {
|
|
44
|
-
it('reports nothing loaded with autoLoaded=false, cleared=false', async () => {
|
|
45
|
-
const { structuredContent } = await envStatus()
|
|
46
|
-
|
|
47
|
-
expect(structuredContent.sessionConfig).toBeNull()
|
|
48
|
-
expect(structuredContent.autoLoaded).toBe(false)
|
|
49
|
-
expect(structuredContent.cleared).toBe(false)
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
it('reports cleared=true when the clear sentinel is set', async () => {
|
|
53
|
-
process.env[INFRA_KIT_ENV_CLEARED_VAR] = '1'
|
|
54
|
-
|
|
55
|
-
const { structuredContent } = await envStatus()
|
|
56
|
-
|
|
57
|
-
expect(structuredContent.cleared).toBe(true)
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
it('reports autoLoaded=true when the auto-load marker is present', async () => {
|
|
61
|
-
process.env[INFRA_KIT_ENV_CONFIG_VAR] = 'dev'
|
|
62
|
-
process.env[INFRA_KIT_ENV_PROJECT_VAR] = 'my-project'
|
|
63
|
-
process.env[INFRA_KIT_ENV_AUTOLOADED_VAR] = '1'
|
|
64
|
-
|
|
65
|
-
const { structuredContent } = await envStatus()
|
|
66
|
-
|
|
67
|
-
expect(structuredContent.sessionConfig).toBe('dev')
|
|
68
|
-
expect(structuredContent.autoLoaded).toBe(true)
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
it('reports autoLoaded=false for a manual load (config set, no marker)', async () => {
|
|
72
|
-
process.env[INFRA_KIT_ENV_CONFIG_VAR] = 'dev'
|
|
73
|
-
|
|
74
|
-
const { structuredContent } = await envStatus()
|
|
75
|
-
|
|
76
|
-
expect(structuredContent.autoLoaded).toBe(false)
|
|
77
|
-
})
|
|
78
|
-
})
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import path from 'node:path'
|
|
2
|
-
import process from 'node:process'
|
|
3
|
-
import { z } from 'zod'
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
ENV_LOAD_FILE,
|
|
7
|
-
INFRA_KIT_ENV_AUTOLOADED_VAR,
|
|
8
|
-
INFRA_KIT_ENV_CLEARED_VAR,
|
|
9
|
-
INFRA_KIT_ENV_CONFIG_VAR,
|
|
10
|
-
INFRA_KIT_ENV_LOADED_AT_VAR,
|
|
11
|
-
INFRA_KIT_ENV_PROJECT_VAR,
|
|
12
|
-
INFRA_KIT_SESSION_VAR,
|
|
13
|
-
getSessionCacheDir,
|
|
14
|
-
parseVarNamesFromEnvFile,
|
|
15
|
-
} from 'src/lib/constants'
|
|
16
|
-
import { logger } from 'src/lib/logger'
|
|
17
|
-
import { defineMcpTool, textContent } from 'src/types'
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Report which env is currently loaded in the terminal session. Pure local
|
|
21
|
-
* introspection: reads only `process.env` + the cached env-load.sh — it makes NO
|
|
22
|
-
* Doppler call (use `doctor` for auth/CLI checks), so it works offline and never
|
|
23
|
-
* hangs. Surfaces whether the env was auto-loaded vs manually loaded and whether a
|
|
24
|
-
* clear is currently suppressing auto-load.
|
|
25
|
-
*/
|
|
26
|
-
export const envStatus = async () => {
|
|
27
|
-
logger.info('Environment session status:')
|
|
28
|
-
|
|
29
|
-
// Check session-loaded vars — getSessionCacheDir() throws if INFRA_KIT_SESSION is unset
|
|
30
|
-
const cacheDir = getSessionCacheDir()
|
|
31
|
-
|
|
32
|
-
const sessionId = process.env[INFRA_KIT_SESSION_VAR]!
|
|
33
|
-
const envLoadPath = path.join(cacheDir, ENV_LOAD_FILE)
|
|
34
|
-
|
|
35
|
-
let sessionLoadedCount = 0
|
|
36
|
-
let sessionTotalCount = 0
|
|
37
|
-
|
|
38
|
-
const sessionConfig = process.env[INFRA_KIT_ENV_CONFIG_VAR] ?? null
|
|
39
|
-
const sessionProject = process.env[INFRA_KIT_ENV_PROJECT_VAR] ?? null
|
|
40
|
-
const sessionLoadedAt = process.env[INFRA_KIT_ENV_LOADED_AT_VAR] ?? null
|
|
41
|
-
const autoLoaded = process.env[INFRA_KIT_ENV_AUTOLOADED_VAR] === '1'
|
|
42
|
-
const cleared = Boolean(process.env[INFRA_KIT_ENV_CLEARED_VAR])
|
|
43
|
-
|
|
44
|
-
if (sessionConfig) {
|
|
45
|
-
const varNames = parseVarNamesFromEnvFile(envLoadPath)
|
|
46
|
-
|
|
47
|
-
if (varNames.length > 0) {
|
|
48
|
-
sessionTotalCount = varNames.length
|
|
49
|
-
sessionLoadedCount = varNames.filter((v) => {
|
|
50
|
-
return v in process.env
|
|
51
|
-
}).length
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const loadedAtDisplay = sessionLoadedAt?.replace(/\.\d{3}Z$/, '') ?? null
|
|
55
|
-
const origin = autoLoaded ? 'auto-loaded' : 'manually loaded'
|
|
56
|
-
|
|
57
|
-
logger.info(
|
|
58
|
-
` ${sessionConfig}: ${sessionLoadedCount} of ${sessionTotalCount} vars loaded (${origin}, project: ${sessionProject}, loadedAt: ${loadedAtDisplay}, session: ${sessionId})\n`,
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
if (sessionTotalCount > 0 && sessionLoadedCount < sessionTotalCount) {
|
|
62
|
-
const missing = sessionTotalCount - sessionLoadedCount
|
|
63
|
-
|
|
64
|
-
logger.warn(
|
|
65
|
-
` ${missing} cached var(s) are not present in the current process — env-load needs to be re-sourced, or vars were unset manually.`,
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
} else {
|
|
69
|
-
const clearedNote = cleared ? ' (cleared — auto-load suppressed until a new shell or explicit env-load)' : ''
|
|
70
|
-
|
|
71
|
-
logger.info(` Session ${sessionId}: no env loaded${clearedNote}\n`)
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
const structuredContent = {
|
|
75
|
-
sessionId,
|
|
76
|
-
sessionLoadedCount,
|
|
77
|
-
sessionTotalCount,
|
|
78
|
-
sessionConfig,
|
|
79
|
-
sessionProject,
|
|
80
|
-
sessionLoadedAt,
|
|
81
|
-
autoLoaded,
|
|
82
|
-
cleared,
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return {
|
|
86
|
-
content: textContent(JSON.stringify(structuredContent, null, 2)),
|
|
87
|
-
structuredContent,
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// MCP Tool Registration
|
|
92
|
-
export const envStatusMcpTool = defineMcpTool({
|
|
93
|
-
name: 'env-status',
|
|
94
|
-
description:
|
|
95
|
-
'Report which Doppler project/config is currently loaded in the terminal session, when it was loaded, how many variables are cached, whether it was auto-loaded, and whether a clear is suppressing auto-load. Pure local introspection — makes NO Doppler call (use doctor for auth). Read-only — use env-load / env-clear to change the terminal session.',
|
|
96
|
-
inputSchema: {},
|
|
97
|
-
outputSchema: {
|
|
98
|
-
sessionId: z.string().describe('Current terminal session ID'),
|
|
99
|
-
sessionLoadedCount: z.number().describe('Number of cached vars active in the current session'),
|
|
100
|
-
sessionTotalCount: z.number().describe('Total number of cached var names'),
|
|
101
|
-
sessionConfig: z.string().nullable().describe('Doppler config name of the loaded session (environment name)'),
|
|
102
|
-
sessionProject: z.string().nullable().describe('Doppler project name of the loaded session'),
|
|
103
|
-
sessionLoadedAt: z.string().nullable().describe('ISO 8601 timestamp of when the env was loaded'),
|
|
104
|
-
autoLoaded: z.boolean().describe('True when the loaded env was applied by env auto-load (not a manual env-load)'),
|
|
105
|
-
cleared: z.boolean().describe('True when env-clear is currently suppressing auto-load in this shell'),
|
|
106
|
-
},
|
|
107
|
-
handler: envStatus,
|
|
108
|
-
})
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { envStatus, envStatusMcpTool } from './env-status'
|