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,265 +0,0 @@
1
- import fs from 'node:fs'
2
- import os from 'node:os'
3
- import path from 'node:path'
4
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
5
-
6
- import { getProjectRoot, getRepoName } from 'src/lib/git-utils'
7
-
8
- import {
9
- AGENTS_IMPORT_END,
10
- AGENTS_IMPORT_START,
11
- AGENTS_MARKER_END,
12
- AGENTS_MARKER_START,
13
- writeAgentFiles,
14
- } from '../agent-files'
15
-
16
- vi.mock('src/lib/git-utils', () => {
17
- return {
18
- getProjectRoot: vi.fn(),
19
- getRepoName: vi.fn(),
20
- }
21
- })
22
-
23
- const writeFile = (filePath: string, content: string): void => {
24
- fs.mkdirSync(path.dirname(filePath), { recursive: true })
25
- fs.writeFileSync(filePath, content, 'utf-8')
26
- }
27
-
28
- /** A tmp dir that is a "valid repo" (has infra-kit.json) unless `repo: false`. */
29
- const withTmpRepo = async (fn: (tmp: string) => Promise<void>, opts: { repo?: boolean } = {}): Promise<void> => {
30
- const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'infra-kit-agents-test-'))
31
-
32
- vi.mocked(getProjectRoot).mockResolvedValue(tmp)
33
- vi.mocked(getRepoName).mockResolvedValue(path.basename(tmp))
34
-
35
- if (opts.repo !== false) {
36
- writeFile(path.join(tmp, 'infra-kit.json'), '{"environments":["dev"]}\n')
37
- }
38
-
39
- try {
40
- await fn(tmp)
41
- } finally {
42
- fs.rmSync(tmp, { recursive: true, force: true })
43
- }
44
- }
45
-
46
- describe('writeAgentFiles', () => {
47
- beforeEach(() => {
48
- vi.clearAllMocks()
49
- })
50
-
51
- afterEach(() => {
52
- vi.clearAllMocks()
53
- })
54
-
55
- it('writes the full guidance block only to CLAUDE.md, and creates no other files, on a fresh repo', async () => {
56
- await withTmpRepo(async (tmp) => {
57
- const result = await writeAgentFiles()
58
-
59
- expect(result.skipped).toBe(false)
60
- expect(result.root).toBe(tmp)
61
-
62
- const claude = fs.readFileSync(path.join(tmp, 'CLAUDE.md'), 'utf-8')
63
-
64
- expect(claude).toContain(AGENTS_MARKER_START)
65
- expect(claude).toContain(AGENTS_MARKER_END)
66
- expect(claude).toContain('<!-- infra-kit:version ')
67
- expect(claude).toContain('# infra-kit')
68
- // The migrated `@AGENTS.md` import region must never appear.
69
- expect(claude).not.toContain(AGENTS_IMPORT_START)
70
- expect(claude).not.toContain('@AGENTS.md')
71
-
72
- // CLAUDE.md is the only output — infra-kit no longer touches AGENTS.md or .cursor.
73
- expect(fs.existsSync(path.join(tmp, 'AGENTS.md'))).toBe(false)
74
- expect(fs.existsSync(path.join(tmp, '.cursor'))).toBe(false)
75
- })
76
- })
77
-
78
- it('preserves existing hand-authored CLAUDE.md content and appends the block after it', async () => {
79
- await withTmpRepo(async (tmp) => {
80
- const claudePath = path.join(tmp, 'CLAUDE.md')
81
- const userContent = '# CLAUDE.md\n\n## Ticket Naming Convention\n\n- `[FE]` — frontend\n- `[BE]` — backend\n'
82
-
83
- writeFile(claudePath, userContent)
84
-
85
- await writeAgentFiles()
86
-
87
- const updated = fs.readFileSync(claudePath, 'utf-8')
88
-
89
- expect(updated).toContain('## Ticket Naming Convention')
90
- expect(updated).toContain('`[FE]` — frontend')
91
- expect(updated).toContain(AGENTS_MARKER_START)
92
- // The managed block lands AFTER the hand-authored content.
93
- expect(updated.indexOf('## Ticket Naming Convention')).toBeLessThan(updated.indexOf(AGENTS_MARKER_START))
94
- })
95
- })
96
-
97
- it('is idempotent — a second run does not duplicate the block and reports unchanged (same CLI version)', async () => {
98
- await withTmpRepo(async (tmp) => {
99
- await writeAgentFiles()
100
- const first = fs.readFileSync(path.join(tmp, 'CLAUDE.md'), 'utf-8')
101
-
102
- const second = await writeAgentFiles()
103
- const after = fs.readFileSync(path.join(tmp, 'CLAUDE.md'), 'utf-8')
104
-
105
- expect(after).toBe(first)
106
- expect(after.match(new RegExp(AGENTS_MARKER_START, 'g'))?.length).toBe(1)
107
- expect(
108
- second.written.every((w) => {
109
- return w.action === 'unchanged'
110
- }),
111
- ).toBe(true)
112
- })
113
- })
114
-
115
- it('is a no-op outside an infra-kit repo (no infra-kit.json)', async () => {
116
- await withTmpRepo(
117
- async (tmp) => {
118
- const result = await writeAgentFiles()
119
-
120
- expect(result.skipped).toBe(true)
121
- expect(result.root).toBeNull()
122
- expect(fs.existsSync(path.join(tmp, 'CLAUDE.md'))).toBe(false)
123
- },
124
- { repo: false },
125
- )
126
- })
127
-
128
- it('refuses to write through a symlinked CLAUDE.md', async () => {
129
- await withTmpRepo(async (tmp) => {
130
- const realTarget = path.join(tmp, 'elsewhere.md')
131
-
132
- writeFile(realTarget, 'sensitive')
133
- fs.symlinkSync(realTarget, path.join(tmp, 'CLAUDE.md'))
134
-
135
- await expect(writeAgentFiles()).rejects.toThrow(/symlink/)
136
- })
137
- })
138
-
139
- it('backs up an existing CLAUDE.md before overwriting', async () => {
140
- await withTmpRepo(async (tmp) => {
141
- writeFile(path.join(tmp, 'CLAUDE.md'), 'previous content without markers\n')
142
-
143
- await writeAgentFiles()
144
-
145
- const backups = fs.readdirSync(tmp).filter((f) => {
146
- return f.startsWith('CLAUDE.md.backup.')
147
- })
148
-
149
- expect(backups).toHaveLength(1)
150
- expect(fs.readFileSync(path.join(tmp, backups[0]!), 'utf-8')).toContain('previous content without markers')
151
- })
152
- })
153
-
154
- describe('legacy AGENTS.md migration', () => {
155
- /** Seed a repo in the pre-migration state: AGENTS.md (full block) + CLAUDE.md (@AGENTS.md import). */
156
- const seedLegacy = async (
157
- tmp: string,
158
- opts: { agentsExtra?: string; claudeExtra?: string } = {},
159
- ): Promise<void> => {
160
- const agentsBlock = `${AGENTS_MARKER_START}\n# infra-kit\nlegacy body\n${AGENTS_MARKER_END}\n`
161
- const importBlock = `${AGENTS_IMPORT_START}\n@AGENTS.md\n${AGENTS_IMPORT_END}\n`
162
-
163
- writeFile(path.join(tmp, 'AGENTS.md'), `${opts.agentsExtra ?? ''}${agentsBlock}`)
164
- writeFile(path.join(tmp, 'CLAUDE.md'), `${opts.claudeExtra ?? ''}${importBlock}`)
165
- }
166
-
167
- it('removes a purely-generated AGENTS.md (with a backup) and strips the @AGENTS.md import from CLAUDE.md', async () => {
168
- await withTmpRepo(async (tmp) => {
169
- await seedLegacy(tmp)
170
-
171
- await writeAgentFiles()
172
-
173
- // AGENTS.md is gone, but a backup survives.
174
- expect(fs.existsSync(path.join(tmp, 'AGENTS.md'))).toBe(false)
175
- const backups = fs.readdirSync(tmp).filter((f) => {
176
- return f.startsWith('AGENTS.md.backup.')
177
- })
178
-
179
- expect(backups).toHaveLength(1)
180
-
181
- // CLAUDE.md now carries the full block and no longer imports @AGENTS.md.
182
- const claude = fs.readFileSync(path.join(tmp, 'CLAUDE.md'), 'utf-8')
183
-
184
- expect(claude).toContain(AGENTS_MARKER_START)
185
- expect(claude).not.toContain(AGENTS_IMPORT_START)
186
- expect(claude).not.toContain('@AGENTS.md')
187
- })
188
- })
189
-
190
- it('retains an AGENTS.md that has hand-authored content (block removed, file kept, backup made)', async () => {
191
- await withTmpRepo(async (tmp) => {
192
- await seedLegacy(tmp, { agentsExtra: '# My own notes\n\nkeep me\n\n' })
193
-
194
- await writeAgentFiles()
195
-
196
- // File retained with hand content; the infra-kit block is stripped.
197
- expect(fs.existsSync(path.join(tmp, 'AGENTS.md'))).toBe(true)
198
- const agents = fs.readFileSync(path.join(tmp, 'AGENTS.md'), 'utf-8')
199
-
200
- expect(agents).toContain('# My own notes')
201
- expect(agents).toContain('keep me')
202
- expect(agents).not.toContain(AGENTS_MARKER_START)
203
-
204
- // A backup of the pre-strip file exists.
205
- const backups = fs.readdirSync(tmp).filter((f) => {
206
- return f.startsWith('AGENTS.md.backup.')
207
- })
208
-
209
- expect(backups).toHaveLength(1)
210
- })
211
- })
212
-
213
- it('leaves an AGENTS.md with no infra-kit block untouched (not ours)', async () => {
214
- await withTmpRepo(async (tmp) => {
215
- const handAuthored = '# AGENTS\n\nentirely hand-written, no markers\n'
216
-
217
- writeFile(path.join(tmp, 'AGENTS.md'), handAuthored)
218
-
219
- await writeAgentFiles()
220
-
221
- expect(fs.readFileSync(path.join(tmp, 'AGENTS.md'), 'utf-8')).toBe(handAuthored)
222
- const backups = fs.readdirSync(tmp).filter((f) => {
223
- return f.startsWith('AGENTS.md.backup.')
224
- })
225
-
226
- expect(backups).toHaveLength(0)
227
- })
228
- })
229
-
230
- it('is idempotent after migration — a second run finds nothing left to migrate', async () => {
231
- await withTmpRepo(async (tmp) => {
232
- await seedLegacy(tmp)
233
- await writeAgentFiles()
234
-
235
- const second = await writeAgentFiles()
236
-
237
- expect(
238
- second.written.every((w) => {
239
- return w.action === 'unchanged'
240
- }),
241
- ).toBe(true)
242
- })
243
- })
244
- })
245
-
246
- it('does not touch a pre-existing .cursor/rules file — infra-kit no longer supports Cursor rules', async () => {
247
- await withTmpRepo(async (tmp) => {
248
- const cursorPath = path.join(tmp, '.cursor', 'rules', 'infra-kit.mdc')
249
- // Even a file that carries our managed block is left completely alone now.
250
- const existing = `---\ndescription: x\n---\n${AGENTS_MARKER_START}\n# infra-kit\nold body\n${AGENTS_MARKER_END}\n`
251
-
252
- writeFile(cursorPath, existing)
253
-
254
- await writeAgentFiles()
255
-
256
- // Untouched: same content, no backup, no deletion.
257
- expect(fs.readFileSync(cursorPath, 'utf-8')).toBe(existing)
258
- const backups = fs.readdirSync(path.join(tmp, '.cursor', 'rules')).filter((f) => {
259
- return f.startsWith('infra-kit.mdc.backup.')
260
- })
261
-
262
- expect(backups).toHaveLength(0)
263
- })
264
- })
265
- })
@@ -1,422 +0,0 @@
1
- import fs from 'node:fs'
2
- import os from 'node:os'
3
- import path from 'node:path'
4
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
5
-
6
- // Import AFTER the mock is declared so the module picks up the mocked dep.
7
- import { getProjectRoot, getRepoName } from 'src/lib/git-utils'
8
-
9
- import { migrateLegacyConfig, migrateUserGlobalConfigFilename, normalizeLegacyIdeStructures } from '../migrate-config'
10
-
11
- vi.mock('src/lib/git-utils', () => {
12
- return {
13
- getProjectRoot: vi.fn(),
14
- getRepoName: vi.fn(),
15
- }
16
- })
17
-
18
- const MAIN_YML = `environments:
19
- - dev
20
- - staging
21
- envManagement:
22
- provider: doppler
23
- config:
24
- name: my-project
25
- `
26
-
27
- const writeFile = (filePath: string, content: string): void => {
28
- fs.mkdirSync(path.dirname(filePath), { recursive: true })
29
- fs.writeFileSync(filePath, content, 'utf-8')
30
- }
31
-
32
- const withTmpRepo = async (fn: (tmp: string) => Promise<void>): Promise<void> => {
33
- const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'infra-kit-init-migrate-test-'))
34
-
35
- vi.mocked(getProjectRoot).mockResolvedValue(tmp)
36
- vi.mocked(getRepoName).mockResolvedValue(path.basename(tmp))
37
- const homedirSpy = vi.spyOn(os, 'homedir').mockReturnValue(tmp)
38
-
39
- try {
40
- await fn(tmp)
41
- } finally {
42
- homedirSpy.mockRestore()
43
- fs.rmSync(tmp, { recursive: true, force: true })
44
- }
45
- }
46
-
47
- describe('migrateLegacyConfig', () => {
48
- beforeEach(() => {
49
- vi.clearAllMocks()
50
- })
51
-
52
- afterEach(() => {
53
- vi.clearAllMocks()
54
- })
55
-
56
- it('converts a legacy infra-kit.yml to infra-kit.json and removes the .yml', async () => {
57
- await withTmpRepo(async (tmp) => {
58
- const ymlPath = path.join(tmp, 'infra-kit.yml')
59
- const jsonPath = path.join(tmp, 'infra-kit.json')
60
-
61
- writeFile(ymlPath, MAIN_YML)
62
-
63
- await migrateLegacyConfig()
64
-
65
- expect(fs.existsSync(ymlPath)).toBe(false)
66
- expect(fs.existsSync(jsonPath)).toBe(true)
67
- expect(JSON.parse(fs.readFileSync(jsonPath, 'utf-8'))).toEqual({
68
- environments: ['dev', 'staging'],
69
- envManagement: { provider: 'doppler', config: { name: 'my-project' } },
70
- })
71
- })
72
- })
73
-
74
- it('is an idempotent no-op when the config is already JSON', async () => {
75
- await withTmpRepo(async (tmp) => {
76
- const jsonPath = path.join(tmp, 'infra-kit.json')
77
- const json = '{"environments":["dev"],"envManagement":{"provider":"doppler","config":{"name":"p"}}}'
78
-
79
- writeFile(jsonPath, json)
80
-
81
- await expect(migrateLegacyConfig()).resolves.toBeUndefined()
82
-
83
- expect(fs.readFileSync(jsonPath, 'utf-8')).toBe(json)
84
- })
85
- })
86
-
87
- it('warns and skips (does not throw or overwrite) when both .yml and .json exist', async () => {
88
- await withTmpRepo(async (tmp) => {
89
- const ymlPath = path.join(tmp, 'infra-kit.yml')
90
- const jsonPath = path.join(tmp, 'infra-kit.json')
91
- const existingJson = '{"environments":["keep"],"envManagement":{"provider":"doppler","config":{"name":"keep"}}}'
92
-
93
- writeFile(ymlPath, MAIN_YML)
94
- writeFile(jsonPath, existingJson)
95
-
96
- await expect(migrateLegacyConfig()).resolves.toBeUndefined()
97
-
98
- // Conflict left untouched — no overwrite, .yml preserved.
99
- expect(fs.existsSync(ymlPath)).toBe(true)
100
- expect(fs.readFileSync(jsonPath, 'utf-8')).toBe(existingJson)
101
- })
102
- })
103
-
104
- it('skips an invalid layer but still converts a valid sibling layer (non-fatal, per-layer)', async () => {
105
- await withTmpRepo(async (tmp) => {
106
- const mainYml = path.join(tmp, 'infra-kit.yml')
107
- const mainJson = path.join(tmp, 'infra-kit.json')
108
- // The user-global legacy YAML keeps the old `config.yml` name; its JSON
109
- // target is the renamed canonical `infra-kit.json`.
110
- const userGlobalYml = path.join(tmp, '.infra-kit', 'config.yml')
111
- const userGlobalJson = path.join(tmp, '.infra-kit', 'infra-kit.json')
112
-
113
- writeFile(mainYml, MAIN_YML)
114
- // Invalid override: environments present but empty (min(1) fails).
115
- writeFile(userGlobalYml, 'environments: []\n')
116
-
117
- await expect(migrateLegacyConfig()).resolves.toBeUndefined()
118
-
119
- // Valid main layer converted…
120
- expect(fs.existsSync(mainYml)).toBe(false)
121
- expect(fs.existsSync(mainJson)).toBe(true)
122
- // …invalid user-global layer left as-is (no JSON written).
123
- expect(fs.existsSync(userGlobalYml)).toBe(true)
124
- expect(fs.existsSync(userGlobalJson)).toBe(false)
125
- })
126
- })
127
-
128
- it('warns and skips a malformed .yml without throwing', async () => {
129
- await withTmpRepo(async (tmp) => {
130
- const ymlPath = path.join(tmp, 'infra-kit.yml')
131
- const jsonPath = path.join(tmp, 'infra-kit.json')
132
-
133
- // Unparseable YAML (bad indentation / flow) — yaml.parse throws.
134
- writeFile(ymlPath, 'environments: [dev\n : : :\n')
135
-
136
- await expect(migrateLegacyConfig()).resolves.toBeUndefined()
137
-
138
- expect(fs.existsSync(ymlPath)).toBe(true)
139
- expect(fs.existsSync(jsonPath)).toBe(false)
140
- })
141
- })
142
-
143
- it('converts all three merge-chain layers in one run', async () => {
144
- await withTmpRepo(async (tmp) => {
145
- const projectName = path.basename(tmp)
146
- const mainYml = path.join(tmp, 'infra-kit.yml')
147
- const userGlobalYml = path.join(tmp, '.infra-kit', 'config.yml')
148
- const userProjectYml = path.join(tmp, '.infra-kit', 'projects', projectName, 'infra-kit.yml')
149
-
150
- writeFile(mainYml, MAIN_YML)
151
- writeFile(userGlobalYml, 'worktrees:\n openInCmux: true\n')
152
- writeFile(userProjectYml, 'worktrees:\n openInGithubDesktop: false\n')
153
-
154
- await migrateLegacyConfig()
155
-
156
- // The user-global legacy `config.yml` migrates to the renamed canonical
157
- // `infra-kit.json`; main/userProject keep their `.yml`→`.json` sibling name.
158
- const pairs: [yml: string, json: string][] = [
159
- [mainYml, path.join(tmp, 'infra-kit.json')],
160
- [userGlobalYml, path.join(tmp, '.infra-kit', 'infra-kit.json')],
161
- [userProjectYml, path.join(tmp, '.infra-kit', 'projects', projectName, 'infra-kit.json')],
162
- ]
163
-
164
- for (const [yml, json] of pairs) {
165
- expect(fs.existsSync(yml)).toBe(false)
166
- expect(fs.existsSync(json)).toBe(true)
167
- }
168
- })
169
- })
170
- })
171
-
172
- describe('normalizeLegacyIdeStructures', () => {
173
- beforeEach(() => {
174
- vi.clearAllMocks()
175
- })
176
-
177
- afterEach(() => {
178
- vi.clearAllMocks()
179
- })
180
-
181
- it('strips a legacy ide.config.mode from infra-kit.json (single provider) and preserves the rest', async () => {
182
- await withTmpRepo(async (tmp) => {
183
- const jsonPath = path.join(tmp, 'infra-kit.json')
184
-
185
- writeFile(
186
- jsonPath,
187
- JSON.stringify({
188
- environments: ['dev'],
189
- envManagement: { provider: 'doppler', config: { name: 'p' } },
190
- ide: { provider: 'cursor', config: { mode: 'workspace', workspaceConfigPath: './ws.code-workspace' } },
191
- }),
192
- )
193
-
194
- await normalizeLegacyIdeStructures()
195
-
196
- const result = JSON.parse(fs.readFileSync(jsonPath, 'utf-8'))
197
-
198
- expect(result.ide).toEqual({ provider: 'cursor', config: { workspaceConfigPath: './ws.code-workspace' } })
199
- // Everything else preserved verbatim.
200
- expect(result.environments).toEqual(['dev'])
201
- expect(result.envManagement).toEqual({ provider: 'doppler', config: { name: 'p' } })
202
- })
203
- })
204
-
205
- it('strips ide.config.mode from every entry of an array ide', async () => {
206
- await withTmpRepo(async (tmp) => {
207
- const jsonPath = path.join(tmp, 'infra-kit.json')
208
-
209
- writeFile(
210
- jsonPath,
211
- JSON.stringify({
212
- environments: ['dev'],
213
- envManagement: { provider: 'doppler', config: { name: 'p' } },
214
- ide: [
215
- { provider: 'cursor', config: { mode: 'workspace', workspaceConfigPath: 'ws' } },
216
- { provider: 'zed', config: { mode: 'windows' } },
217
- ],
218
- }),
219
- )
220
-
221
- await normalizeLegacyIdeStructures()
222
-
223
- const result = JSON.parse(fs.readFileSync(jsonPath, 'utf-8'))
224
-
225
- expect(result.ide).toEqual([
226
- { provider: 'cursor', config: { workspaceConfigPath: 'ws' } },
227
- { provider: 'zed', config: {} },
228
- ])
229
- })
230
- })
231
-
232
- it('normalizes the user-global config layer too', async () => {
233
- await withTmpRepo(async (tmp) => {
234
- const userGlobalJson = path.join(tmp, '.infra-kit', 'infra-kit.json')
235
-
236
- writeFile(userGlobalJson, JSON.stringify({ ide: { provider: 'zed', config: { mode: 'windows' } } }))
237
-
238
- await normalizeLegacyIdeStructures()
239
-
240
- expect(JSON.parse(fs.readFileSync(userGlobalJson, 'utf-8')).ide).toEqual({ provider: 'zed', config: {} })
241
- })
242
- })
243
-
244
- it('normalizes the user-project config layer too', async () => {
245
- await withTmpRepo(async (tmp) => {
246
- const projectName = path.basename(tmp)
247
- const userProjectJson = path.join(tmp, '.infra-kit', 'projects', projectName, 'infra-kit.json')
248
-
249
- writeFile(
250
- userProjectJson,
251
- JSON.stringify({ ide: { provider: 'cursor', config: { mode: 'workspace', workspaceConfigPath: 'ws' } } }),
252
- )
253
-
254
- await normalizeLegacyIdeStructures()
255
-
256
- expect(JSON.parse(fs.readFileSync(userProjectJson, 'utf-8')).ide).toEqual({
257
- provider: 'cursor',
258
- config: { workspaceConfigPath: 'ws' },
259
- })
260
- })
261
- })
262
-
263
- it('leaves an already-clean config byte-for-byte untouched (idempotent)', async () => {
264
- await withTmpRepo(async (tmp) => {
265
- const jsonPath = path.join(tmp, 'infra-kit.json')
266
- const json =
267
- '{"environments":["dev"],"envManagement":{"provider":"doppler","config":{"name":"p"}},"ide":{"provider":"zed","config":{}}}'
268
-
269
- writeFile(jsonPath, json)
270
-
271
- await normalizeLegacyIdeStructures()
272
-
273
- expect(fs.readFileSync(jsonPath, 'utf-8')).toBe(json)
274
- })
275
- })
276
-
277
- it('is a no-op when there is no ide config', async () => {
278
- await withTmpRepo(async (tmp) => {
279
- const jsonPath = path.join(tmp, 'infra-kit.json')
280
- const json = '{"environments":["dev"],"envManagement":{"provider":"doppler","config":{"name":"p"}}}'
281
-
282
- writeFile(jsonPath, json)
283
-
284
- await normalizeLegacyIdeStructures()
285
-
286
- expect(fs.readFileSync(jsonPath, 'utf-8')).toBe(json)
287
- })
288
- })
289
-
290
- it('warns and skips malformed JSON without throwing', async () => {
291
- await withTmpRepo(async (tmp) => {
292
- const jsonPath = path.join(tmp, 'infra-kit.json')
293
-
294
- writeFile(jsonPath, '{ not valid json ')
295
-
296
- await expect(normalizeLegacyIdeStructures()).resolves.toBeUndefined()
297
-
298
- expect(fs.readFileSync(jsonPath, 'utf-8')).toBe('{ not valid json ')
299
- })
300
- })
301
- })
302
-
303
- describe('migrateUserGlobalConfigFilename', () => {
304
- beforeEach(() => {
305
- vi.clearAllMocks()
306
- })
307
-
308
- afterEach(() => {
309
- vi.clearAllMocks()
310
- })
311
-
312
- const userGlobalPaths = (tmp: string) => {
313
- const dir = path.join(tmp, '.infra-kit')
314
-
315
- return {
316
- legacyConfig: path.join(dir, 'config.json'),
317
- newConfig: path.join(dir, 'infra-kit.json'),
318
- legacyExample: path.join(dir, 'config.example.jsonc'),
319
- newExample: path.join(dir, 'infra-kit.example.jsonc'),
320
- }
321
- }
322
-
323
- it('renames config.json → infra-kit.json (and the example) preserving content', async () => {
324
- await withTmpRepo(async (tmp) => {
325
- const p = userGlobalPaths(tmp)
326
- const configBody = JSON.stringify({ worktrees: { openInCmux: true } })
327
- const exampleBody = '// example\n{}\n'
328
-
329
- writeFile(p.legacyConfig, configBody)
330
- writeFile(p.legacyExample, exampleBody)
331
-
332
- await migrateUserGlobalConfigFilename()
333
-
334
- expect(fs.existsSync(p.legacyConfig)).toBe(false)
335
- expect(fs.existsSync(p.legacyExample)).toBe(false)
336
- expect(fs.readFileSync(p.newConfig, 'utf-8')).toBe(configBody)
337
- expect(fs.readFileSync(p.newExample, 'utf-8')).toBe(exampleBody)
338
- })
339
- })
340
-
341
- it('is a no-op when there is no legacy config.json (idempotent)', async () => {
342
- await withTmpRepo(async (tmp) => {
343
- const p = userGlobalPaths(tmp)
344
-
345
- await expect(migrateUserGlobalConfigFilename()).resolves.toBeUndefined()
346
-
347
- expect(fs.existsSync(p.legacyConfig)).toBe(false)
348
- expect(fs.existsSync(p.newConfig)).toBe(false)
349
- })
350
- })
351
-
352
- it('never overwrites an existing infra-kit.json; leaves the stale config.json in place', async () => {
353
- await withTmpRepo(async (tmp) => {
354
- const p = userGlobalPaths(tmp)
355
- const legacyBody = JSON.stringify({ worktrees: { openInCmux: false } })
356
- const activeBody = JSON.stringify({ worktrees: { openInCmux: true } })
357
-
358
- writeFile(p.legacyConfig, legacyBody)
359
- writeFile(p.newConfig, activeBody)
360
-
361
- await migrateUserGlobalConfigFilename()
362
-
363
- // Active config untouched (NOT clobbered); legacy file preserved for the user.
364
- expect(fs.readFileSync(p.newConfig, 'utf-8')).toBe(activeBody)
365
- expect(fs.readFileSync(p.legacyConfig, 'utf-8')).toBe(legacyBody)
366
- })
367
- })
368
-
369
- it('migrates each file independently (example present, config absent)', async () => {
370
- await withTmpRepo(async (tmp) => {
371
- const p = userGlobalPaths(tmp)
372
- const exampleBody = '// example only\n{}\n'
373
-
374
- writeFile(p.legacyExample, exampleBody)
375
-
376
- await migrateUserGlobalConfigFilename()
377
-
378
- expect(fs.existsSync(p.legacyExample)).toBe(false)
379
- expect(fs.readFileSync(p.newExample, 'utf-8')).toBe(exampleBody)
380
- // No config.json existed → nothing created on that side.
381
- expect(fs.existsSync(p.newConfig)).toBe(false)
382
- })
383
- })
384
-
385
- it('yAML-legacy upgrade: migrateLegacyConfig + rename land config at infra-kit.json', async () => {
386
- await withTmpRepo(async (tmp) => {
387
- const p = userGlobalPaths(tmp)
388
- const legacyYml = path.join(tmp, '.infra-kit', 'config.yml')
389
-
390
- writeFile(legacyYml, 'worktrees:\n openInCmux: true\n')
391
-
392
- // migrateLegacyConfig converts the pinned config.yml source → infra-kit.json;
393
- // the rename then has nothing left to do for the user-global config.
394
- await migrateLegacyConfig()
395
- await migrateUserGlobalConfigFilename()
396
-
397
- expect(fs.existsSync(legacyYml)).toBe(false)
398
- expect(fs.existsSync(p.legacyConfig)).toBe(false)
399
- expect(JSON.parse(fs.readFileSync(p.newConfig, 'utf-8')).worktrees.openInCmux).toBe(true)
400
- })
401
- })
402
-
403
- it('both-legacy files: YAML wins via migrateLegacyConfig, config.json is left untouched', async () => {
404
- await withTmpRepo(async (tmp) => {
405
- const p = userGlobalPaths(tmp)
406
- const legacyYml = path.join(tmp, '.infra-kit', 'config.yml')
407
- const jsonBody = JSON.stringify({ worktrees: { openInCmux: false } })
408
-
409
- writeFile(legacyYml, 'worktrees:\n openInCmux: true\n')
410
- writeFile(p.legacyConfig, jsonBody)
411
-
412
- // init() order: migrateLegacyConfig (yml→infra-kit.json) then the rename.
413
- await migrateLegacyConfig()
414
- await migrateUserGlobalConfigFilename()
415
-
416
- // YAML content won at infra-kit.json; the rename's no-overwrite guard then
417
- // skipped config.json, leaving it untouched (no data loss).
418
- expect(JSON.parse(fs.readFileSync(p.newConfig, 'utf-8')).worktrees.openInCmux).toBe(true)
419
- expect(fs.readFileSync(p.legacyConfig, 'utf-8')).toBe(jsonBody)
420
- })
421
- })
422
- })