infra-kit 0.1.128 → 0.1.130

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/dist/chunk-2PZRQHWF.js +2 -0
  2. package/dist/chunk-2PZRQHWF.js.map +7 -0
  3. package/dist/chunk-4YU4TAGX.js +3 -0
  4. package/dist/chunk-4YU4TAGX.js.map +7 -0
  5. package/dist/chunk-AP63Y7KE.js +159 -0
  6. package/dist/chunk-AP63Y7KE.js.map +7 -0
  7. package/dist/chunk-Q36WX5RP.js +4 -0
  8. package/dist/chunk-Q36WX5RP.js.map +7 -0
  9. package/dist/chunk-V375VXOL.js +5 -0
  10. package/dist/chunk-V375VXOL.js.map +7 -0
  11. package/dist/chunk-YGCVOVNX.js +2 -0
  12. package/dist/chunk-YGCVOVNX.js.map +7 -0
  13. package/dist/{chunk-YSBF5C7C.js → chunk-Z6KTUVIC.js} +2 -2
  14. package/dist/chunk-Z6KTUVIC.js.map +7 -0
  15. package/dist/cli.js +6 -6
  16. package/dist/cli.js.map +3 -3
  17. package/dist/dev-server.js +11 -11
  18. package/dist/dev-server.js.map +4 -4
  19. package/dist/dev-wizard-run-LYNLPQMV.js +2 -0
  20. package/dist/dev-wizard-run-LYNLPQMV.js.map +7 -0
  21. package/dist/entry/index.d.ts +1 -1
  22. package/dist/entry/vite.d.ts +2 -0
  23. package/dist/index.js +1 -1
  24. package/dist/lib/package-config/package-config-schema.d.ts +35 -0
  25. package/dist/lib/package-config/package-config.d.ts +28 -0
  26. package/dist/lib/release-slug/release-slug.d.ts +19 -0
  27. package/dist/lib/vite/vite.d.ts +136 -0
  28. package/dist/mcp.js +1 -1
  29. package/dist/mcp.js.map +1 -1
  30. package/dist/vite.js +2 -0
  31. package/dist/vite.js.map +7 -0
  32. package/package.json +11 -3
  33. package/.eslintcache +0 -1
  34. package/.omc/state/agent-replay-036daa78-5fee-4c7d-9b44-53584acb0d87.jsonl +0 -26
  35. package/.omc/state/agent-replay-0a58307d-2a37-4c69-851c-83a646502d62.jsonl +0 -1
  36. package/.omc/state/agent-replay-0a65ec83-9de7-458d-9d0f-e56e1a26c68e.jsonl +0 -2
  37. package/.omc/state/agent-replay-0d1515ce-4ebe-4ce8-a865-2897f68de168.jsonl +0 -1
  38. package/.omc/state/agent-replay-11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc.jsonl +0 -16
  39. package/.omc/state/agent-replay-127837d3-a000-4656-9453-2324ab353723.jsonl +0 -5
  40. package/.omc/state/agent-replay-15c409af-24fa-4026-88d3-a82dd1e68b87.jsonl +0 -11
  41. package/.omc/state/agent-replay-1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a.jsonl +0 -17
  42. package/.omc/state/agent-replay-1fcfe0ec-7567-41c3-9bfd-501e99e86819.jsonl +0 -19
  43. package/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
  44. package/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -1
  45. package/.omc/state/agent-replay-36d91435-50b4-442f-9f4e-3cc68d776236.jsonl +0 -2
  46. package/.omc/state/agent-replay-38382db5-3088-4b5a-aff7-2561a60827c7.jsonl +0 -17
  47. package/.omc/state/agent-replay-4cf1c186-81b2-497c-b002-d7f84e7839f3.jsonl +0 -9
  48. package/.omc/state/agent-replay-50c36be9-a3a2-42b9-9c85-5a06d3e22f6a.jsonl +0 -5
  49. package/.omc/state/agent-replay-5c4ab554-64f1-42ae-83e3-21e0237e955c.jsonl +0 -11
  50. package/.omc/state/agent-replay-6be1264f-8069-4412-8119-86118ed1943e.jsonl +0 -3
  51. package/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
  52. package/.omc/state/agent-replay-74afa912-1443-4011-b4f2-db9f055cdd9f.jsonl +0 -3
  53. package/.omc/state/agent-replay-8198b3e5-fad6-4ee0-9c59-ef773ad89af4.jsonl +0 -1
  54. package/.omc/state/agent-replay-8cd7652a-b8b5-49cf-9b1f-bee8e5972458.jsonl +0 -3
  55. package/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -3
  56. package/.omc/state/agent-replay-9bea518f-a9ee-4d14-bb53-a936ebaf647c.jsonl +0 -7
  57. package/.omc/state/agent-replay-a60ac2ec-afbd-449f-a540-6df287392fc2.jsonl +0 -1
  58. package/.omc/state/agent-replay-afc6290b-40d3-4bef-b3b6-14484c034ab9.jsonl +0 -14
  59. package/.omc/state/agent-replay-b52d89fb-0e24-4901-bc66-27e3c1697126.jsonl +0 -2
  60. package/.omc/state/agent-replay-be37e426-6fc8-47f4-8178-221c8494551c.jsonl +0 -3
  61. package/.omc/state/agent-replay-c967c819-3d1c-447b-ab48-56a8448ef9f8.jsonl +0 -2
  62. package/.omc/state/agent-replay-d02e6565-5168-40c8-8629-de219a29fa43.jsonl +0 -2
  63. package/.omc/state/agent-replay-d367c3be-9c2a-48e7-bcea-b45861af568c.jsonl +0 -2
  64. package/.omc/state/agent-replay-d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc.jsonl +0 -10
  65. package/.omc/state/agent-replay-e947a3c6-989d-4a60-91dd-6b0ddd827b2d.jsonl +0 -3
  66. package/.omc/state/agent-replay-eb44055b-c2fa-4e66-b491-a1d9b44f51c7.jsonl +0 -1
  67. package/.omc/state/agent-replay-f2846d8f-974c-486c-b16f-4bdaa28ca45f.jsonl +0 -2
  68. package/.omc/state/agent-replay-f581a1ae-0ee4-48a3-96f3-ce31a0633bb0.jsonl +0 -1
  69. package/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
  70. package/.omc/state/agent-replay-fe1057b4-9a25-4e8e-8c3f-3e11652ee697.jsonl +0 -5
  71. package/.omc/state/idle-notif-cooldown.json +0 -3
  72. package/.omc/state/last-tool-error.json +0 -7
  73. package/.omc/state/mission-state.json +0 -53
  74. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/last-tool-error-state.json +0 -7
  75. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/mission-state.json +0 -129
  76. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/pre-tool-advisory-throttle.json +0 -34
  77. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralph-state.json +0 -13
  78. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ralplan-state.json +0 -11
  79. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/subagent-tracking-state.json +0 -80
  80. package/.omc/state/sessions/036daa78-5fee-4c7d-9b44-53584acb0d87/ultrawork-state.json +0 -11
  81. package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
  82. package/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/subagent-tracking-state.json +0 -7
  83. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/pre-tool-advisory-throttle.json +0 -18
  84. package/.omc/state/sessions/0a65ec83-9de7-458d-9d0f-e56e1a26c68e/skill-active-state.json +0 -15
  85. package/.omc/state/sessions/0d1515ce-4ebe-4ce8-a865-2897f68de168/pre-tool-advisory-throttle.json +0 -10
  86. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/last-tool-error-state.json +0 -7
  87. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/mission-state.json +0 -117
  88. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/pre-tool-advisory-throttle.json +0 -42
  89. package/.omc/state/sessions/11c41aa0-51fa-49e1-a1dc-26dcd6ac26cc/subagent-tracking-state.json +0 -53
  90. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/mission-state.json +0 -61
  91. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/pre-tool-advisory-throttle.json +0 -22
  92. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/skill-active-state.json +0 -15
  93. package/.omc/state/sessions/127837d3-a000-4656-9453-2324ab353723/subagent-tracking-state.json +0 -26
  94. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/last-tool-error-state.json +0 -7
  95. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/mission-state.json +0 -89
  96. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/pre-tool-advisory-throttle.json +0 -34
  97. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ralph-state.json +0 -13
  98. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/skill-active-state.json +0 -15
  99. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/subagent-tracking-state.json +0 -44
  100. package/.omc/state/sessions/15c409af-24fa-4026-88d3-a82dd1e68b87/ultrawork-state.json +0 -11
  101. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/last-tool-error-state.json +0 -7
  102. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/mission-state.json +0 -139
  103. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/pre-tool-advisory-throttle.json +0 -50
  104. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/ralplan-state.json +0 -11
  105. package/.omc/state/sessions/1b6ffc57-2d9b-4af4-b603-f1cef7e01b0a/subagent-tracking-state.json +0 -90
  106. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/last-tool-error-state.json +0 -7
  107. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/mission-state.json +0 -109
  108. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/pre-tool-advisory-throttle.json +0 -42
  109. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ralph-state.json +0 -13
  110. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/skill-active-state.json +0 -15
  111. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/subagent-tracking-state.json +0 -62
  112. package/.omc/state/sessions/1fcfe0ec-7567-41c3-9bfd-501e99e86819/ultrawork-state.json +0 -11
  113. package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/last-tool-error-state.json +0 -7
  114. package/.omc/state/sessions/23d0ff82-17e5-428b-8743-38f7979bb6f3/pre-tool-advisory-throttle.json +0 -18
  115. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/last-tool-error-state.json +0 -7
  116. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
  117. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -10
  118. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/skill-active-state.json +0 -15
  119. package/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
  120. package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -18
  121. package/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
  122. package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/pre-tool-advisory-throttle.json +0 -18
  123. package/.omc/state/sessions/36d91435-50b4-442f-9f4e-3cc68d776236/subagent-tracking-state.json +0 -17
  124. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/last-tool-error-state.json +0 -7
  125. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/mission-state.json +0 -145
  126. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/pre-tool-advisory-throttle.json +0 -38
  127. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/ralplan-state.json +0 -11
  128. package/.omc/state/sessions/38382db5-3088-4b5a-aff7-2561a60827c7/subagent-tracking-state.json +0 -98
  129. package/.omc/state/sessions/3a844fbd-ace8-4af1-8516-33d611839886/pre-tool-advisory-throttle.json +0 -18
  130. package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
  131. package/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
  132. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/last-tool-error-state.json +0 -7
  133. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/pre-tool-advisory-throttle.json +0 -18
  134. package/.omc/state/sessions/4cf1c186-81b2-497c-b002-d7f84e7839f3/subagent-tracking-state.json +0 -7
  135. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/mission-state.json +0 -61
  136. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/pre-tool-advisory-throttle.json +0 -22
  137. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/skill-active-state.json +0 -15
  138. package/.omc/state/sessions/50c36be9-a3a2-42b9-9c85-5a06d3e22f6a/subagent-tracking-state.json +0 -26
  139. package/.omc/state/sessions/560ea519-574a-4713-b134-5bf6cfaf3c33/pre-tool-advisory-throttle.json +0 -18
  140. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/mission-state.json +0 -117
  141. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/pre-tool-advisory-throttle.json +0 -18
  142. package/.omc/state/sessions/5c4ab554-64f1-42ae-83e3-21e0237e955c/subagent-tracking-state.json +0 -17
  143. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/last-tool-error-state.json +0 -7
  144. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/mission-state.json +0 -53
  145. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/pre-tool-advisory-throttle.json +0 -22
  146. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/skill-active-state.json +0 -15
  147. package/.omc/state/sessions/6be1264f-8069-4412-8119-86118ed1943e/subagent-tracking-state.json +0 -17
  148. package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -18
  149. package/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
  150. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/pre-tool-advisory-throttle.json +0 -18
  151. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/skill-active-state.json +0 -15
  152. package/.omc/state/sessions/74afa912-1443-4011-b4f2-db9f055cdd9f/subagent-tracking-state.json +0 -17
  153. package/.omc/state/sessions/7772f972-4ec1-4287-bf42-a92c14cf3ffc/pre-tool-advisory-throttle.json +0 -10
  154. package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/pre-tool-advisory-throttle.json +0 -14
  155. package/.omc/state/sessions/8198b3e5-fad6-4ee0-9c59-ef773ad89af4/subagent-tracking-state.json +0 -17
  156. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/pre-tool-advisory-throttle.json +0 -18
  157. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/ralplan-state.json +0 -11
  158. package/.omc/state/sessions/8cd7652a-b8b5-49cf-9b1f-bee8e5972458/subagent-tracking-state.json +0 -35
  159. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
  160. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
  161. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -17
  162. package/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
  163. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/last-tool-error-state.json +0 -7
  164. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/mission-state.json +0 -79
  165. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/pre-tool-advisory-throttle.json +0 -22
  166. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/progress.txt +0 -7
  167. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/skill-active-state.json +0 -15
  168. package/.omc/state/sessions/9bea518f-a9ee-4d14-bb53-a936ebaf647c/subagent-tracking-state.json +0 -26
  169. package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/pre-tool-advisory-throttle.json +0 -18
  170. package/.omc/state/sessions/a60ac2ec-afbd-449f-a540-6df287392fc2/subagent-tracking-state.json +0 -7
  171. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/last-tool-error-state.json +0 -7
  172. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/mission-state.json +0 -89
  173. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -34
  174. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ralph-state.json +0 -13
  175. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/skill-active-state.json +0 -15
  176. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/subagent-tracking-state.json +0 -35
  177. package/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/ultrawork-state.json +0 -11
  178. package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/pre-tool-advisory-throttle.json +0 -14
  179. package/.omc/state/sessions/b52d89fb-0e24-4901-bc66-27e3c1697126/subagent-tracking-state.json +0 -17
  180. package/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -18
  181. package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -10
  182. package/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/subagent-tracking-state.json +0 -7
  183. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/last-tool-error-state.json +0 -7
  184. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/mission-state.json +0 -53
  185. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/pre-tool-advisory-throttle.json +0 -18
  186. package/.omc/state/sessions/d02e6565-5168-40c8-8629-de219a29fa43/subagent-tracking-state.json +0 -17
  187. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/last-tool-error-state.json +0 -7
  188. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/mission-state.json +0 -103
  189. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/pre-tool-advisory-throttle.json +0 -30
  190. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ralph-state.json +0 -13
  191. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/subagent-tracking-state.json +0 -62
  192. package/.omc/state/sessions/d5aae73c-340d-4aa2-9fe0-1bf2d79b69dc/ultrawork-state.json +0 -11
  193. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/last-tool-error-state.json +0 -7
  194. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/pre-tool-advisory-throttle.json +0 -10
  195. package/.omc/state/sessions/e947a3c6-989d-4a60-91dd-6b0ddd827b2d/subagent-tracking-state.json +0 -26
  196. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/last-tool-error-state.json +0 -7
  197. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/pre-tool-advisory-throttle.json +0 -18
  198. package/.omc/state/sessions/eb44055b-c2fa-4e66-b491-a1d9b44f51c7/subagent-tracking-state.json +0 -17
  199. package/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
  200. package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/pre-tool-advisory-throttle.json +0 -18
  201. package/.omc/state/sessions/f581a1ae-0ee4-48a3-96f3-ce31a0633bb0/subagent-tracking-state.json +0 -17
  202. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
  203. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ralph-state.json +0 -13
  204. package/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/ultrawork-state.json +0 -11
  205. package/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
  206. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/last-tool-error-state.json +0 -7
  207. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/mission-state.json +0 -61
  208. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/prd.json +0 -22
  209. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/pre-tool-advisory-throttle.json +0 -22
  210. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/progress.txt +0 -22
  211. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/skill-active-state.json +0 -15
  212. package/.omc/state/sessions/fe1057b4-9a25-4e8e-8c3f-3e11652ee697/subagent-tracking-state.json +0 -26
  213. package/.omc/state/subagent-tracking.json +0 -17
  214. package/.turbo/turbo-build.log +0 -7
  215. package/.turbo/turbo-check.log +0 -14
  216. package/.turbo/turbo-eslint-check.log +0 -2
  217. package/.turbo/turbo-eslint-fix.log +0 -1
  218. package/.turbo/turbo-infra-kit-check.log +0 -14
  219. package/.turbo/turbo-prettier-check.log +0 -1
  220. package/.turbo/turbo-prettier-fix.log +0 -1
  221. package/.turbo/turbo-test.log +0 -406
  222. package/.turbo/turbo-ts-check.log +0 -1
  223. package/.turbo/turbo-validate.log +0 -14
  224. package/coverage/base.css +0 -224
  225. package/coverage/block-navigation.js +0 -87
  226. package/coverage/cli/index.html +0 -116
  227. package/coverage/cli/package.json.html +0 -283
  228. package/coverage/cli/src/commands/audit/audit.ts.html +0 -616
  229. package/coverage/cli/src/commands/audit/index.html +0 -131
  230. package/coverage/cli/src/commands/audit/index.ts.html +0 -88
  231. package/coverage/cli/src/commands/doctor/doctor.ts.html +0 -1654
  232. package/coverage/cli/src/commands/doctor/index.html +0 -131
  233. package/coverage/cli/src/commands/doctor/index.ts.html +0 -88
  234. package/coverage/cli/src/commands/env-clear/env-clear.ts.html +0 -370
  235. package/coverage/cli/src/commands/env-clear/index.html +0 -131
  236. package/coverage/cli/src/commands/env-clear/index.ts.html +0 -88
  237. package/coverage/cli/src/commands/env-list/env-list.ts.html +0 -229
  238. package/coverage/cli/src/commands/env-list/index.html +0 -131
  239. package/coverage/cli/src/commands/env-list/index.ts.html +0 -88
  240. package/coverage/cli/src/commands/env-load/env-load.ts.html +0 -1201
  241. package/coverage/cli/src/commands/env-load/index.html +0 -131
  242. package/coverage/cli/src/commands/env-load/index.ts.html +0 -91
  243. package/coverage/cli/src/commands/env-status/env-status.ts.html +0 -409
  244. package/coverage/cli/src/commands/env-status/index.html +0 -131
  245. package/coverage/cli/src/commands/env-status/index.ts.html +0 -88
  246. package/coverage/cli/src/commands/gh-merge-dev/gh-merge-dev.ts.html +0 -694
  247. package/coverage/cli/src/commands/gh-merge-dev/index.html +0 -131
  248. package/coverage/cli/src/commands/gh-merge-dev/index.ts.html +0 -88
  249. package/coverage/cli/src/commands/gh-release-deliver/gh-release-deliver.ts.html +0 -1495
  250. package/coverage/cli/src/commands/gh-release-deliver/index.html +0 -131
  251. package/coverage/cli/src/commands/gh-release-deliver/index.ts.html +0 -88
  252. package/coverage/cli/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts.html +0 -706
  253. package/coverage/cli/src/commands/gh-release-deploy-all/index.html +0 -131
  254. package/coverage/cli/src/commands/gh-release-deploy-all/index.ts.html +0 -88
  255. package/coverage/cli/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts.html +0 -994
  256. package/coverage/cli/src/commands/gh-release-deploy-selected/index.html +0 -131
  257. package/coverage/cli/src/commands/gh-release-deploy-selected/index.ts.html +0 -88
  258. package/coverage/cli/src/commands/gh-release-list/gh-release-list.ts.html +0 -355
  259. package/coverage/cli/src/commands/gh-release-list/index.html +0 -131
  260. package/coverage/cli/src/commands/gh-release-list/index.ts.html +0 -88
  261. package/coverage/cli/src/commands/init/agent-files.ts.html +0 -742
  262. package/coverage/cli/src/commands/init/index.html +0 -146
  263. package/coverage/cli/src/commands/init/init.ts.html +0 -1159
  264. package/coverage/cli/src/commands/init/migrate-config.ts.html +0 -1219
  265. package/coverage/cli/src/commands/release-create/index.html +0 -131
  266. package/coverage/cli/src/commands/release-create/index.ts.html +0 -88
  267. package/coverage/cli/src/commands/release-create/release-create.ts.html +0 -1426
  268. package/coverage/cli/src/commands/release-desc-edit/index.html +0 -131
  269. package/coverage/cli/src/commands/release-desc-edit/index.ts.html +0 -88
  270. package/coverage/cli/src/commands/release-desc-edit/release-desc-edit.ts.html +0 -766
  271. package/coverage/cli/src/commands/vendor-check/index.html +0 -131
  272. package/coverage/cli/src/commands/vendor-check/index.ts.html +0 -88
  273. package/coverage/cli/src/commands/vendor-check/vendor-check.ts.html +0 -466
  274. package/coverage/cli/src/commands/vendor-config/index.html +0 -116
  275. package/coverage/cli/src/commands/vendor-config/vendor-config.ts.html +0 -571
  276. package/coverage/cli/src/commands/vendor-diff/index.html +0 -131
  277. package/coverage/cli/src/commands/vendor-diff/index.ts.html +0 -88
  278. package/coverage/cli/src/commands/vendor-diff/vendor-diff.ts.html +0 -316
  279. package/coverage/cli/src/commands/vendor-manifest/index.html +0 -131
  280. package/coverage/cli/src/commands/vendor-manifest/index.ts.html +0 -88
  281. package/coverage/cli/src/commands/vendor-manifest/vendor-manifest.ts.html +0 -265
  282. package/coverage/cli/src/commands/vendor-sync/index.html +0 -131
  283. package/coverage/cli/src/commands/vendor-sync/index.ts.html +0 -88
  284. package/coverage/cli/src/commands/vendor-sync/vendor-sync.ts.html +0 -355
  285. package/coverage/cli/src/commands/version/index.html +0 -131
  286. package/coverage/cli/src/commands/version/index.ts.html +0 -88
  287. package/coverage/cli/src/commands/version/version.ts.html +0 -184
  288. package/coverage/cli/src/commands/worktrees-add/index.html +0 -131
  289. package/coverage/cli/src/commands/worktrees-add/index.ts.html +0 -88
  290. package/coverage/cli/src/commands/worktrees-add/worktrees-add.ts.html +0 -1183
  291. package/coverage/cli/src/commands/worktrees-list/index.html +0 -131
  292. package/coverage/cli/src/commands/worktrees-list/index.ts.html +0 -88
  293. package/coverage/cli/src/commands/worktrees-list/worktrees-list.ts.html +0 -400
  294. package/coverage/cli/src/commands/worktrees-reload/index.html +0 -131
  295. package/coverage/cli/src/commands/worktrees-reload/index.ts.html +0 -88
  296. package/coverage/cli/src/commands/worktrees-reload/worktrees-reload.ts.html +0 -775
  297. package/coverage/cli/src/commands/worktrees-remove/index.html +0 -131
  298. package/coverage/cli/src/commands/worktrees-remove/index.ts.html +0 -88
  299. package/coverage/cli/src/commands/worktrees-remove/worktrees-remove.ts.html +0 -682
  300. package/coverage/cli/src/commands/worktrees-sync/index.html +0 -131
  301. package/coverage/cli/src/commands/worktrees-sync/index.ts.html +0 -88
  302. package/coverage/cli/src/commands/worktrees-sync/worktrees-sync.ts.html +0 -679
  303. package/coverage/cli/src/dev/__tests__/fixtures.ts.html +0 -787
  304. package/coverage/cli/src/dev/__tests__/index.html +0 -116
  305. package/coverage/cli/src/dev/dev-server.ts.html +0 -1855
  306. package/coverage/cli/src/dev/discovery.ts.html +0 -598
  307. package/coverage/cli/src/dev/index.html +0 -191
  308. package/coverage/cli/src/dev/interfaces.ts.html +0 -223
  309. package/coverage/cli/src/dev/logger.ts.html +0 -1102
  310. package/coverage/cli/src/dev/ports.ts.html +0 -430
  311. package/coverage/cli/src/dev/serverless-local-run.ts.html +0 -916
  312. package/coverage/cli/src/entry/dev-server.ts.html +0 -409
  313. package/coverage/cli/src/entry/index.html +0 -116
  314. package/coverage/cli/src/index.html +0 -116
  315. package/coverage/cli/src/integrations/cmux/canonicalize-cmux-title.ts.html +0 -178
  316. package/coverage/cli/src/integrations/cmux/close-workspace-by-title.ts.html +0 -262
  317. package/coverage/cli/src/integrations/cmux/index.html +0 -191
  318. package/coverage/cli/src/integrations/cmux/index.ts.html +0 -100
  319. package/coverage/cli/src/integrations/cmux/list-workspace-titles.ts.html +0 -226
  320. package/coverage/cli/src/integrations/cmux/open-workspace-with-layout.ts.html +0 -325
  321. package/coverage/cli/src/integrations/cmux/workspace-title.ts.html +0 -154
  322. package/coverage/cli/src/integrations/cursor/add-folders-to-workspace.ts.html +0 -337
  323. package/coverage/cli/src/integrations/cursor/index.html +0 -206
  324. package/coverage/cli/src/integrations/cursor/index.ts.html +0 -103
  325. package/coverage/cli/src/integrations/cursor/launch-cursor.ts.html +0 -121
  326. package/coverage/cli/src/integrations/cursor/open-cursor-workspace.ts.html +0 -277
  327. package/coverage/cli/src/integrations/cursor/reconcile-workspace-folders.ts.html +0 -355
  328. package/coverage/cli/src/integrations/cursor/remove-folders-from-workspace.ts.html +0 -364
  329. package/coverage/cli/src/integrations/cursor/resolve-workspace-path.ts.html +0 -124
  330. package/coverage/cli/src/integrations/doppler/doppler-cli-auth.ts.html +0 -178
  331. package/coverage/cli/src/integrations/doppler/doppler-errors.ts.html +0 -349
  332. package/coverage/cli/src/integrations/doppler/doppler-project.ts.html +0 -355
  333. package/coverage/cli/src/integrations/doppler/index.html +0 -161
  334. package/coverage/cli/src/integrations/doppler/index.ts.html +0 -97
  335. package/coverage/cli/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts.html +0 -172
  336. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.html +0 -131
  337. package/coverage/cli/src/integrations/gh/gh-cli-auth/index.ts.html +0 -88
  338. package/coverage/cli/src/integrations/gh/gh-release-prs/gh-release-prs.ts.html +0 -703
  339. package/coverage/cli/src/integrations/gh/gh-release-prs/index.html +0 -131
  340. package/coverage/cli/src/integrations/gh/gh-release-prs/index.ts.html +0 -91
  341. package/coverage/cli/src/integrations/gh/index.html +0 -116
  342. package/coverage/cli/src/integrations/gh/index.ts.html +0 -94
  343. package/coverage/cli/src/integrations/ide/add-ide-worktree-folders.ts.html +0 -316
  344. package/coverage/cli/src/integrations/ide/index.html +0 -191
  345. package/coverage/cli/src/integrations/ide/index.ts.html +0 -103
  346. package/coverage/cli/src/integrations/ide/open-ide-workspace.ts.html +0 -238
  347. package/coverage/cli/src/integrations/ide/provider-label.ts.html +0 -157
  348. package/coverage/cli/src/integrations/ide/remove-ide-worktree-folders.ts.html +0 -520
  349. package/coverage/cli/src/integrations/ide/types.ts.html +0 -208
  350. package/coverage/cli/src/integrations/jira/api.ts.html +0 -1060
  351. package/coverage/cli/src/integrations/jira/index.html +0 -131
  352. package/coverage/cli/src/integrations/jira/index.ts.html +0 -142
  353. package/coverage/cli/src/integrations/zed/add-folders-to-zed-workspace.ts.html +0 -175
  354. package/coverage/cli/src/integrations/zed/index.html +0 -161
  355. package/coverage/cli/src/integrations/zed/index.ts.html +0 -94
  356. package/coverage/cli/src/integrations/zed/open-zed-workspace.ts.html +0 -238
  357. package/coverage/cli/src/integrations/zed/reuse-zed-workspace.ts.html +0 -256
  358. package/coverage/cli/src/lib/assert-never/assert-never.ts.html +0 -130
  359. package/coverage/cli/src/lib/assert-never/index.html +0 -131
  360. package/coverage/cli/src/lib/assert-never/index.ts.html +0 -88
  361. package/coverage/cli/src/lib/command-catalog/command-catalog.ts.html +0 -523
  362. package/coverage/cli/src/lib/command-catalog/index.html +0 -116
  363. package/coverage/cli/src/lib/command-echo/command-echo.ts.html +0 -319
  364. package/coverage/cli/src/lib/command-echo/index.html +0 -131
  365. package/coverage/cli/src/lib/command-echo/index.ts.html +0 -88
  366. package/coverage/cli/src/lib/constants/constants.ts.html +0 -472
  367. package/coverage/cli/src/lib/constants/index.html +0 -131
  368. package/coverage/cli/src/lib/constants/index.ts.html +0 -139
  369. package/coverage/cli/src/lib/env-autoload/env-autoload.ts.html +0 -1111
  370. package/coverage/cli/src/lib/env-autoload/index.html +0 -116
  371. package/coverage/cli/src/lib/errors/format-zx-error.ts.html +0 -247
  372. package/coverage/cli/src/lib/errors/index.html +0 -146
  373. package/coverage/cli/src/lib/errors/is-prompt-cancellation.ts.html +0 -199
  374. package/coverage/cli/src/lib/errors/operation-error.ts.html +0 -325
  375. package/coverage/cli/src/lib/git-guard/git-guard.ts.html +0 -250
  376. package/coverage/cli/src/lib/git-guard/index.html +0 -131
  377. package/coverage/cli/src/lib/git-guard/index.ts.html +0 -91
  378. package/coverage/cli/src/lib/git-utils/git-utils.ts.html +0 -622
  379. package/coverage/cli/src/lib/git-utils/index.html +0 -131
  380. package/coverage/cli/src/lib/git-utils/index.ts.html +0 -115
  381. package/coverage/cli/src/lib/infra-kit-config/index.html +0 -131
  382. package/coverage/cli/src/lib/infra-kit-config/index.ts.html +0 -142
  383. package/coverage/cli/src/lib/infra-kit-config/infra-kit-config.ts.html +0 -1447
  384. package/coverage/cli/src/lib/json-output/index.html +0 -116
  385. package/coverage/cli/src/lib/json-output/json-output.ts.html +0 -226
  386. package/coverage/cli/src/lib/logger/index.html +0 -116
  387. package/coverage/cli/src/lib/logger/index.ts.html +0 -205
  388. package/coverage/cli/src/lib/managed-block/index.html +0 -131
  389. package/coverage/cli/src/lib/managed-block/index.ts.html +0 -109
  390. package/coverage/cli/src/lib/managed-block/managed-block.ts.html +0 -520
  391. package/coverage/cli/src/lib/package-config/index.html +0 -146
  392. package/coverage/cli/src/lib/package-config/index.ts.html +0 -94
  393. package/coverage/cli/src/lib/package-config/package-config-schema.ts.html +0 -142
  394. package/coverage/cli/src/lib/package-config/package-config.ts.html +0 -376
  395. package/coverage/cli/src/lib/package-validator/checks/config-check.ts.html +0 -175
  396. package/coverage/cli/src/lib/package-validator/checks/files-check.ts.html +0 -172
  397. package/coverage/cli/src/lib/package-validator/checks/index.html +0 -176
  398. package/coverage/cli/src/lib/package-validator/checks/index.ts.html +0 -97
  399. package/coverage/cli/src/lib/package-validator/checks/scripts-check.ts.html +0 -154
  400. package/coverage/cli/src/lib/package-validator/checks/turbo-check.ts.html +0 -226
  401. package/coverage/cli/src/lib/package-validator/fs-utils.ts.html +0 -139
  402. package/coverage/cli/src/lib/package-validator/index.html +0 -146
  403. package/coverage/cli/src/lib/package-validator/index.ts.html +0 -94
  404. package/coverage/cli/src/lib/package-validator/loader/config-loader.ts.html +0 -316
  405. package/coverage/cli/src/lib/package-validator/loader/index.html +0 -146
  406. package/coverage/cli/src/lib/package-validator/loader/index.ts.html +0 -91
  407. package/coverage/cli/src/lib/package-validator/loader/package-discovery.ts.html +0 -379
  408. package/coverage/cli/src/lib/package-validator/package-validator.ts.html +0 -229
  409. package/coverage/cli/src/lib/path-display/index.html +0 -131
  410. package/coverage/cli/src/lib/path-display/index.ts.html +0 -88
  411. package/coverage/cli/src/lib/path-display/path-display.ts.html +0 -211
  412. package/coverage/cli/src/lib/release-id/index.html +0 -131
  413. package/coverage/cli/src/lib/release-id/index.ts.html +0 -130
  414. package/coverage/cli/src/lib/release-id/release-id.ts.html +0 -859
  415. package/coverage/cli/src/lib/release-utils/index.html +0 -131
  416. package/coverage/cli/src/lib/release-utils/index.ts.html +0 -130
  417. package/coverage/cli/src/lib/release-utils/release-utils.ts.html +0 -778
  418. package/coverage/cli/src/lib/render/index.html +0 -116
  419. package/coverage/cli/src/lib/render/render.ts.html +0 -157
  420. package/coverage/cli/src/lib/vendor/__tests__/index.html +0 -116
  421. package/coverage/cli/src/lib/vendor/__tests__/zx-mock.ts.html +0 -181
  422. package/coverage/cli/src/lib/vendor/config-schema.ts.html +0 -319
  423. package/coverage/cli/src/lib/vendor/config.ts.html +0 -259
  424. package/coverage/cli/src/lib/vendor/factory-config-schema.ts.html +0 -190
  425. package/coverage/cli/src/lib/vendor/factory-config.ts.html +0 -358
  426. package/coverage/cli/src/lib/vendor/hash.ts.html +0 -133
  427. package/coverage/cli/src/lib/vendor/index.html +0 -251
  428. package/coverage/cli/src/lib/vendor/index.ts.html +0 -154
  429. package/coverage/cli/src/lib/vendor/manifest.ts.html +0 -538
  430. package/coverage/cli/src/lib/vendor/skip-sets.ts.html +0 -229
  431. package/coverage/cli/src/lib/vendor/sync-ops.ts.html +0 -955
  432. package/coverage/cli/src/lib/vendor/walk.ts.html +0 -253
  433. package/coverage/cli/src/lib/version-utils/index.html +0 -161
  434. package/coverage/cli/src/lib/version-utils/index.ts.html +0 -139
  435. package/coverage/cli/src/lib/version-utils/load-existing-versions.ts.html +0 -343
  436. package/coverage/cli/src/lib/version-utils/next-version.ts.html +0 -934
  437. package/coverage/cli/src/lib/version-utils/version-utils.ts.html +0 -178
  438. package/coverage/cli/src/lib/worktrees/index.html +0 -131
  439. package/coverage/cli/src/lib/worktrees/index.ts.html +0 -88
  440. package/coverage/cli/src/lib/worktrees/remove-worktrees.ts.html +0 -283
  441. package/coverage/cli/src/tui/boot.tsx.html +0 -265
  442. package/coverage/cli/src/tui/index.html +0 -116
  443. package/coverage/cli/src/tui/screens/command-palette.tsx.html +0 -562
  444. package/coverage/cli/src/tui/screens/index.html +0 -116
  445. package/coverage/cli/src/types.ts.html +0 -283
  446. package/coverage/clover.xml +0 -4488
  447. package/coverage/coverage-final.json +0 -156
  448. package/coverage/favicon.png +0 -0
  449. package/coverage/index.html +0 -1076
  450. package/coverage/prettify.css +0 -1
  451. package/coverage/prettify.js +0 -2
  452. package/coverage/sort-arrow-sprite.png +0 -0
  453. package/coverage/sorter.js +0 -210
  454. package/dist/chunk-DB6CTNBS.js +0 -3
  455. package/dist/chunk-DB6CTNBS.js.map +0 -7
  456. package/dist/chunk-QBHCWAAG.js +0 -164
  457. package/dist/chunk-QBHCWAAG.js.map +0 -7
  458. package/dist/chunk-YSBF5C7C.js.map +0 -7
  459. package/eslint.config.js +0 -35
  460. package/infra-kit.config.ts +0 -5
  461. package/scripts/build.js +0 -75
  462. package/src/.omc/state/agent-replay-2ac0dcd0-01f7-41a8-a8c9-f2195599817b.jsonl +0 -5
  463. package/src/.omc/state/agent-replay-2ccbd177-0d5d-4d4a-ab94-a22464786221.jsonl +0 -2
  464. package/src/.omc/state/agent-replay-707b4784-2117-4b19-ae68-68a031f0d76d.jsonl +0 -2
  465. package/src/.omc/state/agent-replay-8dd0ad2f-3a90-4158-b9de-ec8e19a7c983.jsonl +0 -11
  466. package/src/.omc/state/agent-replay-c513ef38-cc3e-4a29-9c4c-1e0137245dd5.jsonl +0 -4
  467. package/src/.omc/state/agent-replay-ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a.jsonl +0 -2
  468. package/src/.omc/state/idle-notif-cooldown.json +0 -3
  469. package/src/.omc/state/sessions/0a58307d-2a37-4c69-851c-83a646502d62/pre-tool-advisory-throttle.json +0 -18
  470. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/mission-state.json +0 -79
  471. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/pre-tool-advisory-throttle.json +0 -26
  472. package/src/.omc/state/sessions/2ac0dcd0-01f7-41a8-a8c9-f2195599817b/subagent-tracking-state.json +0 -26
  473. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/last-tool-error-state.json +0 -7
  474. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/mission-state.json +0 -53
  475. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/pre-tool-advisory-throttle.json +0 -22
  476. package/src/.omc/state/sessions/2ccbd177-0d5d-4d4a-ab94-a22464786221/subagent-tracking-state.json +0 -17
  477. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/last-tool-error-state.json +0 -7
  478. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/mission-state.json +0 -53
  479. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/pre-tool-advisory-throttle.json +0 -22
  480. package/src/.omc/state/sessions/707b4784-2117-4b19-ae68-68a031f0d76d/subagent-tracking-state.json +0 -17
  481. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/mission-state.json +0 -79
  482. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -22
  483. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ralph-state.json +0 -13
  484. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/subagent-tracking-state.json +0 -26
  485. package/src/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/ultrawork-state.json +0 -11
  486. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/mission-state.json +0 -79
  487. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/pre-tool-advisory-throttle.json +0 -22
  488. package/src/.omc/state/sessions/c513ef38-cc3e-4a29-9c4c-1e0137245dd5/subagent-tracking-state.json +0 -26
  489. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/pre-tool-advisory-throttle.json +0 -18
  490. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ralph-state.json +0 -13
  491. package/src/.omc/state/sessions/ed3e2cfb-a666-4bb1-bcc1-569d5d0b837a/ultrawork-state.json +0 -11
  492. package/src/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -14
  493. package/src/commands/.omc/state/sessions/afc6290b-40d3-4bef-b3b6-14484c034ab9/pre-tool-advisory-throttle.json +0 -14
  494. package/src/commands/.omc/state/sessions/c967c819-3d1c-447b-ab48-56a8448ef9f8/pre-tool-advisory-throttle.json +0 -18
  495. package/src/commands/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -14
  496. package/src/commands/audit/.omc/state/agent-replay-f9c17a0e-2dd8-4f7d-badf-631f266c5d4c.jsonl +0 -4
  497. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/mission-state.json +0 -79
  498. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -22
  499. package/src/commands/audit/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/subagent-tracking-state.json +0 -26
  500. package/src/commands/audit/__tests__/audit.test.ts +0 -59
  501. package/src/commands/audit/audit.ts +0 -177
  502. package/src/commands/audit/index.ts +0 -1
  503. package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/last-tool-error-state.json +0 -7
  504. package/src/commands/config/.omc/state/sessions/41336850-028c-476b-be1a-2164e1e46cac/pre-tool-advisory-throttle.json +0 -18
  505. package/src/commands/config/config.ts +0 -137
  506. package/src/commands/config/index.ts +0 -1
  507. package/src/commands/doctor/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -14
  508. package/src/commands/doctor/__tests__/agent-files.test.ts +0 -88
  509. package/src/commands/doctor/__tests__/check-ide-installed.test.ts +0 -142
  510. package/src/commands/doctor/__tests__/check-legacy-user-global-config.test.ts +0 -110
  511. package/src/commands/doctor/doctor.ts +0 -576
  512. package/src/commands/doctor/index.ts +0 -1
  513. package/src/commands/env-autoload/env-autoload.ts +0 -24
  514. package/src/commands/env-autoload/index.ts +0 -1
  515. package/src/commands/env-clear/__tests__/env-clear.test.ts +0 -27
  516. package/src/commands/env-clear/env-clear.ts +0 -136
  517. package/src/commands/env-clear/index.ts +0 -1
  518. package/src/commands/env-list/env-list.ts +0 -48
  519. package/src/commands/env-list/index.ts +0 -1
  520. package/src/commands/env-load/__tests__/env-load.test.ts +0 -200
  521. package/src/commands/env-load/env-load.ts +0 -394
  522. package/src/commands/env-load/index.ts +0 -2
  523. package/src/commands/env-status/__tests__/env-status.test.ts +0 -78
  524. package/src/commands/env-status/env-status.ts +0 -108
  525. package/src/commands/env-status/index.ts +0 -1
  526. package/src/commands/gh-merge-dev/gh-merge-dev.ts +0 -203
  527. package/src/commands/gh-merge-dev/index.ts +0 -1
  528. package/src/commands/gh-release-deliver/gh-release-deliver.ts +0 -470
  529. package/src/commands/gh-release-deliver/index.ts +0 -1
  530. package/src/commands/gh-release-deploy-all/gh-release-deploy-all.ts +0 -207
  531. package/src/commands/gh-release-deploy-all/index.ts +0 -1
  532. package/src/commands/gh-release-deploy-selected/gh-release-deploy-selected.ts +0 -303
  533. package/src/commands/gh-release-deploy-selected/index.ts +0 -1
  534. package/src/commands/gh-release-list/gh-release-list.ts +0 -90
  535. package/src/commands/gh-release-list/index.ts +0 -1
  536. package/src/commands/init/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
  537. package/src/commands/init/__tests__/agent-files.test.ts +0 -265
  538. package/src/commands/init/__tests__/migrate-config.test.ts +0 -422
  539. package/src/commands/init/__tests__/migrate-factory-config.test.ts +0 -93
  540. package/src/commands/init/__tests__/seed-user-global-config.test.ts +0 -64
  541. package/src/commands/init/__tests__/shell-body.test.ts +0 -131
  542. package/src/commands/init/agent-files.ts +0 -219
  543. package/src/commands/init/index.ts +0 -8
  544. package/src/commands/init/init.ts +0 -440
  545. package/src/commands/init/migrate-config.ts +0 -378
  546. package/src/commands/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  547. package/src/commands/release-create/__tests__/release-create.test.ts +0 -92
  548. package/src/commands/release-create/index.ts +0 -1
  549. package/src/commands/release-create/release-create.ts +0 -447
  550. package/src/commands/release-desc-edit/index.ts +0 -1
  551. package/src/commands/release-desc-edit/release-desc-edit.ts +0 -227
  552. package/src/commands/vendor-check/__tests__/runtime-isolation.test.ts +0 -71
  553. package/src/commands/vendor-check/__tests__/vendor-check.test.ts +0 -87
  554. package/src/commands/vendor-check/index.ts +0 -1
  555. package/src/commands/vendor-check/vendor-check.ts +0 -127
  556. package/src/commands/vendor-config/__tests__/vendor-config.test.ts +0 -103
  557. package/src/commands/vendor-config/index.ts +0 -1
  558. package/src/commands/vendor-config/vendor-config.ts +0 -162
  559. package/src/commands/vendor-diff/__tests__/vendor-diff.test.ts +0 -74
  560. package/src/commands/vendor-diff/index.ts +0 -1
  561. package/src/commands/vendor-diff/vendor-diff.ts +0 -77
  562. package/src/commands/vendor-manifest/index.ts +0 -1
  563. package/src/commands/vendor-manifest/vendor-manifest.ts +0 -60
  564. package/src/commands/vendor-sync/__tests__/vendor-write.test.ts +0 -86
  565. package/src/commands/vendor-sync/index.ts +0 -1
  566. package/src/commands/vendor-sync/vendor-sync.ts +0 -90
  567. package/src/commands/version/index.ts +0 -1
  568. package/src/commands/version/version.ts +0 -33
  569. package/src/commands/worktrees-add/index.ts +0 -1
  570. package/src/commands/worktrees-add/worktrees-add.ts +0 -366
  571. package/src/commands/worktrees-list/index.ts +0 -1
  572. package/src/commands/worktrees-list/worktrees-list.ts +0 -105
  573. package/src/commands/worktrees-reload/__tests__/reload-cmux.test.ts +0 -119
  574. package/src/commands/worktrees-reload/index.ts +0 -1
  575. package/src/commands/worktrees-reload/worktrees-reload.ts +0 -230
  576. package/src/commands/worktrees-remove/index.ts +0 -1
  577. package/src/commands/worktrees-remove/worktrees-remove.ts +0 -199
  578. package/src/commands/worktrees-sync/index.ts +0 -1
  579. package/src/commands/worktrees-sync/worktrees-sync.ts +0 -198
  580. package/src/dev/__tests__/dev-server-options.test.ts +0 -57
  581. package/src/dev/__tests__/dev-server.test.ts +0 -420
  582. package/src/dev/__tests__/discovery.test.ts +0 -181
  583. package/src/dev/__tests__/fixtures.ts +0 -257
  584. package/src/dev/__tests__/ports.test.ts +0 -98
  585. package/src/dev/__tests__/serverless-local-run.test.ts +0 -533
  586. package/src/dev/dev-server.ts +0 -796
  587. package/src/dev/discovery.ts +0 -229
  588. package/src/dev/interfaces.ts +0 -11
  589. package/src/dev/managed-child.ts +0 -73
  590. package/src/dev/ports.ts +0 -100
  591. package/src/dev/serverless-local-run.ts +0 -329
  592. package/src/dev/turbo-watch.ts +0 -62
  593. package/src/dev/ui-dev.ts +0 -62
  594. package/src/entry/cli.ts +0 -630
  595. package/src/entry/dev-server.ts +0 -103
  596. package/src/entry/index.ts +0 -11
  597. package/src/entry/mcp.ts +0 -43
  598. package/src/integrations/cmux/__tests__/canonicalize-cmux-title.test.ts +0 -56
  599. package/src/integrations/cmux/__tests__/close-workspace-by-title.test.ts +0 -63
  600. package/src/integrations/cmux/__tests__/list-workspace-titles.test.ts +0 -65
  601. package/src/integrations/cmux/__tests__/open-workspace-with-layout.test.ts +0 -127
  602. package/src/integrations/cmux/canonicalize-cmux-title.ts +0 -31
  603. package/src/integrations/cmux/close-workspace-by-title.ts +0 -59
  604. package/src/integrations/cmux/index.ts +0 -5
  605. package/src/integrations/cmux/list-workspace-titles.ts +0 -47
  606. package/src/integrations/cmux/open-workspace-with-layout.ts +0 -80
  607. package/src/integrations/cmux/workspace-title.ts +0 -23
  608. package/src/integrations/cursor/.omc/state/agent-replay-f99d8dad-81d1-4987-8183-62edf0843d0c.jsonl +0 -2
  609. package/src/integrations/cursor/.omc/state/idle-notif-cooldown.json +0 -3
  610. package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/pre-tool-advisory-throttle.json +0 -18
  611. package/src/integrations/cursor/.omc/state/sessions/f99d8dad-81d1-4987-8183-62edf0843d0c/subagent-tracking-state.json +0 -17
  612. package/src/integrations/cursor/add-folders-to-workspace.ts +0 -84
  613. package/src/integrations/cursor/index.ts +0 -6
  614. package/src/integrations/cursor/launch-cursor.ts +0 -12
  615. package/src/integrations/cursor/open-cursor-workspace.ts +0 -64
  616. package/src/integrations/cursor/reconcile-workspace-folders.ts +0 -90
  617. package/src/integrations/cursor/remove-folders-from-workspace.ts +0 -93
  618. package/src/integrations/cursor/resolve-workspace-path.ts +0 -13
  619. package/src/integrations/doppler/__tests__/doppler-errors.test.ts +0 -76
  620. package/src/integrations/doppler/doppler-cli-auth.ts +0 -31
  621. package/src/integrations/doppler/doppler-errors.ts +0 -88
  622. package/src/integrations/doppler/doppler-project.ts +0 -90
  623. package/src/integrations/doppler/index.ts +0 -4
  624. package/src/integrations/gh/gh-cli-auth/gh-cli-auth.ts +0 -29
  625. package/src/integrations/gh/gh-cli-auth/index.ts +0 -1
  626. package/src/integrations/gh/gh-release-prs/.omc/state/sessions/c6ed6186-1aac-48e0-aa2a-edc6da8e0410/pre-tool-advisory-throttle.json +0 -10
  627. package/src/integrations/gh/gh-release-prs/__tests__/gh-release-prs.test.ts +0 -198
  628. package/src/integrations/gh/gh-release-prs/gh-release-prs.ts +0 -206
  629. package/src/integrations/gh/gh-release-prs/index.ts +0 -2
  630. package/src/integrations/gh/index.ts +0 -3
  631. package/src/integrations/ide/__tests__/ide-facade.test.ts +0 -289
  632. package/src/integrations/ide/add-ide-worktree-folders.ts +0 -77
  633. package/src/integrations/ide/index.ts +0 -6
  634. package/src/integrations/ide/open-ide-workspace.ts +0 -51
  635. package/src/integrations/ide/provider-label.ts +0 -24
  636. package/src/integrations/ide/remove-ide-worktree-folders.ts +0 -145
  637. package/src/integrations/ide/types.ts +0 -41
  638. package/src/integrations/jira/api.ts +0 -325
  639. package/src/integrations/jira/index.ts +0 -19
  640. package/src/integrations/jira/types.ts +0 -85
  641. package/src/integrations/linear/.gitkeep +0 -0
  642. package/src/integrations/zed/__tests__/open-zed-workspace.test.ts +0 -69
  643. package/src/integrations/zed/__tests__/reuse-zed-workspace.test.ts +0 -86
  644. package/src/integrations/zed/add-folders-to-zed-workspace.ts +0 -30
  645. package/src/integrations/zed/index.ts +0 -3
  646. package/src/integrations/zed/open-zed-workspace.ts +0 -51
  647. package/src/integrations/zed/reuse-zed-workspace.ts +0 -57
  648. package/src/lib/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -18
  649. package/src/lib/assert-never/assert-never.ts +0 -15
  650. package/src/lib/assert-never/index.ts +0 -1
  651. package/src/lib/command-catalog/__tests__/__snapshots__/command-catalog.test.ts.snap +0 -213
  652. package/src/lib/command-catalog/__tests__/command-catalog.test.ts +0 -193
  653. package/src/lib/command-catalog/command-catalog.ts +0 -146
  654. package/src/lib/command-catalog/index.ts +0 -2
  655. package/src/lib/command-echo/__tests__/command-echo.test.ts +0 -127
  656. package/src/lib/command-echo/command-echo.ts +0 -78
  657. package/src/lib/command-echo/index.ts +0 -1
  658. package/src/lib/constants/__tests__/constants.test.ts +0 -182
  659. package/src/lib/constants/constants.ts +0 -167
  660. package/src/lib/constants/index.ts +0 -22
  661. package/src/lib/env-autoload/__tests__/env-autoload.test.ts +0 -327
  662. package/src/lib/env-autoload/env-autoload.ts +0 -373
  663. package/src/lib/env-autoload/index.ts +0 -9
  664. package/src/lib/error-handlers/index.ts +0 -36
  665. package/src/lib/errors/__tests__/is-prompt-cancellation.test.ts +0 -48
  666. package/src/lib/errors/__tests__/operation-error.test.ts +0 -62
  667. package/src/lib/errors/format-zx-error.ts +0 -54
  668. package/src/lib/errors/is-prompt-cancellation.ts +0 -38
  669. package/src/lib/errors/operation-error.ts +0 -80
  670. package/src/lib/git-guard/__tests__/git-guard.test.ts +0 -92
  671. package/src/lib/git-guard/git-guard.ts +0 -55
  672. package/src/lib/git-guard/index.ts +0 -2
  673. package/src/lib/git-utils/__tests__/git-primitives.test.ts +0 -217
  674. package/src/lib/git-utils/__tests__/git-utils.test.ts +0 -49
  675. package/src/lib/git-utils/git-utils.ts +0 -179
  676. package/src/lib/git-utils/index.ts +0 -10
  677. package/src/lib/infra-kit-config/.omc/state/sessions/8dd0ad2f-3a90-4158-b9de-ec8e19a7c983/pre-tool-advisory-throttle.json +0 -18
  678. package/src/lib/infra-kit-config/__tests__/env-autoload-schema.test.ts +0 -71
  679. package/src/lib/infra-kit-config/__tests__/infra-kit-config.test.ts +0 -504
  680. package/src/lib/infra-kit-config/index.ts +0 -19
  681. package/src/lib/infra-kit-config/infra-kit-config.ts +0 -454
  682. package/src/lib/json-output/__tests__/json-output.test.ts +0 -139
  683. package/src/lib/json-output/index.ts +0 -1
  684. package/src/lib/json-output/json-output.ts +0 -47
  685. package/src/lib/logger/index.ts +0 -40
  686. package/src/lib/managed-block/__tests__/managed-block.test.ts +0 -121
  687. package/src/lib/managed-block/index.ts +0 -8
  688. package/src/lib/managed-block/managed-block.ts +0 -145
  689. package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/last-tool-error-state.json +0 -7
  690. package/src/lib/package-config/.omc/state/sessions/dde22a92-a0e9-4948-905d-25c9a812ab35/pre-tool-advisory-throttle.json +0 -10
  691. package/src/lib/package-config/__tests__/package-config.test.ts +0 -95
  692. package/src/lib/package-config/index.ts +0 -3
  693. package/src/lib/package-config/package-config-schema.ts +0 -19
  694. package/src/lib/package-config/package-config.ts +0 -97
  695. package/src/lib/package-validator/.omc/state/sessions/f9c17a0e-2dd8-4f7d-badf-631f266c5d4c/pre-tool-advisory-throttle.json +0 -10
  696. package/src/lib/package-validator/__tests__/package-validator.test.ts +0 -270
  697. package/src/lib/package-validator/checks/__tests__/checks.test.ts +0 -130
  698. package/src/lib/package-validator/checks/config-check.ts +0 -30
  699. package/src/lib/package-validator/checks/files-check.ts +0 -29
  700. package/src/lib/package-validator/checks/index.ts +0 -4
  701. package/src/lib/package-validator/checks/scripts-check.ts +0 -23
  702. package/src/lib/package-validator/checks/turbo-check.ts +0 -47
  703. package/src/lib/package-validator/fs-utils.ts +0 -18
  704. package/src/lib/package-validator/index.ts +0 -3
  705. package/src/lib/package-validator/loader/config-loader.ts +0 -77
  706. package/src/lib/package-validator/loader/index.ts +0 -2
  707. package/src/lib/package-validator/loader/package-discovery.ts +0 -98
  708. package/src/lib/package-validator/package-validator.ts +0 -48
  709. package/src/lib/package-validator/types.ts +0 -15
  710. package/src/lib/path-display/index.ts +0 -1
  711. package/src/lib/path-display/path-display.ts +0 -42
  712. package/src/lib/release-id/__tests__/release-id.test.ts +0 -359
  713. package/src/lib/release-id/__tests__/versioned-regression.test.ts +0 -69
  714. package/src/lib/release-id/index.ts +0 -15
  715. package/src/lib/release-id/release-id.ts +0 -258
  716. package/src/lib/release-utils/__tests__/release-utils.test.ts +0 -122
  717. package/src/lib/release-utils/index.ts +0 -15
  718. package/src/lib/release-utils/release-utils.ts +0 -231
  719. package/src/lib/render/__tests__/render.test.ts +0 -48
  720. package/src/lib/render/index.ts +0 -1
  721. package/src/lib/render/render.ts +0 -24
  722. package/src/lib/tool-handler/index.ts +0 -1
  723. package/src/lib/tool-handler/tool-handler.ts +0 -30
  724. package/src/lib/vendor/.omc/state/sessions/f09f401f-56c6-42cd-97be-c742c1956468/pre-tool-advisory-throttle.json +0 -10
  725. package/src/lib/vendor/__tests__/config-schema.test.ts +0 -31
  726. package/src/lib/vendor/__tests__/config.test.ts +0 -63
  727. package/src/lib/vendor/__tests__/factory-config.test.ts +0 -92
  728. package/src/lib/vendor/__tests__/vendor-lib.test.ts +0 -158
  729. package/src/lib/vendor/__tests__/zx-mock.ts +0 -32
  730. package/src/lib/vendor/config-schema.ts +0 -78
  731. package/src/lib/vendor/config.ts +0 -58
  732. package/src/lib/vendor/factory-config-schema.ts +0 -35
  733. package/src/lib/vendor/factory-config.ts +0 -91
  734. package/src/lib/vendor/hash.ts +0 -16
  735. package/src/lib/vendor/index.ts +0 -23
  736. package/src/lib/vendor/manifest.ts +0 -151
  737. package/src/lib/vendor/skip-sets.ts +0 -48
  738. package/src/lib/vendor/sync-ops.ts +0 -290
  739. package/src/lib/vendor/walk.ts +0 -56
  740. package/src/lib/version-utils/__tests__/load-existing-versions.test.ts +0 -37
  741. package/src/lib/version-utils/__tests__/next-version.test.ts +0 -407
  742. package/src/lib/version-utils/index.ts +0 -18
  743. package/src/lib/version-utils/load-existing-versions.ts +0 -86
  744. package/src/lib/version-utils/next-version.ts +0 -283
  745. package/src/lib/version-utils/version-utils.ts +0 -31
  746. package/src/lib/warm-cache/__tests__/warm-cache.test.ts +0 -164
  747. package/src/lib/warm-cache/index.ts +0 -7
  748. package/src/lib/warm-cache/warm-cache.ts +0 -136
  749. package/src/lib/worktrees/__tests__/remove-worktrees.test.ts +0 -167
  750. package/src/lib/worktrees/index.ts +0 -1
  751. package/src/lib/worktrees/remove-worktrees.ts +0 -66
  752. package/src/mcp/prompts/index.ts +0 -3
  753. package/src/mcp/resources/index.ts +0 -3
  754. package/src/mcp/server.ts +0 -27
  755. package/src/mcp/tools/index.ts +0 -21
  756. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  757. package/src/sanity.test.tsx +0 -8
  758. package/src/tui/__tests__/boot.test.tsx +0 -61
  759. package/src/tui/__tests__/no-react-boundary.test.ts +0 -51
  760. package/src/tui/boot.tsx +0 -60
  761. package/src/tui/screens/__tests__/command-palette.test.tsx +0 -136
  762. package/src/tui/screens/command-palette.tsx +0 -159
  763. package/src/tui/types.ts +0 -8
  764. package/src/types.ts +0 -66
  765. package/tsconfig.json +0 -46
  766. package/tsconfig.tsbuildinfo +0 -1
  767. package/vitest.config.ts +0 -26
  768. package/vitest.setup.ts +0 -1
@@ -1,1654 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for cli/src/commands/doctor/doctor.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">cli/src/commands/doctor</a> doctor.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">40.87% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>56/137</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">32.65% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>16/49</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">42.85% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>9/21</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">40.44% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>55/136</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-yes">4x</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-no">&nbsp;</span>
623
- <span class="cline-any cline-no">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-no">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-no">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-yes">4x</span>
632
- <span class="cline-any cline-no">&nbsp;</span>
633
- <span class="cline-any cline-no">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-no">&nbsp;</span>
636
- <span class="cline-any cline-no">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-no">&nbsp;</span>
640
- <span class="cline-any cline-no">&nbsp;</span>
641
- <span class="cline-any cline-no">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-no">&nbsp;</span>
644
- <span class="cline-any cline-no">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-no">&nbsp;</span>
652
- <span class="cline-any cline-no">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-no">&nbsp;</span>
655
- <span class="cline-any cline-no">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-no">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-yes">4x</span>
666
- <span class="cline-any cline-no">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-no">&nbsp;</span>
669
- <span class="cline-any cline-no">&nbsp;</span>
670
- <span class="cline-any cline-no">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-no">&nbsp;</span>
673
- <span class="cline-any cline-no">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-no">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-no">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-no">&nbsp;</span>
681
- <span class="cline-any cline-no">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-no">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-no">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-yes">4x</span>
699
- <span class="cline-any cline-no">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-no">&nbsp;</span>
702
- <span class="cline-any cline-no">&nbsp;</span>
703
- <span class="cline-any cline-no">&nbsp;</span>
704
- <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-no">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-no">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-neutral">&nbsp;</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-yes">4x</span>
724
- <span class="cline-any cline-no">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-no">&nbsp;</span>
729
- <span class="cline-any cline-no">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-no">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-no">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-no">&nbsp;</span>
737
- <span class="cline-any cline-no">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-no">&nbsp;</span>
741
- <span class="cline-any cline-no">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-no">&nbsp;</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-yes">4x</span>
767
- <span class="cline-any cline-no">&nbsp;</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-no">&nbsp;</span>
770
- <span class="cline-any cline-no">&nbsp;</span>
771
- <span class="cline-any cline-no">&nbsp;</span>
772
- <span class="cline-any cline-no">&nbsp;</span>
773
- <span class="cline-any cline-no">&nbsp;</span>
774
- <span class="cline-any cline-no">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-no">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-no">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-yes">4x</span>
803
- <span class="cline-any cline-yes">4x</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-yes">4x</span>
808
- <span class="cline-any cline-yes">4x</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-yes">1x</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-yes">3x</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-yes">3x</span>
816
- <span class="cline-any cline-yes">1x</span>
817
- <span class="cline-any cline-neutral">&nbsp;</span>
818
- <span class="cline-any cline-neutral">&nbsp;</span>
819
- <span class="cline-any cline-yes">2x</span>
820
- <span class="cline-any cline-yes">1x</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-yes">1x</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-neutral">&nbsp;</span>
837
- <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-yes">4x</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-neutral">&nbsp;</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-yes">4x</span>
854
- <span class="cline-any cline-yes">8x</span>
855
- <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-yes">8x</span>
857
- <span class="cline-any cline-yes">8x</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-yes">4x</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-yes">4x</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-neutral">&nbsp;</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-yes">4x</span>
874
- <span class="cline-any cline-yes">8x</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-yes">8x</span>
879
- <span class="cline-any cline-yes">8x</span>
880
- <span class="cline-any cline-yes">8x</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-yes">7x</span>
883
- <span class="cline-any cline-yes">8x</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-yes">1x</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-yes">7x</span>
890
- <span class="cline-any cline-yes">1x</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-yes">6x</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-yes">8x</span>
896
- <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-yes">6x</span>
899
- <span class="cline-any cline-yes">8x</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-yes">6x</span>
903
- <span class="cline-any cline-yes">3x</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-yes">4x</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-yes">3x</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-neutral">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-yes">4x</span>
920
- <span class="cline-any cline-neutral">&nbsp;</span>
921
- <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-yes">4x</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-yes">4x</span>
928
- <span class="cline-any cline-no">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-no">&nbsp;</span>
931
- <span class="cline-any cline-no">&nbsp;</span>
932
- <span class="cline-any cline-no">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-no">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-no">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-no">&nbsp;</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-no">&nbsp;</span>
944
- <span class="cline-any cline-no">&nbsp;</span>
945
- <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-no">&nbsp;</span>
947
- <span class="cline-any cline-no">&nbsp;</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-no">&nbsp;</span>
952
- <span class="cline-any cline-no">&nbsp;</span>
953
- <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-no">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-no">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-neutral">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-yes">4x</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-yes">3x</span>
984
- <span class="cline-any cline-yes">3x</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-no">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-yes">3x</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-yes">2x</span>
992
- <span class="cline-any cline-yes">2x</span>
993
- <span class="cline-any cline-yes">3x</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-yes">3x</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-neutral">&nbsp;</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-neutral">&nbsp;</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-yes">4x</span>
1008
- <span class="cline-any cline-no">&nbsp;</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-neutral">&nbsp;</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-neutral">&nbsp;</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-neutral">&nbsp;</span>
1025
- <span class="cline-any cline-neutral">&nbsp;</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-neutral">&nbsp;</span>
1033
- <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-neutral">&nbsp;</span>
1036
- <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-neutral">&nbsp;</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-neutral">&nbsp;</span>
1050
- <span class="cline-any cline-neutral">&nbsp;</span>
1051
- <span class="cline-any cline-neutral">&nbsp;</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-neutral">&nbsp;</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-neutral">&nbsp;</span>
1062
- <span class="cline-any cline-neutral">&nbsp;</span>
1063
- <span class="cline-any cline-neutral">&nbsp;</span>
1064
- <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-neutral">&nbsp;</span>
1066
- <span class="cline-any cline-neutral">&nbsp;</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-no">&nbsp;</span>
1069
- <span class="cline-any cline-neutral">&nbsp;</span>
1070
- <span class="cline-any cline-no">&nbsp;</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-no">&nbsp;</span>
1073
- <span class="cline-any cline-no">&nbsp;</span>
1074
- <span class="cline-any cline-neutral">&nbsp;</span>
1075
- <span class="cline-any cline-no">&nbsp;</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-no">&nbsp;</span>
1079
- <span class="cline-any cline-neutral">&nbsp;</span>
1080
- <span class="cline-any cline-no">&nbsp;</span>
1081
- <span class="cline-any cline-neutral">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-no">&nbsp;</span>
1084
- <span class="cline-any cline-neutral">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-neutral">&nbsp;</span>
1087
- <span class="cline-any cline-no">&nbsp;</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-neutral">&nbsp;</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-yes">4x</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-neutral">&nbsp;</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-neutral">&nbsp;</span>
1108
- <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import fs from 'node:fs'
1113
- import os from 'node:os'
1114
- import path from 'node:path'
1115
- import { z } from 'zod'
1116
- import { $ } from 'zx'
1117
- &nbsp;
1118
- import { AGENTS_MARKER_END, AGENTS_MARKER_START } from 'src/commands/init/agent-files'
1119
- import { MARKER_END, MARKER_START, buildShellBlock } from 'src/commands/init/init'
1120
- import { getDopplerProject, listDopplerProjects } from 'src/integrations/doppler'
1121
- import { getProjectRoot } from 'src/lib/git-utils/git-utils'
1122
- import {
1123
- getInfraKitConfig,
1124
- getInfraKitConfigPaths,
1125
- resetInfraKitConfigCache,
1126
- resolveConfiguredIdes,
1127
- } from 'src/lib/infra-kit-config'
1128
- import { logger } from 'src/lib/logger'
1129
- import { hasManagedBlock } from 'src/lib/managed-block'
1130
- import { tildify } from 'src/lib/path-display'
1131
- import { defineMcpTool, textContent } from 'src/types'
1132
- &nbsp;
1133
- interface CheckResult {
1134
- name: string
1135
- status: 'pass' | 'fail'
1136
- message: string
1137
- }
1138
- &nbsp;
1139
- const checkCommand = <span class="fstat-no" title="function not covered" >async (</span>
1140
- name: string,
1141
- command: string[],
1142
- successMsg: string,
1143
- failMsg: string,
1144
- ): Promise&lt;CheckResult&gt; =&gt; {
1145
- <span class="cstat-no" title="statement not covered" > try {</span>
1146
- <span class="cstat-no" title="statement not covered" > await $`${command}`</span>
1147
- &nbsp;
1148
- <span class="cstat-no" title="statement not covered" > return { name, status: 'pass', message: successMsg }</span>
1149
- } catch {
1150
- <span class="cstat-no" title="statement not covered" > return { name, status: 'fail', message: failMsg }</span>
1151
- }
1152
- }
1153
- &nbsp;
1154
- const <span class="fstat-no" title="function not covered" >checkZshrcInitialized = (): CheckResult =&gt; {</span>
1155
- const name = <span class="cstat-no" title="statement not covered" >'zshrc init block'</span>
1156
- const zshrcPath = <span class="cstat-no" title="statement not covered" >path.join(os.homedir(), '.zshrc')</span>
1157
- &nbsp;
1158
- <span class="cstat-no" title="statement not covered" > if (!fs.existsSync(zshrcPath)) {</span>
1159
- <span class="cstat-no" title="statement not covered" > return { name, status: 'fail', message: '~/.zshrc not found. Run: infra-kit init' }</span>
1160
- }
1161
- &nbsp;
1162
- const content = <span class="cstat-no" title="statement not covered" >fs.readFileSync(zshrcPath, 'utf-8')</span>
1163
- const startIdx = <span class="cstat-no" title="statement not covered" >content.indexOf(MARKER_START)</span>
1164
- const endIdx = <span class="cstat-no" title="statement not covered" >content.indexOf(MARKER_END)</span>
1165
- &nbsp;
1166
- <span class="cstat-no" title="statement not covered" > if (startIdx === -1 || endIdx === -1 || endIdx &lt; startIdx) {</span>
1167
- <span class="cstat-no" title="statement not covered" > return {</span>
1168
- name,
1169
- status: 'fail',
1170
- message: 'infra-kit shell block missing from ~/.zshrc. Run: infra-kit init',
1171
- }
1172
- }
1173
- &nbsp;
1174
- const installedBlock = <span class="cstat-no" title="statement not covered" >content.slice(startIdx, endIdx + MARKER_END.length).trim()</span>
1175
- const <span class="cstat-no" title="statement not covered" >expectedBlock = buildShellBlock().trim()</span>
1176
- &nbsp;
1177
- <span class="cstat-no" title="statement not covered" > if (installedBlock !== expectedBlock) {</span>
1178
- <span class="cstat-no" title="statement not covered" > return {</span>
1179
- name,
1180
- status: 'fail',
1181
- message: 'infra-kit shell block in ~/.zshrc is out of date. Run: infra-kit init',
1182
- }
1183
- }
1184
- &nbsp;
1185
- <span class="cstat-no" title="statement not covered" > return { name, status: 'pass', message: 'infra-kit shell block in ~/.zshrc is up to date' }</span>
1186
- }
1187
- &nbsp;
1188
- const checkPnpmWorkspaceVirtualStore = <span class="fstat-no" title="function not covered" >async (): Promise&lt;CheckResult&gt; =&gt; {</span>
1189
- const name = <span class="cstat-no" title="statement not covered" >'pnpm enableGlobalVirtualStore'</span>
1190
- &nbsp;
1191
- <span class="cstat-no" title="statement not covered" > try {</span>
1192
- const root = <span class="cstat-no" title="statement not covered" >await getProjectRoot()</span>
1193
- const yamlPath = <span class="cstat-no" title="statement not covered" >path.join(root, 'pnpm-workspace.yaml')</span>
1194
- &nbsp;
1195
- <span class="cstat-no" title="statement not covered" > if (!fs.existsSync(yamlPath)) {</span>
1196
- <span class="cstat-no" title="statement not covered" > return { name, status: 'fail', message: `pnpm-workspace.yaml not found at ${yamlPath}` }</span>
1197
- }
1198
- &nbsp;
1199
- const content = <span class="cstat-no" title="statement not covered" >fs.readFileSync(yamlPath, 'utf-8')</span>
1200
- // eslint-disable-next-line sonarjs/super-linear-regex
1201
- const enabled = <span class="cstat-no" title="statement not covered" >/^\s*enableGlobalVirtualStore\s*:\s*true\s*$/m.test(content)</span>
1202
- &nbsp;
1203
- <span class="cstat-no" title="statement not covered" > if (!enabled) {</span>
1204
- <span class="cstat-no" title="statement not covered" > return {</span>
1205
- name,
1206
- status: 'fail',
1207
- message: 'enableGlobalVirtualStore: true is missing in pnpm-workspace.yaml',
1208
- }
1209
- }
1210
- &nbsp;
1211
- <span class="cstat-no" title="statement not covered" > return { name, status: 'pass', message: 'enableGlobalVirtualStore: true is set' }</span>
1212
- } catch (err) {
1213
- <span class="cstat-no" title="statement not covered" > return {</span>
1214
- name,
1215
- status: 'fail',
1216
- message: `Failed to read pnpm-workspace.yaml: ${(err as Error).message}`,
1217
- }
1218
- }
1219
- }
1220
- &nbsp;
1221
- const checkInfraKitConfigValid = <span class="fstat-no" title="function not covered" >async (): Promise&lt;CheckResult&gt; =&gt; {</span>
1222
- const name = <span class="cstat-no" title="statement not covered" >'infra-kit config valid'</span>
1223
- &nbsp;
1224
- <span class="cstat-no" title="statement not covered" > try {</span>
1225
- <span class="cstat-no" title="statement not covered" > resetInfraKitConfigCache()</span>
1226
- <span class="cstat-no" title="statement not covered" > await getInfraKitConfig()</span>
1227
- &nbsp;
1228
- <span class="cstat-no" title="statement not covered" > return {</span>
1229
- name,
1230
- status: 'pass',
1231
- message: 'infra-kit.json is valid (user overrides applied if present)',
1232
- }
1233
- } catch (err) {
1234
- <span class="cstat-no" title="statement not covered" > return { name, status: 'fail', message: (err as Error).message }</span>
1235
- }
1236
- }
1237
- &nbsp;
1238
- /**
1239
- * Verify the Doppler project configured in infra-kit.json (`envManagement.config.name`)
1240
- * actually exists in the authenticated account — the proactive catch for the
1241
- * mismatch that otherwise only surfaces as a cryptic `env-load` failure. Skips
1242
- * (informational pass) when the config can't be read or the project list can't be
1243
- * fetched (auth/network), so a logged-out user isn't misdiagnosed as
1244
- * missing-project — the adjacent `doppler authenticated` check owns that failure.
1245
- */
1246
- export const checkDopplerProjectExists = <span class="fstat-no" title="function not covered" >async (): Promise&lt;CheckResult&gt; =&gt; {</span>
1247
- const name = <span class="cstat-no" title="statement not covered" >'doppler project exists'</span>
1248
- &nbsp;
1249
- let project: string
1250
- &nbsp;
1251
- <span class="cstat-no" title="statement not covered" > try {</span>
1252
- <span class="cstat-no" title="statement not covered" > project = await getDopplerProject()</span>
1253
- } catch {
1254
- <span class="cstat-no" title="statement not covered" > return { name, status: 'pass', message: 'Skipped — infra-kit config could not be read (see config check)' }</span>
1255
- }
1256
- &nbsp;
1257
- const projects = <span class="cstat-no" title="statement not covered" >await listDopplerProjects()</span>
1258
- &nbsp;
1259
- <span class="cstat-no" title="statement not covered" > if (projects === null) {</span>
1260
- <span class="cstat-no" title="statement not covered" > return { name, status: 'pass', message: 'Skipped — could not list Doppler projects (see doppler auth check)' }</span>
1261
- }
1262
- &nbsp;
1263
- <span class="cstat-no" title="statement not covered" > if (projects.includes(project)) {</span>
1264
- <span class="cstat-no" title="statement not covered" > return { name, status: 'pass', message: `Doppler project "${project}" exists` }</span>
1265
- }
1266
- &nbsp;
1267
- <span class="cstat-no" title="statement not covered" > return {</span>
1268
- name,
1269
- status: 'fail',
1270
- message: `Doppler project "${project}" not found (set in infra-kit.json → envManagement.config.name). Available: ${
1271
- projects.length &gt; 0 ? projects.join(', ') : 'none'
1272
- }`,
1273
- }
1274
- }
1275
- &nbsp;
1276
- /**
1277
- * Surface where this developer's user-scope override file would live and
1278
- * whether it has been created. Always passes — informational only — so the
1279
- * user knows the resolved project name and target path at a glance.
1280
- *
1281
- * @example
1282
- * await checkUserOverridePath()
1283
- * // {
1284
- * // name: 'user override path',
1285
- * // status: 'pass',
1286
- * // message: '~/.infra-kit/projects/api/infra-kit.json (not yet created) — project: api',
1287
- * // }
1288
- */
1289
- const checkUserOverridePath = <span class="fstat-no" title="function not covered" >async (): Promise&lt;CheckResult&gt; =&gt; {</span>
1290
- const name = <span class="cstat-no" title="statement not covered" >'user override path'</span>
1291
- &nbsp;
1292
- <span class="cstat-no" title="statement not covered" > try {</span>
1293
- const paths = <span class="cstat-no" title="statement not covered" >await getInfraKitConfigPaths()</span>
1294
- const home = <span class="cstat-no" title="statement not covered" >os.homedir()</span>
1295
- const display = <span class="cstat-no" title="statement not covered" >paths.userProject.startsWith(home) ? `~${paths.userProject.slice(home.length)}` : paths.userProject</span>
1296
- const exists = <span class="cstat-no" title="statement not covered" >fs.existsSync(paths.userProject)</span>
1297
- const suffix = <span class="cstat-no" title="statement not covered" >exists ? '(exists)' : '(not yet created)'</span>
1298
- &nbsp;
1299
- <span class="cstat-no" title="statement not covered" > return {</span>
1300
- name,
1301
- status: 'pass',
1302
- message: `${display} ${suffix} — project: ${paths.projectName}`,
1303
- }
1304
- } catch (err) {
1305
- <span class="cstat-no" title="statement not covered" > return { name, status: 'fail', message: (err as Error).message }</span>
1306
- }
1307
- }
1308
- &nbsp;
1309
- /**
1310
- * Surface a lingering legacy `~/.infra-kit/config.json` left behind after the
1311
- * user-global config was renamed to `infra-kit.json`. The on-`init` auto-rename
1312
- * is the migration path, but a user who edits the file and never re-runs `init`
1313
- * would silently have their overrides stop applying — this makes that visible.
1314
- *
1315
- * Branches on whether the canonical `infra-kit.json` already exists so the
1316
- * message is accurate: only the "no infra-kit.json yet" case means overrides are
1317
- * not being applied; when both exist the legacy file is merely stale.
1318
- * Informational pass (no warning) when the paths can't resolve — mirrors
1319
- * {@link checkIdeInstalled}: nothing to surface if there's no resolvable target.
1320
- *
1321
- * @example
1322
- * await checkLegacyUserGlobalConfig()
1323
- * // { name: 'legacy user-global config', status: 'fail', message: 'Legacy user-global config.json found …' }
1324
- */
1325
- export const checkLegacyUserGlobalConfig = async (): Promise&lt;CheckResult&gt; =&gt; {
1326
- const name = 'legacy user-global config'
1327
- &nbsp;
1328
- let paths: Awaited&lt;ReturnType&lt;typeof getInfraKitConfigPaths&gt;&gt;
1329
- &nbsp;
1330
- try {
1331
- paths = await getInfraKitConfigPaths()
1332
- } catch {
1333
- return { name, status: 'pass', message: 'Skipped — infra-kit config paths could not be resolved' }
1334
- }
1335
- &nbsp;
1336
- const legacyPath = path.join(path.dirname(paths.userGlobal), 'config.json')
1337
- &nbsp;
1338
- if (!fs.existsSync(legacyPath)) {
1339
- return { name, status: 'pass', message: 'No legacy user-global config.json' }
1340
- }
1341
- &nbsp;
1342
- if (!fs.existsSync(paths.userGlobal)) {
1343
- return {
1344
- name,
1345
- status: 'fail',
1346
- message: `Legacy user-global config.json found at ${tildify(legacyPath)} — run \`infra-kit init\` to migrate it (your overrides are not being applied).`,
1347
- }
1348
- }
1349
- &nbsp;
1350
- return {
1351
- name,
1352
- status: 'fail',
1353
- message: `Stale legacy config.json found at ${tildify(legacyPath)} — ${tildify(paths.userGlobal)} is active; remove the old file.`,
1354
- }
1355
- }
1356
- &nbsp;
1357
- interface IdeProbe {
1358
- ok: boolean
1359
- label: string
1360
- failMsg: string
1361
- }
1362
- &nbsp;
1363
- const IDE_PROBE_META: Record&lt;'cursor' | 'zed', { command: string[]; label: string; failMsg: string }&gt; = {
1364
- cursor: {
1365
- command: ['cursor', '--version'],
1366
- label: 'Cursor',
1367
- failMsg: 'Cursor is not installed. Install from: https://cursor.com/',
1368
- },
1369
- zed: {
1370
- command: ['zed', '--version'],
1371
- label: 'Zed',
1372
- failMsg: 'Zed is not installed. Install from: https://zed.dev/',
1373
- },
1374
- }
1375
- &nbsp;
1376
- const probeIde = async (provider: 'cursor' | 'zed'): Promise&lt;IdeProbe&gt; =&gt; {
1377
- const meta = IDE_PROBE_META[provider]
1378
- &nbsp;
1379
- try {
1380
- await $`${meta.command}`
1381
- &nbsp;
1382
- return { ok: true, label: meta.label, failMsg: meta.failMsg }
1383
- } catch {
1384
- return { ok: false, label: meta.label, failMsg: meta.failMsg }
1385
- }
1386
- }
1387
- &nbsp;
1388
- /**
1389
- * Check that every editor configured under `ide` is installed. Reads the merged
1390
- * infra-kit config and probes each matching binary (`cursor`/`zed`). Passes only
1391
- * if all configured editors are present; fails listing any that are missing.
1392
- * Informational pass when no IDE is configured or the config can't be read — an
1393
- * unconfigured editor is a valid setup, and config validity is reported
1394
- * separately by `checkInfraKitConfigValid`.
1395
- */
1396
- export const checkIdeInstalled = async (): Promise&lt;CheckResult&gt; =&gt; {
1397
- const name = 'ide installed'
1398
- &nbsp;
1399
- let providers: ('cursor' | 'zed')[]
1400
- &nbsp;
1401
- try {
1402
- resetInfraKitConfigCache()
1403
- const config = await getInfraKitConfig()
1404
- &nbsp;
1405
- providers = resolveConfiguredIdes(config).map((ide) =&gt; {
1406
- return ide.provider
1407
- })
1408
- } catch {
1409
- return { name, status: 'pass', message: 'Skipped — infra-kit config could not be read (see config check)' }
1410
- }
1411
- &nbsp;
1412
- if (providers.length === 0) {
1413
- return { name, status: 'pass', message: 'No IDE configured (ide unset)' }
1414
- }
1415
- &nbsp;
1416
- const probes = await Promise.all(
1417
- providers.map((provider) =&gt; {
1418
- return probeIde(provider)
1419
- }),
1420
- )
1421
- const missing = probes.filter((probe) =&gt; {
1422
- return !probe.ok
1423
- })
1424
- &nbsp;
1425
- if (missing.length === 0) {
1426
- return {
1427
- name,
1428
- status: 'pass',
1429
- message: `Installed: ${probes
1430
- .map((probe) =&gt; {
1431
- return probe.label
1432
- })
1433
- .join(', ')}`,
1434
- }
1435
- }
1436
- &nbsp;
1437
- return {
1438
- name,
1439
- status: 'fail',
1440
- message: missing
1441
- .map((probe) =&gt; {
1442
- return probe.failMsg
1443
- })
1444
- .join('; '),
1445
- }
1446
- }
1447
- &nbsp;
1448
- const RTK_REQUIRED_INDEXES = [1, 2, 3, 5, 7] as const
1449
- &nbsp;
1450
- const checkRtkConfigured = <span class="fstat-no" title="function not covered" >async (): Promise&lt;CheckResult&gt; =&gt; {</span>
1451
- const name = <span class="cstat-no" title="statement not covered" >'rtk configured'</span>
1452
- &nbsp;
1453
- <span class="cstat-no" title="statement not covered" > try {</span>
1454
- const result = <span class="cstat-no" title="statement not covered" >await $`rtk init --show`</span>
1455
- const statusLines = <span class="cstat-no" title="statement not covered" >result.stdout</span>
1456
- .split('\n')
1457
- .<span class="fstat-no" title="function not covered" >map((l</span>) =&gt; {
1458
- <span class="cstat-no" title="statement not covered" > return l.trim()</span>
1459
- })
1460
- .<span class="fstat-no" title="function not covered" >filter((l</span>) =&gt; {
1461
- <span class="cstat-no" title="statement not covered" > return l.startsWith('[ok]') || l.startsWith('[--]')</span>
1462
- })
1463
- &nbsp;
1464
- const failed: number[] = <span class="cstat-no" title="statement not covered" >[]</span>
1465
- &nbsp;
1466
- <span class="cstat-no" title="statement not covered" > for (const idx of RTK_REQUIRED_INDEXES) {</span>
1467
- const line = <span class="cstat-no" title="statement not covered" >statusLines[idx - 1]</span>
1468
- &nbsp;
1469
- <span class="cstat-no" title="statement not covered" > if (!line || !line.startsWith('[ok]')) {</span>
1470
- <span class="cstat-no" title="statement not covered" > failed.push(idx)</span>
1471
- }
1472
- }
1473
- &nbsp;
1474
- <span class="cstat-no" title="statement not covered" > if (failed.length &gt; 0) {</span>
1475
- <span class="cstat-no" title="statement not covered" > return {</span>
1476
- name,
1477
- status: 'fail',
1478
- message: `rtk setup incomplete (items ${failed.join(', ')} not [ok]). Run: rtk init -g --auto-patch`,
1479
- }
1480
- }
1481
- &nbsp;
1482
- <span class="cstat-no" title="statement not covered" > return {</span>
1483
- name,
1484
- status: 'pass',
1485
- message: 'rtk hook, RTK.md, global CLAUDE.md, settings.json, and Cursor hook are configured',
1486
- }
1487
- } catch (err) {
1488
- <span class="cstat-no" title="statement not covered" > return {</span>
1489
- name,
1490
- status: 'fail',
1491
- message: `Failed to run 'rtk init --show': ${(err as Error).message}`,
1492
- }
1493
- }
1494
- }
1495
- &nbsp;
1496
- /**
1497
- * Check that the repo agent-instruction guidance managed by `infra-kit init` exists:
1498
- * the guidance block in `CLAUDE.md`. Presence only. Repo-gated: returns no checks
1499
- * when run outside an infra-kit repo so doctor never crashes there. A repo that
1500
- * predates the AGENTS.md→CLAUDE.md migration will report this check as failing until
1501
- * `infra-kit init` is re-run.
1502
- */
1503
- export const checkAgentFiles = async (): Promise&lt;CheckResult[]&gt; =&gt; {
1504
- let mainConfigPath: string
1505
- &nbsp;
1506
- try {
1507
- mainConfigPath = (await getInfraKitConfigPaths()).main
1508
- } catch {
1509
- <span class="cstat-no" title="statement not covered" > return []</span>
1510
- }
1511
- &nbsp;
1512
- if (!fs.existsSync(mainConfigPath)) return []
1513
- &nbsp;
1514
- const claudePath = path.join(path.dirname(mainConfigPath), 'CLAUDE.md')
1515
- const content = fs.existsSync(claudePath) ? fs.readFileSync(claudePath, 'utf-8') : ''
1516
- const present = hasManagedBlock(content, AGENTS_MARKER_START, AGENTS_MARKER_END)
1517
- &nbsp;
1518
- return [
1519
- {
1520
- name: 'CLAUDE.md block',
1521
- status: present ? 'pass' : 'fail',
1522
- message: present ? 'CLAUDE.md block present' : 'infra-kit block missing from CLAUDE.md. Run: infra-kit init',
1523
- },
1524
- ]
1525
- }
1526
- &nbsp;
1527
- /**
1528
- * Check installation and authentication status of gh, doppler, aws, and rtk CLIs
1529
- */
1530
- export const doctor = <span class="fstat-no" title="function not covered" >async () =&gt; {</span>
1531
- const baseChecks: CheckResult[] = <span class="cstat-no" title="statement not covered" >await Promise.all([</span>
1532
- checkCommand(
1533
- 'gh installed',
1534
- ['gh', '--version'],
1535
- 'GitHub CLI is installed',
1536
- 'GitHub CLI is not installed. Install from: https://cli.github.com/',
1537
- ),
1538
- checkCommand(
1539
- 'gh authenticated',
1540
- ['gh', 'auth', 'status'],
1541
- 'GitHub CLI is authenticated',
1542
- 'GitHub CLI is not authenticated. Run: gh auth login',
1543
- ),
1544
- checkCommand(
1545
- 'doppler installed',
1546
- ['doppler', '--version'],
1547
- 'Doppler CLI is installed',
1548
- 'Doppler CLI is not installed. Install from: https://docs.doppler.com/docs/install-cli',
1549
- ),
1550
- checkCommand(
1551
- 'doppler authenticated',
1552
- ['doppler', 'me'],
1553
- 'Doppler CLI is authenticated',
1554
- 'Doppler CLI is not authenticated. Run: doppler login',
1555
- ),
1556
- checkCommand(
1557
- 'aws installed',
1558
- ['aws', '--version'],
1559
- 'AWS CLI is installed',
1560
- 'AWS CLI is not installed. Install from: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html',
1561
- ),
1562
- // INFO: no need now, util the user does not load the env variables, the aws cli is not authenticated
1563
- // checkCommand(
1564
- // 'aws authenticated',
1565
- // ['aws', 'sts', 'get-caller-identity'],
1566
- // 'AWS CLI is authenticated',
1567
- // 'AWS CLI is not authenticated. Run: aws configure (or aws sso login)',
1568
- // ),
1569
- checkCommand(
1570
- 'rtk installed',
1571
- ['rtk', '--version'],
1572
- 'RTK is installed',
1573
- 'RTK is not installed. Install from: https://github.com/rtk-ai/rtk',
1574
- ),
1575
- checkCommand(
1576
- 'typescript-language-server installed',
1577
- ['typescript-language-server', '--version'],
1578
- 'typescript-language-server is installed',
1579
- 'typescript-language-server is not installed. Install from: https://github.com/typescript-language-server/typescript-language-server#installing',
1580
- ),
1581
- checkRtkConfigured(),
1582
- Promise.resolve(checkZshrcInitialized()),
1583
- checkPnpmWorkspaceVirtualStore(),
1584
- checkInfraKitConfigValid(),
1585
- checkDopplerProjectExists(),
1586
- checkUserOverridePath(),
1587
- checkLegacyUserGlobalConfig(),
1588
- checkIdeInstalled(),
1589
- ])
1590
- &nbsp;
1591
- const checks: CheckResult[] = <span class="cstat-no" title="statement not covered" >[...baseChecks, ...(await checkAgentFiles())]</span>
1592
- &nbsp;
1593
- <span class="cstat-no" title="statement not covered" > logger.info('Doctor check results:\n')</span>
1594
- &nbsp;
1595
- <span class="cstat-no" title="statement not covered" > for (const check of checks) {</span>
1596
- const icon = <span class="cstat-no" title="statement not covered" >check.status === 'pass' ? '[PASS]' : '[FAIL]'</span>
1597
- &nbsp;
1598
- <span class="cstat-no" title="statement not covered" > logger.info(` ${icon} ${check.name}: ${check.message}`)</span>
1599
- }
1600
- &nbsp;
1601
- const structuredContent = <span class="cstat-no" title="statement not covered" >{</span>
1602
- checks: checks.<span class="fstat-no" title="function not covered" >map((c</span>) =&gt; {
1603
- <span class="cstat-no" title="statement not covered" > return { name: c.name, status: c.status, message: c.message }</span>
1604
- }),
1605
- allPassed: checks.<span class="fstat-no" title="function not covered" >every((c</span>) =&gt; {
1606
- <span class="cstat-no" title="statement not covered" > return c.status === 'pass'</span>
1607
- }),
1608
- }
1609
- &nbsp;
1610
- <span class="cstat-no" title="statement not covered" > return {</span>
1611
- content: textContent(JSON.stringify(structuredContent, null, 2)),
1612
- structuredContent,
1613
- }
1614
- }
1615
- &nbsp;
1616
- // MCP Tool Registration
1617
- export const doctorMcpTool = defineMcpTool({
1618
- name: 'doctor',
1619
- description: 'Check installation and authentication status of gh, doppler, aws, and rtk CLIs',
1620
- inputSchema: {},
1621
- outputSchema: {
1622
- checks: z
1623
- .array(
1624
- z.object({
1625
- name: z.string().describe('Name of the check'),
1626
- status: z.enum(['pass', 'fail']).describe('Check result'),
1627
- message: z.string().describe('Details about the check result'),
1628
- }),
1629
- )
1630
- .describe('List of all check results'),
1631
- allPassed: z.boolean().describe('Whether all checks passed'),
1632
- },
1633
- handler: doctor,
1634
- })
1635
- &nbsp;</pre></td></tr></table></pre>
1636
-
1637
- <div class='push'></div><!-- for sticky footer -->
1638
- </div><!-- /wrapper -->
1639
- <div class='footer quiet pad2 space-top1 center small'>
1640
- Code coverage generated by
1641
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1642
- at 2026-07-02T09:20:45.872Z
1643
- </div>
1644
- <script src="../../../../prettify.js"></script>
1645
- <script>
1646
- window.onload = function () {
1647
- prettyPrint();
1648
- };
1649
- </script>
1650
- <script src="../../../../sorter.js"></script>
1651
- <script src="../../../../block-navigation.js"></script>
1652
- </body>
1653
- </html>
1654
-