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 +0,0 @@
1
- .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
@@ -1,2 +0,0 @@
1
- /* eslint-disable */
2
- window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);
Binary file
@@ -1,210 +0,0 @@
1
- /* eslint-disable */
2
- var addSorting = (function() {
3
- 'use strict';
4
- var cols,
5
- currentSort = {
6
- index: 0,
7
- desc: false
8
- };
9
-
10
- // returns the summary table element
11
- function getTable() {
12
- return document.querySelector('.coverage-summary');
13
- }
14
- // returns the thead element of the summary table
15
- function getTableHeader() {
16
- return getTable().querySelector('thead tr');
17
- }
18
- // returns the tbody element of the summary table
19
- function getTableBody() {
20
- return getTable().querySelector('tbody');
21
- }
22
- // returns the th element for nth column
23
- function getNthColumn(n) {
24
- return getTableHeader().querySelectorAll('th')[n];
25
- }
26
-
27
- function onFilterInput() {
28
- const searchValue = document.getElementById('fileSearch').value;
29
- const rows = document.getElementsByTagName('tbody')[0].children;
30
-
31
- // Try to create a RegExp from the searchValue. If it fails (invalid regex),
32
- // it will be treated as a plain text search
33
- let searchRegex;
34
- try {
35
- searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive
36
- } catch (error) {
37
- searchRegex = null;
38
- }
39
-
40
- for (let i = 0; i < rows.length; i++) {
41
- const row = rows[i];
42
- let isMatch = false;
43
-
44
- if (searchRegex) {
45
- // If a valid regex was created, use it for matching
46
- isMatch = searchRegex.test(row.textContent);
47
- } else {
48
- // Otherwise, fall back to the original plain text search
49
- isMatch = row.textContent
50
- .toLowerCase()
51
- .includes(searchValue.toLowerCase());
52
- }
53
-
54
- row.style.display = isMatch ? '' : 'none';
55
- }
56
- }
57
-
58
- // loads the search box
59
- function addSearchBox() {
60
- var template = document.getElementById('filterTemplate');
61
- var templateClone = template.content.cloneNode(true);
62
- templateClone.getElementById('fileSearch').oninput = onFilterInput;
63
- template.parentElement.appendChild(templateClone);
64
- }
65
-
66
- // loads all columns
67
- function loadColumns() {
68
- var colNodes = getTableHeader().querySelectorAll('th'),
69
- colNode,
70
- cols = [],
71
- col,
72
- i;
73
-
74
- for (i = 0; i < colNodes.length; i += 1) {
75
- colNode = colNodes[i];
76
- col = {
77
- key: colNode.getAttribute('data-col'),
78
- sortable: !colNode.getAttribute('data-nosort'),
79
- type: colNode.getAttribute('data-type') || 'string'
80
- };
81
- cols.push(col);
82
- if (col.sortable) {
83
- col.defaultDescSort = col.type === 'number';
84
- colNode.innerHTML =
85
- colNode.innerHTML + '<span class="sorter"></span>';
86
- }
87
- }
88
- return cols;
89
- }
90
- // attaches a data attribute to every tr element with an object
91
- // of data values keyed by column name
92
- function loadRowData(tableRow) {
93
- var tableCols = tableRow.querySelectorAll('td'),
94
- colNode,
95
- col,
96
- data = {},
97
- i,
98
- val;
99
- for (i = 0; i < tableCols.length; i += 1) {
100
- colNode = tableCols[i];
101
- col = cols[i];
102
- val = colNode.getAttribute('data-value');
103
- if (col.type === 'number') {
104
- val = Number(val);
105
- }
106
- data[col.key] = val;
107
- }
108
- return data;
109
- }
110
- // loads all row data
111
- function loadData() {
112
- var rows = getTableBody().querySelectorAll('tr'),
113
- i;
114
-
115
- for (i = 0; i < rows.length; i += 1) {
116
- rows[i].data = loadRowData(rows[i]);
117
- }
118
- }
119
- // sorts the table using the data for the ith column
120
- function sortByIndex(index, desc) {
121
- var key = cols[index].key,
122
- sorter = function(a, b) {
123
- a = a.data[key];
124
- b = b.data[key];
125
- return a < b ? -1 : a > b ? 1 : 0;
126
- },
127
- finalSorter = sorter,
128
- tableBody = document.querySelector('.coverage-summary tbody'),
129
- rowNodes = tableBody.querySelectorAll('tr'),
130
- rows = [],
131
- i;
132
-
133
- if (desc) {
134
- finalSorter = function(a, b) {
135
- return -1 * sorter(a, b);
136
- };
137
- }
138
-
139
- for (i = 0; i < rowNodes.length; i += 1) {
140
- rows.push(rowNodes[i]);
141
- tableBody.removeChild(rowNodes[i]);
142
- }
143
-
144
- rows.sort(finalSorter);
145
-
146
- for (i = 0; i < rows.length; i += 1) {
147
- tableBody.appendChild(rows[i]);
148
- }
149
- }
150
- // removes sort indicators for current column being sorted
151
- function removeSortIndicators() {
152
- var col = getNthColumn(currentSort.index),
153
- cls = col.className;
154
-
155
- cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
156
- col.className = cls;
157
- }
158
- // adds sort indicators for current column being sorted
159
- function addSortIndicators() {
160
- getNthColumn(currentSort.index).className += currentSort.desc
161
- ? ' sorted-desc'
162
- : ' sorted';
163
- }
164
- // adds event listeners for all sorter widgets
165
- function enableUI() {
166
- var i,
167
- el,
168
- ithSorter = function ithSorter(i) {
169
- var col = cols[i];
170
-
171
- return function() {
172
- var desc = col.defaultDescSort;
173
-
174
- if (currentSort.index === i) {
175
- desc = !currentSort.desc;
176
- }
177
- sortByIndex(i, desc);
178
- removeSortIndicators();
179
- currentSort.index = i;
180
- currentSort.desc = desc;
181
- addSortIndicators();
182
- };
183
- };
184
- for (i = 0; i < cols.length; i += 1) {
185
- if (cols[i].sortable) {
186
- // add the click event handler on the th so users
187
- // dont have to click on those tiny arrows
188
- el = getNthColumn(i).querySelector('.sorter').parentElement;
189
- if (el.addEventListener) {
190
- el.addEventListener('click', ithSorter(i));
191
- } else {
192
- el.attachEvent('onclick', ithSorter(i));
193
- }
194
- }
195
- }
196
- }
197
- // adds sorting functionality to the UI
198
- return function() {
199
- if (!getTable()) {
200
- return;
201
- }
202
- cols = loadColumns();
203
- loadData();
204
- addSearchBox();
205
- addSortIndicators();
206
- enableUI();
207
- };
208
- })();
209
-
210
- window.addEventListener('load', addSorting);
@@ -1,3 +0,0 @@
1
- var M=/^v?(\d+)\.(\d+)\.(\d+)$/,O=/^(\d+)\.(\d+)\.(\d+)$/,G=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,d="release/",v="release/v",I="refs/heads/",W="next";var k=new Set(["dev","main","next","hotfix","regular","release"]),a=class extends Error{constructor(t){super(t),this.name="InvalidReleaseNameError"}},c=class extends Error{constructor(t){super(t),this.name="InvalidReleaseRefError"}},j=e=>e.startsWith(I)?e.slice(I.length):e,N=(e,t,n)=>({kind:"version",semver:{major:e,minor:t,patch:n},raw:`${e}.${t}.${n}`}),w=e=>{if(e.length===0)throw new a('Release name is empty. Provide a kebab-case name like "checkout-redesign".');if(e.length>50)throw new a(`Release name "${e}" is ${e.length} characters; the maximum is 50.`);if(!G.test(e))throw new a(`Release name "${e}" is not kebab-case. Use lowercase letters, digits, and single hyphens, e.g. "checkout-redesign".`);if(k.has(e))throw new a(`Release name "${e}" is reserved. Reserved names: ${[...k].join(", ")}.`)},R=e=>{let t=j(e.trim());if(!t.startsWith(d))return null;if(t.startsWith(v)){let o=t.slice(v.length),i=O.exec(o);if(i)return N(Number(i[1]),Number(i[2]),Number(i[3]))}let n=t.slice(d.length);try{w(n)}catch{return null}return{kind:"name",name:n,raw:n}},F=e=>{let t=e.trim();if(j(t).startsWith(d)){let i=R(t);if(!i)throw new c(`"${e}" looks like a release branch but is not a valid release/v<semver> or release/<name> ref.`);return i}let o=M.exec(t);if(o)return N(Number(o[1]),Number(o[2]),Number(o[3]));if(t.toLowerCase()===W)throw new c('The "next" token must be resolved to a concrete version (via computeNextVersion) before parsing a release ref.');try{w(t)}catch(i){let p=i instanceof Error?i.message:String(i);throw new c(`Cannot parse "${e}" as a release ref: ${p}`)}return{kind:"name",name:t,raw:t}},U=e=>e.kind==="version"?`${v}${e.raw}`:`${d}${e.name}`,z=(e,t)=>{let n=t==="hotfix"?"Hotfix":"Release";return e.kind==="version"?`${n} v${e.raw}`:`${n} ${e.name}`},H=e=>e.kind==="version"?`Release v${e.raw} (RC)`:`Release ${e.name} (RC)`,X=e=>e.kind==="version"?`v${e.raw}`:e.name,q=e=>e.raw,C=e=>e==null?!1:R(e)!==null,E=e=>{if(e===void 0)return null;let t=e instanceof Date?e.getTime():new Date(e).getTime();return Number.isNaN(t)?null:t},V=(e,t,n)=>{if(e.kind==="version"&&t.kind==="version")return e.semver.major!==t.semver.major?e.semver.major-t.semver.major:e.semver.minor!==t.semver.minor?e.semver.minor-t.semver.minor:e.semver.patch-t.semver.patch;if(e.kind==="version")return-1;if(t.kind==="version")return 1;let o=E(n?.a),i=E(n?.b);return o!==null&&i!==null&&o!==i?o-i:e.name<t.name?-1:e.name>t.name?1:0};import P from"node:path";import{$ as s}from"zx";var J=async e=>{let n=(await s`git worktree list`).stdout.split(`
2
- `).filter(Boolean),o={release:Y,feature:Q};return n.map(o[e]).filter(i=>i!==null)},S=e=>{let t=e.trimEnd();if(!t.endsWith("]"))return null;let n=t.lastIndexOf("[");if(n===-1)return null;let o=t.slice(n+1,-1);return o.length>0?o:null},Y=e=>{let t=S(e);return C(t)?t:null},Q=e=>{let t=S(e);return t?.startsWith("feature/")?t:null},m=async()=>(await s`git rev-parse --show-toplevel`).stdout.trim(),$=async()=>(await s`git rev-parse --abbrev-ref HEAD`).stdout.trim(),Z=async()=>(await s`git status --porcelain`).stdout.trim().length===0,ee=async()=>{let e=await m(),[t,n]=await Promise.all([s({cwd:e})`git rev-parse --absolute-git-dir`,s({cwd:e})`git rev-parse --git-common-dir`]),o=t.stdout.trim(),i=P.resolve(e,n.stdout.trim());return o!==i},te=async()=>{let e=await m();return P.basename(e)},re=async e=>{(await s`git branch --list ${e}`).stdout.trim().length!==0&&await $()!==e&&await s`git branch -D ${e}`},ne=async e=>{(await s`git ls-remote --heads origin ${e}`).stdout.trim().length!==0&&await s`git push origin --delete ${e}`};import y from"node:fs/promises";import oe from"node:os";import u from"node:path";import{z as r}from"zod";var A="infra-kit.json",_=".infra-kit",ie="infra-kit.json",se="projects",ae=r.object({provider:r.literal("doppler"),config:r.object({name:r.string().min(1)})}),ce=r.discriminatedUnion("provider",[ae]),le=r.object({workspaceConfigPath:r.string().min(1)}),me=r.object({provider:r.literal("cursor"),config:le}),ue=r.object({}),fe=r.object({provider:r.literal("zed"),config:ue}),L=r.discriminatedUnion("provider",[me,fe]),de=r.union([L,r.array(L).min(1)]),pe=r.object({provider:r.literal("jira"),config:r.object({baseUrl:r.string().url(),projectId:r.number().int().positive()})}),ge=r.discriminatedUnion("provider",[pe]),he=["two-columns","three-pane"],ve=r.object({layout:r.enum(he).optional()}),we=r.object({openInGithubDesktop:r.boolean().optional(),openInCmux:r.boolean().optional(),cmux:ve.optional()}),Re=r.object({port:r.number().int().positive().optional(),prefixUrl:r.string().min(1).optional()}).strict(),Ce=r.record(r.string().min(1),Re),xe=r.object({trigger:r.enum(["shell-startup","cli-invocation"]),config:r.string().min(1)}).strict(),K=r.object({environments:r.array(r.string().min(1)).min(1),envManagement:ce,ide:de.optional(),taskManager:ge.optional(),worktrees:we.optional(),envAutoLoad:xe.optional(),dev:Ce.optional()}),T=K.superRefine((e,t)=>{if(!Array.isArray(e.ide))return;let n=new Set;for(let o of e.ide){if(n.has(o.provider)){t.addIssue({code:"custom",message:"each IDE provider may appear at most once",path:["ide"]});return}n.add(o.provider)}}),D=K.partial(),ye=e=>{let t=e.ide;return t?Array.isArray(t)?t:[t]:[]},be="two-columns",Ie=e=>e.worktrees?.cmux?.layout??be,l=null,B=async()=>{let e=await m(),t=u.basename(e),n=u.join(oe.homedir(),_);return{main:u.join(e,A),userGlobal:u.join(n,ie),userProject:u.join(n,se,t,A),projectName:t}},ke=async()=>{let e=await B(),t;try{t=await y.stat(e.main)}catch{l=null;let h=e.main.replace(/\.json$/,".yml");throw await x(h)?new Error(`infra-kit.json not found at ${e.main}. A legacy infra-kit.yml exists \u2014 run \`infra-kit init\` to convert it.`):new Error(`infra-kit.json not found at ${e.main}`)}let[n,o]=await Promise.all([x(e.userGlobal),x(e.userProject)]),i={main:Number(t.mtimeMs),userGlobal:n?Number(n.mtimeMs):null,userProject:o?Number(o.mtimeMs):null};if(l&&Ne(l.mtimes,i))return l.value;let p=[{label:"infra-kit.json",path:e.main,required:!0},{label:"~/.infra-kit/infra-kit.json",path:e.userGlobal,required:!1},{label:`~/.infra-kit/projects/${e.projectName}/infra-kit.json`,path:e.userProject,required:!1}],g={};for(let h of p){let b=await Pe(h);b!==null&&(g={...g,...b})}let f=T.safeParse(g);if(!f.success)throw new Error(`Invalid merged infra-kit config: ${r.prettifyError(f.error)}`);return l={mtimes:i,value:f.data},f.data},Ee=()=>{l=null},x=async e=>{try{return await y.stat(e)}catch{return null}},je=async e=>{try{return await y.readFile(e,"utf-8")}catch{return null}},Ne=(e,t)=>{let n=Object.keys(e);return n.length!==Object.keys(t).length?!1:n.every(o=>e[o]===t[o])},Pe=async e=>{let t=await je(e.path);if(t===null){if(e.required)throw new Error(`${e.label} not found at ${e.path}`);return null}let n;try{n=t.trim()===""?{}:JSON.parse(t)}catch(i){throw new Error(`Invalid JSON in ${e.label} at ${e.path}: ${i.message}`)}let o=D.safeParse(n);if(!o.success)throw new Error(`Invalid ${e.label} at ${e.path}: ${r.prettifyError(o.error)}`);return o.data};export{a,w as b,R as c,F as d,U as e,z as f,H as g,X as h,q as i,C as j,V as k,J as l,m,$ as n,Z as o,ee as p,te as q,re as r,ne as s,_ as t,T as u,D as v,ye as w,Ie as x,B as y,ke as z,Ee as A};
3
- //# sourceMappingURL=chunk-DB6CTNBS.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/lib/release-id/release-id.ts", "../src/lib/git-utils/git-utils.ts", "../src/lib/infra-kit-config/infra-kit-config.ts"],
4
- "sourcesContent": ["/**\n * A release identity is either a semantic version or a free-form kebab-case\n * name. `raw` is the canonical token for the id: the no-`v` semver string for\n * versions (e.g. `1.2.3`) and the name itself for named releases.\n */\nexport type ReleaseId =\n | { kind: 'version'; semver: { major: number; minor: number; patch: number }; raw: string }\n | { kind: 'name'; name: string; raw: string }\n\n/** Matches a bare or `v`-prefixed semver token, e.g. `1.2.3` or `v1.2.3`. */\nconst VERSION_RE = /^v?(\\d+)\\.(\\d+)\\.(\\d+)$/\n\n/** Matches the semver core after the `v` in a `release/v\u2026` branch. */\nconst BRANCH_SEMVER_RE = /^(\\d+)\\.(\\d+)\\.(\\d+)$/\n\n/** Kebab-case: lowercase alphanumeric segments joined by single hyphens. */\nconst KEBAB_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/\n\nconst RELEASE_BRANCH_PREFIX = 'release/'\nconst VERSION_BRANCH_PREFIX = 'release/v'\nconst REFS_HEADS_PREFIX = 'refs/heads/'\n\nconst NEXT_TOKEN = 'next'\nconst MAX_NAME_LENGTH = 50\n\n/**\n * Names that would collide with branch/release semantics or read as a special\n * token. Banned regardless of kebab-case validity.\n */\nconst RESERVED_NAMES: ReadonlySet<string> = new Set(['dev', 'main', 'next', 'hotfix', 'regular', 'release'])\n\n/** Thrown by {@link validateName} when a release name is not acceptable. */\nexport class InvalidReleaseNameError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'InvalidReleaseNameError'\n }\n}\n\n/** Thrown by {@link parseReleaseRef} when a release ref cannot be parsed. */\nexport class InvalidReleaseRefError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'InvalidReleaseRefError'\n }\n}\n\nconst stripRefsHeads = (input: string): string => {\n return input.startsWith(REFS_HEADS_PREFIX) ? input.slice(REFS_HEADS_PREFIX.length) : input\n}\n\nconst makeVersion = (major: number, minor: number, patch: number): ReleaseId => {\n return {\n kind: 'version',\n semver: { major, minor, patch },\n raw: `${major}.${minor}.${patch}`,\n }\n}\n\n/**\n * Validate a release name. Throws {@link InvalidReleaseNameError} with a\n * specific message unless the name is kebab-case, at most 50 characters, and\n * not a reserved word. Semver-looking tokens (e.g. `1.2.3`) are already\n * excluded by the kebab-case rule since they contain dots.\n */\nexport const validateName = (name: string): void => {\n if (name.length === 0) {\n throw new InvalidReleaseNameError('Release name is empty. Provide a kebab-case name like \"checkout-redesign\".')\n }\n\n if (name.length > MAX_NAME_LENGTH) {\n throw new InvalidReleaseNameError(\n `Release name \"${name}\" is ${name.length} characters; the maximum is ${MAX_NAME_LENGTH}.`,\n )\n }\n\n if (!KEBAB_RE.test(name)) {\n throw new InvalidReleaseNameError(\n `Release name \"${name}\" is not kebab-case. Use lowercase letters, digits, and single hyphens, e.g. \"checkout-redesign\".`,\n )\n }\n\n if (RESERVED_NAMES.has(name)) {\n throw new InvalidReleaseNameError(\n `Release name \"${name}\" is reserved. Reserved names: ${[...RESERVED_NAMES].join(', ')}.`,\n )\n }\n}\n\n/**\n * Lenient parse of a git branch name into a {@link ReleaseId}. Tolerates a\n * leading `refs/heads/`. Returns `null` for anything that is not a valid\n * `release/v<semver>` or `release/<name>` branch. Never throws.\n *\n * Precedence is version-first: `release/v<semver>` is a version, but if the\n * segment after `release/v` is not a valid semver (e.g. `release/vnext`), the\n * whole token after `release/` is treated as a candidate name instead.\n */\nexport const parseBranchName = (branch: string): ReleaseId | null => {\n const stripped = stripRefsHeads(branch.trim())\n\n if (!stripped.startsWith(RELEASE_BRANCH_PREFIX)) return null\n\n if (stripped.startsWith(VERSION_BRANCH_PREFIX)) {\n const semverPart = stripped.slice(VERSION_BRANCH_PREFIX.length)\n const match = BRANCH_SEMVER_RE.exec(semverPart)\n\n if (match) {\n return makeVersion(Number(match[1]), Number(match[2]), Number(match[3]))\n }\n }\n\n const namePart = stripped.slice(RELEASE_BRANCH_PREFIX.length)\n\n try {\n validateName(namePart)\n } catch {\n return null\n }\n\n return { kind: 'name', name: namePart, raw: namePart }\n}\n\n/**\n * Strict parse of a release ref into a {@link ReleaseId}. Throws\n * {@link InvalidReleaseRefError} on invalid input. Precedence (order matters):\n * 1. `release/\u2026` (or `refs/heads/release/\u2026`) \u2192 delegate to parseBranchName.\n * 2. semver token (`1.2.3` / `v1.2.3`) \u2192 version.\n * 3. `next` \u2192 throws; callers must resolve `next` to a concrete version\n * via computeNextVersion before calling this.\n * 4. otherwise \u2192 validateName, returning a named release.\n */\nexport const parseReleaseRef = (input: string): ReleaseId => {\n const trimmed = input.trim()\n const branchCandidate = stripRefsHeads(trimmed)\n\n if (branchCandidate.startsWith(RELEASE_BRANCH_PREFIX)) {\n const parsed = parseBranchName(trimmed)\n\n if (!parsed) {\n throw new InvalidReleaseRefError(\n `\"${input}\" looks like a release branch but is not a valid release/v<semver> or release/<name> ref.`,\n )\n }\n\n return parsed\n }\n\n const versionMatch = VERSION_RE.exec(trimmed)\n\n if (versionMatch) {\n return makeVersion(Number(versionMatch[1]), Number(versionMatch[2]), Number(versionMatch[3]))\n }\n\n if (trimmed.toLowerCase() === NEXT_TOKEN) {\n throw new InvalidReleaseRefError(\n 'The \"next\" token must be resolved to a concrete version (via computeNextVersion) before parsing a release ref.',\n )\n }\n\n try {\n validateName(trimmed)\n } catch (err) {\n const reason = err instanceof Error ? err.message : String(err)\n\n throw new InvalidReleaseRefError(`Cannot parse \"${input}\" as a release ref: ${reason}`)\n }\n\n return { kind: 'name', name: trimmed, raw: trimmed }\n}\n\n/** Render the branch name for a release id: `release/v1.2.3` | `release/<name>`. */\nexport const formatBranchName = (id: ReleaseId): string => {\n if (id.kind === 'version') return `${VERSION_BRANCH_PREFIX}${id.raw}`\n\n return `${RELEASE_BRANCH_PREFIX}${id.name}`\n}\n\n/**\n * Render a PR title: `Release v1.2.3` / `Hotfix v1.2.3` for versions,\n * `Release <name>` / `Hotfix <name>` for names.\n */\nexport const formatPrTitle = (id: ReleaseId, type: 'regular' | 'hotfix'): string => {\n const prefix = type === 'hotfix' ? 'Hotfix' : 'Release'\n\n if (id.kind === 'version') return `${prefix} v${id.raw}`\n\n return `${prefix} ${id.name}`\n}\n\n/** Render a release-candidate PR title: `Release v1.2.3 (RC)` | `Release <name> (RC)`. */\nexport const formatRcTitle = (id: ReleaseId): string => {\n if (id.kind === 'version') return `Release v${id.raw} (RC)`\n\n return `Release ${id.name} (RC)`\n}\n\n/** Render the Jira fix-version name: `v1.2.3` | `<name>`. */\nexport const formatJiraName = (id: ReleaseId): string => {\n if (id.kind === 'version') return `v${id.raw}`\n\n return id.name\n}\n\n/** Render a short human display label: `1.2.3` | `<name>`. */\nexport const displayLabel = (id: ReleaseId): string => {\n return id.raw\n}\n\n/** True iff `branch` is a valid release branch under either scheme. */\nexport const isReleaseBranch = (branch: string | null | undefined): boolean => {\n if (branch === null || branch === undefined) return false\n\n return parseBranchName(branch) !== null\n}\n\nconst toTime = (value: string | Date | undefined): number | null => {\n if (value === undefined) return null\n\n const time = value instanceof Date ? value.getTime() : new Date(value).getTime()\n\n return Number.isNaN(time) ? null : time\n}\n\n/**\n * Comparator for {@link ReleaseId} values (locked ordering):\n * - All versions sort before all names.\n * - Versions: semver ascending (major, then minor, then patch; numeric).\n * - Names: by date ascending when both dates are provided, otherwise\n * lexicographic by name. The result is stable and deterministic.\n */\nexport const compareReleaseIds = (\n a: ReleaseId,\n b: ReleaseId,\n dates?: { a?: string | Date; b?: string | Date },\n): number => {\n if (a.kind === 'version' && b.kind === 'version') {\n if (a.semver.major !== b.semver.major) return a.semver.major - b.semver.major\n if (a.semver.minor !== b.semver.minor) return a.semver.minor - b.semver.minor\n\n return a.semver.patch - b.semver.patch\n }\n\n if (a.kind === 'version') return -1\n if (b.kind === 'version') return 1\n\n const timeA = toTime(dates?.a)\n const timeB = toTime(dates?.b)\n\n if (timeA !== null && timeB !== null && timeA !== timeB) {\n return timeA - timeB\n }\n\n if (a.name < b.name) return -1\n if (a.name > b.name) return 1\n\n return 0\n}\n", "import path from 'node:path'\nimport { $ } from 'zx'\n\nimport { isReleaseBranch } from 'src/lib/release-id'\n\n/**\n * Get current git worktrees\n *\n * @returns [release/v1.18.22, release/v1.18.23, release/v1.18.24] or [feature/mobile-app, feature/explore-page, feature/login-page]\n */\nexport const getCurrentWorktrees = async (type: 'release' | 'feature'): Promise<string[]> => {\n const worktreesOutput = await $`git worktree list`\n\n const worktreeLines = worktreesOutput.stdout.split('\\n').filter(Boolean)\n\n const worktreePredicateMap = {\n release: releaseWorktreePredicate,\n feature: featureWorktreePredicate,\n }\n\n return worktreeLines.map(worktreePredicateMap[type]).filter((branch) => {\n return branch !== null\n })\n}\n\n/**\n * Extract the branch name from a `git worktree list` output line.\n *\n * `git worktree list` formats each line as:\n * <path> <hash> [<branch>]\n *\n * Reads the branch from the trailing `[branch]` token so it works for the\n * main checkout too (whose path does not encode the branch name).\n */\nconst parseWorktreeBranch = (line: string): string | null => {\n const trimmed = line.trimEnd()\n\n if (!trimmed.endsWith(']')) return null\n\n const open = trimmed.lastIndexOf('[')\n\n if (open === -1) return null\n\n const branch = trimmed.slice(open + 1, -1)\n\n return branch.length > 0 ? branch : null\n}\n\n/**\n * Extract a release branch name from a `git worktree list` output line.\n *\n * Returns `null` for lines that are not release worktrees.\n *\n * @example\n * releaseWorktreePredicate('/path/to/release/v1.18.22 abc1234 [release/v1.18.22]')\n * // => 'release/v1.18.22'\n *\n * @example\n * releaseWorktreePredicate('/path/to/feature/login abc1234 [feature/login]')\n * // => null\n */\nconst releaseWorktreePredicate = (line: string): string | null => {\n const branch = parseWorktreeBranch(line)\n\n return isReleaseBranch(branch) ? branch : null\n}\n\n/**\n * Extract a feature branch name from a `git worktree list` output line.\n *\n * Returns `null` for lines that are not feature worktrees.\n *\n * @example\n * featureWorktreePredicate('/path/to/feature/login-page abc1234 [feature/login-page]')\n * // => 'feature/login-page'\n *\n * @example\n * featureWorktreePredicate('/path/to/release/v1.18.22 abc1234 [release/v1.18.22]')\n * // => null\n */\nconst featureWorktreePredicate = (line: string): string | null => {\n const branch = parseWorktreeBranch(line)\n\n return branch?.startsWith('feature/') ? branch : null\n}\n\n/**\n * Get the current project root directory\n */\nexport const getProjectRoot = async (): Promise<string> => {\n const result = await $`git rev-parse --show-toplevel`\n\n return result.stdout.trim()\n}\n\n/**\n * Get the current git branch name (e.g. `dev`, `main`, `release/v1.2.3`).\n */\nexport const getCurrentBranch = async (): Promise<string> => {\n const result = await $`git rev-parse --abbrev-ref HEAD`\n\n return result.stdout.trim()\n}\n\n/**\n * Whether the working tree has no staged, unstaged, or untracked changes.\n */\nexport const isWorkingTreeClean = async (): Promise<boolean> => {\n const result = await $`git status --porcelain`\n\n return result.stdout.trim().length === 0\n}\n\n/**\n * Whether the current checkout is a linked git worktree rather than the main\n * repository checkout.\n *\n * A linked worktree's git dir lives under `<main>/.git/worktrees/<name>`, so it\n * differs from the shared common dir; in the main checkout the two resolve to\n * the same path. Both are anchored to the toplevel so `--git-common-dir` (which\n * git may report relative to cwd) resolves consistently.\n */\nexport const isInsideLinkedWorktree = async (): Promise<boolean> => {\n const cwd = await getProjectRoot()\n\n const [gitDirResult, commonDirResult] = await Promise.all([\n $({ cwd })`git rev-parse --absolute-git-dir`,\n $({ cwd })`git rev-parse --git-common-dir`,\n ])\n\n const gitDir = gitDirResult.stdout.trim()\n const commonDir = path.resolve(cwd, commonDirResult.stdout.trim())\n\n return gitDir !== commonDir\n}\n\n/**\n * Get the current repository name (basename of the project root)\n */\nexport const getRepoName = async (): Promise<string> => {\n const projectRoot = await getProjectRoot()\n\n return path.basename(projectRoot)\n}\n\n/**\n * Delete a local branch if it exists and is not the current checkout.\n *\n * Idempotent: a no-op when the branch is absent (`git branch --list` prints\n * nothing). Uses force `-D` because a delivered release branch was\n * squash-merged \u2014 its tip is unreachable from the base, so `-d` would refuse\n * with \"not fully merged\". The delete itself still rejects if the branch is\n * checked out in another worktree; callers decide how to handle that.\n */\nexport const deleteLocalBranch = async (branch: string): Promise<void> => {\n const listed = await $`git branch --list ${branch}`\n\n if (listed.stdout.trim().length === 0) return\n\n if ((await getCurrentBranch()) === branch) return\n\n await $`git branch -D ${branch}`\n}\n\n/**\n * Delete a branch on the `origin` remote if it exists.\n *\n * Idempotent: a no-op when the branch is absent on the remote. Existence is\n * probed with `git ls-remote --heads` (empty stdout = absent) rather than\n * `--exit-code`, so a genuine network/auth failure rejects and propagates to\n * the caller instead of being silently misread as \"branch absent\".\n */\nexport const deleteRemoteBranch = async (branch: string): Promise<void> => {\n const refs = await $`git ls-remote --heads origin ${branch}`\n\n if (refs.stdout.trim().length === 0) return\n\n await $`git push origin --delete ${branch}`\n}\n", "import fs from 'node:fs/promises'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { z } from 'zod'\n\nimport { getProjectRoot } from 'src/lib/git-utils'\n\nconst INFRA_KIT_CONFIG_FILE = 'infra-kit.json'\n\n/**\n * Directory under the user's home that holds all machine-local infra-kit config:\n * the runtime `infra-kit.json` merge layer, per-project overrides, and the factory\n * registry (`vendor.json`). Single source of truth for `.infra-kit`, reused\n * by the vendor factory-config loader (no import cycle \u2014 this module imports no\n * `lib/vendor` code).\n */\nexport const USER_CONFIG_DIR_NAME = '.infra-kit'\nconst USER_GLOBAL_CONFIG_FILE = 'infra-kit.json'\nconst USER_PROJECTS_DIR = 'projects'\n\n// envManagement\nconst dopplerEnvManagementSchema = z.object({\n provider: z.literal('doppler'),\n config: z.object({\n name: z.string().min(1),\n }),\n})\n\nconst envManagementSchema = z.discriminatedUnion('provider', [dopplerEnvManagementSchema])\n\n// ide\n// There is one attach style: each worktree is added to the configured editor's\n// workspace and opened (no per-window mode). Cursor needs a `.code-workspace`\n// path to reconcile its `folders` array against.\nconst cursorIdeConfigSchema = z.object({\n workspaceConfigPath: z.string().min(1),\n})\n\nconst cursorIdeSchema = z.object({\n provider: z.literal('cursor'),\n config: cursorIdeConfigSchema,\n})\n\n// Zed has no portable workspace file (no `.code-workspace`) and no folder-remove\n// CLI: a multi-worktree workspace is realized by a single `zed <root> <wt...>`\n// invocation. So `config` carries no settings \u2014 there's no path to point at.\nconst zedIdeConfigSchema = z.object({})\n\nconst zedIdeSchema = z.object({\n provider: z.literal('zed'),\n config: zedIdeConfigSchema,\n})\n\nconst ideSchema = z.discriminatedUnion('provider', [cursorIdeSchema, zedIdeSchema])\n\n// `ide` accepts a single provider (back-compat) OR an array to drive multiple\n// editors at once (e.g. Cursor + Zed). Normalized to an array everywhere via\n// `resolveConfiguredIdes`. Uniqueness-by-provider is enforced at parse time by a\n// `.superRefine` on the full config schema (see below) \u2014 not here, so the message\n// survives `z.union` error aggregation.\nconst idesSchema = z.union([ideSchema, z.array(ideSchema).min(1)])\n\n// taskManager\nconst jiraTaskManagerSchema = z.object({\n provider: z.literal('jira'),\n config: z.object({\n baseUrl: z.string().url(),\n projectId: z.number().int().positive(),\n }),\n})\n\nconst taskManagerSchema = z.discriminatedUnion('provider', [jiraTaskManagerSchema])\n\n// cmux pane layout for opened worktree workspaces. Named presets keep the config\n// typo-proof (an enum, not a free string) and let the opener switch on a single\n// value; extend the enum + the opener's switch to add a layout.\n// two-columns \u2014 left | right, both full-height (default)\n// three-pane \u2014 left split top/bottom + full-height right (legacy layout)\nconst cmuxLayouts = ['two-columns', 'three-pane'] as const\n\nconst cmuxConfigSchema = z.object({\n layout: z.enum(cmuxLayouts).optional(),\n})\n\n// worktrees prompt defaults\nconst worktreesConfigSchema = z.object({\n openInGithubDesktop: z.boolean().optional(),\n openInCmux: z.boolean().optional(),\n cmux: cmuxConfigSchema.optional(),\n})\n\n// dev-server per-app overrides. Maps an app folder name (e.g. `client`) to its\n// local dev port and/or URL prefix. Both keys optional. An app absent from the\n// map falls back to env (`{APP}_PORT` / `PORT`) then the built-in defaults, so\n// the map is intentionally NOT validated against the discovered apps here \u2014 an\n// unknown app name is simply ignored at resolve time (lib/dev), never a parse\n// error that would brick every command.\nconst devAppConfigSchema = z\n .object({\n port: z.number().int().positive().optional(),\n prefixUrl: z.string().min(1).optional(),\n })\n .strict()\n\nconst devConfigSchema = z.record(z.string().min(1), devAppConfigSchema)\n\n// env auto-load: opt-in convenience that primes Doppler env when you work inside\n// this project / a worktree. Absent => disabled. `trigger` selects the moment\n// (pick one):\n// shell-startup \u2014 when a new shell opens inside the project\n// cli-invocation \u2014 before each `infra-kit` command (primes SUBSEQUENT commands)\n// `config` names which environment to load. It is intentionally NOT validated\n// against `environments` here: an invalid name must DISABLE the feature at\n// resolve time (lib/env-autoload), never throw inside the merged-config parse and\n// brick every command.\nconst envAutoLoadSchema = z\n .object({\n trigger: z.enum(['shell-startup', 'cli-invocation']),\n config: z.string().min(1),\n })\n .strict()\n\n// Base object shape, kept separate so `.partial()` (which only works on a plain\n// ZodObject, not the `.superRefine`-wrapped full schema) can derive the override\n// schema from it.\nconst infraKitConfigObject = z.object({\n environments: z.array(z.string().min(1)).min(1),\n envManagement: envManagementSchema,\n ide: idesSchema.optional(),\n taskManager: taskManagerSchema.optional(),\n worktrees: worktreesConfigSchema.optional(),\n envAutoLoad: envAutoLoadSchema.optional(),\n dev: devConfigSchema.optional(),\n})\n\n// Full schema = base object + a parse-time uniqueness check on the `ide` array.\n// This runs inside the *merged* `safeParse` in getInfraKitConfig, so it's the\n// gate for the final config. (The override layers use the `.partial()` form\n// below, which drops this object-level refinement \u2014 acceptable, the merged\n// parse is authoritative.)\nexport const infraKitConfigSchema = infraKitConfigObject.superRefine((cfg, ctx) => {\n if (!Array.isArray(cfg.ide)) return\n\n const seen = new Set<string>()\n\n for (const entry of cfg.ide) {\n if (seen.has(entry.provider)) {\n ctx.addIssue({\n code: 'custom',\n message: 'each IDE provider may appear at most once',\n path: ['ide'],\n })\n\n return\n }\n\n seen.add(entry.provider)\n }\n})\n\nexport const infraKitOverrideConfigSchema = infraKitConfigObject.partial()\n\nexport type InfraKitConfig = z.infer<typeof infraKitConfigSchema>\n\n/** Resolved env auto-load config (`{ trigger, config }`), or `undefined` when off. */\nexport type EnvAutoLoadConfig = z.infer<typeof envAutoLoadSchema>\n\n/** Per-app dev-server overrides (`{ port?, prefixUrl? }`). */\nexport type DevAppConfig = z.infer<typeof devAppConfigSchema>\n\n/** The full `dev` section: a map of app folder name to its {@link DevAppConfig}. */\nexport type DevConfig = z.infer<typeof devConfigSchema>\n\n/** A single resolved IDE entry (`{ provider, config }`). */\nexport type ConfiguredIde = z.infer<typeof ideSchema>\n\n/**\n * Normalize the `ide` config (single object, array, or unset) into a flat list.\n * Validation-free: assumes already-parsed input (uniqueness is enforced by the\n * schema). The one source of truth for \"which editors are configured.\"\n *\n * @example\n * resolveConfiguredIdes({ ide: { provider: 'cursor', config: {...} } }) // => [cursor]\n * resolveConfiguredIdes({ ide: [cursor, zed] }) // => [cursor, zed]\n * resolveConfiguredIdes({}) // => []\n */\nexport const resolveConfiguredIdes = (config: InfraKitConfig): ConfiguredIde[] => {\n const ide = config.ide\n\n if (!ide) return []\n\n return Array.isArray(ide) ? ide : [ide]\n}\n\n/** A cmux pane layout preset (see {@link cmuxLayouts}). */\nexport type CmuxLayout = (typeof cmuxLayouts)[number]\n\n/** The layout applied when `worktrees.cmux.layout` is left unset. */\nexport const DEFAULT_CMUX_LAYOUT: CmuxLayout = 'two-columns'\n\n/**\n * Resolve the cmux pane layout for opened worktree workspaces, falling back to\n * {@link DEFAULT_CMUX_LAYOUT} when unconfigured. The one source of truth for\n * \"which layout should the cmux opener build.\"\n *\n * @example\n * resolveCmuxLayout({ worktrees: { cmux: { layout: 'three-pane' } } }) // => 'three-pane'\n * resolveCmuxLayout({}) // => 'two-columns'\n */\nexport const resolveCmuxLayout = (config: InfraKitConfig): CmuxLayout => {\n return config.worktrees?.cmux?.layout ?? DEFAULT_CMUX_LAYOUT\n}\n\nexport interface InfraKitConfigPaths {\n /** Committed project config (required). */\n main: string\n /** User-scope global overrides applied to every project. */\n userGlobal: string\n /** User-scope per-project overrides \u2014 `<userProjectsDir>/<projectName>/infra-kit.json`. */\n userProject: string\n /** Repo basename (`path.basename(projectRoot)`) used to namespace the user-project file. */\n projectName: string\n}\n\ninterface CacheEntry {\n mtimes: Record<keyof Omit<InfraKitConfigPaths, 'projectName'>, number | null>\n value: InfraKitConfig\n}\n\nlet cached: CacheEntry | null = null\n\n/**\n * Resolve every file path that participates in the config merge chain. Always\n * returns paths even for files that don't yet exist, so callers can use them\n * for \"where would my override go?\" prompts.\n *\n * @example\n * const paths = await getInfraKitConfigPaths()\n * // {\n * // main: '/Users/arthur/projects/api/infra-kit.json',\n * // userGlobal: '/Users/arthur/.infra-kit/infra-kit.json',\n * // userProject: '/Users/arthur/.infra-kit/projects/api/infra-kit.json',\n * // projectName: 'api',\n * // }\n */\nexport const getInfraKitConfigPaths = async (): Promise<InfraKitConfigPaths> => {\n const projectRoot = await getProjectRoot()\n // Repo name is the project-root basename (same as getRepoName), derived here to\n // avoid a second `git rev-parse` \u2014 getRepoName would re-resolve the root.\n const projectName = path.basename(projectRoot)\n const userConfigDir = path.join(os.homedir(), USER_CONFIG_DIR_NAME)\n\n return {\n main: path.join(projectRoot, INFRA_KIT_CONFIG_FILE),\n userGlobal: path.join(userConfigDir, USER_GLOBAL_CONFIG_FILE),\n userProject: path.join(userConfigDir, USER_PROJECTS_DIR, projectName, INFRA_KIT_CONFIG_FILE),\n projectName,\n }\n}\n\n/**\n * Read and validate `infra-kit.json`, with optional override layers shallow-merged\n * on top in this order (later wins):\n * 1. project `infra-kit.json` \u2014 committed source of truth\n * 2. `~/.infra-kit/infra-kit.json` \u2014 user-global defaults\n * 3. `~/.infra-kit/projects/<repo-name>/infra-kit.json` \u2014 user-scope per-project overrides\n *\n * Top-level keys (entire capability sections like `ide`, `envManagement`)\n * replace wholesale. Results are cached per file mtimes so the long-running\n * MCP server picks up edits without a restart.\n *\n * @example\n * // infra-kit.json: { \"environments\": [\"dev\"], \"envManagement\": { \"provider\": \"doppler\", \"config\": { \"name\": \"p\" } } }\n * // ~/.infra-kit/infra-kit.json: { \"ide\": { \"provider\": \"cursor\", \"config\": { \"workspaceConfigPath\": \"./ws.code-workspace\" } } }\n * const cfg = await getInfraKitConfig()\n * // => { environments: ['dev'], envManagement: {...}, ide: { provider: 'cursor', config: { workspaceConfigPath: './ws.code-workspace' } } }\n */\nexport const getInfraKitConfig = async (): Promise<InfraKitConfig> => {\n const paths = await getInfraKitConfigPaths()\n\n let mainStat: Awaited<ReturnType<typeof fs.stat>>\n\n try {\n mainStat = await fs.stat(paths.main)\n } catch {\n cached = null\n\n // Bridge the YAML\u2192JSON cutover: if a legacy infra-kit.yml is sitting where\n // the JSON config should be, point the user at the one-shot migration.\n const legacyYmlPath = paths.main.replace(/\\.json$/, '.yml')\n\n if (await statIfExists(legacyYmlPath)) {\n throw new Error(\n `infra-kit.json not found at ${paths.main}. A legacy infra-kit.yml exists \u2014 run \\`infra-kit init\\` to convert it.`,\n )\n }\n\n throw new Error(`infra-kit.json not found at ${paths.main}`)\n }\n\n const [userGlobalStat, userProjectStat] = await Promise.all([\n statIfExists(paths.userGlobal),\n statIfExists(paths.userProject),\n ])\n\n const mtimes = {\n main: Number(mainStat.mtimeMs),\n userGlobal: userGlobalStat ? Number(userGlobalStat.mtimeMs) : null,\n userProject: userProjectStat ? Number(userProjectStat.mtimeMs) : null,\n }\n\n if (cached && shallowEqual(cached.mtimes, mtimes)) {\n return cached.value\n }\n\n const layers: ConfigLayer[] = [\n { label: 'infra-kit.json', path: paths.main, required: true },\n { label: '~/.infra-kit/infra-kit.json', path: paths.userGlobal, required: false },\n {\n label: `~/.infra-kit/projects/${paths.projectName}/infra-kit.json`,\n path: paths.userProject,\n required: false,\n },\n ]\n\n let merged: Record<string, unknown> = {}\n\n for (const layer of layers) {\n const data = await loadLayer(layer)\n\n if (data === null) continue\n\n merged = { ...merged, ...data }\n }\n\n const finalResult = infraKitConfigSchema.safeParse(merged)\n\n if (!finalResult.success) {\n throw new Error(`Invalid merged infra-kit config: ${z.prettifyError(finalResult.error)}`)\n }\n\n cached = { mtimes, value: finalResult.data }\n\n return finalResult.data\n}\n\n/**\n * For tests \u2014 drops the in-memory cache so the next read hits disk.\n *\n * @example\n * resetInfraKitConfigCache()\n * await getInfraKitConfig() // re-reads files even if mtimes look unchanged\n */\nexport const resetInfraKitConfigCache = (): void => {\n cached = null\n}\n\n/**\n * `fs.stat` that returns `null` instead of throwing on ENOENT. Used so the\n * resolver can probe optional files in the merge chain without try/catch noise.\n *\n * @example\n * const stat = await statIfExists('/does/not/exist') // => null\n */\nconst statIfExists = async (filePath: string): Promise<Awaited<ReturnType<typeof fs.stat>> | null> => {\n try {\n return await fs.stat(filePath)\n } catch {\n return null\n }\n}\n\n/**\n * `fs.readFile` that returns `null` instead of throwing on ENOENT.\n *\n * @example\n * const raw = await readIfExists('/missing.json') // => null\n * const raw = await readIfExists('/exists.json') // => '{ \"environments\": [\"dev\"] }\\n'\n */\nconst readIfExists = async (filePath: string): Promise<string | null> => {\n try {\n return await fs.readFile(filePath, 'utf-8')\n } catch {\n return null\n }\n}\n\n/**\n * Reference-equality comparison of every key in two flat records. Used to\n * cheaply detect whether the cached mtime fingerprint still matches.\n *\n * @example\n * shallowEqual({ a: 1, b: 2 }, { a: 1, b: 2 }) // => true\n * shallowEqual({ a: 1 }, { a: 1, b: 2 }) // => false\n * shallowEqual({ a: 1 }, { a: 2 }) // => false\n */\nconst shallowEqual = <T extends Record<string, unknown>>(a: T, b: T): boolean => {\n const keys = Object.keys(a)\n\n if (keys.length !== Object.keys(b).length) return false\n\n return keys.every((k) => {\n return a[k] === b[k]\n })\n}\n\ninterface ConfigLayer {\n label: string\n path: string\n required: boolean\n}\n\n/**\n * Read a single layer of the merge chain: parse the JSON if the file exists\n * and validate it against the override schema. Returns `null` if an optional\n * layer is missing; throws if the layer is required, malformed, or invalid.\n * An empty/whitespace-only file is treated as `{}` (JSON.parse would throw).\n *\n * @example\n * await loadLayer({ label: '~/.infra-kit/infra-kit.json', path: '/missing.json', required: false })\n * // => null\n *\n * @example\n * // /home/me/.infra-kit/infra-kit.json: '{ \"ide\": { \"provider\": \"cursor\", \"config\": { \"workspaceConfigPath\": \"./ws.code-workspace\" } } }'\n * await loadLayer({ label: '~/.infra-kit/infra-kit.json', path: '/home/me/.infra-kit/infra-kit.json', required: false })\n * // => { ide: { provider: 'cursor', config: { workspaceConfigPath: './ws.code-workspace' } } }\n */\nconst loadLayer = async (layer: ConfigLayer): Promise<Record<string, unknown> | null> => {\n const raw = await readIfExists(layer.path)\n\n if (raw === null) {\n if (layer.required) {\n throw new Error(`${layer.label} not found at ${layer.path}`)\n }\n\n return null\n }\n\n let parsedRaw: unknown\n\n try {\n parsedRaw = raw.trim() === '' ? {} : JSON.parse(raw)\n } catch (err) {\n throw new Error(`Invalid JSON in ${layer.label} at ${layer.path}: ${(err as Error).message}`)\n }\n\n const result = infraKitOverrideConfigSchema.safeParse(parsedRaw)\n\n if (!result.success) {\n throw new Error(`Invalid ${layer.label} at ${layer.path}: ${z.prettifyError(result.error)}`)\n }\n\n return result.data as Record<string, unknown>\n}\n"],
5
- "mappings": "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",
6
- "names": ["VERSION_RE", "BRANCH_SEMVER_RE", "KEBAB_RE", "RELEASE_BRANCH_PREFIX", "VERSION_BRANCH_PREFIX", "REFS_HEADS_PREFIX", "NEXT_TOKEN", "RESERVED_NAMES", "InvalidReleaseNameError", "message", "InvalidReleaseRefError", "stripRefsHeads", "input", "REFS_HEADS_PREFIX", "makeVersion", "major", "minor", "patch", "validateName", "name", "KEBAB_RE", "parseBranchName", "branch", "stripped", "RELEASE_BRANCH_PREFIX", "VERSION_BRANCH_PREFIX", "semverPart", "match", "BRANCH_SEMVER_RE", "namePart", "parseReleaseRef", "trimmed", "parsed", "versionMatch", "VERSION_RE", "NEXT_TOKEN", "err", "reason", "formatBranchName", "id", "formatPrTitle", "type", "prefix", "formatRcTitle", "formatJiraName", "displayLabel", "isReleaseBranch", "toTime", "value", "time", "compareReleaseIds", "a", "b", "dates", "timeA", "timeB", "path", "$", "getCurrentWorktrees", "type", "worktreeLines", "$", "worktreePredicateMap", "releaseWorktreePredicate", "featureWorktreePredicate", "branch", "parseWorktreeBranch", "line", "trimmed", "open", "isReleaseBranch", "getProjectRoot", "getCurrentBranch", "isWorkingTreeClean", "isInsideLinkedWorktree", "cwd", "gitDirResult", "commonDirResult", "gitDir", "commonDir", "path", "getRepoName", "projectRoot", "deleteLocalBranch", "deleteRemoteBranch", "fs", "os", "path", "z", "INFRA_KIT_CONFIG_FILE", "USER_CONFIG_DIR_NAME", "USER_GLOBAL_CONFIG_FILE", "USER_PROJECTS_DIR", "dopplerEnvManagementSchema", "z", "envManagementSchema", "cursorIdeConfigSchema", "cursorIdeSchema", "zedIdeConfigSchema", "zedIdeSchema", "ideSchema", "idesSchema", "jiraTaskManagerSchema", "taskManagerSchema", "cmuxLayouts", "cmuxConfigSchema", "worktreesConfigSchema", "devAppConfigSchema", "devConfigSchema", "envAutoLoadSchema", "infraKitConfigObject", "infraKitConfigSchema", "cfg", "ctx", "seen", "entry", "infraKitOverrideConfigSchema", "resolveConfiguredIdes", "config", "ide", "DEFAULT_CMUX_LAYOUT", "resolveCmuxLayout", "cached", "getInfraKitConfigPaths", "projectRoot", "getProjectRoot", "projectName", "path", "userConfigDir", "os", "getInfraKitConfig", "paths", "mainStat", "fs", "legacyYmlPath", "statIfExists", "userGlobalStat", "userProjectStat", "mtimes", "shallowEqual", "layers", "merged", "layer", "data", "loadLayer", "finalResult", "resetInfraKitConfigCache", "filePath", "readIfExists", "a", "b", "keys", "k", "raw", "parsedRaw", "err", "result"]
7
- }