infra-kit 0.1.128 → 0.1.130

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/dist/chunk-2PZRQHWF.js +2 -0
  2. package/dist/chunk-2PZRQHWF.js.map +7 -0
  3. package/dist/chunk-4YU4TAGX.js +3 -0
  4. package/dist/chunk-4YU4TAGX.js.map +7 -0
  5. package/dist/chunk-AP63Y7KE.js +159 -0
  6. package/dist/chunk-AP63Y7KE.js.map +7 -0
  7. package/dist/chunk-Q36WX5RP.js +4 -0
  8. package/dist/chunk-Q36WX5RP.js.map +7 -0
  9. package/dist/chunk-V375VXOL.js +5 -0
  10. package/dist/chunk-V375VXOL.js.map +7 -0
  11. package/dist/chunk-YGCVOVNX.js +2 -0
  12. package/dist/chunk-YGCVOVNX.js.map +7 -0
  13. package/dist/{chunk-YSBF5C7C.js → chunk-Z6KTUVIC.js} +2 -2
  14. package/dist/chunk-Z6KTUVIC.js.map +7 -0
  15. package/dist/cli.js +6 -6
  16. package/dist/cli.js.map +3 -3
  17. package/dist/dev-server.js +11 -11
  18. package/dist/dev-server.js.map +4 -4
  19. package/dist/dev-wizard-run-LYNLPQMV.js +2 -0
  20. package/dist/dev-wizard-run-LYNLPQMV.js.map +7 -0
  21. package/dist/entry/index.d.ts +1 -1
  22. package/dist/entry/vite.d.ts +2 -0
  23. package/dist/index.js +1 -1
  24. package/dist/lib/package-config/package-config-schema.d.ts +35 -0
  25. package/dist/lib/package-config/package-config.d.ts +28 -0
  26. package/dist/lib/release-slug/release-slug.d.ts +19 -0
  27. package/dist/lib/vite/vite.d.ts +136 -0
  28. package/dist/mcp.js +1 -1
  29. package/dist/mcp.js.map +1 -1
  30. package/dist/vite.js +2 -0
  31. package/dist/vite.js.map +7 -0
  32. package/package.json +11 -3
  33. package/.eslintcache +0 -1
  34. package/.omc/state/agent-replay-036daa78-5fee-4c7d-9b44-53584acb0d87.jsonl +0 -26
  35. package/.omc/state/agent-replay-0a58307d-2a37-4c69-851c-83a646502d62.jsonl +0 -1
  36. package/.omc/state/agent-replay-0a65ec83-9de7-458d-9d0f-e56e1a26c68e.jsonl +0 -2
  37. package/.omc/state/agent-replay-0d1515ce-4ebe-4ce8-a865-2897f68de168.jsonl +0 -1
  38. package/.omc/state/agent-replay-11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc.jsonl +0 -16
  39. package/.omc/state/agent-replay-127837d3-a000-4656-9453-2324ab353723.jsonl +0 -5
  40. package/.omc/state/agent-replay-15c409af-24fa-4026-88d3-a82dd1e68b87.jsonl +0 -11
  41. package/.omc/state/agent-replay-1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a.jsonl +0 -17
  42. package/.omc/state/agent-replay-1fcfe0ec-7567-41c3-9bfd-501e99e86819.jsonl +0 -19
  43. package/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
  44. package/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -1
  45. package/.omc/state/agent-replay-36d91435-50b4-442f-9f4e-3cc68d776236.jsonl +0 -2
  46. package/.omc/state/agent-replay-38382db5-3088-4b5a-aff7-2561a60827c7.jsonl +0 -17
  47. package/.omc/state/agent-replay-4cf1c186-81b2-497c-b002-d7f84e7839f3.jsonl +0 -9
  48. package/.omc/state/agent-replay-50c36be9-a3a2-42b9-9c85-5a06d3e22f6a.jsonl +0 -5
  49. package/.omc/state/agent-replay-5c4ab554-64f1-42ae-83e3-21e0237e955c.jsonl +0 -11
  50. package/.omc/state/agent-replay-6be1264f-8069-4412-8119-86118ed1943e.jsonl +0 -3
  51. package/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
  52. package/.omc/state/agent-replay-74afa912-1443-4011-b4f2-db9f055cdd9f.jsonl +0 -3
  53. package/.omc/state/agent-replay-8198b3e5-fad6-4ee0-9c59-ef773ad89af4.jsonl +0 -1
  54. package/.omc/state/agent-replay-8cd7652a-b8b5-49cf-9b1f-bee8e5972458.jsonl +0 -3
  55. package/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -3
  56. package/.omc/state/agent-replay-9bea518f-a9ee-4d14-bb53-a936ebaf647c.jsonl +0 -7
  57. package/.omc/state/agent-replay-a60ac2ec-afbd-449f-a540-6df287392fc2.jsonl +0 -1
  58. package/.omc/state/agent-replay-afc6290b-40d3-4bef-b3b6-14484c034ab9.jsonl +0 -14
  59. package/.omc/state/agent-replay-b52d89fb-0e24-4901-bc66-27e3c1697126.jsonl +0 -2
  60. package/.omc/state/agent-replay-be37e426-6fc8-47f4-8178-221c8494551c.jsonl +0 -3
  61. package/.omc/state/agent-replay-c967c819-3d1c-447b-ab48-56a8448ef9f8.jsonl +0 -2
  62. package/.omc/state/agent-replay-d02e6565-5168-40c8-8629-de219a29fa43.jsonl +0 -2
  63. package/.omc/state/agent-replay-d367c3be-9c2a-48e7-bcea-b45861af568c.jsonl +0 -2
  64. package/.omc/state/agent-replay-d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc.jsonl +0 -10
  65. package/.omc/state/agent-replay-e947a3c6-989d-4a60-91dd-6b0ddd827b2d.jsonl +0 -3
  66. package/.omc/state/agent-replay-eb44055b-c2fa-4e66-b491-a1d9b44f51c7.jsonl +0 -1
  67. package/.omc/state/agent-replay-f2846d8f-974c-486c-b16f-4bdaa28ca45f.jsonl +0 -2
  68. package/.omc/state/agent-replay-f581a1ae-0ee4-48a3-96f3-ce31a0633bb0.jsonl +0 -1
  69. package/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
  70. package/.omc/state/agent-replay-fe1057b4-9a25-4e8e-8c3f-3e11652ee697.jsonl +0 -5
  71. package/.omc/state/idle-notif-cooldown.json +0 -3
  72. package/.omc/state/last-tool-error.json +0 -7
  73. package/.omc/state/mission-state.json +0 -53
  74. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/last-tool-error-state.json +0 -7
  75. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/mission-state.json +0 -129
  76. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/pre-tool-advisory-throttle.json +0 -34
  77. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralph-state.json +0 -13
  78. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralplan-state.json +0 -11
  79. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/subagent-tracking-state.json +0 -80
  80. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ultrawork-state.json +0 -11
  81. package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
  82. package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/subagent-tracking-state.json +0 -7
  83. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/pre-tool-advisory-throttle.json +0 -18
  84. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/skill-active-state.json +0 -15
  85. package/.omc/state/sessions/0d1515ce-4ebe-4ce8-a865-2897f68de168/pre-tool-advisory-throttle.json +0 -10
  86. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/last-tool-error-state.json +0 -7
  87. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/mission-state.json +0 -117
  88. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/pre-tool-advisory-throttle.json +0 -42
  89. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/subagent-tracking-state.json +0 -53
  90. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/mission-state.json +0 -61
  91. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/pre-tool-advisory-throttle.json +0 -22
  92. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/skill-active-state.json +0 -15
  93. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/subagent-tracking-state.json +0 -26
  94. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/last-tool-error-state.json +0 -7
  95. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/mission-state.json +0 -89
  96. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/pre-tool-advisory-throttle.json +0 -34
  97. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ralph-state.json +0 -13
  98. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/skill-active-state.json +0 -15
  99. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/subagent-tracking-state.json +0 -44
  100. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ultrawork-state.json +0 -11
  101. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/last-tool-error-state.json +0 -7
  102. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/mission-state.json +0 -139
  103. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/pre-tool-advisory-throttle.json +0 -50
  104. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/ralplan-state.json +0 -11
  105. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/subagent-tracking-state.json +0 -90
  106. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/last-tool-error-state.json +0 -7
  107. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/mission-state.json +0 -109
  108. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/pre-tool-advisory-throttle.json +0 -42
  109. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ralph-state.json +0 -13
  110. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/skill-active-state.json +0 -15
  111. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/subagent-tracking-state.json +0 -62
  112. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ultrawork-state.json +0 -11
  113. package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/last-tool-error-state.json +0 -7
  114. package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/pre-tool-advisory-throttle.json +0 -18
  115. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/last-tool-error-state.json +0 -7
  116. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
  117. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -10
  118. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/skill-active-state.json +0 -15
  119. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
  120. package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -18
  121. package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
  122. package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/pre-tool-advisory-throttle.json +0 -18
  123. package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/subagent-tracking-state.json +0 -17
  124. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/last-tool-error-state.json +0 -7
  125. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/mission-state.json +0 -145
  126. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/pre-tool-advisory-throttle.json +0 -38
  127. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/ralplan-state.json +0 -11
  128. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/subagent-tracking-state.json +0 -98
  129. package/.omc/state/sessions/3a844fbd-ace8-4af1-8516-33d611839886/pre-tool-advisory-throttle.json +0 -18
  130. package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
  131. package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
  132. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/last-tool-error-state.json +0 -7
  133. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/pre-tool-advisory-throttle.json +0 -18
  134. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/subagent-tracking-state.json +0 -7
  135. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/mission-state.json +0 -61
  136. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/pre-tool-advisory-throttle.json +0 -22
  137. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/skill-active-state.json +0 -15
  138. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/subagent-tracking-state.json +0 -26
  139. package/.omc/state/sessions/560ea519-574a-4713-b134-5bf6cfaf3c33/pre-tool-advisory-throttle.json +0 -18
  140. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/mission-state.json +0 -117
  141. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/pre-tool-advisory-throttle.json +0 -18
  142. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/subagent-tracking-state.json +0 -17
  143. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/last-tool-error-state.json +0 -7
  144. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/mission-state.json +0 -53
  145. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/pre-tool-advisory-throttle.json +0 -22
  146. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/skill-active-state.json +0 -15
  147. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/subagent-tracking-state.json +0 -17
  148. package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -18
  149. package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
  150. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/pre-tool-advisory-throttle.json +0 -18
  151. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/skill-active-state.json +0 -15
  152. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/subagent-tracking-state.json +0 -17
  153. package/.omc/state/sessions/7772f972-4ec1-4287-bf42-a92c14cf3ffc/pre-tool-advisory-throttle.json +0 -10
  154. package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/pre-tool-advisory-throttle.json +0 -14
  155. package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/subagent-tracking-state.json +0 -17
  156. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/pre-tool-advisory-throttle.json +0 -18
  157. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/ralplan-state.json +0 -11
  158. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/subagent-tracking-state.json +0 -35
  159. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
  160. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
  161. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -17
  162. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
  163. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/last-tool-error-state.json +0 -7
  164. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/mission-state.json +0 -79
  165. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/pre-tool-advisory-throttle.json +0 -22
  166. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/progress.txt +0 -7
  167. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/skill-active-state.json +0 -15
  168. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/subagent-tracking-state.json +0 -26
  169. package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/pre-tool-advisory-throttle.json +0 -18
  170. package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/subagent-tracking-state.json +0 -7
  171. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/last-tool-error-state.json +0 -7
  172. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/mission-state.json +0 -89
  173. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -34
  174. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ralph-state.json +0 -13
  175. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/skill-active-state.json +0 -15
  176. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/subagent-tracking-state.json +0 -35
  177. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ultrawork-state.json +0 -11
  178. package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/pre-tool-advisory-throttle.json +0 -14
  179. package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/subagent-tracking-state.json +0 -17
  180. package/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -18
  181. package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -10
  182. package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/subagent-tracking-state.json +0 -7
  183. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/last-tool-error-state.json +0 -7
  184. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/mission-state.json +0 -53
  185. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/pre-tool-advisory-throttle.json +0 -18
  186. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/subagent-tracking-state.json +0 -17
  187. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/last-tool-error-state.json +0 -7
  188. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/mission-state.json +0 -103
  189. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/pre-tool-advisory-throttle.json +0 -30
  190. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ralph-state.json +0 -13
  191. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/subagent-tracking-state.json +0 -62
  192. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ultrawork-state.json +0 -11
  193. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/last-tool-error-state.json +0 -7
  194. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/pre-tool-advisory-throttle.json +0 -10
  195. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/subagent-tracking-state.json +0 -26
  196. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/last-tool-error-state.json +0 -7
  197. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/pre-tool-advisory-throttle.json +0 -18
  198. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/subagent-tracking-state.json +0 -17
  199. package/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
  200. package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/pre-tool-advisory-throttle.json +0 -18
  201. package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/subagent-tracking-state.json +0 -17
  202. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
  203. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ralph-state.json +0 -13
  204. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ultrawork-state.json +0 -11
  205. package/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
  206. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/last-tool-error-state.json +0 -7
  207. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/mission-state.json +0 -61
  208. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/prd.json +0 -22
  209. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/pre-tool-advisory-throttle.json +0 -22
  210. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/progress.txt +0 -22
  211. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/skill-active-state.json +0 -15
  212. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/subagent-tracking-state.json +0 -26
  213. package/.omc/state/subagent-tracking.json +0 -17
  214. package/.turbo/turbo-build.log +0 -7
  215. package/.turbo/turbo-check.log +0 -14
  216. package/.turbo/turbo-eslint-check.log +0 -2
  217. package/.turbo/turbo-eslint-fix.log +0 -1
  218. package/.turbo/turbo-infra-kit-check.log +0 -14
  219. package/.turbo/turbo-prettier-check.log +0 -1
  220. package/.turbo/turbo-prettier-fix.log +0 -1
  221. package/.turbo/turbo-test.log +0 -406
  222. package/.turbo/turbo-ts-check.log +0 -1
  223. package/.turbo/turbo-validate.log +0 -14
  224. package/coverage/base.css +0 -224
  225. package/coverage/block-navigation.js +0 -87
  226. package/coverage/cli/index.html +0 -116
  227. package/coverage/cli/package.json.html +0 -283
  228. package/coverage/cli/src/commands/audit/audit.ts.html +0 -616
  229. package/coverage/cli/src/commands/audit/index.html +0 -131
  230. package/coverage/cli/src/commands/audit/index.ts.html +0 -88
  231. package/coverage/cli/src/commands/doctor/doctor.ts.html +0 -1654
  232. package/coverage/cli/src/commands/doctor/index.html +0 -131
  233. package/coverage/cli/src/commands/doctor/index.ts.html +0 -88
  234. package/coverage/cli/src/commands/env-clear/env-clear.ts.html +0 -370
  235. package/coverage/cli/src/commands/env-clear/index.html +0 -131
  236. package/coverage/cli/src/commands/env-clear/index.ts.html +0 -88
  237. package/coverage/cli/src/commands/env-list/env-list.ts.html +0 -229
  238. package/coverage/cli/src/commands/env-list/index.html +0 -131
  239. package/coverage/cli/src/commands/env-list/index.ts.html +0 -88
  240. package/coverage/cli/src/commands/env-load/env-load.ts.html +0 -1201
  241. package/coverage/cli/src/commands/env-load/index.html +0 -131
  242. package/coverage/cli/src/commands/env-load/index.ts.html +0 -91
  243. package/coverage/cli/src/commands/env-status/env-status.ts.html +0 -409
  244. package/coverage/cli/src/commands/env-status/index.html +0 -131
  245. package/coverage/cli/src/commands/env-status/index.ts.html +0 -88
  246. package/coverage/cli/src/commands/gh-merge-dev/gh-merge-dev.ts.html +0 -694
  247. package/coverage/cli/src/commands/gh-merge-dev/index.html +0 -131
  248. package/coverage/cli/src/commands/gh-merge-dev/index.ts.html +0 -88
  249. package/coverage/cli/src/commands/gh-release-deliver/gh-release-deliver.ts.html +0 -1495
  250. package/coverage/cli/src/commands/gh-release-deliver/index.html +0 -131
  251. package/coverage/cli/src/commands/gh-release-deliver/index.ts.html +0 -88
  252. package/coverage/cli/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts.html +0 -706
  253. package/coverage/cli/src/commands/gh-release-deploy-all/index.html +0 -131
  254. package/coverage/cli/src/commands/gh-release-deploy-all/index.ts.html +0 -88
  255. package/coverage/cli/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts.html +0 -994
  256. package/coverage/cli/src/commands/gh-release-deploy-selected/index.html +0 -131
  257. package/coverage/cli/src/commands/gh-release-deploy-selected/index.ts.html +0 -88
  258. package/coverage/cli/src/commands/gh-release-list/gh-release-list.ts.html +0 -355
  259. package/coverage/cli/src/commands/gh-release-list/index.html +0 -131
  260. package/coverage/cli/src/commands/gh-release-list/index.ts.html +0 -88
  261. package/coverage/cli/src/commands/init/agent-files.ts.html +0 -742
  262. package/coverage/cli/src/commands/init/index.html +0 -146
  263. package/coverage/cli/src/commands/init/init.ts.html +0 -1159
  264. package/coverage/cli/src/commands/init/migrate-config.ts.html +0 -1219
  265. package/coverage/cli/src/commands/release-create/index.html +0 -131
  266. package/coverage/cli/src/commands/release-create/index.ts.html +0 -88
  267. package/coverage/cli/src/commands/release-create/release-create.ts.html +0 -1426
  268. package/coverage/cli/src/commands/release-desc-edit/index.html +0 -131
  269. package/coverage/cli/src/commands/release-desc-edit/index.ts.html +0 -88
  270. package/coverage/cli/src/commands/release-desc-edit/release-desc-edit.ts.html +0 -766
  271. package/coverage/cli/src/commands/vendor-check/index.html +0 -131
  272. package/coverage/cli/src/commands/vendor-check/index.ts.html +0 -88
  273. package/coverage/cli/src/commands/vendor-check/vendor-check.ts.html +0 -466
  274. package/coverage/cli/src/commands/vendor-config/index.html +0 -116
  275. package/coverage/cli/src/commands/vendor-config/vendor-config.ts.html +0 -571
  276. package/coverage/cli/src/commands/vendor-diff/index.html +0 -131
  277. package/coverage/cli/src/commands/vendor-diff/index.ts.html +0 -88
  278. package/coverage/cli/src/commands/vendor-diff/vendor-diff.ts.html +0 -316
  279. package/coverage/cli/src/commands/vendor-manifest/index.html +0 -131
  280. package/coverage/cli/src/commands/vendor-manifest/index.ts.html +0 -88
  281. package/coverage/cli/src/commands/vendor-manifest/vendor-manifest.ts.html +0 -265
  282. package/coverage/cli/src/commands/vendor-sync/index.html +0 -131
  283. package/coverage/cli/src/commands/vendor-sync/index.ts.html +0 -88
  284. package/coverage/cli/src/commands/vendor-sync/vendor-sync.ts.html +0 -355
  285. package/coverage/cli/src/commands/version/index.html +0 -131
  286. package/coverage/cli/src/commands/version/index.ts.html +0 -88
  287. package/coverage/cli/src/commands/version/version.ts.html +0 -184
  288. package/coverage/cli/src/commands/worktrees-add/index.html +0 -131
  289. package/coverage/cli/src/commands/worktrees-add/index.ts.html +0 -88
  290. package/coverage/cli/src/commands/worktrees-add/worktrees-add.ts.html +0 -1183
  291. package/coverage/cli/src/commands/worktrees-list/index.html +0 -131
  292. package/coverage/cli/src/commands/worktrees-list/index.ts.html +0 -88
  293. package/coverage/cli/src/commands/worktrees-list/worktrees-list.ts.html +0 -400
  294. package/coverage/cli/src/commands/worktrees-reload/index.html +0 -131
  295. package/coverage/cli/src/commands/worktrees-reload/index.ts.html +0 -88
  296. package/coverage/cli/src/commands/worktrees-reload/worktrees-reload.ts.html +0 -775
  297. package/coverage/cli/src/commands/worktrees-remove/index.html +0 -131
  298. package/coverage/cli/src/commands/worktrees-remove/index.ts.html +0 -88
  299. package/coverage/cli/src/commands/worktrees-remove/worktrees-remove.ts.html +0 -682
  300. package/coverage/cli/src/commands/worktrees-sync/index.html +0 -131
  301. package/coverage/cli/src/commands/worktrees-sync/index.ts.html +0 -88
  302. package/coverage/cli/src/commands/worktrees-sync/worktrees-sync.ts.html +0 -679
  303. package/coverage/cli/src/dev/__tests__/fixtures.ts.html +0 -787
  304. package/coverage/cli/src/dev/__tests__/index.html +0 -116
  305. package/coverage/cli/src/dev/dev-server.ts.html +0 -1855
  306. package/coverage/cli/src/dev/discovery.ts.html +0 -598
  307. package/coverage/cli/src/dev/index.html +0 -191
  308. package/coverage/cli/src/dev/interfaces.ts.html +0 -223
  309. package/coverage/cli/src/dev/logger.ts.html +0 -1102
  310. package/coverage/cli/src/dev/ports.ts.html +0 -430
  311. package/coverage/cli/src/dev/serverless-local-run.ts.html +0 -916
  312. package/coverage/cli/src/entry/dev-server.ts.html +0 -409
  313. package/coverage/cli/src/entry/index.html +0 -116
  314. package/coverage/cli/src/index.html +0 -116
  315. package/coverage/cli/src/integrations/cmux/canonicalize-cmux-title.ts.html +0 -178
  316. package/coverage/cli/src/integrations/cmux/close-workspace-by-title.ts.html +0 -262
  317. package/coverage/cli/src/integrations/cmux/index.html +0 -191
  318. package/coverage/cli/src/integrations/cmux/index.ts.html +0 -100
  319. package/coverage/cli/src/integrations/cmux/list-workspace-titles.ts.html +0 -226
  320. package/coverage/cli/src/integrations/cmux/open-workspace-with-layout.ts.html +0 -325
  321. package/coverage/cli/src/integrations/cmux/workspace-title.ts.html +0 -154
  322. package/coverage/cli/src/integrations/cursor/add-folders-to-workspace.ts.html +0 -337
  323. package/coverage/cli/src/integrations/cursor/index.html +0 -206
  324. package/coverage/cli/src/integrations/cursor/index.ts.html +0 -103
  325. package/coverage/cli/src/integrations/cursor/launch-cursor.ts.html +0 -121
  326. package/coverage/cli/src/integrations/cursor/open-cursor-workspace.ts.html +0 -277
  327. package/coverage/cli/src/integrations/cursor/reconcile-workspace-folders.ts.html +0 -355
  328. package/coverage/cli/src/integrations/cursor/remove-folders-from-workspace.ts.html +0 -364
  329. package/coverage/cli/src/integrations/cursor/resolve-workspace-path.ts.html +0 -124
  330. package/coverage/cli/src/integrations/doppler/doppler-cli-auth.ts.html +0 -178
  331. package/coverage/cli/src/integrations/doppler/doppler-errors.ts.html +0 -349
  332. package/coverage/cli/src/integrations/doppler/doppler-project.ts.html +0 -355
  333. package/coverage/cli/src/integrations/doppler/index.html +0 -161
  334. package/coverage/cli/src/integrations/doppler/index.ts.html +0 -97
  335. package/coverage/cli/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts.html +0 -172
  336. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.html +0 -131
  337. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.ts.html +0 -88
  338. package/coverage/cli/src/integrations/gh/gh-release-prs/gh-release-prs.ts.html +0 -703
  339. package/coverage/cli/src/integrations/gh/gh-release-prs/index.html +0 -131
  340. package/coverage/cli/src/integrations/gh/gh-release-prs/index.ts.html +0 -91
  341. package/coverage/cli/src/integrations/gh/index.html +0 -116
  342. package/coverage/cli/src/integrations/gh/index.ts.html +0 -94
  343. package/coverage/cli/src/integrations/ide/add-ide-worktree-folders.ts.html +0 -316
  344. package/coverage/cli/src/integrations/ide/index.html +0 -191
  345. package/coverage/cli/src/integrations/ide/index.ts.html +0 -103
  346. package/coverage/cli/src/integrations/ide/open-ide-workspace.ts.html +0 -238
  347. package/coverage/cli/src/integrations/ide/provider-label.ts.html +0 -157
  348. package/coverage/cli/src/integrations/ide/remove-ide-worktree-folders.ts.html +0 -520
  349. package/coverage/cli/src/integrations/ide/types.ts.html +0 -208
  350. package/coverage/cli/src/integrations/jira/api.ts.html +0 -1060
  351. package/coverage/cli/src/integrations/jira/index.html +0 -131
  352. package/coverage/cli/src/integrations/jira/index.ts.html +0 -142
  353. package/coverage/cli/src/integrations/zed/add-folders-to-zed-workspace.ts.html +0 -175
  354. package/coverage/cli/src/integrations/zed/index.html +0 -161
  355. package/coverage/cli/src/integrations/zed/index.ts.html +0 -94
  356. package/coverage/cli/src/integrations/zed/open-zed-workspace.ts.html +0 -238
  357. package/coverage/cli/src/integrations/zed/reuse-zed-workspace.ts.html +0 -256
  358. package/coverage/cli/src/lib/assert-never/assert-never.ts.html +0 -130
  359. package/coverage/cli/src/lib/assert-never/index.html +0 -131
  360. package/coverage/cli/src/lib/assert-never/index.ts.html +0 -88
  361. package/coverage/cli/src/lib/command-catalog/command-catalog.ts.html +0 -523
  362. package/coverage/cli/src/lib/command-catalog/index.html +0 -116
  363. package/coverage/cli/src/lib/command-echo/command-echo.ts.html +0 -319
  364. package/coverage/cli/src/lib/command-echo/index.html +0 -131
  365. package/coverage/cli/src/lib/command-echo/index.ts.html +0 -88
  366. package/coverage/cli/src/lib/constants/constants.ts.html +0 -472
  367. package/coverage/cli/src/lib/constants/index.html +0 -131
  368. package/coverage/cli/src/lib/constants/index.ts.html +0 -139
  369. package/coverage/cli/src/lib/env-autoload/env-autoload.ts.html +0 -1111
  370. package/coverage/cli/src/lib/env-autoload/index.html +0 -116
  371. package/coverage/cli/src/lib/errors/format-zx-error.ts.html +0 -247
  372. package/coverage/cli/src/lib/errors/index.html +0 -146
  373. package/coverage/cli/src/lib/errors/is-prompt-cancellation.ts.html +0 -199
  374. package/coverage/cli/src/lib/errors/operation-error.ts.html +0 -325
  375. package/coverage/cli/src/lib/git-guard/git-guard.ts.html +0 -250
  376. package/coverage/cli/src/lib/git-guard/index.html +0 -131
  377. package/coverage/cli/src/lib/git-guard/index.ts.html +0 -91
  378. package/coverage/cli/src/lib/git-utils/git-utils.ts.html +0 -622
  379. package/coverage/cli/src/lib/git-utils/index.html +0 -131
  380. package/coverage/cli/src/lib/git-utils/index.ts.html +0 -115
  381. package/coverage/cli/src/lib/infra-kit-config/index.html +0 -131
  382. package/coverage/cli/src/lib/infra-kit-config/index.ts.html +0 -142
  383. package/coverage/cli/src/lib/infra-kit-config/infra-kit-config.ts.html +0 -1447
  384. package/coverage/cli/src/lib/json-output/index.html +0 -116
  385. package/coverage/cli/src/lib/json-output/json-output.ts.html +0 -226
  386. package/coverage/cli/src/lib/logger/index.html +0 -116
  387. package/coverage/cli/src/lib/logger/index.ts.html +0 -205
  388. package/coverage/cli/src/lib/managed-block/index.html +0 -131
  389. package/coverage/cli/src/lib/managed-block/index.ts.html +0 -109
  390. package/coverage/cli/src/lib/managed-block/managed-block.ts.html +0 -520
  391. package/coverage/cli/src/lib/package-config/index.html +0 -146
  392. package/coverage/cli/src/lib/package-config/index.ts.html +0 -94
  393. package/coverage/cli/src/lib/package-config/package-config-schema.ts.html +0 -142
  394. package/coverage/cli/src/lib/package-config/package-config.ts.html +0 -376
  395. package/coverage/cli/src/lib/package-validator/checks/config-check.ts.html +0 -175
  396. package/coverage/cli/src/lib/package-validator/checks/files-check.ts.html +0 -172
  397. package/coverage/cli/src/lib/package-validator/checks/index.html +0 -176
  398. package/coverage/cli/src/lib/package-validator/checks/index.ts.html +0 -97
  399. package/coverage/cli/src/lib/package-validator/checks/scripts-check.ts.html +0 -154
  400. package/coverage/cli/src/lib/package-validator/checks/turbo-check.ts.html +0 -226
  401. package/coverage/cli/src/lib/package-validator/fs-utils.ts.html +0 -139
  402. package/coverage/cli/src/lib/package-validator/index.html +0 -146
  403. package/coverage/cli/src/lib/package-validator/index.ts.html +0 -94
  404. package/coverage/cli/src/lib/package-validator/loader/config-loader.ts.html +0 -316
  405. package/coverage/cli/src/lib/package-validator/loader/index.html +0 -146
  406. package/coverage/cli/src/lib/package-validator/loader/index.ts.html +0 -91
  407. package/coverage/cli/src/lib/package-validator/loader/package-discovery.ts.html +0 -379
  408. package/coverage/cli/src/lib/package-validator/package-validator.ts.html +0 -229
  409. package/coverage/cli/src/lib/path-display/index.html +0 -131
  410. package/coverage/cli/src/lib/path-display/index.ts.html +0 -88
  411. package/coverage/cli/src/lib/path-display/path-display.ts.html +0 -211
  412. package/coverage/cli/src/lib/release-id/index.html +0 -131
  413. package/coverage/cli/src/lib/release-id/index.ts.html +0 -130
  414. package/coverage/cli/src/lib/release-id/release-id.ts.html +0 -859
  415. package/coverage/cli/src/lib/release-utils/index.html +0 -131
  416. package/coverage/cli/src/lib/release-utils/index.ts.html +0 -130
  417. package/coverage/cli/src/lib/release-utils/release-utils.ts.html +0 -778
  418. package/coverage/cli/src/lib/render/index.html +0 -116
  419. package/coverage/cli/src/lib/render/render.ts.html +0 -157
  420. package/coverage/cli/src/lib/vendor/__tests__/index.html +0 -116
  421. package/coverage/cli/src/lib/vendor/__tests__/zx-mock.ts.html +0 -181
  422. package/coverage/cli/src/lib/vendor/config-schema.ts.html +0 -319
  423. package/coverage/cli/src/lib/vendor/config.ts.html +0 -259
  424. package/coverage/cli/src/lib/vendor/factory-config-schema.ts.html +0 -190
  425. package/coverage/cli/src/lib/vendor/factory-config.ts.html +0 -358
  426. package/coverage/cli/src/lib/vendor/hash.ts.html +0 -133
  427. package/coverage/cli/src/lib/vendor/index.html +0 -251
  428. package/coverage/cli/src/lib/vendor/index.ts.html +0 -154
  429. package/coverage/cli/src/lib/vendor/manifest.ts.html +0 -538
  430. package/coverage/cli/src/lib/vendor/skip-sets.ts.html +0 -229
  431. package/coverage/cli/src/lib/vendor/sync-ops.ts.html +0 -955
  432. package/coverage/cli/src/lib/vendor/walk.ts.html +0 -253
  433. package/coverage/cli/src/lib/version-utils/index.html +0 -161
  434. package/coverage/cli/src/lib/version-utils/index.ts.html +0 -139
  435. package/coverage/cli/src/lib/version-utils/load-existing-versions.ts.html +0 -343
  436. package/coverage/cli/src/lib/version-utils/next-version.ts.html +0 -934
  437. package/coverage/cli/src/lib/version-utils/version-utils.ts.html +0 -178
  438. package/coverage/cli/src/lib/worktrees/index.html +0 -131
  439. package/coverage/cli/src/lib/worktrees/index.ts.html +0 -88
  440. package/coverage/cli/src/lib/worktrees/remove-worktrees.ts.html +0 -283
  441. package/coverage/cli/src/tui/boot.tsx.html +0 -265
  442. package/coverage/cli/src/tui/index.html +0 -116
  443. package/coverage/cli/src/tui/screens/command-palette.tsx.html +0 -562
  444. package/coverage/cli/src/tui/screens/index.html +0 -116
  445. package/coverage/cli/src/types.ts.html +0 -283
  446. package/coverage/clover.xml +0 -4488
  447. package/coverage/coverage-final.json +0 -156
  448. package/coverage/favicon.png +0 -0
  449. package/coverage/index.html +0 -1076
  450. package/coverage/prettify.css +0 -1
  451. package/coverage/prettify.js +0 -2
  452. package/coverage/sort-arrow-sprite.png +0 -0
  453. package/coverage/sorter.js +0 -210
  454. package/dist/chunk-DB6CTNBS.js +0 -3
  455. package/dist/chunk-DB6CTNBS.js.map +0 -7
  456. package/dist/chunk-QBHCWAAG.js +0 -164
  457. package/dist/chunk-QBHCWAAG.js.map +0 -7
  458. package/dist/chunk-YSBF5C7C.js.map +0 -7
  459. package/eslint.config.js +0 -35
  460. package/infra-kit.config.ts +0 -5
  461. package/scripts/build.js +0 -75
  462. package/src/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
  463. package/src/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -2
  464. package/src/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
  465. package/src/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -11
  466. package/src/.omc/state/agent-replay-c513ef38-cc3e-4a29-9c4c-1e0137245dd5.jsonl +0 -4
  467. package/src/.omc/state/agent-replay-ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a.jsonl +0 -2
  468. package/src/.omc/state/idle-notif-cooldown.json +0 -3
  469. package/src/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
  470. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
  471. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -26
  472. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
  473. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/last-tool-error-state.json +0 -7
  474. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/mission-state.json +0 -53
  475. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -22
  476. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
  477. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/last-tool-error-state.json +0 -7
  478. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/mission-state.json +0 -53
  479. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -22
  480. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
  481. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/mission-state.json +0 -79
  482. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -22
  483. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
  484. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -26
  485. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
  486. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/mission-state.json +0 -79
  487. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -22
  488. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/subagent-tracking-state.json +0 -26
  489. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
  490. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ralph-state.json +0 -13
  491. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ultrawork-state.json +0 -11
  492. package/src/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
  493. package/src/commands/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -14
  494. package/src/commands/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -18
  495. package/src/commands/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -14
  496. package/src/commands/audit/.omc/state/agent-replay-f9c17a0e-2dd8-4f7d-badf-631f266c5d4c.jsonl +0 -4
  497. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/mission-state.json +0 -79
  498. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -22
  499. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/subagent-tracking-state.json +0 -26
  500. package/src/commands/audit/__tests__/audit.test.ts +0 -59
  501. package/src/commands/audit/audit.ts +0 -177
  502. package/src/commands/audit/index.ts +0 -1
  503. package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
  504. package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
  505. package/src/commands/config/config.ts +0 -137
  506. package/src/commands/config/index.ts +0 -1
  507. package/src/commands/doctor/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
  508. package/src/commands/doctor/__tests__/agent-files.test.ts +0 -88
  509. package/src/commands/doctor/__tests__/check-ide-installed.test.ts +0 -142
  510. package/src/commands/doctor/__tests__/check-legacy-user-global-config.test.ts +0 -110
  511. package/src/commands/doctor/doctor.ts +0 -576
  512. package/src/commands/doctor/index.ts +0 -1
  513. package/src/commands/env-autoload/env-autoload.ts +0 -24
  514. package/src/commands/env-autoload/index.ts +0 -1
  515. package/src/commands/env-clear/__tests__/env-clear.test.ts +0 -27
  516. package/src/commands/env-clear/env-clear.ts +0 -136
  517. package/src/commands/env-clear/index.ts +0 -1
  518. package/src/commands/env-list/env-list.ts +0 -48
  519. package/src/commands/env-list/index.ts +0 -1
  520. package/src/commands/env-load/__tests__/env-load.test.ts +0 -200
  521. package/src/commands/env-load/env-load.ts +0 -394
  522. package/src/commands/env-load/index.ts +0 -2
  523. package/src/commands/env-status/__tests__/env-status.test.ts +0 -78
  524. package/src/commands/env-status/env-status.ts +0 -108
  525. package/src/commands/env-status/index.ts +0 -1
  526. package/src/commands/gh-merge-dev/gh-merge-dev.ts +0 -203
  527. package/src/commands/gh-merge-dev/index.ts +0 -1
  528. package/src/commands/gh-release-deliver/gh-release-deliver.ts +0 -470
  529. package/src/commands/gh-release-deliver/index.ts +0 -1
  530. package/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts +0 -207
  531. package/src/commands/gh-release-deploy-all/index.ts +0 -1
  532. package/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts +0 -303
  533. package/src/commands/gh-release-deploy-selected/index.ts +0 -1
  534. package/src/commands/gh-release-list/gh-release-list.ts +0 -90
  535. package/src/commands/gh-release-list/index.ts +0 -1
  536. package/src/commands/init/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
  537. package/src/commands/init/__tests__/agent-files.test.ts +0 -265
  538. package/src/commands/init/__tests__/migrate-config.test.ts +0 -422
  539. package/src/commands/init/__tests__/migrate-factory-config.test.ts +0 -93
  540. package/src/commands/init/__tests__/seed-user-global-config.test.ts +0 -64
  541. package/src/commands/init/__tests__/shell-body.test.ts +0 -131
  542. package/src/commands/init/agent-files.ts +0 -219
  543. package/src/commands/init/index.ts +0 -8
  544. package/src/commands/init/init.ts +0 -440
  545. package/src/commands/init/migrate-config.ts +0 -378
  546. package/src/commands/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  547. package/src/commands/release-create/__tests__/release-create.test.ts +0 -92
  548. package/src/commands/release-create/index.ts +0 -1
  549. package/src/commands/release-create/release-create.ts +0 -447
  550. package/src/commands/release-desc-edit/index.ts +0 -1
  551. package/src/commands/release-desc-edit/release-desc-edit.ts +0 -227
  552. package/src/commands/vendor-check/__tests__/runtime-isolation.test.ts +0 -71
  553. package/src/commands/vendor-check/__tests__/vendor-check.test.ts +0 -87
  554. package/src/commands/vendor-check/index.ts +0 -1
  555. package/src/commands/vendor-check/vendor-check.ts +0 -127
  556. package/src/commands/vendor-config/__tests__/vendor-config.test.ts +0 -103
  557. package/src/commands/vendor-config/index.ts +0 -1
  558. package/src/commands/vendor-config/vendor-config.ts +0 -162
  559. package/src/commands/vendor-diff/__tests__/vendor-diff.test.ts +0 -74
  560. package/src/commands/vendor-diff/index.ts +0 -1
  561. package/src/commands/vendor-diff/vendor-diff.ts +0 -77
  562. package/src/commands/vendor-manifest/index.ts +0 -1
  563. package/src/commands/vendor-manifest/vendor-manifest.ts +0 -60
  564. package/src/commands/vendor-sync/__tests__/vendor-write.test.ts +0 -86
  565. package/src/commands/vendor-sync/index.ts +0 -1
  566. package/src/commands/vendor-sync/vendor-sync.ts +0 -90
  567. package/src/commands/version/index.ts +0 -1
  568. package/src/commands/version/version.ts +0 -33
  569. package/src/commands/worktrees-add/index.ts +0 -1
  570. package/src/commands/worktrees-add/worktrees-add.ts +0 -366
  571. package/src/commands/worktrees-list/index.ts +0 -1
  572. package/src/commands/worktrees-list/worktrees-list.ts +0 -105
  573. package/src/commands/worktrees-reload/__tests__/reload-cmux.test.ts +0 -119
  574. package/src/commands/worktrees-reload/index.ts +0 -1
  575. package/src/commands/worktrees-reload/worktrees-reload.ts +0 -230
  576. package/src/commands/worktrees-remove/index.ts +0 -1
  577. package/src/commands/worktrees-remove/worktrees-remove.ts +0 -199
  578. package/src/commands/worktrees-sync/index.ts +0 -1
  579. package/src/commands/worktrees-sync/worktrees-sync.ts +0 -198
  580. package/src/dev/__tests__/dev-server-options.test.ts +0 -57
  581. package/src/dev/__tests__/dev-server.test.ts +0 -420
  582. package/src/dev/__tests__/discovery.test.ts +0 -181
  583. package/src/dev/__tests__/fixtures.ts +0 -257
  584. package/src/dev/__tests__/ports.test.ts +0 -98
  585. package/src/dev/__tests__/serverless-local-run.test.ts +0 -533
  586. package/src/dev/dev-server.ts +0 -796
  587. package/src/dev/discovery.ts +0 -229
  588. package/src/dev/interfaces.ts +0 -11
  589. package/src/dev/managed-child.ts +0 -73
  590. package/src/dev/ports.ts +0 -100
  591. package/src/dev/serverless-local-run.ts +0 -329
  592. package/src/dev/turbo-watch.ts +0 -62
  593. package/src/dev/ui-dev.ts +0 -62
  594. package/src/entry/cli.ts +0 -630
  595. package/src/entry/dev-server.ts +0 -103
  596. package/src/entry/index.ts +0 -11
  597. package/src/entry/mcp.ts +0 -43
  598. package/src/integrations/cmux/__tests__/canonicalize-cmux-title.test.ts +0 -56
  599. package/src/integrations/cmux/__tests__/close-workspace-by-title.test.ts +0 -63
  600. package/src/integrations/cmux/__tests__/list-workspace-titles.test.ts +0 -65
  601. package/src/integrations/cmux/__tests__/open-workspace-with-layout.test.ts +0 -127
  602. package/src/integrations/cmux/canonicalize-cmux-title.ts +0 -31
  603. package/src/integrations/cmux/close-workspace-by-title.ts +0 -59
  604. package/src/integrations/cmux/index.ts +0 -5
  605. package/src/integrations/cmux/list-workspace-titles.ts +0 -47
  606. package/src/integrations/cmux/open-workspace-with-layout.ts +0 -80
  607. package/src/integrations/cmux/workspace-title.ts +0 -23
  608. package/src/integrations/cursor/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
  609. package/src/integrations/cursor/.omc/state/idle-notif-cooldown.json +0 -3
  610. package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -18
  611. package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/subagent-tracking-state.json +0 -17
  612. package/src/integrations/cursor/add-folders-to-workspace.ts +0 -84
  613. package/src/integrations/cursor/index.ts +0 -6
  614. package/src/integrations/cursor/launch-cursor.ts +0 -12
  615. package/src/integrations/cursor/open-cursor-workspace.ts +0 -64
  616. package/src/integrations/cursor/reconcile-workspace-folders.ts +0 -90
  617. package/src/integrations/cursor/remove-folders-from-workspace.ts +0 -93
  618. package/src/integrations/cursor/resolve-workspace-path.ts +0 -13
  619. package/src/integrations/doppler/__tests__/doppler-errors.test.ts +0 -76
  620. package/src/integrations/doppler/doppler-cli-auth.ts +0 -31
  621. package/src/integrations/doppler/doppler-errors.ts +0 -88
  622. package/src/integrations/doppler/doppler-project.ts +0 -90
  623. package/src/integrations/doppler/index.ts +0 -4
  624. package/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts +0 -29
  625. package/src/integrations/gh/gh-cli-auth/index.ts +0 -1
  626. package/src/integrations/gh/gh-release-prs/.omc/state/sessions/c6ed6186-1aac-48e0-aa2a-edc6da8e0410/pre-tool-advisory-throttle.json +0 -10
  627. package/src/integrations/gh/gh-release-prs/__tests__/gh-release-prs.test.ts +0 -198
  628. package/src/integrations/gh/gh-release-prs/gh-release-prs.ts +0 -206
  629. package/src/integrations/gh/gh-release-prs/index.ts +0 -2
  630. package/src/integrations/gh/index.ts +0 -3
  631. package/src/integrations/ide/__tests__/ide-facade.test.ts +0 -289
  632. package/src/integrations/ide/add-ide-worktree-folders.ts +0 -77
  633. package/src/integrations/ide/index.ts +0 -6
  634. package/src/integrations/ide/open-ide-workspace.ts +0 -51
  635. package/src/integrations/ide/provider-label.ts +0 -24
  636. package/src/integrations/ide/remove-ide-worktree-folders.ts +0 -145
  637. package/src/integrations/ide/types.ts +0 -41
  638. package/src/integrations/jira/api.ts +0 -325
  639. package/src/integrations/jira/index.ts +0 -19
  640. package/src/integrations/jira/types.ts +0 -85
  641. package/src/integrations/linear/.gitkeep +0 -0
  642. package/src/integrations/zed/__tests__/open-zed-workspace.test.ts +0 -69
  643. package/src/integrations/zed/__tests__/reuse-zed-workspace.test.ts +0 -86
  644. package/src/integrations/zed/add-folders-to-zed-workspace.ts +0 -30
  645. package/src/integrations/zed/index.ts +0 -3
  646. package/src/integrations/zed/open-zed-workspace.ts +0 -51
  647. package/src/integrations/zed/reuse-zed-workspace.ts +0 -57
  648. package/src/lib/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -18
  649. package/src/lib/assert-never/assert-never.ts +0 -15
  650. package/src/lib/assert-never/index.ts +0 -1
  651. package/src/lib/command-catalog/__tests__/__snapshots__/command-catalog.test.ts.snap +0 -213
  652. package/src/lib/command-catalog/__tests__/command-catalog.test.ts +0 -193
  653. package/src/lib/command-catalog/command-catalog.ts +0 -146
  654. package/src/lib/command-catalog/index.ts +0 -2
  655. package/src/lib/command-echo/__tests__/command-echo.test.ts +0 -127
  656. package/src/lib/command-echo/command-echo.ts +0 -78
  657. package/src/lib/command-echo/index.ts +0 -1
  658. package/src/lib/constants/__tests__/constants.test.ts +0 -182
  659. package/src/lib/constants/constants.ts +0 -167
  660. package/src/lib/constants/index.ts +0 -22
  661. package/src/lib/env-autoload/__tests__/env-autoload.test.ts +0 -327
  662. package/src/lib/env-autoload/env-autoload.ts +0 -373
  663. package/src/lib/env-autoload/index.ts +0 -9
  664. package/src/lib/error-handlers/index.ts +0 -36
  665. package/src/lib/errors/__tests__/is-prompt-cancellation.test.ts +0 -48
  666. package/src/lib/errors/__tests__/operation-error.test.ts +0 -62
  667. package/src/lib/errors/format-zx-error.ts +0 -54
  668. package/src/lib/errors/is-prompt-cancellation.ts +0 -38
  669. package/src/lib/errors/operation-error.ts +0 -80
  670. package/src/lib/git-guard/__tests__/git-guard.test.ts +0 -92
  671. package/src/lib/git-guard/git-guard.ts +0 -55
  672. package/src/lib/git-guard/index.ts +0 -2
  673. package/src/lib/git-utils/__tests__/git-primitives.test.ts +0 -217
  674. package/src/lib/git-utils/__tests__/git-utils.test.ts +0 -49
  675. package/src/lib/git-utils/git-utils.ts +0 -179
  676. package/src/lib/git-utils/index.ts +0 -10
  677. package/src/lib/infra-kit-config/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
  678. package/src/lib/infra-kit-config/__tests__/env-autoload-schema.test.ts +0 -71
  679. package/src/lib/infra-kit-config/__tests__/infra-kit-config.test.ts +0 -504
  680. package/src/lib/infra-kit-config/index.ts +0 -19
  681. package/src/lib/infra-kit-config/infra-kit-config.ts +0 -454
  682. package/src/lib/json-output/__tests__/json-output.test.ts +0 -139
  683. package/src/lib/json-output/index.ts +0 -1
  684. package/src/lib/json-output/json-output.ts +0 -47
  685. package/src/lib/logger/index.ts +0 -40
  686. package/src/lib/managed-block/__tests__/managed-block.test.ts +0 -121
  687. package/src/lib/managed-block/index.ts +0 -8
  688. package/src/lib/managed-block/managed-block.ts +0 -145
  689. package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/last-tool-error-state.json +0 -7
  690. package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/pre-tool-advisory-throttle.json +0 -10
  691. package/src/lib/package-config/__tests__/package-config.test.ts +0 -95
  692. package/src/lib/package-config/index.ts +0 -3
  693. package/src/lib/package-config/package-config-schema.ts +0 -19
  694. package/src/lib/package-config/package-config.ts +0 -97
  695. package/src/lib/package-validator/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
  696. package/src/lib/package-validator/__tests__/package-validator.test.ts +0 -270
  697. package/src/lib/package-validator/checks/__tests__/checks.test.ts +0 -130
  698. package/src/lib/package-validator/checks/config-check.ts +0 -30
  699. package/src/lib/package-validator/checks/files-check.ts +0 -29
  700. package/src/lib/package-validator/checks/index.ts +0 -4
  701. package/src/lib/package-validator/checks/scripts-check.ts +0 -23
  702. package/src/lib/package-validator/checks/turbo-check.ts +0 -47
  703. package/src/lib/package-validator/fs-utils.ts +0 -18
  704. package/src/lib/package-validator/index.ts +0 -3
  705. package/src/lib/package-validator/loader/config-loader.ts +0 -77
  706. package/src/lib/package-validator/loader/index.ts +0 -2
  707. package/src/lib/package-validator/loader/package-discovery.ts +0 -98
  708. package/src/lib/package-validator/package-validator.ts +0 -48
  709. package/src/lib/package-validator/types.ts +0 -15
  710. package/src/lib/path-display/index.ts +0 -1
  711. package/src/lib/path-display/path-display.ts +0 -42
  712. package/src/lib/release-id/__tests__/release-id.test.ts +0 -359
  713. package/src/lib/release-id/__tests__/versioned-regression.test.ts +0 -69
  714. package/src/lib/release-id/index.ts +0 -15
  715. package/src/lib/release-id/release-id.ts +0 -258
  716. package/src/lib/release-utils/__tests__/release-utils.test.ts +0 -122
  717. package/src/lib/release-utils/index.ts +0 -15
  718. package/src/lib/release-utils/release-utils.ts +0 -231
  719. package/src/lib/render/__tests__/render.test.ts +0 -48
  720. package/src/lib/render/index.ts +0 -1
  721. package/src/lib/render/render.ts +0 -24
  722. package/src/lib/tool-handler/index.ts +0 -1
  723. package/src/lib/tool-handler/tool-handler.ts +0 -30
  724. package/src/lib/vendor/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -10
  725. package/src/lib/vendor/__tests__/config-schema.test.ts +0 -31
  726. package/src/lib/vendor/__tests__/config.test.ts +0 -63
  727. package/src/lib/vendor/__tests__/factory-config.test.ts +0 -92
  728. package/src/lib/vendor/__tests__/vendor-lib.test.ts +0 -158
  729. package/src/lib/vendor/__tests__/zx-mock.ts +0 -32
  730. package/src/lib/vendor/config-schema.ts +0 -78
  731. package/src/lib/vendor/config.ts +0 -58
  732. package/src/lib/vendor/factory-config-schema.ts +0 -35
  733. package/src/lib/vendor/factory-config.ts +0 -91
  734. package/src/lib/vendor/hash.ts +0 -16
  735. package/src/lib/vendor/index.ts +0 -23
  736. package/src/lib/vendor/manifest.ts +0 -151
  737. package/src/lib/vendor/skip-sets.ts +0 -48
  738. package/src/lib/vendor/sync-ops.ts +0 -290
  739. package/src/lib/vendor/walk.ts +0 -56
  740. package/src/lib/version-utils/__tests__/load-existing-versions.test.ts +0 -37
  741. package/src/lib/version-utils/__tests__/next-version.test.ts +0 -407
  742. package/src/lib/version-utils/index.ts +0 -18
  743. package/src/lib/version-utils/load-existing-versions.ts +0 -86
  744. package/src/lib/version-utils/next-version.ts +0 -283
  745. package/src/lib/version-utils/version-utils.ts +0 -31
  746. package/src/lib/warm-cache/__tests__/warm-cache.test.ts +0 -164
  747. package/src/lib/warm-cache/index.ts +0 -7
  748. package/src/lib/warm-cache/warm-cache.ts +0 -136
  749. package/src/lib/worktrees/__tests__/remove-worktrees.test.ts +0 -167
  750. package/src/lib/worktrees/index.ts +0 -1
  751. package/src/lib/worktrees/remove-worktrees.ts +0 -66
  752. package/src/mcp/prompts/index.ts +0 -3
  753. package/src/mcp/resources/index.ts +0 -3
  754. package/src/mcp/server.ts +0 -27
  755. package/src/mcp/tools/index.ts +0 -21
  756. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  757. package/src/sanity.test.tsx +0 -8
  758. package/src/tui/__tests__/boot.test.tsx +0 -61
  759. package/src/tui/__tests__/no-react-boundary.test.ts +0 -51
  760. package/src/tui/boot.tsx +0 -60
  761. package/src/tui/screens/__tests__/command-palette.test.tsx +0 -136
  762. package/src/tui/screens/command-palette.tsx +0 -159
  763. package/src/tui/types.ts +0 -8
  764. package/src/types.ts +0 -66
  765. package/tsconfig.json +0 -46
  766. package/tsconfig.tsbuildinfo +0 -1
  767. package/vitest.config.ts +0 -26
  768. package/vitest.setup.ts +0 -1
@@ -1,454 +0,0 @@
1
- import fs from 'node:fs/promises'
2
- import os from 'node:os'
3
- import path from 'node:path'
4
- import { z } from 'zod'
5
-
6
- import { getProjectRoot } from 'src/lib/git-utils'
7
-
8
- const INFRA_KIT_CONFIG_FILE = 'infra-kit.json'
9
-
10
- /**
11
- * Directory under the user's home that holds all machine-local infra-kit config:
12
- * the runtime `infra-kit.json` merge layer, per-project overrides, and the factory
13
- * registry (`vendor.json`). Single source of truth for `.infra-kit`, reused
14
- * by the vendor factory-config loader (no import cycle — this module imports no
15
- * `lib/vendor` code).
16
- */
17
- export const USER_CONFIG_DIR_NAME = '.infra-kit'
18
- const USER_GLOBAL_CONFIG_FILE = 'infra-kit.json'
19
- const USER_PROJECTS_DIR = 'projects'
20
-
21
- // envManagement
22
- const dopplerEnvManagementSchema = z.object({
23
- provider: z.literal('doppler'),
24
- config: z.object({
25
- name: z.string().min(1),
26
- }),
27
- })
28
-
29
- const envManagementSchema = z.discriminatedUnion('provider', [dopplerEnvManagementSchema])
30
-
31
- // ide
32
- // There is one attach style: each worktree is added to the configured editor's
33
- // workspace and opened (no per-window mode). Cursor needs a `.code-workspace`
34
- // path to reconcile its `folders` array against.
35
- const cursorIdeConfigSchema = z.object({
36
- workspaceConfigPath: z.string().min(1),
37
- })
38
-
39
- const cursorIdeSchema = z.object({
40
- provider: z.literal('cursor'),
41
- config: cursorIdeConfigSchema,
42
- })
43
-
44
- // Zed has no portable workspace file (no `.code-workspace`) and no folder-remove
45
- // CLI: a multi-worktree workspace is realized by a single `zed <root> <wt...>`
46
- // invocation. So `config` carries no settings — there's no path to point at.
47
- const zedIdeConfigSchema = z.object({})
48
-
49
- const zedIdeSchema = z.object({
50
- provider: z.literal('zed'),
51
- config: zedIdeConfigSchema,
52
- })
53
-
54
- const ideSchema = z.discriminatedUnion('provider', [cursorIdeSchema, zedIdeSchema])
55
-
56
- // `ide` accepts a single provider (back-compat) OR an array to drive multiple
57
- // editors at once (e.g. Cursor + Zed). Normalized to an array everywhere via
58
- // `resolveConfiguredIdes`. Uniqueness-by-provider is enforced at parse time by a
59
- // `.superRefine` on the full config schema (see below) — not here, so the message
60
- // survives `z.union` error aggregation.
61
- const idesSchema = z.union([ideSchema, z.array(ideSchema).min(1)])
62
-
63
- // taskManager
64
- const jiraTaskManagerSchema = z.object({
65
- provider: z.literal('jira'),
66
- config: z.object({
67
- baseUrl: z.string().url(),
68
- projectId: z.number().int().positive(),
69
- }),
70
- })
71
-
72
- const taskManagerSchema = z.discriminatedUnion('provider', [jiraTaskManagerSchema])
73
-
74
- // cmux pane layout for opened worktree workspaces. Named presets keep the config
75
- // typo-proof (an enum, not a free string) and let the opener switch on a single
76
- // value; extend the enum + the opener's switch to add a layout.
77
- // two-columns — left | right, both full-height (default)
78
- // three-pane — left split top/bottom + full-height right (legacy layout)
79
- const cmuxLayouts = ['two-columns', 'three-pane'] as const
80
-
81
- const cmuxConfigSchema = z.object({
82
- layout: z.enum(cmuxLayouts).optional(),
83
- })
84
-
85
- // worktrees prompt defaults
86
- const worktreesConfigSchema = z.object({
87
- openInGithubDesktop: z.boolean().optional(),
88
- openInCmux: z.boolean().optional(),
89
- cmux: cmuxConfigSchema.optional(),
90
- })
91
-
92
- // dev-server per-app overrides. Maps an app folder name (e.g. `client`) to its
93
- // local dev port and/or URL prefix. Both keys optional. An app absent from the
94
- // map falls back to env (`{APP}_PORT` / `PORT`) then the built-in defaults, so
95
- // the map is intentionally NOT validated against the discovered apps here — an
96
- // unknown app name is simply ignored at resolve time (lib/dev), never a parse
97
- // error that would brick every command.
98
- const devAppConfigSchema = z
99
- .object({
100
- port: z.number().int().positive().optional(),
101
- prefixUrl: z.string().min(1).optional(),
102
- })
103
- .strict()
104
-
105
- const devConfigSchema = z.record(z.string().min(1), devAppConfigSchema)
106
-
107
- // env auto-load: opt-in convenience that primes Doppler env when you work inside
108
- // this project / a worktree. Absent => disabled. `trigger` selects the moment
109
- // (pick one):
110
- // shell-startup — when a new shell opens inside the project
111
- // cli-invocation — before each `infra-kit` command (primes SUBSEQUENT commands)
112
- // `config` names which environment to load. It is intentionally NOT validated
113
- // against `environments` here: an invalid name must DISABLE the feature at
114
- // resolve time (lib/env-autoload), never throw inside the merged-config parse and
115
- // brick every command.
116
- const envAutoLoadSchema = z
117
- .object({
118
- trigger: z.enum(['shell-startup', 'cli-invocation']),
119
- config: z.string().min(1),
120
- })
121
- .strict()
122
-
123
- // Base object shape, kept separate so `.partial()` (which only works on a plain
124
- // ZodObject, not the `.superRefine`-wrapped full schema) can derive the override
125
- // schema from it.
126
- const infraKitConfigObject = z.object({
127
- environments: z.array(z.string().min(1)).min(1),
128
- envManagement: envManagementSchema,
129
- ide: idesSchema.optional(),
130
- taskManager: taskManagerSchema.optional(),
131
- worktrees: worktreesConfigSchema.optional(),
132
- envAutoLoad: envAutoLoadSchema.optional(),
133
- dev: devConfigSchema.optional(),
134
- })
135
-
136
- // Full schema = base object + a parse-time uniqueness check on the `ide` array.
137
- // This runs inside the *merged* `safeParse` in getInfraKitConfig, so it's the
138
- // gate for the final config. (The override layers use the `.partial()` form
139
- // below, which drops this object-level refinement — acceptable, the merged
140
- // parse is authoritative.)
141
- export const infraKitConfigSchema = infraKitConfigObject.superRefine((cfg, ctx) => {
142
- if (!Array.isArray(cfg.ide)) return
143
-
144
- const seen = new Set<string>()
145
-
146
- for (const entry of cfg.ide) {
147
- if (seen.has(entry.provider)) {
148
- ctx.addIssue({
149
- code: 'custom',
150
- message: 'each IDE provider may appear at most once',
151
- path: ['ide'],
152
- })
153
-
154
- return
155
- }
156
-
157
- seen.add(entry.provider)
158
- }
159
- })
160
-
161
- export const infraKitOverrideConfigSchema = infraKitConfigObject.partial()
162
-
163
- export type InfraKitConfig = z.infer<typeof infraKitConfigSchema>
164
-
165
- /** Resolved env auto-load config (`{ trigger, config }`), or `undefined` when off. */
166
- export type EnvAutoLoadConfig = z.infer<typeof envAutoLoadSchema>
167
-
168
- /** Per-app dev-server overrides (`{ port?, prefixUrl? }`). */
169
- export type DevAppConfig = z.infer<typeof devAppConfigSchema>
170
-
171
- /** The full `dev` section: a map of app folder name to its {@link DevAppConfig}. */
172
- export type DevConfig = z.infer<typeof devConfigSchema>
173
-
174
- /** A single resolved IDE entry (`{ provider, config }`). */
175
- export type ConfiguredIde = z.infer<typeof ideSchema>
176
-
177
- /**
178
- * Normalize the `ide` config (single object, array, or unset) into a flat list.
179
- * Validation-free: assumes already-parsed input (uniqueness is enforced by the
180
- * schema). The one source of truth for "which editors are configured."
181
- *
182
- * @example
183
- * resolveConfiguredIdes({ ide: { provider: 'cursor', config: {...} } }) // => [cursor]
184
- * resolveConfiguredIdes({ ide: [cursor, zed] }) // => [cursor, zed]
185
- * resolveConfiguredIdes({}) // => []
186
- */
187
- export const resolveConfiguredIdes = (config: InfraKitConfig): ConfiguredIde[] => {
188
- const ide = config.ide
189
-
190
- if (!ide) return []
191
-
192
- return Array.isArray(ide) ? ide : [ide]
193
- }
194
-
195
- /** A cmux pane layout preset (see {@link cmuxLayouts}). */
196
- export type CmuxLayout = (typeof cmuxLayouts)[number]
197
-
198
- /** The layout applied when `worktrees.cmux.layout` is left unset. */
199
- export const DEFAULT_CMUX_LAYOUT: CmuxLayout = 'two-columns'
200
-
201
- /**
202
- * Resolve the cmux pane layout for opened worktree workspaces, falling back to
203
- * {@link DEFAULT_CMUX_LAYOUT} when unconfigured. The one source of truth for
204
- * "which layout should the cmux opener build."
205
- *
206
- * @example
207
- * resolveCmuxLayout({ worktrees: { cmux: { layout: 'three-pane' } } }) // => 'three-pane'
208
- * resolveCmuxLayout({}) // => 'two-columns'
209
- */
210
- export const resolveCmuxLayout = (config: InfraKitConfig): CmuxLayout => {
211
- return config.worktrees?.cmux?.layout ?? DEFAULT_CMUX_LAYOUT
212
- }
213
-
214
- export interface InfraKitConfigPaths {
215
- /** Committed project config (required). */
216
- main: string
217
- /** User-scope global overrides applied to every project. */
218
- userGlobal: string
219
- /** User-scope per-project overrides — `<userProjectsDir>/<projectName>/infra-kit.json`. */
220
- userProject: string
221
- /** Repo basename (`path.basename(projectRoot)`) used to namespace the user-project file. */
222
- projectName: string
223
- }
224
-
225
- interface CacheEntry {
226
- mtimes: Record<keyof Omit<InfraKitConfigPaths, 'projectName'>, number | null>
227
- value: InfraKitConfig
228
- }
229
-
230
- let cached: CacheEntry | null = null
231
-
232
- /**
233
- * Resolve every file path that participates in the config merge chain. Always
234
- * returns paths even for files that don't yet exist, so callers can use them
235
- * for "where would my override go?" prompts.
236
- *
237
- * @example
238
- * const paths = await getInfraKitConfigPaths()
239
- * // {
240
- * // main: '/Users/arthur/projects/api/infra-kit.json',
241
- * // userGlobal: '/Users/arthur/.infra-kit/infra-kit.json',
242
- * // userProject: '/Users/arthur/.infra-kit/projects/api/infra-kit.json',
243
- * // projectName: 'api',
244
- * // }
245
- */
246
- export const getInfraKitConfigPaths = async (): Promise<InfraKitConfigPaths> => {
247
- const projectRoot = await getProjectRoot()
248
- // Repo name is the project-root basename (same as getRepoName), derived here to
249
- // avoid a second `git rev-parse` — getRepoName would re-resolve the root.
250
- const projectName = path.basename(projectRoot)
251
- const userConfigDir = path.join(os.homedir(), USER_CONFIG_DIR_NAME)
252
-
253
- return {
254
- main: path.join(projectRoot, INFRA_KIT_CONFIG_FILE),
255
- userGlobal: path.join(userConfigDir, USER_GLOBAL_CONFIG_FILE),
256
- userProject: path.join(userConfigDir, USER_PROJECTS_DIR, projectName, INFRA_KIT_CONFIG_FILE),
257
- projectName,
258
- }
259
- }
260
-
261
- /**
262
- * Read and validate `infra-kit.json`, with optional override layers shallow-merged
263
- * on top in this order (later wins):
264
- * 1. project `infra-kit.json` — committed source of truth
265
- * 2. `~/.infra-kit/infra-kit.json` — user-global defaults
266
- * 3. `~/.infra-kit/projects/<repo-name>/infra-kit.json` — user-scope per-project overrides
267
- *
268
- * Top-level keys (entire capability sections like `ide`, `envManagement`)
269
- * replace wholesale. Results are cached per file mtimes so the long-running
270
- * MCP server picks up edits without a restart.
271
- *
272
- * @example
273
- * // infra-kit.json: { "environments": ["dev"], "envManagement": { "provider": "doppler", "config": { "name": "p" } } }
274
- * // ~/.infra-kit/infra-kit.json: { "ide": { "provider": "cursor", "config": { "workspaceConfigPath": "./ws.code-workspace" } } }
275
- * const cfg = await getInfraKitConfig()
276
- * // => { environments: ['dev'], envManagement: {...}, ide: { provider: 'cursor', config: { workspaceConfigPath: './ws.code-workspace' } } }
277
- */
278
- export const getInfraKitConfig = async (): Promise<InfraKitConfig> => {
279
- const paths = await getInfraKitConfigPaths()
280
-
281
- let mainStat: Awaited<ReturnType<typeof fs.stat>>
282
-
283
- try {
284
- mainStat = await fs.stat(paths.main)
285
- } catch {
286
- cached = null
287
-
288
- // Bridge the YAML→JSON cutover: if a legacy infra-kit.yml is sitting where
289
- // the JSON config should be, point the user at the one-shot migration.
290
- const legacyYmlPath = paths.main.replace(/\.json$/, '.yml')
291
-
292
- if (await statIfExists(legacyYmlPath)) {
293
- throw new Error(
294
- `infra-kit.json not found at ${paths.main}. A legacy infra-kit.yml exists — run \`infra-kit init\` to convert it.`,
295
- )
296
- }
297
-
298
- throw new Error(`infra-kit.json not found at ${paths.main}`)
299
- }
300
-
301
- const [userGlobalStat, userProjectStat] = await Promise.all([
302
- statIfExists(paths.userGlobal),
303
- statIfExists(paths.userProject),
304
- ])
305
-
306
- const mtimes = {
307
- main: Number(mainStat.mtimeMs),
308
- userGlobal: userGlobalStat ? Number(userGlobalStat.mtimeMs) : null,
309
- userProject: userProjectStat ? Number(userProjectStat.mtimeMs) : null,
310
- }
311
-
312
- if (cached && shallowEqual(cached.mtimes, mtimes)) {
313
- return cached.value
314
- }
315
-
316
- const layers: ConfigLayer[] = [
317
- { label: 'infra-kit.json', path: paths.main, required: true },
318
- { label: '~/.infra-kit/infra-kit.json', path: paths.userGlobal, required: false },
319
- {
320
- label: `~/.infra-kit/projects/${paths.projectName}/infra-kit.json`,
321
- path: paths.userProject,
322
- required: false,
323
- },
324
- ]
325
-
326
- let merged: Record<string, unknown> = {}
327
-
328
- for (const layer of layers) {
329
- const data = await loadLayer(layer)
330
-
331
- if (data === null) continue
332
-
333
- merged = { ...merged, ...data }
334
- }
335
-
336
- const finalResult = infraKitConfigSchema.safeParse(merged)
337
-
338
- if (!finalResult.success) {
339
- throw new Error(`Invalid merged infra-kit config: ${z.prettifyError(finalResult.error)}`)
340
- }
341
-
342
- cached = { mtimes, value: finalResult.data }
343
-
344
- return finalResult.data
345
- }
346
-
347
- /**
348
- * For tests — drops the in-memory cache so the next read hits disk.
349
- *
350
- * @example
351
- * resetInfraKitConfigCache()
352
- * await getInfraKitConfig() // re-reads files even if mtimes look unchanged
353
- */
354
- export const resetInfraKitConfigCache = (): void => {
355
- cached = null
356
- }
357
-
358
- /**
359
- * `fs.stat` that returns `null` instead of throwing on ENOENT. Used so the
360
- * resolver can probe optional files in the merge chain without try/catch noise.
361
- *
362
- * @example
363
- * const stat = await statIfExists('/does/not/exist') // => null
364
- */
365
- const statIfExists = async (filePath: string): Promise<Awaited<ReturnType<typeof fs.stat>> | null> => {
366
- try {
367
- return await fs.stat(filePath)
368
- } catch {
369
- return null
370
- }
371
- }
372
-
373
- /**
374
- * `fs.readFile` that returns `null` instead of throwing on ENOENT.
375
- *
376
- * @example
377
- * const raw = await readIfExists('/missing.json') // => null
378
- * const raw = await readIfExists('/exists.json') // => '{ "environments": ["dev"] }\n'
379
- */
380
- const readIfExists = async (filePath: string): Promise<string | null> => {
381
- try {
382
- return await fs.readFile(filePath, 'utf-8')
383
- } catch {
384
- return null
385
- }
386
- }
387
-
388
- /**
389
- * Reference-equality comparison of every key in two flat records. Used to
390
- * cheaply detect whether the cached mtime fingerprint still matches.
391
- *
392
- * @example
393
- * shallowEqual({ a: 1, b: 2 }, { a: 1, b: 2 }) // => true
394
- * shallowEqual({ a: 1 }, { a: 1, b: 2 }) // => false
395
- * shallowEqual({ a: 1 }, { a: 2 }) // => false
396
- */
397
- const shallowEqual = <T extends Record<string, unknown>>(a: T, b: T): boolean => {
398
- const keys = Object.keys(a)
399
-
400
- if (keys.length !== Object.keys(b).length) return false
401
-
402
- return keys.every((k) => {
403
- return a[k] === b[k]
404
- })
405
- }
406
-
407
- interface ConfigLayer {
408
- label: string
409
- path: string
410
- required: boolean
411
- }
412
-
413
- /**
414
- * Read a single layer of the merge chain: parse the JSON if the file exists
415
- * and validate it against the override schema. Returns `null` if an optional
416
- * layer is missing; throws if the layer is required, malformed, or invalid.
417
- * An empty/whitespace-only file is treated as `{}` (JSON.parse would throw).
418
- *
419
- * @example
420
- * await loadLayer({ label: '~/.infra-kit/infra-kit.json', path: '/missing.json', required: false })
421
- * // => null
422
- *
423
- * @example
424
- * // /home/me/.infra-kit/infra-kit.json: '{ "ide": { "provider": "cursor", "config": { "workspaceConfigPath": "./ws.code-workspace" } } }'
425
- * await loadLayer({ label: '~/.infra-kit/infra-kit.json', path: '/home/me/.infra-kit/infra-kit.json', required: false })
426
- * // => { ide: { provider: 'cursor', config: { workspaceConfigPath: './ws.code-workspace' } } }
427
- */
428
- const loadLayer = async (layer: ConfigLayer): Promise<Record<string, unknown> | null> => {
429
- const raw = await readIfExists(layer.path)
430
-
431
- if (raw === null) {
432
- if (layer.required) {
433
- throw new Error(`${layer.label} not found at ${layer.path}`)
434
- }
435
-
436
- return null
437
- }
438
-
439
- let parsedRaw: unknown
440
-
441
- try {
442
- parsedRaw = raw.trim() === '' ? {} : JSON.parse(raw)
443
- } catch (err) {
444
- throw new Error(`Invalid JSON in ${layer.label} at ${layer.path}: ${(err as Error).message}`)
445
- }
446
-
447
- const result = infraKitOverrideConfigSchema.safeParse(parsedRaw)
448
-
449
- if (!result.success) {
450
- throw new Error(`Invalid ${layer.label} at ${layer.path}: ${z.prettifyError(result.error)}`)
451
- }
452
-
453
- return result.data as Record<string, unknown>
454
- }
@@ -1,139 +0,0 @@
1
- import { Command } from 'commander'
2
- import { afterEach, describe, expect, it } from 'vitest'
3
-
4
- import { addJsonOption, emit, jsonOutput } from '../json-output'
5
-
6
- describe('json-output', () => {
7
- afterEach(() => {
8
- jsonOutput.enabled = false
9
- })
10
-
11
- describe('emit', () => {
12
- it('writes structuredContent as pretty JSON when enabled', () => {
13
- jsonOutput.enabled = true
14
- const writes: string[] = []
15
-
16
- const result = emit({ structuredContent: { version: '1.2.3' } }, (text) => {
17
- writes.push(text)
18
- })
19
-
20
- expect(writes).toHaveLength(1)
21
- const [payload = ''] = writes
22
-
23
- expect(JSON.parse(payload)).toEqual({ version: '1.2.3' })
24
- // returns the result unchanged for pass-through use (emit(await handler()))
25
- expect(result).toEqual({ structuredContent: { version: '1.2.3' } })
26
- })
27
-
28
- it('is a no-op when json mode is disabled', () => {
29
- jsonOutput.enabled = false
30
- const writes: string[] = []
31
-
32
- emit({ structuredContent: { a: 1 } }, (text) => {
33
- writes.push(text)
34
- })
35
-
36
- expect(writes).toHaveLength(0)
37
- })
38
-
39
- it('writes nothing when structuredContent is undefined or null, even if enabled', () => {
40
- jsonOutput.enabled = true
41
- const writes: string[] = []
42
-
43
- emit(undefined, (text) => {
44
- writes.push(text)
45
- })
46
- emit({}, (text) => {
47
- writes.push(text)
48
- })
49
- emit({ structuredContent: null }, (text) => {
50
- writes.push(text)
51
- })
52
-
53
- expect(writes).toHaveLength(0)
54
- })
55
- })
56
-
57
- // Regression: `--json` must activate on grouped/nested subcommands, not just
58
- // flat top-level commands. Commander binds a post-subcommand `--json` to the
59
- // parent group, so the preAction hook must read `optsWithGlobals()`, not
60
- // `opts()`. This drives the real Commander parse path end-to-end.
61
- describe('grouped subcommand --json (regression)', () => {
62
- const buildProgram = (writes: string[]): Command => {
63
- const program = new Command()
64
- const group = program.command('group')
65
-
66
- group.command('leaf').action(() => {
67
- emit({ structuredContent: { ok: true } }, (text) => {
68
- writes.push(text)
69
- })
70
- })
71
-
72
- program.commands.forEach(addJsonOption)
73
- program.hook('preAction', (_thisCommand, actionCommand) => {
74
- jsonOutput.enabled = Boolean(actionCommand.optsWithGlobals().json)
75
- })
76
-
77
- return program
78
- }
79
-
80
- it('emits JSON for `group leaf --json` (post-subcommand flag on a nested command)', async () => {
81
- const writes: string[] = []
82
-
83
- await buildProgram(writes).parseAsync(['node', 'cli', 'group', 'leaf', '--json'])
84
-
85
- expect(writes).toHaveLength(1)
86
- const [payload = ''] = writes
87
-
88
- expect(JSON.parse(payload)).toEqual({ ok: true })
89
- })
90
-
91
- it('emits nothing for `group leaf` without --json', async () => {
92
- const writes: string[] = []
93
-
94
- await buildProgram(writes).parseAsync(['node', 'cli', 'group', 'leaf'])
95
-
96
- expect(writes).toHaveLength(0)
97
- })
98
- })
99
-
100
- describe('addJsonOption', () => {
101
- it('registers --json on a command', () => {
102
- const cmd = new Command('demo')
103
-
104
- addJsonOption(cmd)
105
-
106
- expect(
107
- cmd.options.some((option) => {
108
- return option.long === '--json'
109
- }),
110
- ).toBe(true)
111
- })
112
-
113
- it('is idempotent (does not double-register)', () => {
114
- const cmd = new Command('demo')
115
-
116
- addJsonOption(cmd)
117
- addJsonOption(cmd)
118
-
119
- const jsonOptions = cmd.options.filter((option) => {
120
- return option.long === '--json'
121
- })
122
-
123
- expect(jsonOptions).toHaveLength(1)
124
- })
125
-
126
- it('registers --json on nested subcommands too', () => {
127
- const parent = new Command('parent')
128
- const child = parent.command('child')
129
-
130
- addJsonOption(parent)
131
-
132
- expect(
133
- child.options.some((option) => {
134
- return option.long === '--json'
135
- }),
136
- ).toBe(true)
137
- })
138
- })
139
- })
@@ -1 +0,0 @@
1
- export { addJsonOption, emit, jsonOutput } from './json-output'
@@ -1,47 +0,0 @@
1
- import type { Command } from 'commander'
2
- import process from 'node:process'
3
-
4
- /**
5
- * `--json` output mode for the CLI. This is a presentation concern only: every
6
- * command handler already returns a `structuredContent` payload (the same one
7
- * the MCP surface consumes). Human/log output goes to stderr (see lib/logger),
8
- * so writing the structured payload to stdout never collides with it.
9
- */
10
-
11
- export interface CommandResult {
12
- structuredContent?: unknown
13
- }
14
-
15
- /** Mutable holder (object so `prefer-const` holds while the flag toggles per run). */
16
- export const jsonOutput = { enabled: false }
17
-
18
- /**
19
- * In `--json` mode, write a command result's `structuredContent` to stdout as
20
- * pretty JSON and return the result unchanged. Outside `--json` mode it is a
21
- * no-op pass-through. The writer is injectable for testing.
22
- */
23
- export const emit = <T extends CommandResult | void>(
24
- result: T,
25
- write: (text: string) => void = (text) => {
26
- process.stdout.write(text)
27
- },
28
- ): T => {
29
- if (jsonOutput.enabled && result && result.structuredContent != null) {
30
- write(`${JSON.stringify(result.structuredContent, null, 2)}\n`)
31
- }
32
-
33
- return result
34
- }
35
-
36
- /** Register `--json` on a command and every nested subcommand (idempotent). */
37
- export const addJsonOption = (cmd: Command): void => {
38
- const alreadyHasJson = cmd.options.some((option) => {
39
- return option.long === '--json'
40
- })
41
-
42
- if (!alreadyHasJson) {
43
- cmd.option('--json', 'Output the structured result as JSON on stdout (human logs stay on stderr)')
44
- }
45
-
46
- cmd.commands.forEach(addJsonOption)
47
- }
@@ -1,40 +0,0 @@
1
- import process from 'node:process'
2
- import pino from 'pino'
3
- import pretty from 'pino-pretty'
4
-
5
- // eslint-disable-next-line sonarjs/publicly-writable-directories
6
- export const LOG_FILE_PATH = '/tmp/mcp-infra-kit.log'
7
-
8
- export const initLoggerMcp = () => {
9
- const logLevel = process.argv.includes('--debug') ? 'debug' : 'info'
10
-
11
- const logger = pino({ level: logLevel }, pino.destination({ dest: LOG_FILE_PATH }))
12
-
13
- logger.info(`Logger initialized with level: ${logLevel}. Logging to: ${LOG_FILE_PATH}`)
14
-
15
- return logger
16
- }
17
-
18
- export const initLoggerCLI = () => {
19
- const logLevel = process.argv.includes('--debug') ? 'debug' : 'info'
20
-
21
- const ignoreFields = ['time', 'pid', 'hostname']
22
-
23
- if (logLevel === 'debug') {
24
- ignoreFields.push('level')
25
- }
26
-
27
- const logger = pino(
28
- { level: logLevel },
29
- pretty({
30
- destination: 2,
31
- ignore: ignoreFields.join(','),
32
- colorize: true,
33
- }),
34
- )
35
-
36
- return logger
37
- }
38
-
39
- // Singleton logger instance for CLI usage
40
- export const logger = initLoggerCLI()