infra-kit 0.1.128 → 0.1.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (762) hide show
  1. package/dist/chunk-2PZRQHWF.js +2 -0
  2. package/dist/chunk-2PZRQHWF.js.map +7 -0
  3. package/dist/chunk-6RRAK2QO.js +5 -0
  4. package/dist/chunk-6RRAK2QO.js.map +7 -0
  5. package/dist/chunk-IX2A34UU.js +2 -0
  6. package/dist/chunk-IX2A34UU.js.map +7 -0
  7. package/dist/chunk-V5IDN7ZM.js +162 -0
  8. package/dist/chunk-V5IDN7ZM.js.map +7 -0
  9. package/dist/{chunk-YSBF5C7C.js → chunk-Z6KTUVIC.js} +2 -2
  10. package/dist/chunk-Z6KTUVIC.js.map +7 -0
  11. package/dist/cli.js +4 -4
  12. package/dist/cli.js.map +3 -3
  13. package/dist/dev-server.js +15 -10
  14. package/dist/dev-server.js.map +4 -4
  15. package/dist/entry/index.d.ts +1 -1
  16. package/dist/entry/vite.d.ts +2 -0
  17. package/dist/index.js +1 -1
  18. package/dist/lib/package-config/package-config-schema.d.ts +35 -0
  19. package/dist/lib/package-config/package-config.d.ts +28 -0
  20. package/dist/lib/release-slug/release-slug.d.ts +19 -0
  21. package/dist/lib/vite/vite.d.ts +135 -0
  22. package/dist/mcp.js +1 -1
  23. package/dist/mcp.js.map +1 -1
  24. package/dist/vite.js +2 -0
  25. package/dist/vite.js.map +7 -0
  26. package/package.json +10 -2
  27. package/.eslintcache +0 -1
  28. package/.omc/state/agent-replay-036daa78-5fee-4c7d-9b44-53584acb0d87.jsonl +0 -26
  29. package/.omc/state/agent-replay-0a58307d-2a37-4c69-851c-83a646502d62.jsonl +0 -1
  30. package/.omc/state/agent-replay-0a65ec83-9de7-458d-9d0f-e56e1a26c68e.jsonl +0 -2
  31. package/.omc/state/agent-replay-0d1515ce-4ebe-4ce8-a865-2897f68de168.jsonl +0 -1
  32. package/.omc/state/agent-replay-11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc.jsonl +0 -16
  33. package/.omc/state/agent-replay-127837d3-a000-4656-9453-2324ab353723.jsonl +0 -5
  34. package/.omc/state/agent-replay-15c409af-24fa-4026-88d3-a82dd1e68b87.jsonl +0 -11
  35. package/.omc/state/agent-replay-1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a.jsonl +0 -17
  36. package/.omc/state/agent-replay-1fcfe0ec-7567-41c3-9bfd-501e99e86819.jsonl +0 -19
  37. package/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
  38. package/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -1
  39. package/.omc/state/agent-replay-36d91435-50b4-442f-9f4e-3cc68d776236.jsonl +0 -2
  40. package/.omc/state/agent-replay-38382db5-3088-4b5a-aff7-2561a60827c7.jsonl +0 -17
  41. package/.omc/state/agent-replay-4cf1c186-81b2-497c-b002-d7f84e7839f3.jsonl +0 -9
  42. package/.omc/state/agent-replay-50c36be9-a3a2-42b9-9c85-5a06d3e22f6a.jsonl +0 -5
  43. package/.omc/state/agent-replay-5c4ab554-64f1-42ae-83e3-21e0237e955c.jsonl +0 -11
  44. package/.omc/state/agent-replay-6be1264f-8069-4412-8119-86118ed1943e.jsonl +0 -3
  45. package/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
  46. package/.omc/state/agent-replay-74afa912-1443-4011-b4f2-db9f055cdd9f.jsonl +0 -3
  47. package/.omc/state/agent-replay-8198b3e5-fad6-4ee0-9c59-ef773ad89af4.jsonl +0 -1
  48. package/.omc/state/agent-replay-8cd7652a-b8b5-49cf-9b1f-bee8e5972458.jsonl +0 -3
  49. package/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -3
  50. package/.omc/state/agent-replay-9bea518f-a9ee-4d14-bb53-a936ebaf647c.jsonl +0 -7
  51. package/.omc/state/agent-replay-a60ac2ec-afbd-449f-a540-6df287392fc2.jsonl +0 -1
  52. package/.omc/state/agent-replay-afc6290b-40d3-4bef-b3b6-14484c034ab9.jsonl +0 -14
  53. package/.omc/state/agent-replay-b52d89fb-0e24-4901-bc66-27e3c1697126.jsonl +0 -2
  54. package/.omc/state/agent-replay-be37e426-6fc8-47f4-8178-221c8494551c.jsonl +0 -3
  55. package/.omc/state/agent-replay-c967c819-3d1c-447b-ab48-56a8448ef9f8.jsonl +0 -2
  56. package/.omc/state/agent-replay-d02e6565-5168-40c8-8629-de219a29fa43.jsonl +0 -2
  57. package/.omc/state/agent-replay-d367c3be-9c2a-48e7-bcea-b45861af568c.jsonl +0 -2
  58. package/.omc/state/agent-replay-d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc.jsonl +0 -10
  59. package/.omc/state/agent-replay-e947a3c6-989d-4a60-91dd-6b0ddd827b2d.jsonl +0 -3
  60. package/.omc/state/agent-replay-eb44055b-c2fa-4e66-b491-a1d9b44f51c7.jsonl +0 -1
  61. package/.omc/state/agent-replay-f2846d8f-974c-486c-b16f-4bdaa28ca45f.jsonl +0 -2
  62. package/.omc/state/agent-replay-f581a1ae-0ee4-48a3-96f3-ce31a0633bb0.jsonl +0 -1
  63. package/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
  64. package/.omc/state/agent-replay-fe1057b4-9a25-4e8e-8c3f-3e11652ee697.jsonl +0 -5
  65. package/.omc/state/idle-notif-cooldown.json +0 -3
  66. package/.omc/state/last-tool-error.json +0 -7
  67. package/.omc/state/mission-state.json +0 -53
  68. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/last-tool-error-state.json +0 -7
  69. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/mission-state.json +0 -129
  70. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/pre-tool-advisory-throttle.json +0 -34
  71. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralph-state.json +0 -13
  72. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralplan-state.json +0 -11
  73. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/subagent-tracking-state.json +0 -80
  74. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ultrawork-state.json +0 -11
  75. package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
  76. package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/subagent-tracking-state.json +0 -7
  77. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/pre-tool-advisory-throttle.json +0 -18
  78. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/skill-active-state.json +0 -15
  79. package/.omc/state/sessions/0d1515ce-4ebe-4ce8-a865-2897f68de168/pre-tool-advisory-throttle.json +0 -10
  80. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/last-tool-error-state.json +0 -7
  81. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/mission-state.json +0 -117
  82. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/pre-tool-advisory-throttle.json +0 -42
  83. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/subagent-tracking-state.json +0 -53
  84. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/mission-state.json +0 -61
  85. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/pre-tool-advisory-throttle.json +0 -22
  86. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/skill-active-state.json +0 -15
  87. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/subagent-tracking-state.json +0 -26
  88. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/last-tool-error-state.json +0 -7
  89. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/mission-state.json +0 -89
  90. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/pre-tool-advisory-throttle.json +0 -34
  91. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ralph-state.json +0 -13
  92. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/skill-active-state.json +0 -15
  93. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/subagent-tracking-state.json +0 -44
  94. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ultrawork-state.json +0 -11
  95. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/last-tool-error-state.json +0 -7
  96. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/mission-state.json +0 -139
  97. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/pre-tool-advisory-throttle.json +0 -50
  98. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/ralplan-state.json +0 -11
  99. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/subagent-tracking-state.json +0 -90
  100. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/last-tool-error-state.json +0 -7
  101. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/mission-state.json +0 -109
  102. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/pre-tool-advisory-throttle.json +0 -42
  103. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ralph-state.json +0 -13
  104. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/skill-active-state.json +0 -15
  105. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/subagent-tracking-state.json +0 -62
  106. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ultrawork-state.json +0 -11
  107. package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/last-tool-error-state.json +0 -7
  108. package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/pre-tool-advisory-throttle.json +0 -18
  109. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/last-tool-error-state.json +0 -7
  110. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
  111. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -10
  112. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/skill-active-state.json +0 -15
  113. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
  114. package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -18
  115. package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
  116. package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/pre-tool-advisory-throttle.json +0 -18
  117. package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/subagent-tracking-state.json +0 -17
  118. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/last-tool-error-state.json +0 -7
  119. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/mission-state.json +0 -145
  120. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/pre-tool-advisory-throttle.json +0 -38
  121. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/ralplan-state.json +0 -11
  122. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/subagent-tracking-state.json +0 -98
  123. package/.omc/state/sessions/3a844fbd-ace8-4af1-8516-33d611839886/pre-tool-advisory-throttle.json +0 -18
  124. package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
  125. package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
  126. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/last-tool-error-state.json +0 -7
  127. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/pre-tool-advisory-throttle.json +0 -18
  128. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/subagent-tracking-state.json +0 -7
  129. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/mission-state.json +0 -61
  130. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/pre-tool-advisory-throttle.json +0 -22
  131. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/skill-active-state.json +0 -15
  132. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/subagent-tracking-state.json +0 -26
  133. package/.omc/state/sessions/560ea519-574a-4713-b134-5bf6cfaf3c33/pre-tool-advisory-throttle.json +0 -18
  134. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/mission-state.json +0 -117
  135. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/pre-tool-advisory-throttle.json +0 -18
  136. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/subagent-tracking-state.json +0 -17
  137. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/last-tool-error-state.json +0 -7
  138. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/mission-state.json +0 -53
  139. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/pre-tool-advisory-throttle.json +0 -22
  140. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/skill-active-state.json +0 -15
  141. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/subagent-tracking-state.json +0 -17
  142. package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -18
  143. package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
  144. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/pre-tool-advisory-throttle.json +0 -18
  145. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/skill-active-state.json +0 -15
  146. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/subagent-tracking-state.json +0 -17
  147. package/.omc/state/sessions/7772f972-4ec1-4287-bf42-a92c14cf3ffc/pre-tool-advisory-throttle.json +0 -10
  148. package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/pre-tool-advisory-throttle.json +0 -14
  149. package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/subagent-tracking-state.json +0 -17
  150. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/pre-tool-advisory-throttle.json +0 -18
  151. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/ralplan-state.json +0 -11
  152. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/subagent-tracking-state.json +0 -35
  153. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
  154. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
  155. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -17
  156. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
  157. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/last-tool-error-state.json +0 -7
  158. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/mission-state.json +0 -79
  159. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/pre-tool-advisory-throttle.json +0 -22
  160. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/progress.txt +0 -7
  161. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/skill-active-state.json +0 -15
  162. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/subagent-tracking-state.json +0 -26
  163. package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/pre-tool-advisory-throttle.json +0 -18
  164. package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/subagent-tracking-state.json +0 -7
  165. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/last-tool-error-state.json +0 -7
  166. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/mission-state.json +0 -89
  167. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -34
  168. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ralph-state.json +0 -13
  169. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/skill-active-state.json +0 -15
  170. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/subagent-tracking-state.json +0 -35
  171. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ultrawork-state.json +0 -11
  172. package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/pre-tool-advisory-throttle.json +0 -14
  173. package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/subagent-tracking-state.json +0 -17
  174. package/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -18
  175. package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -10
  176. package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/subagent-tracking-state.json +0 -7
  177. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/last-tool-error-state.json +0 -7
  178. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/mission-state.json +0 -53
  179. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/pre-tool-advisory-throttle.json +0 -18
  180. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/subagent-tracking-state.json +0 -17
  181. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/last-tool-error-state.json +0 -7
  182. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/mission-state.json +0 -103
  183. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/pre-tool-advisory-throttle.json +0 -30
  184. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ralph-state.json +0 -13
  185. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/subagent-tracking-state.json +0 -62
  186. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ultrawork-state.json +0 -11
  187. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/last-tool-error-state.json +0 -7
  188. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/pre-tool-advisory-throttle.json +0 -10
  189. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/subagent-tracking-state.json +0 -26
  190. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/last-tool-error-state.json +0 -7
  191. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/pre-tool-advisory-throttle.json +0 -18
  192. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/subagent-tracking-state.json +0 -17
  193. package/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
  194. package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/pre-tool-advisory-throttle.json +0 -18
  195. package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/subagent-tracking-state.json +0 -17
  196. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
  197. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ralph-state.json +0 -13
  198. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ultrawork-state.json +0 -11
  199. package/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
  200. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/last-tool-error-state.json +0 -7
  201. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/mission-state.json +0 -61
  202. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/prd.json +0 -22
  203. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/pre-tool-advisory-throttle.json +0 -22
  204. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/progress.txt +0 -22
  205. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/skill-active-state.json +0 -15
  206. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/subagent-tracking-state.json +0 -26
  207. package/.omc/state/subagent-tracking.json +0 -17
  208. package/.turbo/turbo-build.log +0 -7
  209. package/.turbo/turbo-check.log +0 -14
  210. package/.turbo/turbo-eslint-check.log +0 -2
  211. package/.turbo/turbo-eslint-fix.log +0 -1
  212. package/.turbo/turbo-infra-kit-check.log +0 -14
  213. package/.turbo/turbo-prettier-check.log +0 -1
  214. package/.turbo/turbo-prettier-fix.log +0 -1
  215. package/.turbo/turbo-test.log +0 -406
  216. package/.turbo/turbo-ts-check.log +0 -1
  217. package/.turbo/turbo-validate.log +0 -14
  218. package/coverage/base.css +0 -224
  219. package/coverage/block-navigation.js +0 -87
  220. package/coverage/cli/index.html +0 -116
  221. package/coverage/cli/package.json.html +0 -283
  222. package/coverage/cli/src/commands/audit/audit.ts.html +0 -616
  223. package/coverage/cli/src/commands/audit/index.html +0 -131
  224. package/coverage/cli/src/commands/audit/index.ts.html +0 -88
  225. package/coverage/cli/src/commands/doctor/doctor.ts.html +0 -1654
  226. package/coverage/cli/src/commands/doctor/index.html +0 -131
  227. package/coverage/cli/src/commands/doctor/index.ts.html +0 -88
  228. package/coverage/cli/src/commands/env-clear/env-clear.ts.html +0 -370
  229. package/coverage/cli/src/commands/env-clear/index.html +0 -131
  230. package/coverage/cli/src/commands/env-clear/index.ts.html +0 -88
  231. package/coverage/cli/src/commands/env-list/env-list.ts.html +0 -229
  232. package/coverage/cli/src/commands/env-list/index.html +0 -131
  233. package/coverage/cli/src/commands/env-list/index.ts.html +0 -88
  234. package/coverage/cli/src/commands/env-load/env-load.ts.html +0 -1201
  235. package/coverage/cli/src/commands/env-load/index.html +0 -131
  236. package/coverage/cli/src/commands/env-load/index.ts.html +0 -91
  237. package/coverage/cli/src/commands/env-status/env-status.ts.html +0 -409
  238. package/coverage/cli/src/commands/env-status/index.html +0 -131
  239. package/coverage/cli/src/commands/env-status/index.ts.html +0 -88
  240. package/coverage/cli/src/commands/gh-merge-dev/gh-merge-dev.ts.html +0 -694
  241. package/coverage/cli/src/commands/gh-merge-dev/index.html +0 -131
  242. package/coverage/cli/src/commands/gh-merge-dev/index.ts.html +0 -88
  243. package/coverage/cli/src/commands/gh-release-deliver/gh-release-deliver.ts.html +0 -1495
  244. package/coverage/cli/src/commands/gh-release-deliver/index.html +0 -131
  245. package/coverage/cli/src/commands/gh-release-deliver/index.ts.html +0 -88
  246. package/coverage/cli/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts.html +0 -706
  247. package/coverage/cli/src/commands/gh-release-deploy-all/index.html +0 -131
  248. package/coverage/cli/src/commands/gh-release-deploy-all/index.ts.html +0 -88
  249. package/coverage/cli/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts.html +0 -994
  250. package/coverage/cli/src/commands/gh-release-deploy-selected/index.html +0 -131
  251. package/coverage/cli/src/commands/gh-release-deploy-selected/index.ts.html +0 -88
  252. package/coverage/cli/src/commands/gh-release-list/gh-release-list.ts.html +0 -355
  253. package/coverage/cli/src/commands/gh-release-list/index.html +0 -131
  254. package/coverage/cli/src/commands/gh-release-list/index.ts.html +0 -88
  255. package/coverage/cli/src/commands/init/agent-files.ts.html +0 -742
  256. package/coverage/cli/src/commands/init/index.html +0 -146
  257. package/coverage/cli/src/commands/init/init.ts.html +0 -1159
  258. package/coverage/cli/src/commands/init/migrate-config.ts.html +0 -1219
  259. package/coverage/cli/src/commands/release-create/index.html +0 -131
  260. package/coverage/cli/src/commands/release-create/index.ts.html +0 -88
  261. package/coverage/cli/src/commands/release-create/release-create.ts.html +0 -1426
  262. package/coverage/cli/src/commands/release-desc-edit/index.html +0 -131
  263. package/coverage/cli/src/commands/release-desc-edit/index.ts.html +0 -88
  264. package/coverage/cli/src/commands/release-desc-edit/release-desc-edit.ts.html +0 -766
  265. package/coverage/cli/src/commands/vendor-check/index.html +0 -131
  266. package/coverage/cli/src/commands/vendor-check/index.ts.html +0 -88
  267. package/coverage/cli/src/commands/vendor-check/vendor-check.ts.html +0 -466
  268. package/coverage/cli/src/commands/vendor-config/index.html +0 -116
  269. package/coverage/cli/src/commands/vendor-config/vendor-config.ts.html +0 -571
  270. package/coverage/cli/src/commands/vendor-diff/index.html +0 -131
  271. package/coverage/cli/src/commands/vendor-diff/index.ts.html +0 -88
  272. package/coverage/cli/src/commands/vendor-diff/vendor-diff.ts.html +0 -316
  273. package/coverage/cli/src/commands/vendor-manifest/index.html +0 -131
  274. package/coverage/cli/src/commands/vendor-manifest/index.ts.html +0 -88
  275. package/coverage/cli/src/commands/vendor-manifest/vendor-manifest.ts.html +0 -265
  276. package/coverage/cli/src/commands/vendor-sync/index.html +0 -131
  277. package/coverage/cli/src/commands/vendor-sync/index.ts.html +0 -88
  278. package/coverage/cli/src/commands/vendor-sync/vendor-sync.ts.html +0 -355
  279. package/coverage/cli/src/commands/version/index.html +0 -131
  280. package/coverage/cli/src/commands/version/index.ts.html +0 -88
  281. package/coverage/cli/src/commands/version/version.ts.html +0 -184
  282. package/coverage/cli/src/commands/worktrees-add/index.html +0 -131
  283. package/coverage/cli/src/commands/worktrees-add/index.ts.html +0 -88
  284. package/coverage/cli/src/commands/worktrees-add/worktrees-add.ts.html +0 -1183
  285. package/coverage/cli/src/commands/worktrees-list/index.html +0 -131
  286. package/coverage/cli/src/commands/worktrees-list/index.ts.html +0 -88
  287. package/coverage/cli/src/commands/worktrees-list/worktrees-list.ts.html +0 -400
  288. package/coverage/cli/src/commands/worktrees-reload/index.html +0 -131
  289. package/coverage/cli/src/commands/worktrees-reload/index.ts.html +0 -88
  290. package/coverage/cli/src/commands/worktrees-reload/worktrees-reload.ts.html +0 -775
  291. package/coverage/cli/src/commands/worktrees-remove/index.html +0 -131
  292. package/coverage/cli/src/commands/worktrees-remove/index.ts.html +0 -88
  293. package/coverage/cli/src/commands/worktrees-remove/worktrees-remove.ts.html +0 -682
  294. package/coverage/cli/src/commands/worktrees-sync/index.html +0 -131
  295. package/coverage/cli/src/commands/worktrees-sync/index.ts.html +0 -88
  296. package/coverage/cli/src/commands/worktrees-sync/worktrees-sync.ts.html +0 -679
  297. package/coverage/cli/src/dev/__tests__/fixtures.ts.html +0 -787
  298. package/coverage/cli/src/dev/__tests__/index.html +0 -116
  299. package/coverage/cli/src/dev/dev-server.ts.html +0 -1855
  300. package/coverage/cli/src/dev/discovery.ts.html +0 -598
  301. package/coverage/cli/src/dev/index.html +0 -191
  302. package/coverage/cli/src/dev/interfaces.ts.html +0 -223
  303. package/coverage/cli/src/dev/logger.ts.html +0 -1102
  304. package/coverage/cli/src/dev/ports.ts.html +0 -430
  305. package/coverage/cli/src/dev/serverless-local-run.ts.html +0 -916
  306. package/coverage/cli/src/entry/dev-server.ts.html +0 -409
  307. package/coverage/cli/src/entry/index.html +0 -116
  308. package/coverage/cli/src/index.html +0 -116
  309. package/coverage/cli/src/integrations/cmux/canonicalize-cmux-title.ts.html +0 -178
  310. package/coverage/cli/src/integrations/cmux/close-workspace-by-title.ts.html +0 -262
  311. package/coverage/cli/src/integrations/cmux/index.html +0 -191
  312. package/coverage/cli/src/integrations/cmux/index.ts.html +0 -100
  313. package/coverage/cli/src/integrations/cmux/list-workspace-titles.ts.html +0 -226
  314. package/coverage/cli/src/integrations/cmux/open-workspace-with-layout.ts.html +0 -325
  315. package/coverage/cli/src/integrations/cmux/workspace-title.ts.html +0 -154
  316. package/coverage/cli/src/integrations/cursor/add-folders-to-workspace.ts.html +0 -337
  317. package/coverage/cli/src/integrations/cursor/index.html +0 -206
  318. package/coverage/cli/src/integrations/cursor/index.ts.html +0 -103
  319. package/coverage/cli/src/integrations/cursor/launch-cursor.ts.html +0 -121
  320. package/coverage/cli/src/integrations/cursor/open-cursor-workspace.ts.html +0 -277
  321. package/coverage/cli/src/integrations/cursor/reconcile-workspace-folders.ts.html +0 -355
  322. package/coverage/cli/src/integrations/cursor/remove-folders-from-workspace.ts.html +0 -364
  323. package/coverage/cli/src/integrations/cursor/resolve-workspace-path.ts.html +0 -124
  324. package/coverage/cli/src/integrations/doppler/doppler-cli-auth.ts.html +0 -178
  325. package/coverage/cli/src/integrations/doppler/doppler-errors.ts.html +0 -349
  326. package/coverage/cli/src/integrations/doppler/doppler-project.ts.html +0 -355
  327. package/coverage/cli/src/integrations/doppler/index.html +0 -161
  328. package/coverage/cli/src/integrations/doppler/index.ts.html +0 -97
  329. package/coverage/cli/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts.html +0 -172
  330. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.html +0 -131
  331. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.ts.html +0 -88
  332. package/coverage/cli/src/integrations/gh/gh-release-prs/gh-release-prs.ts.html +0 -703
  333. package/coverage/cli/src/integrations/gh/gh-release-prs/index.html +0 -131
  334. package/coverage/cli/src/integrations/gh/gh-release-prs/index.ts.html +0 -91
  335. package/coverage/cli/src/integrations/gh/index.html +0 -116
  336. package/coverage/cli/src/integrations/gh/index.ts.html +0 -94
  337. package/coverage/cli/src/integrations/ide/add-ide-worktree-folders.ts.html +0 -316
  338. package/coverage/cli/src/integrations/ide/index.html +0 -191
  339. package/coverage/cli/src/integrations/ide/index.ts.html +0 -103
  340. package/coverage/cli/src/integrations/ide/open-ide-workspace.ts.html +0 -238
  341. package/coverage/cli/src/integrations/ide/provider-label.ts.html +0 -157
  342. package/coverage/cli/src/integrations/ide/remove-ide-worktree-folders.ts.html +0 -520
  343. package/coverage/cli/src/integrations/ide/types.ts.html +0 -208
  344. package/coverage/cli/src/integrations/jira/api.ts.html +0 -1060
  345. package/coverage/cli/src/integrations/jira/index.html +0 -131
  346. package/coverage/cli/src/integrations/jira/index.ts.html +0 -142
  347. package/coverage/cli/src/integrations/zed/add-folders-to-zed-workspace.ts.html +0 -175
  348. package/coverage/cli/src/integrations/zed/index.html +0 -161
  349. package/coverage/cli/src/integrations/zed/index.ts.html +0 -94
  350. package/coverage/cli/src/integrations/zed/open-zed-workspace.ts.html +0 -238
  351. package/coverage/cli/src/integrations/zed/reuse-zed-workspace.ts.html +0 -256
  352. package/coverage/cli/src/lib/assert-never/assert-never.ts.html +0 -130
  353. package/coverage/cli/src/lib/assert-never/index.html +0 -131
  354. package/coverage/cli/src/lib/assert-never/index.ts.html +0 -88
  355. package/coverage/cli/src/lib/command-catalog/command-catalog.ts.html +0 -523
  356. package/coverage/cli/src/lib/command-catalog/index.html +0 -116
  357. package/coverage/cli/src/lib/command-echo/command-echo.ts.html +0 -319
  358. package/coverage/cli/src/lib/command-echo/index.html +0 -131
  359. package/coverage/cli/src/lib/command-echo/index.ts.html +0 -88
  360. package/coverage/cli/src/lib/constants/constants.ts.html +0 -472
  361. package/coverage/cli/src/lib/constants/index.html +0 -131
  362. package/coverage/cli/src/lib/constants/index.ts.html +0 -139
  363. package/coverage/cli/src/lib/env-autoload/env-autoload.ts.html +0 -1111
  364. package/coverage/cli/src/lib/env-autoload/index.html +0 -116
  365. package/coverage/cli/src/lib/errors/format-zx-error.ts.html +0 -247
  366. package/coverage/cli/src/lib/errors/index.html +0 -146
  367. package/coverage/cli/src/lib/errors/is-prompt-cancellation.ts.html +0 -199
  368. package/coverage/cli/src/lib/errors/operation-error.ts.html +0 -325
  369. package/coverage/cli/src/lib/git-guard/git-guard.ts.html +0 -250
  370. package/coverage/cli/src/lib/git-guard/index.html +0 -131
  371. package/coverage/cli/src/lib/git-guard/index.ts.html +0 -91
  372. package/coverage/cli/src/lib/git-utils/git-utils.ts.html +0 -622
  373. package/coverage/cli/src/lib/git-utils/index.html +0 -131
  374. package/coverage/cli/src/lib/git-utils/index.ts.html +0 -115
  375. package/coverage/cli/src/lib/infra-kit-config/index.html +0 -131
  376. package/coverage/cli/src/lib/infra-kit-config/index.ts.html +0 -142
  377. package/coverage/cli/src/lib/infra-kit-config/infra-kit-config.ts.html +0 -1447
  378. package/coverage/cli/src/lib/json-output/index.html +0 -116
  379. package/coverage/cli/src/lib/json-output/json-output.ts.html +0 -226
  380. package/coverage/cli/src/lib/logger/index.html +0 -116
  381. package/coverage/cli/src/lib/logger/index.ts.html +0 -205
  382. package/coverage/cli/src/lib/managed-block/index.html +0 -131
  383. package/coverage/cli/src/lib/managed-block/index.ts.html +0 -109
  384. package/coverage/cli/src/lib/managed-block/managed-block.ts.html +0 -520
  385. package/coverage/cli/src/lib/package-config/index.html +0 -146
  386. package/coverage/cli/src/lib/package-config/index.ts.html +0 -94
  387. package/coverage/cli/src/lib/package-config/package-config-schema.ts.html +0 -142
  388. package/coverage/cli/src/lib/package-config/package-config.ts.html +0 -376
  389. package/coverage/cli/src/lib/package-validator/checks/config-check.ts.html +0 -175
  390. package/coverage/cli/src/lib/package-validator/checks/files-check.ts.html +0 -172
  391. package/coverage/cli/src/lib/package-validator/checks/index.html +0 -176
  392. package/coverage/cli/src/lib/package-validator/checks/index.ts.html +0 -97
  393. package/coverage/cli/src/lib/package-validator/checks/scripts-check.ts.html +0 -154
  394. package/coverage/cli/src/lib/package-validator/checks/turbo-check.ts.html +0 -226
  395. package/coverage/cli/src/lib/package-validator/fs-utils.ts.html +0 -139
  396. package/coverage/cli/src/lib/package-validator/index.html +0 -146
  397. package/coverage/cli/src/lib/package-validator/index.ts.html +0 -94
  398. package/coverage/cli/src/lib/package-validator/loader/config-loader.ts.html +0 -316
  399. package/coverage/cli/src/lib/package-validator/loader/index.html +0 -146
  400. package/coverage/cli/src/lib/package-validator/loader/index.ts.html +0 -91
  401. package/coverage/cli/src/lib/package-validator/loader/package-discovery.ts.html +0 -379
  402. package/coverage/cli/src/lib/package-validator/package-validator.ts.html +0 -229
  403. package/coverage/cli/src/lib/path-display/index.html +0 -131
  404. package/coverage/cli/src/lib/path-display/index.ts.html +0 -88
  405. package/coverage/cli/src/lib/path-display/path-display.ts.html +0 -211
  406. package/coverage/cli/src/lib/release-id/index.html +0 -131
  407. package/coverage/cli/src/lib/release-id/index.ts.html +0 -130
  408. package/coverage/cli/src/lib/release-id/release-id.ts.html +0 -859
  409. package/coverage/cli/src/lib/release-utils/index.html +0 -131
  410. package/coverage/cli/src/lib/release-utils/index.ts.html +0 -130
  411. package/coverage/cli/src/lib/release-utils/release-utils.ts.html +0 -778
  412. package/coverage/cli/src/lib/render/index.html +0 -116
  413. package/coverage/cli/src/lib/render/render.ts.html +0 -157
  414. package/coverage/cli/src/lib/vendor/__tests__/index.html +0 -116
  415. package/coverage/cli/src/lib/vendor/__tests__/zx-mock.ts.html +0 -181
  416. package/coverage/cli/src/lib/vendor/config-schema.ts.html +0 -319
  417. package/coverage/cli/src/lib/vendor/config.ts.html +0 -259
  418. package/coverage/cli/src/lib/vendor/factory-config-schema.ts.html +0 -190
  419. package/coverage/cli/src/lib/vendor/factory-config.ts.html +0 -358
  420. package/coverage/cli/src/lib/vendor/hash.ts.html +0 -133
  421. package/coverage/cli/src/lib/vendor/index.html +0 -251
  422. package/coverage/cli/src/lib/vendor/index.ts.html +0 -154
  423. package/coverage/cli/src/lib/vendor/manifest.ts.html +0 -538
  424. package/coverage/cli/src/lib/vendor/skip-sets.ts.html +0 -229
  425. package/coverage/cli/src/lib/vendor/sync-ops.ts.html +0 -955
  426. package/coverage/cli/src/lib/vendor/walk.ts.html +0 -253
  427. package/coverage/cli/src/lib/version-utils/index.html +0 -161
  428. package/coverage/cli/src/lib/version-utils/index.ts.html +0 -139
  429. package/coverage/cli/src/lib/version-utils/load-existing-versions.ts.html +0 -343
  430. package/coverage/cli/src/lib/version-utils/next-version.ts.html +0 -934
  431. package/coverage/cli/src/lib/version-utils/version-utils.ts.html +0 -178
  432. package/coverage/cli/src/lib/worktrees/index.html +0 -131
  433. package/coverage/cli/src/lib/worktrees/index.ts.html +0 -88
  434. package/coverage/cli/src/lib/worktrees/remove-worktrees.ts.html +0 -283
  435. package/coverage/cli/src/tui/boot.tsx.html +0 -265
  436. package/coverage/cli/src/tui/index.html +0 -116
  437. package/coverage/cli/src/tui/screens/command-palette.tsx.html +0 -562
  438. package/coverage/cli/src/tui/screens/index.html +0 -116
  439. package/coverage/cli/src/types.ts.html +0 -283
  440. package/coverage/clover.xml +0 -4488
  441. package/coverage/coverage-final.json +0 -156
  442. package/coverage/favicon.png +0 -0
  443. package/coverage/index.html +0 -1076
  444. package/coverage/prettify.css +0 -1
  445. package/coverage/prettify.js +0 -2
  446. package/coverage/sort-arrow-sprite.png +0 -0
  447. package/coverage/sorter.js +0 -210
  448. package/dist/chunk-DB6CTNBS.js +0 -3
  449. package/dist/chunk-DB6CTNBS.js.map +0 -7
  450. package/dist/chunk-QBHCWAAG.js +0 -164
  451. package/dist/chunk-QBHCWAAG.js.map +0 -7
  452. package/dist/chunk-YSBF5C7C.js.map +0 -7
  453. package/eslint.config.js +0 -35
  454. package/infra-kit.config.ts +0 -5
  455. package/scripts/build.js +0 -75
  456. package/src/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
  457. package/src/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -2
  458. package/src/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
  459. package/src/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -11
  460. package/src/.omc/state/agent-replay-c513ef38-cc3e-4a29-9c4c-1e0137245dd5.jsonl +0 -4
  461. package/src/.omc/state/agent-replay-ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a.jsonl +0 -2
  462. package/src/.omc/state/idle-notif-cooldown.json +0 -3
  463. package/src/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
  464. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
  465. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -26
  466. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
  467. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/last-tool-error-state.json +0 -7
  468. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/mission-state.json +0 -53
  469. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -22
  470. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
  471. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/last-tool-error-state.json +0 -7
  472. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/mission-state.json +0 -53
  473. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -22
  474. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
  475. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/mission-state.json +0 -79
  476. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -22
  477. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
  478. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -26
  479. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
  480. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/mission-state.json +0 -79
  481. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -22
  482. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/subagent-tracking-state.json +0 -26
  483. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
  484. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ralph-state.json +0 -13
  485. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ultrawork-state.json +0 -11
  486. package/src/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
  487. package/src/commands/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -14
  488. package/src/commands/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -18
  489. package/src/commands/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -14
  490. package/src/commands/audit/.omc/state/agent-replay-f9c17a0e-2dd8-4f7d-badf-631f266c5d4c.jsonl +0 -4
  491. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/mission-state.json +0 -79
  492. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -22
  493. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/subagent-tracking-state.json +0 -26
  494. package/src/commands/audit/__tests__/audit.test.ts +0 -59
  495. package/src/commands/audit/audit.ts +0 -177
  496. package/src/commands/audit/index.ts +0 -1
  497. package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
  498. package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
  499. package/src/commands/config/config.ts +0 -137
  500. package/src/commands/config/index.ts +0 -1
  501. package/src/commands/doctor/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
  502. package/src/commands/doctor/__tests__/agent-files.test.ts +0 -88
  503. package/src/commands/doctor/__tests__/check-ide-installed.test.ts +0 -142
  504. package/src/commands/doctor/__tests__/check-legacy-user-global-config.test.ts +0 -110
  505. package/src/commands/doctor/doctor.ts +0 -576
  506. package/src/commands/doctor/index.ts +0 -1
  507. package/src/commands/env-autoload/env-autoload.ts +0 -24
  508. package/src/commands/env-autoload/index.ts +0 -1
  509. package/src/commands/env-clear/__tests__/env-clear.test.ts +0 -27
  510. package/src/commands/env-clear/env-clear.ts +0 -136
  511. package/src/commands/env-clear/index.ts +0 -1
  512. package/src/commands/env-list/env-list.ts +0 -48
  513. package/src/commands/env-list/index.ts +0 -1
  514. package/src/commands/env-load/__tests__/env-load.test.ts +0 -200
  515. package/src/commands/env-load/env-load.ts +0 -394
  516. package/src/commands/env-load/index.ts +0 -2
  517. package/src/commands/env-status/__tests__/env-status.test.ts +0 -78
  518. package/src/commands/env-status/env-status.ts +0 -108
  519. package/src/commands/env-status/index.ts +0 -1
  520. package/src/commands/gh-merge-dev/gh-merge-dev.ts +0 -203
  521. package/src/commands/gh-merge-dev/index.ts +0 -1
  522. package/src/commands/gh-release-deliver/gh-release-deliver.ts +0 -470
  523. package/src/commands/gh-release-deliver/index.ts +0 -1
  524. package/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts +0 -207
  525. package/src/commands/gh-release-deploy-all/index.ts +0 -1
  526. package/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts +0 -303
  527. package/src/commands/gh-release-deploy-selected/index.ts +0 -1
  528. package/src/commands/gh-release-list/gh-release-list.ts +0 -90
  529. package/src/commands/gh-release-list/index.ts +0 -1
  530. package/src/commands/init/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
  531. package/src/commands/init/__tests__/agent-files.test.ts +0 -265
  532. package/src/commands/init/__tests__/migrate-config.test.ts +0 -422
  533. package/src/commands/init/__tests__/migrate-factory-config.test.ts +0 -93
  534. package/src/commands/init/__tests__/seed-user-global-config.test.ts +0 -64
  535. package/src/commands/init/__tests__/shell-body.test.ts +0 -131
  536. package/src/commands/init/agent-files.ts +0 -219
  537. package/src/commands/init/index.ts +0 -8
  538. package/src/commands/init/init.ts +0 -440
  539. package/src/commands/init/migrate-config.ts +0 -378
  540. package/src/commands/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  541. package/src/commands/release-create/__tests__/release-create.test.ts +0 -92
  542. package/src/commands/release-create/index.ts +0 -1
  543. package/src/commands/release-create/release-create.ts +0 -447
  544. package/src/commands/release-desc-edit/index.ts +0 -1
  545. package/src/commands/release-desc-edit/release-desc-edit.ts +0 -227
  546. package/src/commands/vendor-check/__tests__/runtime-isolation.test.ts +0 -71
  547. package/src/commands/vendor-check/__tests__/vendor-check.test.ts +0 -87
  548. package/src/commands/vendor-check/index.ts +0 -1
  549. package/src/commands/vendor-check/vendor-check.ts +0 -127
  550. package/src/commands/vendor-config/__tests__/vendor-config.test.ts +0 -103
  551. package/src/commands/vendor-config/index.ts +0 -1
  552. package/src/commands/vendor-config/vendor-config.ts +0 -162
  553. package/src/commands/vendor-diff/__tests__/vendor-diff.test.ts +0 -74
  554. package/src/commands/vendor-diff/index.ts +0 -1
  555. package/src/commands/vendor-diff/vendor-diff.ts +0 -77
  556. package/src/commands/vendor-manifest/index.ts +0 -1
  557. package/src/commands/vendor-manifest/vendor-manifest.ts +0 -60
  558. package/src/commands/vendor-sync/__tests__/vendor-write.test.ts +0 -86
  559. package/src/commands/vendor-sync/index.ts +0 -1
  560. package/src/commands/vendor-sync/vendor-sync.ts +0 -90
  561. package/src/commands/version/index.ts +0 -1
  562. package/src/commands/version/version.ts +0 -33
  563. package/src/commands/worktrees-add/index.ts +0 -1
  564. package/src/commands/worktrees-add/worktrees-add.ts +0 -366
  565. package/src/commands/worktrees-list/index.ts +0 -1
  566. package/src/commands/worktrees-list/worktrees-list.ts +0 -105
  567. package/src/commands/worktrees-reload/__tests__/reload-cmux.test.ts +0 -119
  568. package/src/commands/worktrees-reload/index.ts +0 -1
  569. package/src/commands/worktrees-reload/worktrees-reload.ts +0 -230
  570. package/src/commands/worktrees-remove/index.ts +0 -1
  571. package/src/commands/worktrees-remove/worktrees-remove.ts +0 -199
  572. package/src/commands/worktrees-sync/index.ts +0 -1
  573. package/src/commands/worktrees-sync/worktrees-sync.ts +0 -198
  574. package/src/dev/__tests__/dev-server-options.test.ts +0 -57
  575. package/src/dev/__tests__/dev-server.test.ts +0 -420
  576. package/src/dev/__tests__/discovery.test.ts +0 -181
  577. package/src/dev/__tests__/fixtures.ts +0 -257
  578. package/src/dev/__tests__/ports.test.ts +0 -98
  579. package/src/dev/__tests__/serverless-local-run.test.ts +0 -533
  580. package/src/dev/dev-server.ts +0 -796
  581. package/src/dev/discovery.ts +0 -229
  582. package/src/dev/interfaces.ts +0 -11
  583. package/src/dev/managed-child.ts +0 -73
  584. package/src/dev/ports.ts +0 -100
  585. package/src/dev/serverless-local-run.ts +0 -329
  586. package/src/dev/turbo-watch.ts +0 -62
  587. package/src/dev/ui-dev.ts +0 -62
  588. package/src/entry/cli.ts +0 -630
  589. package/src/entry/dev-server.ts +0 -103
  590. package/src/entry/index.ts +0 -11
  591. package/src/entry/mcp.ts +0 -43
  592. package/src/integrations/cmux/__tests__/canonicalize-cmux-title.test.ts +0 -56
  593. package/src/integrations/cmux/__tests__/close-workspace-by-title.test.ts +0 -63
  594. package/src/integrations/cmux/__tests__/list-workspace-titles.test.ts +0 -65
  595. package/src/integrations/cmux/__tests__/open-workspace-with-layout.test.ts +0 -127
  596. package/src/integrations/cmux/canonicalize-cmux-title.ts +0 -31
  597. package/src/integrations/cmux/close-workspace-by-title.ts +0 -59
  598. package/src/integrations/cmux/index.ts +0 -5
  599. package/src/integrations/cmux/list-workspace-titles.ts +0 -47
  600. package/src/integrations/cmux/open-workspace-with-layout.ts +0 -80
  601. package/src/integrations/cmux/workspace-title.ts +0 -23
  602. package/src/integrations/cursor/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
  603. package/src/integrations/cursor/.omc/state/idle-notif-cooldown.json +0 -3
  604. package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -18
  605. package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/subagent-tracking-state.json +0 -17
  606. package/src/integrations/cursor/add-folders-to-workspace.ts +0 -84
  607. package/src/integrations/cursor/index.ts +0 -6
  608. package/src/integrations/cursor/launch-cursor.ts +0 -12
  609. package/src/integrations/cursor/open-cursor-workspace.ts +0 -64
  610. package/src/integrations/cursor/reconcile-workspace-folders.ts +0 -90
  611. package/src/integrations/cursor/remove-folders-from-workspace.ts +0 -93
  612. package/src/integrations/cursor/resolve-workspace-path.ts +0 -13
  613. package/src/integrations/doppler/__tests__/doppler-errors.test.ts +0 -76
  614. package/src/integrations/doppler/doppler-cli-auth.ts +0 -31
  615. package/src/integrations/doppler/doppler-errors.ts +0 -88
  616. package/src/integrations/doppler/doppler-project.ts +0 -90
  617. package/src/integrations/doppler/index.ts +0 -4
  618. package/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts +0 -29
  619. package/src/integrations/gh/gh-cli-auth/index.ts +0 -1
  620. package/src/integrations/gh/gh-release-prs/.omc/state/sessions/c6ed6186-1aac-48e0-aa2a-edc6da8e0410/pre-tool-advisory-throttle.json +0 -10
  621. package/src/integrations/gh/gh-release-prs/__tests__/gh-release-prs.test.ts +0 -198
  622. package/src/integrations/gh/gh-release-prs/gh-release-prs.ts +0 -206
  623. package/src/integrations/gh/gh-release-prs/index.ts +0 -2
  624. package/src/integrations/gh/index.ts +0 -3
  625. package/src/integrations/ide/__tests__/ide-facade.test.ts +0 -289
  626. package/src/integrations/ide/add-ide-worktree-folders.ts +0 -77
  627. package/src/integrations/ide/index.ts +0 -6
  628. package/src/integrations/ide/open-ide-workspace.ts +0 -51
  629. package/src/integrations/ide/provider-label.ts +0 -24
  630. package/src/integrations/ide/remove-ide-worktree-folders.ts +0 -145
  631. package/src/integrations/ide/types.ts +0 -41
  632. package/src/integrations/jira/api.ts +0 -325
  633. package/src/integrations/jira/index.ts +0 -19
  634. package/src/integrations/jira/types.ts +0 -85
  635. package/src/integrations/linear/.gitkeep +0 -0
  636. package/src/integrations/zed/__tests__/open-zed-workspace.test.ts +0 -69
  637. package/src/integrations/zed/__tests__/reuse-zed-workspace.test.ts +0 -86
  638. package/src/integrations/zed/add-folders-to-zed-workspace.ts +0 -30
  639. package/src/integrations/zed/index.ts +0 -3
  640. package/src/integrations/zed/open-zed-workspace.ts +0 -51
  641. package/src/integrations/zed/reuse-zed-workspace.ts +0 -57
  642. package/src/lib/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -18
  643. package/src/lib/assert-never/assert-never.ts +0 -15
  644. package/src/lib/assert-never/index.ts +0 -1
  645. package/src/lib/command-catalog/__tests__/__snapshots__/command-catalog.test.ts.snap +0 -213
  646. package/src/lib/command-catalog/__tests__/command-catalog.test.ts +0 -193
  647. package/src/lib/command-catalog/command-catalog.ts +0 -146
  648. package/src/lib/command-catalog/index.ts +0 -2
  649. package/src/lib/command-echo/__tests__/command-echo.test.ts +0 -127
  650. package/src/lib/command-echo/command-echo.ts +0 -78
  651. package/src/lib/command-echo/index.ts +0 -1
  652. package/src/lib/constants/__tests__/constants.test.ts +0 -182
  653. package/src/lib/constants/constants.ts +0 -167
  654. package/src/lib/constants/index.ts +0 -22
  655. package/src/lib/env-autoload/__tests__/env-autoload.test.ts +0 -327
  656. package/src/lib/env-autoload/env-autoload.ts +0 -373
  657. package/src/lib/env-autoload/index.ts +0 -9
  658. package/src/lib/error-handlers/index.ts +0 -36
  659. package/src/lib/errors/__tests__/is-prompt-cancellation.test.ts +0 -48
  660. package/src/lib/errors/__tests__/operation-error.test.ts +0 -62
  661. package/src/lib/errors/format-zx-error.ts +0 -54
  662. package/src/lib/errors/is-prompt-cancellation.ts +0 -38
  663. package/src/lib/errors/operation-error.ts +0 -80
  664. package/src/lib/git-guard/__tests__/git-guard.test.ts +0 -92
  665. package/src/lib/git-guard/git-guard.ts +0 -55
  666. package/src/lib/git-guard/index.ts +0 -2
  667. package/src/lib/git-utils/__tests__/git-primitives.test.ts +0 -217
  668. package/src/lib/git-utils/__tests__/git-utils.test.ts +0 -49
  669. package/src/lib/git-utils/git-utils.ts +0 -179
  670. package/src/lib/git-utils/index.ts +0 -10
  671. package/src/lib/infra-kit-config/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
  672. package/src/lib/infra-kit-config/__tests__/env-autoload-schema.test.ts +0 -71
  673. package/src/lib/infra-kit-config/__tests__/infra-kit-config.test.ts +0 -504
  674. package/src/lib/infra-kit-config/index.ts +0 -19
  675. package/src/lib/infra-kit-config/infra-kit-config.ts +0 -454
  676. package/src/lib/json-output/__tests__/json-output.test.ts +0 -139
  677. package/src/lib/json-output/index.ts +0 -1
  678. package/src/lib/json-output/json-output.ts +0 -47
  679. package/src/lib/logger/index.ts +0 -40
  680. package/src/lib/managed-block/__tests__/managed-block.test.ts +0 -121
  681. package/src/lib/managed-block/index.ts +0 -8
  682. package/src/lib/managed-block/managed-block.ts +0 -145
  683. package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/last-tool-error-state.json +0 -7
  684. package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/pre-tool-advisory-throttle.json +0 -10
  685. package/src/lib/package-config/__tests__/package-config.test.ts +0 -95
  686. package/src/lib/package-config/index.ts +0 -3
  687. package/src/lib/package-config/package-config-schema.ts +0 -19
  688. package/src/lib/package-config/package-config.ts +0 -97
  689. package/src/lib/package-validator/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
  690. package/src/lib/package-validator/__tests__/package-validator.test.ts +0 -270
  691. package/src/lib/package-validator/checks/__tests__/checks.test.ts +0 -130
  692. package/src/lib/package-validator/checks/config-check.ts +0 -30
  693. package/src/lib/package-validator/checks/files-check.ts +0 -29
  694. package/src/lib/package-validator/checks/index.ts +0 -4
  695. package/src/lib/package-validator/checks/scripts-check.ts +0 -23
  696. package/src/lib/package-validator/checks/turbo-check.ts +0 -47
  697. package/src/lib/package-validator/fs-utils.ts +0 -18
  698. package/src/lib/package-validator/index.ts +0 -3
  699. package/src/lib/package-validator/loader/config-loader.ts +0 -77
  700. package/src/lib/package-validator/loader/index.ts +0 -2
  701. package/src/lib/package-validator/loader/package-discovery.ts +0 -98
  702. package/src/lib/package-validator/package-validator.ts +0 -48
  703. package/src/lib/package-validator/types.ts +0 -15
  704. package/src/lib/path-display/index.ts +0 -1
  705. package/src/lib/path-display/path-display.ts +0 -42
  706. package/src/lib/release-id/__tests__/release-id.test.ts +0 -359
  707. package/src/lib/release-id/__tests__/versioned-regression.test.ts +0 -69
  708. package/src/lib/release-id/index.ts +0 -15
  709. package/src/lib/release-id/release-id.ts +0 -258
  710. package/src/lib/release-utils/__tests__/release-utils.test.ts +0 -122
  711. package/src/lib/release-utils/index.ts +0 -15
  712. package/src/lib/release-utils/release-utils.ts +0 -231
  713. package/src/lib/render/__tests__/render.test.ts +0 -48
  714. package/src/lib/render/index.ts +0 -1
  715. package/src/lib/render/render.ts +0 -24
  716. package/src/lib/tool-handler/index.ts +0 -1
  717. package/src/lib/tool-handler/tool-handler.ts +0 -30
  718. package/src/lib/vendor/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -10
  719. package/src/lib/vendor/__tests__/config-schema.test.ts +0 -31
  720. package/src/lib/vendor/__tests__/config.test.ts +0 -63
  721. package/src/lib/vendor/__tests__/factory-config.test.ts +0 -92
  722. package/src/lib/vendor/__tests__/vendor-lib.test.ts +0 -158
  723. package/src/lib/vendor/__tests__/zx-mock.ts +0 -32
  724. package/src/lib/vendor/config-schema.ts +0 -78
  725. package/src/lib/vendor/config.ts +0 -58
  726. package/src/lib/vendor/factory-config-schema.ts +0 -35
  727. package/src/lib/vendor/factory-config.ts +0 -91
  728. package/src/lib/vendor/hash.ts +0 -16
  729. package/src/lib/vendor/index.ts +0 -23
  730. package/src/lib/vendor/manifest.ts +0 -151
  731. package/src/lib/vendor/skip-sets.ts +0 -48
  732. package/src/lib/vendor/sync-ops.ts +0 -290
  733. package/src/lib/vendor/walk.ts +0 -56
  734. package/src/lib/version-utils/__tests__/load-existing-versions.test.ts +0 -37
  735. package/src/lib/version-utils/__tests__/next-version.test.ts +0 -407
  736. package/src/lib/version-utils/index.ts +0 -18
  737. package/src/lib/version-utils/load-existing-versions.ts +0 -86
  738. package/src/lib/version-utils/next-version.ts +0 -283
  739. package/src/lib/version-utils/version-utils.ts +0 -31
  740. package/src/lib/warm-cache/__tests__/warm-cache.test.ts +0 -164
  741. package/src/lib/warm-cache/index.ts +0 -7
  742. package/src/lib/warm-cache/warm-cache.ts +0 -136
  743. package/src/lib/worktrees/__tests__/remove-worktrees.test.ts +0 -167
  744. package/src/lib/worktrees/index.ts +0 -1
  745. package/src/lib/worktrees/remove-worktrees.ts +0 -66
  746. package/src/mcp/prompts/index.ts +0 -3
  747. package/src/mcp/resources/index.ts +0 -3
  748. package/src/mcp/server.ts +0 -27
  749. package/src/mcp/tools/index.ts +0 -21
  750. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  751. package/src/sanity.test.tsx +0 -8
  752. package/src/tui/__tests__/boot.test.tsx +0 -61
  753. package/src/tui/__tests__/no-react-boundary.test.ts +0 -51
  754. package/src/tui/boot.tsx +0 -60
  755. package/src/tui/screens/__tests__/command-palette.test.tsx +0 -136
  756. package/src/tui/screens/command-palette.tsx +0 -159
  757. package/src/tui/types.ts +0 -8
  758. package/src/types.ts +0 -66
  759. package/tsconfig.json +0 -46
  760. package/tsconfig.tsbuildinfo +0 -1
  761. package/vitest.config.ts +0 -26
  762. 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()