@contractspec/bundle.workspace 1.46.2 → 1.48.0

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 (1231) hide show
  1. package/dist/_virtual/rolldown_runtime.mjs +20 -0
  2. package/dist/adapters/ai.d.mts +12 -0
  3. package/dist/adapters/ai.d.mts.map +1 -0
  4. package/dist/adapters/ai.mjs +83 -0
  5. package/dist/adapters/ai.mjs.map +1 -0
  6. package/dist/adapters/factory.d.mts +29 -0
  7. package/dist/adapters/factory.d.mts.map +1 -0
  8. package/dist/adapters/factory.mjs +37 -0
  9. package/dist/adapters/factory.mjs.map +1 -0
  10. package/dist/adapters/fs.d.mts +12 -0
  11. package/dist/adapters/fs.d.mts.map +1 -0
  12. package/dist/adapters/fs.mjs +133 -0
  13. package/dist/adapters/fs.mjs.map +1 -0
  14. package/dist/adapters/git.d.mts +11 -0
  15. package/dist/adapters/git.d.mts.map +1 -0
  16. package/dist/adapters/git.mjs +84 -0
  17. package/dist/adapters/git.mjs.map +1 -0
  18. package/dist/adapters/index.d.mts +7 -0
  19. package/dist/adapters/index.mjs +9 -0
  20. package/dist/adapters/logger.d.mts +18 -0
  21. package/dist/adapters/logger.d.mts.map +1 -0
  22. package/dist/adapters/logger.mjs +81 -0
  23. package/dist/adapters/logger.mjs.map +1 -0
  24. package/dist/adapters/watcher.d.mts +11 -0
  25. package/dist/adapters/watcher.d.mts.map +1 -0
  26. package/dist/adapters/watcher.mjs +74 -0
  27. package/dist/adapters/watcher.mjs.map +1 -0
  28. package/dist/adapters/workspace.d.mts +148 -0
  29. package/dist/adapters/workspace.d.mts.map +1 -0
  30. package/dist/adapters/workspace.mjs +275 -0
  31. package/dist/adapters/workspace.mjs.map +1 -0
  32. package/dist/ai/agents/claude-code-agent.d.mts +22 -0
  33. package/dist/ai/agents/claude-code-agent.d.mts.map +1 -0
  34. package/dist/ai/agents/claude-code-agent.mjs +182 -0
  35. package/dist/ai/agents/claude-code-agent.mjs.map +1 -0
  36. package/dist/ai/agents/cursor-agent.d.mts +68 -0
  37. package/dist/ai/agents/cursor-agent.d.mts.map +1 -0
  38. package/dist/ai/agents/cursor-agent.mjs +436 -0
  39. package/dist/ai/agents/cursor-agent.mjs.map +1 -0
  40. package/dist/ai/agents/index.mjs +7 -0
  41. package/dist/ai/agents/openai-codex-agent.d.mts +22 -0
  42. package/dist/ai/agents/openai-codex-agent.d.mts.map +1 -0
  43. package/dist/ai/agents/openai-codex-agent.mjs +167 -0
  44. package/dist/ai/agents/openai-codex-agent.mjs.map +1 -0
  45. package/dist/ai/agents/orchestrator.d.mts +50 -0
  46. package/dist/ai/agents/orchestrator.d.mts.map +1 -0
  47. package/dist/ai/agents/orchestrator.mjs +143 -0
  48. package/dist/ai/agents/orchestrator.mjs.map +1 -0
  49. package/dist/ai/agents/simple-agent.d.mts +17 -0
  50. package/dist/ai/agents/simple-agent.d.mts.map +1 -0
  51. package/dist/ai/agents/simple-agent.mjs +92 -0
  52. package/dist/ai/agents/simple-agent.mjs.map +1 -0
  53. package/dist/ai/agents/types.d.mts +36 -0
  54. package/dist/ai/agents/types.d.mts.map +1 -0
  55. package/dist/ai/client.d.mts +97 -0
  56. package/dist/ai/client.d.mts.map +1 -0
  57. package/dist/ai/client.mjs +189 -0
  58. package/dist/ai/client.mjs.map +1 -0
  59. package/dist/ai/index.d.mts +9 -0
  60. package/dist/ai/index.mjs +11 -0
  61. package/dist/ai/prompts/code-generation.d.mts +26 -0
  62. package/dist/ai/prompts/code-generation.d.mts.map +1 -0
  63. package/dist/ai/prompts/code-generation.mjs +143 -0
  64. package/dist/ai/prompts/code-generation.mjs.map +1 -0
  65. package/dist/ai/prompts/index.d.mts +10 -0
  66. package/dist/ai/prompts/index.d.mts.map +1 -0
  67. package/dist/ai/prompts/index.mjs +13 -0
  68. package/dist/ai/prompts/index.mjs.map +1 -0
  69. package/dist/ai/prompts/spec-creation.d.mts +29 -0
  70. package/dist/ai/prompts/spec-creation.d.mts.map +1 -0
  71. package/dist/ai/prompts/spec-creation.mjs +111 -0
  72. package/dist/ai/prompts/spec-creation.mjs.map +1 -0
  73. package/dist/ai/providers.d.mts +29 -0
  74. package/dist/ai/providers.d.mts.map +1 -0
  75. package/dist/ai/providers.mjs +39 -0
  76. package/dist/ai/providers.mjs.map +1 -0
  77. package/dist/formatters/index.d.mts +11 -0
  78. package/dist/formatters/index.d.mts.map +1 -0
  79. package/dist/formatters/index.mjs +17 -0
  80. package/dist/formatters/index.mjs.map +1 -0
  81. package/dist/formatters/json.d.mts +56 -0
  82. package/dist/formatters/json.d.mts.map +1 -0
  83. package/dist/formatters/json.mjs +43 -0
  84. package/dist/formatters/json.mjs.map +1 -0
  85. package/dist/formatters/sarif.d.mts +101 -0
  86. package/dist/formatters/sarif.d.mts.map +1 -0
  87. package/dist/formatters/sarif.mjs +163 -0
  88. package/dist/formatters/sarif.mjs.map +1 -0
  89. package/dist/formatters/text.d.mts +35 -0
  90. package/dist/formatters/text.d.mts.map +1 -0
  91. package/dist/formatters/text.mjs +209 -0
  92. package/dist/formatters/text.mjs.map +1 -0
  93. package/dist/index.d.mts +128 -0
  94. package/dist/index.mjs +113 -0
  95. package/dist/ports/ai.d.mts +59 -0
  96. package/dist/ports/ai.d.mts.map +1 -0
  97. package/dist/ports/fs.d.mts +81 -0
  98. package/dist/ports/fs.d.mts.map +1 -0
  99. package/dist/ports/git.d.mts +46 -0
  100. package/dist/ports/git.d.mts.map +1 -0
  101. package/dist/ports/index.d.mts +6 -0
  102. package/dist/ports/logger.d.mts +88 -0
  103. package/dist/ports/logger.d.mts.map +1 -0
  104. package/dist/ports/rulesync.d.mts +38 -0
  105. package/dist/ports/rulesync.d.mts.map +1 -0
  106. package/dist/ports/watcher.d.mts +52 -0
  107. package/dist/ports/watcher.d.mts.map +1 -0
  108. package/dist/services/agent-guide/adapters/claude-code.d.mts +35 -0
  109. package/dist/services/agent-guide/adapters/claude-code.d.mts.map +1 -0
  110. package/dist/services/agent-guide/adapters/claude-code.mjs +144 -0
  111. package/dist/services/agent-guide/adapters/claude-code.mjs.map +1 -0
  112. package/dist/services/agent-guide/adapters/cursor-cli.d.mts +39 -0
  113. package/dist/services/agent-guide/adapters/cursor-cli.d.mts.map +1 -0
  114. package/dist/services/agent-guide/adapters/cursor-cli.mjs +135 -0
  115. package/dist/services/agent-guide/adapters/cursor-cli.mjs.map +1 -0
  116. package/dist/services/agent-guide/adapters/generic-mcp.d.mts +53 -0
  117. package/dist/services/agent-guide/adapters/generic-mcp.d.mts.map +1 -0
  118. package/dist/services/agent-guide/adapters/generic-mcp.mjs +159 -0
  119. package/dist/services/agent-guide/adapters/generic-mcp.mjs.map +1 -0
  120. package/dist/services/agent-guide/adapters/index.d.mts +23 -0
  121. package/dist/services/agent-guide/adapters/index.d.mts.map +1 -0
  122. package/dist/services/agent-guide/adapters/index.mjs +31 -0
  123. package/dist/services/agent-guide/adapters/index.mjs.map +1 -0
  124. package/dist/services/agent-guide/agent-guide-service.d.mts +56 -0
  125. package/dist/services/agent-guide/agent-guide-service.d.mts.map +1 -0
  126. package/dist/services/agent-guide/agent-guide-service.mjs +147 -0
  127. package/dist/services/agent-guide/agent-guide-service.mjs.map +1 -0
  128. package/dist/services/agent-guide/index.d.mts +6 -0
  129. package/dist/services/agent-guide/index.mjs +7 -0
  130. package/dist/services/agent-guide/types.d.mts +58 -0
  131. package/dist/services/agent-guide/types.d.mts.map +1 -0
  132. package/dist/services/build.d.mts +61 -0
  133. package/dist/services/build.d.mts.map +1 -0
  134. package/dist/services/build.mjs +151 -0
  135. package/dist/services/build.mjs.map +1 -0
  136. package/dist/services/ci-check/checks/coverage.mjs +77 -0
  137. package/dist/services/ci-check/checks/coverage.mjs.map +1 -0
  138. package/dist/services/ci-check/checks/deps.mjs +32 -0
  139. package/dist/services/ci-check/checks/deps.mjs.map +1 -0
  140. package/dist/services/ci-check/checks/doctor.mjs +38 -0
  141. package/dist/services/ci-check/checks/doctor.mjs.map +1 -0
  142. package/dist/services/ci-check/checks/drift.mjs +40 -0
  143. package/dist/services/ci-check/checks/drift.mjs.map +1 -0
  144. package/dist/services/ci-check/checks/handlers.mjs +38 -0
  145. package/dist/services/ci-check/checks/handlers.mjs.map +1 -0
  146. package/dist/services/ci-check/checks/implementation.mjs +73 -0
  147. package/dist/services/ci-check/checks/implementation.mjs.map +1 -0
  148. package/dist/services/ci-check/checks/index.mjs +13 -0
  149. package/dist/services/ci-check/checks/integrity.mjs +31 -0
  150. package/dist/services/ci-check/checks/integrity.mjs.map +1 -0
  151. package/dist/services/ci-check/checks/layers.mjs +66 -0
  152. package/dist/services/ci-check/checks/layers.mjs.map +1 -0
  153. package/dist/services/ci-check/checks/structure.mjs +35 -0
  154. package/dist/services/ci-check/checks/structure.mjs.map +1 -0
  155. package/dist/services/ci-check/checks/test-refs.mjs +63 -0
  156. package/dist/services/ci-check/checks/test-refs.mjs.map +1 -0
  157. package/dist/services/ci-check/checks/tests.mjs +38 -0
  158. package/dist/services/ci-check/checks/tests.mjs.map +1 -0
  159. package/dist/services/ci-check/ci-check-service.d.mts +16 -0
  160. package/dist/services/ci-check/ci-check-service.d.mts.map +1 -0
  161. package/dist/services/ci-check/ci-check-service.mjs +129 -0
  162. package/dist/services/ci-check/ci-check-service.mjs.map +1 -0
  163. package/dist/services/ci-check/index.d.mts +2 -0
  164. package/dist/services/ci-check/index.mjs +4 -0
  165. package/dist/services/ci-check/types.d.mts +147 -0
  166. package/dist/services/ci-check/types.d.mts.map +1 -0
  167. package/dist/services/ci-check/types.mjs +37 -0
  168. package/dist/services/ci-check/types.mjs.map +1 -0
  169. package/dist/services/ci-check/utils.mjs +76 -0
  170. package/dist/services/ci-check/utils.mjs.map +1 -0
  171. package/dist/services/clean.d.mts +41 -0
  172. package/dist/services/clean.d.mts.map +1 -0
  173. package/dist/services/clean.mjs +72 -0
  174. package/dist/services/clean.mjs.map +1 -0
  175. package/dist/services/config.d.mts +16 -0
  176. package/dist/services/config.d.mts.map +1 -0
  177. package/dist/services/config.mjs +63 -0
  178. package/dist/services/config.mjs.map +1 -0
  179. package/dist/services/coverage/parsers/index.mjs +34 -0
  180. package/dist/services/coverage/parsers/index.mjs.map +1 -0
  181. package/dist/services/coverage/parsers/istanbul-parser.mjs +108 -0
  182. package/dist/services/coverage/parsers/istanbul-parser.mjs.map +1 -0
  183. package/dist/services/coverage/validator.mjs +55 -0
  184. package/dist/services/coverage/validator.mjs.map +1 -0
  185. package/dist/services/create/ai-generator.d.mts +84 -0
  186. package/dist/services/create/ai-generator.d.mts.map +1 -0
  187. package/dist/services/create/ai-generator.mjs +178 -0
  188. package/dist/services/create/ai-generator.mjs.map +1 -0
  189. package/dist/services/create/index.d.mts +28 -0
  190. package/dist/services/create/index.d.mts.map +1 -0
  191. package/dist/services/create/index.mjs +37 -0
  192. package/dist/services/create/index.mjs.map +1 -0
  193. package/dist/services/create/templates.d.mts +22 -0
  194. package/dist/services/create/templates.d.mts.map +1 -0
  195. package/dist/services/create/templates.mjs +39 -0
  196. package/dist/services/create/templates.mjs.map +1 -0
  197. package/dist/services/deps.d.mts +53 -0
  198. package/dist/services/deps.d.mts.map +1 -0
  199. package/dist/services/deps.mjs +62 -0
  200. package/dist/services/deps.mjs.map +1 -0
  201. package/dist/services/diff.d.mts +34 -0
  202. package/dist/services/diff.d.mts.map +1 -0
  203. package/dist/services/diff.mjs +34 -0
  204. package/dist/services/diff.mjs.map +1 -0
  205. package/dist/services/docs/docs-service.d.mts +20 -0
  206. package/dist/services/docs/docs-service.d.mts.map +1 -0
  207. package/dist/services/docs/docs-service.mjs +59 -0
  208. package/dist/services/docs/docs-service.mjs.map +1 -0
  209. package/dist/services/docs/index.d.mts +1 -0
  210. package/dist/services/docs/index.mjs +3 -0
  211. package/dist/services/doctor/checks/ai.mjs +119 -0
  212. package/dist/services/doctor/checks/ai.mjs.map +1 -0
  213. package/dist/services/doctor/checks/cli.mjs +156 -0
  214. package/dist/services/doctor/checks/cli.mjs.map +1 -0
  215. package/dist/services/doctor/checks/config.mjs +303 -0
  216. package/dist/services/doctor/checks/config.mjs.map +1 -0
  217. package/dist/services/doctor/checks/deps.mjs +267 -0
  218. package/dist/services/doctor/checks/deps.mjs.map +1 -0
  219. package/dist/services/doctor/checks/index.mjs +9 -0
  220. package/dist/services/doctor/checks/layers.mjs +139 -0
  221. package/dist/services/doctor/checks/layers.mjs.map +1 -0
  222. package/dist/services/doctor/checks/mcp.mjs +145 -0
  223. package/dist/services/doctor/checks/mcp.mjs.map +1 -0
  224. package/dist/services/doctor/checks/workspace.mjs +263 -0
  225. package/dist/services/doctor/checks/workspace.mjs.map +1 -0
  226. package/dist/services/doctor/doctor-service.d.mts +24 -0
  227. package/dist/services/doctor/doctor-service.d.mts.map +1 -0
  228. package/dist/services/doctor/doctor-service.mjs +118 -0
  229. package/dist/services/doctor/doctor-service.mjs.map +1 -0
  230. package/dist/services/doctor/index.d.mts +2 -0
  231. package/dist/services/doctor/index.mjs +4 -0
  232. package/dist/services/doctor/types.d.mts +118 -0
  233. package/dist/services/doctor/types.d.mts.map +1 -0
  234. package/dist/services/doctor/types.mjs +29 -0
  235. package/dist/services/doctor/types.mjs.map +1 -0
  236. package/dist/services/drift.mjs +73 -0
  237. package/dist/services/drift.mjs.map +1 -0
  238. package/dist/services/extract.d.mts +12 -0
  239. package/dist/services/extract.d.mts.map +1 -0
  240. package/dist/services/extract.mjs +33 -0
  241. package/dist/services/extract.mjs.map +1 -0
  242. package/dist/services/features/completion.d.mts +21 -0
  243. package/dist/services/features/completion.d.mts.map +1 -0
  244. package/dist/services/features/completion.mjs +70 -0
  245. package/dist/services/features/completion.mjs.map +1 -0
  246. package/dist/services/features/feature-editor.d.mts +27 -0
  247. package/dist/services/features/feature-editor.d.mts.map +1 -0
  248. package/dist/services/features/feature-editor.mjs +37 -0
  249. package/dist/services/features/feature-editor.mjs.map +1 -0
  250. package/dist/services/features/index.d.mts +11 -0
  251. package/dist/services/features/index.d.mts.map +1 -0
  252. package/dist/services/features/index.mjs +16 -0
  253. package/dist/services/features/index.mjs.map +1 -0
  254. package/dist/services/features/validation.d.mts +21 -0
  255. package/dist/services/features/validation.d.mts.map +1 -0
  256. package/dist/services/features/validation.mjs +27 -0
  257. package/dist/services/features/validation.mjs.map +1 -0
  258. package/dist/services/fix/fix-link-formatter.d.mts +12 -0
  259. package/dist/services/fix/fix-link-formatter.d.mts.map +1 -0
  260. package/dist/services/fix/fix-link-formatter.mjs +38 -0
  261. package/dist/services/fix/fix-link-formatter.mjs.map +1 -0
  262. package/dist/services/fix/fix-service.d.mts +74 -0
  263. package/dist/services/fix/fix-service.d.mts.map +1 -0
  264. package/dist/services/fix/fix-service.mjs +169 -0
  265. package/dist/services/fix/fix-service.mjs.map +1 -0
  266. package/dist/services/fix/index.d.mts +16 -0
  267. package/dist/services/fix/index.d.mts.map +1 -0
  268. package/dist/services/fix/index.mjs +24 -0
  269. package/dist/services/fix/index.mjs.map +1 -0
  270. package/dist/services/fix/path-resolver.mjs +83 -0
  271. package/dist/services/fix/path-resolver.mjs.map +1 -0
  272. package/dist/services/fix/schemas.d.mts +17 -0
  273. package/dist/services/fix/schemas.d.mts.map +1 -0
  274. package/dist/services/fix/schemas.mjs +12 -0
  275. package/dist/services/fix/schemas.mjs.map +1 -0
  276. package/dist/services/fix/strategies/implement-ai.d.mts +18 -0
  277. package/dist/services/fix/strategies/implement-ai.d.mts.map +1 -0
  278. package/dist/services/fix/strategies/implement-ai.mjs +139 -0
  279. package/dist/services/fix/strategies/implement-ai.mjs.map +1 -0
  280. package/dist/services/fix/strategies/implement-skeleton.d.mts +14 -0
  281. package/dist/services/fix/strategies/implement-skeleton.d.mts.map +1 -0
  282. package/dist/services/fix/strategies/implement-skeleton.mjs +77 -0
  283. package/dist/services/fix/strategies/implement-skeleton.mjs.map +1 -0
  284. package/dist/services/fix/strategies/index.d.mts +3 -0
  285. package/dist/services/fix/strategies/remove-reference.d.mts +17 -0
  286. package/dist/services/fix/strategies/remove-reference.d.mts.map +1 -0
  287. package/dist/services/fix/strategies/remove-reference.mjs +98 -0
  288. package/dist/services/fix/strategies/remove-reference.mjs.map +1 -0
  289. package/dist/services/fix/types.d.mts +207 -0
  290. package/dist/services/fix/types.d.mts.map +1 -0
  291. package/dist/services/fix/types.mjs +20 -0
  292. package/dist/services/fix/types.mjs.map +1 -0
  293. package/dist/services/formatter.d.mts +15 -0
  294. package/dist/services/formatter.d.mts.map +1 -0
  295. package/dist/services/formatter.mjs +26 -0
  296. package/dist/services/formatter.mjs.map +1 -0
  297. package/dist/services/gap.d.mts +18 -0
  298. package/dist/services/gap.d.mts.map +1 -0
  299. package/dist/services/gap.mjs +44 -0
  300. package/dist/services/gap.mjs.map +1 -0
  301. package/dist/services/generate-artifacts.d.mts +11 -0
  302. package/dist/services/generate-artifacts.d.mts.map +1 -0
  303. package/dist/services/generate-artifacts.mjs +27 -0
  304. package/dist/services/generate-artifacts.mjs.map +1 -0
  305. package/dist/services/hooks/hooks-service.d.mts +24 -0
  306. package/dist/services/hooks/hooks-service.d.mts.map +1 -0
  307. package/dist/services/hooks/hooks-service.mjs +126 -0
  308. package/dist/services/hooks/hooks-service.mjs.map +1 -0
  309. package/dist/services/hooks/index.d.mts +10 -0
  310. package/dist/services/hooks/index.d.mts.map +1 -0
  311. package/dist/services/hooks/index.mjs +12 -0
  312. package/dist/services/hooks/index.mjs.map +1 -0
  313. package/dist/services/hooks/types.d.mts +56 -0
  314. package/dist/services/hooks/types.d.mts.map +1 -0
  315. package/dist/services/impact/formatters.d.mts +27 -0
  316. package/dist/services/impact/formatters.d.mts.map +1 -0
  317. package/dist/services/impact/formatters.mjs +139 -0
  318. package/dist/services/impact/formatters.mjs.map +1 -0
  319. package/dist/services/impact/impact-detection-service.d.mts +22 -0
  320. package/dist/services/impact/impact-detection-service.d.mts.map +1 -0
  321. package/dist/services/impact/impact-detection-service.mjs +96 -0
  322. package/dist/services/impact/impact-detection-service.mjs.map +1 -0
  323. package/dist/services/impact/index.d.mts +11 -0
  324. package/dist/services/impact/index.d.mts.map +1 -0
  325. package/dist/services/impact/index.mjs +16 -0
  326. package/dist/services/impact/index.mjs.map +1 -0
  327. package/dist/services/impact/types.d.mts +63 -0
  328. package/dist/services/impact/types.d.mts.map +1 -0
  329. package/dist/services/implementation/discovery.d.mts +30 -0
  330. package/dist/services/implementation/discovery.d.mts.map +1 -0
  331. package/dist/services/implementation/discovery.mjs +144 -0
  332. package/dist/services/implementation/discovery.mjs.map +1 -0
  333. package/dist/services/implementation/index.d.mts +6 -0
  334. package/dist/services/implementation/index.mjs +7 -0
  335. package/dist/services/implementation/resolver/conventions.d.mts +18 -0
  336. package/dist/services/implementation/resolver/conventions.d.mts.map +1 -0
  337. package/dist/services/implementation/resolver/conventions.mjs +59 -0
  338. package/dist/services/implementation/resolver/conventions.mjs.map +1 -0
  339. package/dist/services/implementation/resolver/index.d.mts +24 -0
  340. package/dist/services/implementation/resolver/index.d.mts.map +1 -0
  341. package/dist/services/implementation/resolver/index.mjs +111 -0
  342. package/dist/services/implementation/resolver/index.mjs.map +1 -0
  343. package/dist/services/implementation/resolver/parsers.d.mts +16 -0
  344. package/dist/services/implementation/resolver/parsers.d.mts.map +1 -0
  345. package/dist/services/implementation/resolver/parsers.mjs +100 -0
  346. package/dist/services/implementation/resolver/parsers.mjs.map +1 -0
  347. package/dist/services/implementation/resolver/status.d.mts +21 -0
  348. package/dist/services/implementation/resolver/status.d.mts.map +1 -0
  349. package/dist/services/implementation/resolver/status.mjs +31 -0
  350. package/dist/services/implementation/resolver/status.mjs.map +1 -0
  351. package/dist/services/implementation/types.d.mts +89 -0
  352. package/dist/services/implementation/types.d.mts.map +1 -0
  353. package/dist/services/import/import-service.d.mts +47 -0
  354. package/dist/services/import/import-service.d.mts.map +1 -0
  355. package/dist/services/import/import-service.mjs +196 -0
  356. package/dist/services/import/import-service.mjs.map +1 -0
  357. package/dist/services/import/index.d.mts +3 -0
  358. package/dist/services/import/index.mjs +5 -0
  359. package/dist/services/import/report-service.d.mts +31 -0
  360. package/dist/services/import/report-service.d.mts.map +1 -0
  361. package/dist/services/import/report-service.mjs +124 -0
  362. package/dist/services/import/report-service.mjs.map +1 -0
  363. package/dist/services/import/verify-service.d.mts +67 -0
  364. package/dist/services/import/verify-service.d.mts.map +1 -0
  365. package/dist/services/import/verify-service.mjs +105 -0
  366. package/dist/services/import/verify-service.mjs.map +1 -0
  367. package/dist/services/index.d.mts +107 -0
  368. package/dist/services/index.mjs +104 -0
  369. package/dist/services/integrity-diagram.d.mts +36 -0
  370. package/dist/services/integrity-diagram.d.mts.map +1 -0
  371. package/dist/services/integrity-diagram.mjs +275 -0
  372. package/dist/services/integrity-diagram.mjs.map +1 -0
  373. package/dist/services/integrity.d.mts +152 -0
  374. package/dist/services/integrity.d.mts.map +1 -0
  375. package/dist/services/integrity.mjs +361 -0
  376. package/dist/services/integrity.mjs.map +1 -0
  377. package/dist/services/layer-discovery.d.mts +77 -0
  378. package/dist/services/layer-discovery.d.mts.map +1 -0
  379. package/dist/services/layer-discovery.mjs +121 -0
  380. package/dist/services/layer-discovery.mjs.map +1 -0
  381. package/dist/services/list.d.mts +37 -0
  382. package/dist/services/list.d.mts.map +1 -0
  383. package/dist/services/list.mjs +46 -0
  384. package/dist/services/list.mjs.map +1 -0
  385. package/dist/services/llm/index.d.mts +28 -0
  386. package/dist/services/llm/index.d.mts.map +1 -0
  387. package/dist/services/llm/index.mjs +187 -0
  388. package/dist/services/llm/index.mjs.map +1 -0
  389. package/dist/services/llm/verify-static.d.mts +26 -0
  390. package/dist/services/llm/verify-static.d.mts.map +1 -0
  391. package/dist/services/llm/verify-static.mjs +82 -0
  392. package/dist/services/llm/verify-static.mjs.map +1 -0
  393. package/dist/services/modules/module-resolver.mjs +61 -0
  394. package/dist/services/modules/module-resolver.mjs.map +1 -0
  395. package/dist/services/openapi/export-service.d.mts +53 -0
  396. package/dist/services/openapi/export-service.d.mts.map +1 -0
  397. package/dist/services/openapi/export-service.mjs +50 -0
  398. package/dist/services/openapi/export-service.mjs.map +1 -0
  399. package/dist/services/openapi/import-service.d.mts +17 -0
  400. package/dist/services/openapi/import-service.d.mts.map +1 -0
  401. package/dist/services/openapi/import-service.mjs +165 -0
  402. package/dist/services/openapi/import-service.mjs.map +1 -0
  403. package/dist/services/openapi/index.d.mts +5 -0
  404. package/dist/services/openapi/index.mjs +6 -0
  405. package/dist/services/openapi/sync-service.d.mts +17 -0
  406. package/dist/services/openapi/sync-service.d.mts.map +1 -0
  407. package/dist/services/openapi/sync-service.mjs +120 -0
  408. package/dist/services/openapi/sync-service.mjs.map +1 -0
  409. package/dist/services/openapi/types.d.mts +162 -0
  410. package/dist/services/openapi/types.d.mts.map +1 -0
  411. package/dist/services/openapi/validate-service.d.mts +16 -0
  412. package/dist/services/openapi/validate-service.d.mts.map +1 -0
  413. package/dist/services/openapi/validate-service.mjs +130 -0
  414. package/dist/services/openapi/validate-service.mjs.map +1 -0
  415. package/dist/services/quickstart/dependencies.d.mts +31 -0
  416. package/dist/services/quickstart/dependencies.d.mts.map +1 -0
  417. package/dist/services/quickstart/dependencies.mjs +57 -0
  418. package/dist/services/quickstart/dependencies.mjs.map +1 -0
  419. package/dist/services/quickstart/index.mjs +4 -0
  420. package/dist/services/quickstart/quickstart-service.d.mts +20 -0
  421. package/dist/services/quickstart/quickstart-service.d.mts.map +1 -0
  422. package/dist/services/quickstart/quickstart-service.mjs +196 -0
  423. package/dist/services/quickstart/quickstart-service.mjs.map +1 -0
  424. package/dist/services/quickstart/types.d.mts +81 -0
  425. package/dist/services/quickstart/types.d.mts.map +1 -0
  426. package/dist/services/regenerator.d.mts +18 -0
  427. package/dist/services/regenerator.d.mts.map +1 -0
  428. package/dist/services/regenerator.mjs +23 -0
  429. package/dist/services/regenerator.mjs.map +1 -0
  430. package/dist/services/registry.d.mts +53 -0
  431. package/dist/services/registry.d.mts.map +1 -0
  432. package/dist/services/registry.mjs +74 -0
  433. package/dist/services/registry.mjs.map +1 -0
  434. package/dist/services/rulesync.d.mts +17 -0
  435. package/dist/services/rulesync.d.mts.map +1 -0
  436. package/dist/services/rulesync.mjs +72 -0
  437. package/dist/services/rulesync.mjs.map +1 -0
  438. package/dist/services/setup/config-generators.d.mts +42 -0
  439. package/dist/services/setup/config-generators.d.mts.map +1 -0
  440. package/dist/services/setup/config-generators.mjs +252 -0
  441. package/dist/services/setup/config-generators.mjs.map +1 -0
  442. package/dist/services/setup/file-merger.d.mts +27 -0
  443. package/dist/services/setup/file-merger.d.mts.map +1 -0
  444. package/dist/services/setup/file-merger.mjs +61 -0
  445. package/dist/services/setup/file-merger.mjs.map +1 -0
  446. package/dist/services/setup/setup-service.d.mts +12 -0
  447. package/dist/services/setup/setup-service.d.mts.map +1 -0
  448. package/dist/services/setup/setup-service.mjs +96 -0
  449. package/dist/services/setup/setup-service.mjs.map +1 -0
  450. package/dist/services/setup/targets/agents-md.mjs +47 -0
  451. package/dist/services/setup/targets/agents-md.mjs.map +1 -0
  452. package/dist/services/setup/targets/cli-config.mjs +60 -0
  453. package/dist/services/setup/targets/cli-config.mjs.map +1 -0
  454. package/dist/services/setup/targets/cursor-rules.mjs +48 -0
  455. package/dist/services/setup/targets/cursor-rules.mjs.map +1 -0
  456. package/dist/services/setup/targets/mcp-claude.mjs +60 -0
  457. package/dist/services/setup/targets/mcp-claude.mjs.map +1 -0
  458. package/dist/services/setup/targets/mcp-cursor.mjs +59 -0
  459. package/dist/services/setup/targets/mcp-cursor.mjs.map +1 -0
  460. package/dist/services/setup/targets/vscode-settings.mjs +63 -0
  461. package/dist/services/setup/targets/vscode-settings.mjs.map +1 -0
  462. package/dist/services/setup/types.d.mts +85 -0
  463. package/dist/services/setup/types.d.mts.map +1 -0
  464. package/dist/services/setup/types.mjs +27 -0
  465. package/dist/services/setup/types.mjs.map +1 -0
  466. package/dist/services/sync.d.mts +42 -0
  467. package/dist/services/sync.d.mts.map +1 -0
  468. package/dist/services/sync.mjs +64 -0
  469. package/dist/services/sync.mjs.map +1 -0
  470. package/dist/services/test/index.d.mts +2 -0
  471. package/dist/services/test/index.mjs +4 -0
  472. package/dist/services/test/test-generator-service.d.mts +24 -0
  473. package/dist/services/test/test-generator-service.d.mts.map +1 -0
  474. package/dist/services/test/test-generator-service.mjs +92 -0
  475. package/dist/services/test/test-generator-service.mjs.map +1 -0
  476. package/dist/services/test/test-service.d.mts +27 -0
  477. package/dist/services/test/test-service.d.mts.map +1 -0
  478. package/dist/services/test/test-service.mjs +94 -0
  479. package/dist/services/test/test-service.mjs.map +1 -0
  480. package/dist/services/test-link/index.d.mts +18 -0
  481. package/dist/services/test-link/index.d.mts.map +1 -0
  482. package/dist/services/test-link/index.mjs +60 -0
  483. package/dist/services/test-link/index.mjs.map +1 -0
  484. package/dist/services/test-link/test-ref-validator.d.mts +2 -0
  485. package/dist/services/test-link/test-ref-validator.mjs +50 -0
  486. package/dist/services/test-link/test-ref-validator.mjs.map +1 -0
  487. package/dist/services/upgrade/index.d.mts +10 -0
  488. package/dist/services/upgrade/index.d.mts.map +1 -0
  489. package/dist/services/upgrade/index.mjs +15 -0
  490. package/dist/services/upgrade/index.mjs.map +1 -0
  491. package/dist/services/upgrade/types.d.mts +78 -0
  492. package/dist/services/upgrade/types.d.mts.map +1 -0
  493. package/dist/services/upgrade/upgrade-service.d.mts +38 -0
  494. package/dist/services/upgrade/upgrade-service.d.mts.map +1 -0
  495. package/dist/services/upgrade/upgrade-service.mjs +201 -0
  496. package/dist/services/upgrade/upgrade-service.mjs.map +1 -0
  497. package/dist/services/validate/blueprint-validator.d.mts +23 -0
  498. package/dist/services/validate/blueprint-validator.d.mts.map +1 -0
  499. package/dist/services/validate/blueprint-validator.mjs +50 -0
  500. package/dist/services/validate/blueprint-validator.mjs.map +1 -0
  501. package/dist/services/validate/implementation-agent-validator.d.mts +20 -0
  502. package/dist/services/validate/implementation-agent-validator.d.mts.map +1 -0
  503. package/dist/services/validate/implementation-agent-validator.mjs +42 -0
  504. package/dist/services/validate/implementation-agent-validator.mjs.map +1 -0
  505. package/dist/services/validate/implementation-validator.d.mts +32 -0
  506. package/dist/services/validate/implementation-validator.d.mts.map +1 -0
  507. package/dist/services/validate/implementation-validator.mjs +64 -0
  508. package/dist/services/validate/implementation-validator.mjs.map +1 -0
  509. package/dist/services/validate/index.d.mts +5 -0
  510. package/dist/services/validate/index.mjs +7 -0
  511. package/dist/services/validate/spec-validator.d.mts +42 -0
  512. package/dist/services/validate/spec-validator.d.mts.map +1 -0
  513. package/dist/services/validate/spec-validator.mjs +49 -0
  514. package/dist/services/validate/spec-validator.mjs.map +1 -0
  515. package/dist/services/validate/tenant-validator.d.mts +21 -0
  516. package/dist/services/validate/tenant-validator.d.mts.map +1 -0
  517. package/dist/services/validate/tenant-validator.mjs +165 -0
  518. package/dist/services/validate/tenant-validator.mjs.map +1 -0
  519. package/dist/services/verification-cache/adapters/filesystem.d.mts +46 -0
  520. package/dist/services/verification-cache/adapters/filesystem.d.mts.map +1 -0
  521. package/dist/services/verification-cache/adapters/filesystem.mjs +120 -0
  522. package/dist/services/verification-cache/adapters/filesystem.mjs.map +1 -0
  523. package/dist/services/verification-cache/adapters/in-memory.d.mts +27 -0
  524. package/dist/services/verification-cache/adapters/in-memory.d.mts.map +1 -0
  525. package/dist/services/verification-cache/adapters/in-memory.mjs +46 -0
  526. package/dist/services/verification-cache/adapters/in-memory.mjs.map +1 -0
  527. package/dist/services/verification-cache/adapters/index.d.mts +3 -0
  528. package/dist/services/verification-cache/adapters/index.mjs +5 -0
  529. package/dist/services/verification-cache/adapters/workspace-state.d.mts +49 -0
  530. package/dist/services/verification-cache/adapters/workspace-state.d.mts.map +1 -0
  531. package/dist/services/verification-cache/adapters/workspace-state.mjs +91 -0
  532. package/dist/services/verification-cache/adapters/workspace-state.mjs.map +1 -0
  533. package/dist/services/verification-cache/cache-service.d.mts +70 -0
  534. package/dist/services/verification-cache/cache-service.d.mts.map +1 -0
  535. package/dist/services/verification-cache/cache-service.mjs +256 -0
  536. package/dist/services/verification-cache/cache-service.mjs.map +1 -0
  537. package/dist/services/verification-cache/index.d.mts +6 -0
  538. package/dist/services/verification-cache/index.mjs +8 -0
  539. package/dist/services/verification-cache/types.d.mts +124 -0
  540. package/dist/services/verification-cache/types.d.mts.map +1 -0
  541. package/dist/services/verification-cache/types.mjs +16 -0
  542. package/dist/services/verification-cache/types.mjs.map +1 -0
  543. package/dist/services/verify/ai-verifier.d.mts +25 -0
  544. package/dist/services/verify/ai-verifier.d.mts.map +1 -0
  545. package/dist/services/verify/ai-verifier.mjs +403 -0
  546. package/dist/services/verify/ai-verifier.mjs.map +1 -0
  547. package/dist/services/verify/behavior-verifier.d.mts +12 -0
  548. package/dist/services/verify/behavior-verifier.d.mts.map +1 -0
  549. package/dist/services/verify/behavior-verifier.mjs +186 -0
  550. package/dist/services/verify/behavior-verifier.mjs.map +1 -0
  551. package/dist/services/verify/index.d.mts +5 -0
  552. package/dist/services/verify/index.mjs +6 -0
  553. package/dist/services/verify/structure-verifier.d.mts +12 -0
  554. package/dist/services/verify/structure-verifier.d.mts.map +1 -0
  555. package/dist/services/verify/structure-verifier.mjs +196 -0
  556. package/dist/services/verify/structure-verifier.mjs.map +1 -0
  557. package/dist/services/verify/types.d.mts +137 -0
  558. package/dist/services/verify/types.d.mts.map +1 -0
  559. package/dist/services/verify/verify-service.d.mts +60 -0
  560. package/dist/services/verify/verify-service.d.mts.map +1 -0
  561. package/dist/services/verify/verify-service.mjs +204 -0
  562. package/dist/services/verify/verify-service.mjs.map +1 -0
  563. package/dist/services/versioning/changelog-formatter.d.mts +24 -0
  564. package/dist/services/versioning/changelog-formatter.d.mts.map +1 -0
  565. package/dist/services/versioning/changelog-formatter.mjs +155 -0
  566. package/dist/services/versioning/changelog-formatter.mjs.map +1 -0
  567. package/dist/services/versioning/conventional-commits.d.mts +95 -0
  568. package/dist/services/versioning/conventional-commits.d.mts.map +1 -0
  569. package/dist/services/versioning/conventional-commits.mjs +184 -0
  570. package/dist/services/versioning/conventional-commits.mjs.map +1 -0
  571. package/dist/services/versioning/index.d.mts +12 -0
  572. package/dist/services/versioning/index.d.mts.map +1 -0
  573. package/dist/services/versioning/index.mjs +28 -0
  574. package/dist/services/versioning/index.mjs.map +1 -0
  575. package/dist/services/versioning/types.d.mts +135 -0
  576. package/dist/services/versioning/types.d.mts.map +1 -0
  577. package/dist/services/versioning/versioning-service.d.mts +74 -0
  578. package/dist/services/versioning/versioning-service.d.mts.map +1 -0
  579. package/dist/services/versioning/versioning-service.mjs +501 -0
  580. package/dist/services/versioning/versioning-service.mjs.map +1 -0
  581. package/dist/services/vibe/config.d.mts +12 -0
  582. package/dist/services/vibe/config.d.mts.map +1 -0
  583. package/dist/services/vibe/config.mjs +43 -0
  584. package/dist/services/vibe/config.mjs.map +1 -0
  585. package/dist/services/vibe/context.d.mts +19 -0
  586. package/dist/services/vibe/context.d.mts.map +1 -0
  587. package/dist/services/vibe/context.mjs +92 -0
  588. package/dist/services/vibe/context.mjs.map +1 -0
  589. package/dist/services/vibe/definitions.d.mts +8 -0
  590. package/dist/services/vibe/definitions.d.mts.map +1 -0
  591. package/dist/services/vibe/definitions.mjs +129 -0
  592. package/dist/services/vibe/definitions.mjs.map +1 -0
  593. package/dist/services/vibe/engine.d.mts +44 -0
  594. package/dist/services/vibe/engine.d.mts.map +1 -0
  595. package/dist/services/vibe/engine.mjs +147 -0
  596. package/dist/services/vibe/engine.mjs.map +1 -0
  597. package/dist/services/vibe/index.d.mts +15 -0
  598. package/dist/services/vibe/index.d.mts.map +1 -0
  599. package/dist/services/vibe/index.mjs +26 -0
  600. package/dist/services/vibe/index.mjs.map +1 -0
  601. package/dist/services/vibe/loader.d.mts +15 -0
  602. package/dist/services/vibe/loader.d.mts.map +1 -0
  603. package/dist/services/vibe/loader.mjs +48 -0
  604. package/dist/services/vibe/loader.mjs.map +1 -0
  605. package/dist/services/vibe/pack.d.mts +19 -0
  606. package/dist/services/vibe/pack.d.mts.map +1 -0
  607. package/dist/services/vibe/pack.mjs +66 -0
  608. package/dist/services/vibe/pack.mjs.map +1 -0
  609. package/dist/services/vibe/types.d.mts +59 -0
  610. package/dist/services/vibe/types.d.mts.map +1 -0
  611. package/dist/services/vibe/types.mjs +12 -0
  612. package/dist/services/vibe/types.mjs.map +1 -0
  613. package/dist/services/view/index.d.mts +11 -0
  614. package/dist/services/view/index.d.mts.map +1 -0
  615. package/dist/services/view/index.mjs +119 -0
  616. package/dist/services/view/index.mjs.map +1 -0
  617. package/dist/services/watch.d.mts +25 -0
  618. package/dist/services/watch.d.mts.map +1 -0
  619. package/dist/services/watch.mjs +33 -0
  620. package/dist/services/watch.mjs.map +1 -0
  621. package/dist/services/workspace-info.d.mts +62 -0
  622. package/dist/services/workspace-info.d.mts.map +1 -0
  623. package/dist/services/workspace-info.mjs +103 -0
  624. package/dist/services/workspace-info.mjs.map +1 -0
  625. package/dist/templates/app-config.template.d.mts +7 -0
  626. package/dist/templates/app-config.template.d.mts.map +1 -0
  627. package/dist/templates/app-config.template.mjs +107 -0
  628. package/dist/templates/app-config.template.mjs.map +1 -0
  629. package/dist/templates/data-view.template.d.mts +7 -0
  630. package/dist/templates/data-view.template.d.mts.map +1 -0
  631. package/dist/templates/data-view.template.mjs +70 -0
  632. package/dist/templates/data-view.template.mjs.map +1 -0
  633. package/dist/templates/event.template.d.mts +11 -0
  634. package/dist/templates/event.template.d.mts.map +1 -0
  635. package/dist/templates/event.template.mjs +42 -0
  636. package/dist/templates/event.template.mjs.map +1 -0
  637. package/dist/templates/experiment.template.d.mts +7 -0
  638. package/dist/templates/experiment.template.d.mts.map +1 -0
  639. package/dist/templates/experiment.template.mjs +89 -0
  640. package/dist/templates/experiment.template.mjs.map +1 -0
  641. package/dist/templates/feature.template.d.mts +33 -0
  642. package/dist/templates/feature.template.d.mts.map +1 -0
  643. package/dist/templates/feature.template.mjs +52 -0
  644. package/dist/templates/feature.template.mjs.map +1 -0
  645. package/dist/templates/fix/skeleton-capability.mjs +49 -0
  646. package/dist/templates/fix/skeleton-capability.mjs.map +1 -0
  647. package/dist/templates/fix/skeleton-event.mjs +56 -0
  648. package/dist/templates/fix/skeleton-event.mjs.map +1 -0
  649. package/dist/templates/fix/skeleton-operation.mjs +122 -0
  650. package/dist/templates/fix/skeleton-operation.mjs.map +1 -0
  651. package/dist/templates/fix/skeleton-presentation.mjs +65 -0
  652. package/dist/templates/fix/skeleton-presentation.mjs.map +1 -0
  653. package/dist/templates/fix/utils.mjs +34 -0
  654. package/dist/templates/fix/utils.mjs.map +1 -0
  655. package/dist/templates/handler.template.d.mts +16 -0
  656. package/dist/templates/handler.template.d.mts.map +1 -0
  657. package/dist/templates/handler.template.mjs +100 -0
  658. package/dist/templates/handler.template.mjs.map +1 -0
  659. package/dist/templates/index.d.mts +22 -0
  660. package/dist/templates/index.d.mts.map +1 -0
  661. package/dist/templates/index.mjs +39 -0
  662. package/dist/templates/index.mjs.map +1 -0
  663. package/dist/templates/integration.template.d.mts +7 -0
  664. package/dist/templates/integration.template.d.mts.map +1 -0
  665. package/dist/templates/integration.template.mjs +160 -0
  666. package/dist/templates/integration.template.mjs.map +1 -0
  667. package/dist/templates/knowledge.template.d.mts +7 -0
  668. package/dist/templates/knowledge.template.d.mts.map +1 -0
  669. package/dist/templates/knowledge.template.mjs +75 -0
  670. package/dist/templates/knowledge.template.mjs.map +1 -0
  671. package/dist/templates/migration.template.d.mts +7 -0
  672. package/dist/templates/migration.template.d.mts.map +1 -0
  673. package/dist/templates/migration.template.mjs +62 -0
  674. package/dist/templates/migration.template.mjs.map +1 -0
  675. package/dist/templates/operation.template.d.mts +11 -0
  676. package/dist/templates/operation.template.d.mts.map +1 -0
  677. package/dist/templates/operation.template.mjs +107 -0
  678. package/dist/templates/operation.template.mjs.map +1 -0
  679. package/dist/templates/presentation.template.d.mts +11 -0
  680. package/dist/templates/presentation.template.d.mts.map +1 -0
  681. package/dist/templates/presentation.template.mjs +80 -0
  682. package/dist/templates/presentation.template.mjs.map +1 -0
  683. package/dist/templates/telemetry.template.d.mts +7 -0
  684. package/dist/templates/telemetry.template.d.mts.map +1 -0
  685. package/dist/templates/telemetry.template.mjs +91 -0
  686. package/dist/templates/telemetry.template.mjs.map +1 -0
  687. package/dist/templates/workflow-runner.template.d.mts +16 -0
  688. package/dist/templates/workflow-runner.template.d.mts.map +1 -0
  689. package/dist/templates/workflow-runner.template.mjs +50 -0
  690. package/dist/templates/workflow-runner.template.mjs.map +1 -0
  691. package/dist/templates/workflow.template.d.mts +7 -0
  692. package/dist/templates/workflow.template.d.mts.map +1 -0
  693. package/dist/templates/workflow.template.mjs +69 -0
  694. package/dist/templates/workflow.template.mjs.map +1 -0
  695. package/dist/types/config.d.mts +34 -0
  696. package/dist/types/config.d.mts.map +1 -0
  697. package/dist/types.d.mts +324 -0
  698. package/dist/types.d.mts.map +1 -0
  699. package/dist/utils/filter.d.mts +16 -0
  700. package/dist/utils/filter.d.mts.map +1 -0
  701. package/dist/utils/filter.mjs +22 -0
  702. package/dist/utils/filter.mjs.map +1 -0
  703. package/dist/utils/index.d.mts +11 -0
  704. package/dist/utils/index.d.mts.map +1 -0
  705. package/dist/utils/index.mjs +20 -0
  706. package/dist/utils/index.mjs.map +1 -0
  707. package/dist/utils/module-loader.d.mts +5 -0
  708. package/dist/utils/module-loader.d.mts.map +1 -0
  709. package/dist/utils/module-loader.mjs +41 -0
  710. package/dist/utils/module-loader.mjs.map +1 -0
  711. package/dist/utils/validation.d.mts +37 -0
  712. package/dist/utils/validation.d.mts.map +1 -0
  713. package/dist/utils/validation.mjs +43 -0
  714. package/dist/utils/validation.mjs.map +1 -0
  715. package/package.json +24 -19
  716. package/dist/_virtual/rolldown_runtime.js +0 -18
  717. package/dist/adapters/ai.d.ts +0 -12
  718. package/dist/adapters/ai.d.ts.map +0 -1
  719. package/dist/adapters/ai.js +0 -83
  720. package/dist/adapters/ai.js.map +0 -1
  721. package/dist/adapters/factory.d.ts +0 -29
  722. package/dist/adapters/factory.d.ts.map +0 -1
  723. package/dist/adapters/factory.js +0 -37
  724. package/dist/adapters/factory.js.map +0 -1
  725. package/dist/adapters/fs.d.ts +0 -12
  726. package/dist/adapters/fs.d.ts.map +0 -1
  727. package/dist/adapters/fs.js +0 -131
  728. package/dist/adapters/fs.js.map +0 -1
  729. package/dist/adapters/git.d.ts +0 -11
  730. package/dist/adapters/git.d.ts.map +0 -1
  731. package/dist/adapters/git.js +0 -84
  732. package/dist/adapters/git.js.map +0 -1
  733. package/dist/adapters/index.d.ts +0 -7
  734. package/dist/adapters/index.js +0 -7
  735. package/dist/adapters/logger.d.ts +0 -18
  736. package/dist/adapters/logger.d.ts.map +0 -1
  737. package/dist/adapters/logger.js +0 -81
  738. package/dist/adapters/logger.js.map +0 -1
  739. package/dist/adapters/watcher.d.ts +0 -11
  740. package/dist/adapters/watcher.d.ts.map +0 -1
  741. package/dist/adapters/watcher.js +0 -74
  742. package/dist/adapters/watcher.js.map +0 -1
  743. package/dist/adapters/workspace.d.ts +0 -148
  744. package/dist/adapters/workspace.d.ts.map +0 -1
  745. package/dist/adapters/workspace.js +0 -275
  746. package/dist/adapters/workspace.js.map +0 -1
  747. package/dist/ai/agents/claude-code-agent.d.ts +0 -22
  748. package/dist/ai/agents/claude-code-agent.d.ts.map +0 -1
  749. package/dist/ai/agents/claude-code-agent.js +0 -182
  750. package/dist/ai/agents/claude-code-agent.js.map +0 -1
  751. package/dist/ai/agents/cursor-agent.d.ts +0 -68
  752. package/dist/ai/agents/cursor-agent.d.ts.map +0 -1
  753. package/dist/ai/agents/cursor-agent.js +0 -436
  754. package/dist/ai/agents/cursor-agent.js.map +0 -1
  755. package/dist/ai/agents/index.js +0 -5
  756. package/dist/ai/agents/openai-codex-agent.d.ts +0 -22
  757. package/dist/ai/agents/openai-codex-agent.d.ts.map +0 -1
  758. package/dist/ai/agents/openai-codex-agent.js +0 -167
  759. package/dist/ai/agents/openai-codex-agent.js.map +0 -1
  760. package/dist/ai/agents/orchestrator.d.ts +0 -50
  761. package/dist/ai/agents/orchestrator.d.ts.map +0 -1
  762. package/dist/ai/agents/orchestrator.js +0 -143
  763. package/dist/ai/agents/orchestrator.js.map +0 -1
  764. package/dist/ai/agents/simple-agent.d.ts +0 -17
  765. package/dist/ai/agents/simple-agent.d.ts.map +0 -1
  766. package/dist/ai/agents/simple-agent.js +0 -92
  767. package/dist/ai/agents/simple-agent.js.map +0 -1
  768. package/dist/ai/agents/types.d.ts +0 -36
  769. package/dist/ai/agents/types.d.ts.map +0 -1
  770. package/dist/ai/client.d.ts +0 -97
  771. package/dist/ai/client.d.ts.map +0 -1
  772. package/dist/ai/client.js +0 -189
  773. package/dist/ai/client.js.map +0 -1
  774. package/dist/ai/index.d.ts +0 -9
  775. package/dist/ai/index.js +0 -9
  776. package/dist/ai/prompts/code-generation.d.ts +0 -26
  777. package/dist/ai/prompts/code-generation.d.ts.map +0 -1
  778. package/dist/ai/prompts/code-generation.js +0 -143
  779. package/dist/ai/prompts/code-generation.js.map +0 -1
  780. package/dist/ai/prompts/index.d.ts +0 -10
  781. package/dist/ai/prompts/index.d.ts.map +0 -1
  782. package/dist/ai/prompts/index.js +0 -13
  783. package/dist/ai/prompts/index.js.map +0 -1
  784. package/dist/ai/prompts/spec-creation.d.ts +0 -29
  785. package/dist/ai/prompts/spec-creation.d.ts.map +0 -1
  786. package/dist/ai/prompts/spec-creation.js +0 -111
  787. package/dist/ai/prompts/spec-creation.js.map +0 -1
  788. package/dist/ai/providers.d.ts +0 -29
  789. package/dist/ai/providers.d.ts.map +0 -1
  790. package/dist/ai/providers.js +0 -39
  791. package/dist/ai/providers.js.map +0 -1
  792. package/dist/formatters/index.d.ts +0 -11
  793. package/dist/formatters/index.d.ts.map +0 -1
  794. package/dist/formatters/index.js +0 -19
  795. package/dist/formatters/index.js.map +0 -1
  796. package/dist/formatters/json.d.ts +0 -89
  797. package/dist/formatters/json.d.ts.map +0 -1
  798. package/dist/formatters/json.js +0 -72
  799. package/dist/formatters/json.js.map +0 -1
  800. package/dist/formatters/sarif.d.ts +0 -101
  801. package/dist/formatters/sarif.d.ts.map +0 -1
  802. package/dist/formatters/sarif.js +0 -163
  803. package/dist/formatters/sarif.js.map +0 -1
  804. package/dist/formatters/text.d.ts +0 -35
  805. package/dist/formatters/text.d.ts.map +0 -1
  806. package/dist/formatters/text.js +0 -209
  807. package/dist/formatters/text.js.map +0 -1
  808. package/dist/index.d.ts +0 -111
  809. package/dist/index.js +0 -97
  810. package/dist/ports/ai.d.ts +0 -59
  811. package/dist/ports/ai.d.ts.map +0 -1
  812. package/dist/ports/fs.d.ts +0 -81
  813. package/dist/ports/fs.d.ts.map +0 -1
  814. package/dist/ports/git.d.ts +0 -46
  815. package/dist/ports/git.d.ts.map +0 -1
  816. package/dist/ports/index.d.ts +0 -6
  817. package/dist/ports/logger.d.ts +0 -88
  818. package/dist/ports/logger.d.ts.map +0 -1
  819. package/dist/ports/rulesync.d.ts +0 -38
  820. package/dist/ports/rulesync.d.ts.map +0 -1
  821. package/dist/ports/watcher.d.ts +0 -52
  822. package/dist/ports/watcher.d.ts.map +0 -1
  823. package/dist/services/agent-guide/adapters/claude-code.d.ts +0 -35
  824. package/dist/services/agent-guide/adapters/claude-code.d.ts.map +0 -1
  825. package/dist/services/agent-guide/adapters/claude-code.js +0 -144
  826. package/dist/services/agent-guide/adapters/claude-code.js.map +0 -1
  827. package/dist/services/agent-guide/adapters/cursor-cli.d.ts +0 -39
  828. package/dist/services/agent-guide/adapters/cursor-cli.d.ts.map +0 -1
  829. package/dist/services/agent-guide/adapters/cursor-cli.js +0 -135
  830. package/dist/services/agent-guide/adapters/cursor-cli.js.map +0 -1
  831. package/dist/services/agent-guide/adapters/generic-mcp.d.ts +0 -53
  832. package/dist/services/agent-guide/adapters/generic-mcp.d.ts.map +0 -1
  833. package/dist/services/agent-guide/adapters/generic-mcp.js +0 -159
  834. package/dist/services/agent-guide/adapters/generic-mcp.js.map +0 -1
  835. package/dist/services/agent-guide/adapters/index.d.ts +0 -23
  836. package/dist/services/agent-guide/adapters/index.d.ts.map +0 -1
  837. package/dist/services/agent-guide/adapters/index.js +0 -31
  838. package/dist/services/agent-guide/adapters/index.js.map +0 -1
  839. package/dist/services/agent-guide/agent-guide-service.d.ts +0 -56
  840. package/dist/services/agent-guide/agent-guide-service.d.ts.map +0 -1
  841. package/dist/services/agent-guide/agent-guide-service.js +0 -147
  842. package/dist/services/agent-guide/agent-guide-service.js.map +0 -1
  843. package/dist/services/agent-guide/index.d.ts +0 -6
  844. package/dist/services/agent-guide/index.js +0 -5
  845. package/dist/services/agent-guide/types.d.ts +0 -58
  846. package/dist/services/agent-guide/types.d.ts.map +0 -1
  847. package/dist/services/build.d.ts +0 -59
  848. package/dist/services/build.d.ts.map +0 -1
  849. package/dist/services/build.js +0 -140
  850. package/dist/services/build.js.map +0 -1
  851. package/dist/services/ci-check/ci-check-service.d.ts +0 -16
  852. package/dist/services/ci-check/ci-check-service.d.ts.map +0 -1
  853. package/dist/services/ci-check/ci-check-service.js +0 -459
  854. package/dist/services/ci-check/ci-check-service.js.map +0 -1
  855. package/dist/services/ci-check/index.d.ts +0 -2
  856. package/dist/services/ci-check/index.js +0 -2
  857. package/dist/services/ci-check/types.d.ts +0 -143
  858. package/dist/services/ci-check/types.d.ts.map +0 -1
  859. package/dist/services/ci-check/types.js +0 -31
  860. package/dist/services/ci-check/types.js.map +0 -1
  861. package/dist/services/clean.d.ts +0 -41
  862. package/dist/services/clean.d.ts.map +0 -1
  863. package/dist/services/clean.js +0 -72
  864. package/dist/services/clean.js.map +0 -1
  865. package/dist/services/config.d.ts +0 -16
  866. package/dist/services/config.d.ts.map +0 -1
  867. package/dist/services/config.js +0 -63
  868. package/dist/services/config.js.map +0 -1
  869. package/dist/services/create/ai-generator.d.ts +0 -84
  870. package/dist/services/create/ai-generator.d.ts.map +0 -1
  871. package/dist/services/create/ai-generator.js +0 -178
  872. package/dist/services/create/ai-generator.js.map +0 -1
  873. package/dist/services/create/index.d.ts +0 -27
  874. package/dist/services/create/index.d.ts.map +0 -1
  875. package/dist/services/create/index.js +0 -36
  876. package/dist/services/create/index.js.map +0 -1
  877. package/dist/services/create/templates.d.ts +0 -21
  878. package/dist/services/create/templates.d.ts.map +0 -1
  879. package/dist/services/create/templates.js +0 -37
  880. package/dist/services/create/templates.js.map +0 -1
  881. package/dist/services/deps.d.ts +0 -53
  882. package/dist/services/deps.d.ts.map +0 -1
  883. package/dist/services/deps.js +0 -62
  884. package/dist/services/deps.js.map +0 -1
  885. package/dist/services/diff.d.ts +0 -34
  886. package/dist/services/diff.d.ts.map +0 -1
  887. package/dist/services/diff.js +0 -34
  888. package/dist/services/diff.js.map +0 -1
  889. package/dist/services/docs/docs-service.d.ts +0 -19
  890. package/dist/services/docs/docs-service.d.ts.map +0 -1
  891. package/dist/services/docs/docs-service.js +0 -41
  892. package/dist/services/docs/docs-service.js.map +0 -1
  893. package/dist/services/docs/index.d.ts +0 -1
  894. package/dist/services/docs/index.js +0 -1
  895. package/dist/services/doctor/checks/ai.js +0 -119
  896. package/dist/services/doctor/checks/ai.js.map +0 -1
  897. package/dist/services/doctor/checks/cli.js +0 -156
  898. package/dist/services/doctor/checks/cli.js.map +0 -1
  899. package/dist/services/doctor/checks/config.js +0 -303
  900. package/dist/services/doctor/checks/config.js.map +0 -1
  901. package/dist/services/doctor/checks/deps.js +0 -267
  902. package/dist/services/doctor/checks/deps.js.map +0 -1
  903. package/dist/services/doctor/checks/index.js +0 -7
  904. package/dist/services/doctor/checks/layers.js +0 -139
  905. package/dist/services/doctor/checks/layers.js.map +0 -1
  906. package/dist/services/doctor/checks/mcp.js +0 -145
  907. package/dist/services/doctor/checks/mcp.js.map +0 -1
  908. package/dist/services/doctor/checks/workspace.js +0 -263
  909. package/dist/services/doctor/checks/workspace.js.map +0 -1
  910. package/dist/services/doctor/doctor-service.d.ts +0 -24
  911. package/dist/services/doctor/doctor-service.d.ts.map +0 -1
  912. package/dist/services/doctor/doctor-service.js +0 -118
  913. package/dist/services/doctor/doctor-service.js.map +0 -1
  914. package/dist/services/doctor/index.d.ts +0 -2
  915. package/dist/services/doctor/index.js +0 -2
  916. package/dist/services/doctor/types.d.ts +0 -118
  917. package/dist/services/doctor/types.d.ts.map +0 -1
  918. package/dist/services/doctor/types.js +0 -29
  919. package/dist/services/doctor/types.js.map +0 -1
  920. package/dist/services/formatter.d.ts +0 -15
  921. package/dist/services/formatter.d.ts.map +0 -1
  922. package/dist/services/formatter.js +0 -26
  923. package/dist/services/formatter.js.map +0 -1
  924. package/dist/services/hooks/hooks-service.d.ts +0 -24
  925. package/dist/services/hooks/hooks-service.d.ts.map +0 -1
  926. package/dist/services/hooks/hooks-service.js +0 -126
  927. package/dist/services/hooks/hooks-service.js.map +0 -1
  928. package/dist/services/hooks/index.d.ts +0 -10
  929. package/dist/services/hooks/index.d.ts.map +0 -1
  930. package/dist/services/hooks/index.js +0 -12
  931. package/dist/services/hooks/index.js.map +0 -1
  932. package/dist/services/hooks/types.d.ts +0 -56
  933. package/dist/services/hooks/types.d.ts.map +0 -1
  934. package/dist/services/impact/formatters.d.ts +0 -27
  935. package/dist/services/impact/formatters.d.ts.map +0 -1
  936. package/dist/services/impact/formatters.js +0 -111
  937. package/dist/services/impact/formatters.js.map +0 -1
  938. package/dist/services/impact/impact-detection-service.d.ts +0 -22
  939. package/dist/services/impact/impact-detection-service.d.ts.map +0 -1
  940. package/dist/services/impact/impact-detection-service.js +0 -96
  941. package/dist/services/impact/impact-detection-service.js.map +0 -1
  942. package/dist/services/impact/index.d.ts +0 -11
  943. package/dist/services/impact/index.d.ts.map +0 -1
  944. package/dist/services/impact/index.js +0 -16
  945. package/dist/services/impact/index.js.map +0 -1
  946. package/dist/services/impact/types.d.ts +0 -58
  947. package/dist/services/impact/types.d.ts.map +0 -1
  948. package/dist/services/implementation/discovery.d.ts +0 -30
  949. package/dist/services/implementation/discovery.d.ts.map +0 -1
  950. package/dist/services/implementation/discovery.js +0 -144
  951. package/dist/services/implementation/discovery.js.map +0 -1
  952. package/dist/services/implementation/index.d.ts +0 -3
  953. package/dist/services/implementation/index.js +0 -2
  954. package/dist/services/implementation/resolver.d.ts +0 -44
  955. package/dist/services/implementation/resolver.d.ts.map +0 -1
  956. package/dist/services/implementation/resolver.js +0 -224
  957. package/dist/services/implementation/resolver.js.map +0 -1
  958. package/dist/services/implementation/types.d.ts +0 -79
  959. package/dist/services/implementation/types.d.ts.map +0 -1
  960. package/dist/services/index.d.ts +0 -91
  961. package/dist/services/index.js +0 -87
  962. package/dist/services/integrity-diagram.d.ts +0 -36
  963. package/dist/services/integrity-diagram.d.ts.map +0 -1
  964. package/dist/services/integrity-diagram.js +0 -275
  965. package/dist/services/integrity-diagram.js.map +0 -1
  966. package/dist/services/integrity.d.ts +0 -134
  967. package/dist/services/integrity.d.ts.map +0 -1
  968. package/dist/services/integrity.js +0 -272
  969. package/dist/services/integrity.js.map +0 -1
  970. package/dist/services/layer-discovery.d.ts +0 -77
  971. package/dist/services/layer-discovery.d.ts.map +0 -1
  972. package/dist/services/layer-discovery.js +0 -121
  973. package/dist/services/layer-discovery.js.map +0 -1
  974. package/dist/services/list.d.ts +0 -31
  975. package/dist/services/list.d.ts.map +0 -1
  976. package/dist/services/list.js +0 -36
  977. package/dist/services/list.js.map +0 -1
  978. package/dist/services/llm/index.d.ts +0 -28
  979. package/dist/services/llm/index.d.ts.map +0 -1
  980. package/dist/services/llm/index.js +0 -187
  981. package/dist/services/llm/index.js.map +0 -1
  982. package/dist/services/llm/verify-static.d.ts +0 -26
  983. package/dist/services/llm/verify-static.d.ts.map +0 -1
  984. package/dist/services/llm/verify-static.js +0 -82
  985. package/dist/services/llm/verify-static.js.map +0 -1
  986. package/dist/services/openapi/export-service.d.ts +0 -53
  987. package/dist/services/openapi/export-service.d.ts.map +0 -1
  988. package/dist/services/openapi/export-service.js +0 -50
  989. package/dist/services/openapi/export-service.js.map +0 -1
  990. package/dist/services/openapi/import-service.d.ts +0 -17
  991. package/dist/services/openapi/import-service.d.ts.map +0 -1
  992. package/dist/services/openapi/import-service.js +0 -168
  993. package/dist/services/openapi/import-service.js.map +0 -1
  994. package/dist/services/openapi/index.d.ts +0 -5
  995. package/dist/services/openapi/index.js +0 -4
  996. package/dist/services/openapi/sync-service.d.ts +0 -17
  997. package/dist/services/openapi/sync-service.d.ts.map +0 -1
  998. package/dist/services/openapi/sync-service.js +0 -120
  999. package/dist/services/openapi/sync-service.js.map +0 -1
  1000. package/dist/services/openapi/types.d.ts +0 -162
  1001. package/dist/services/openapi/types.d.ts.map +0 -1
  1002. package/dist/services/openapi/validate-service.d.ts +0 -16
  1003. package/dist/services/openapi/validate-service.d.ts.map +0 -1
  1004. package/dist/services/openapi/validate-service.js +0 -130
  1005. package/dist/services/openapi/validate-service.js.map +0 -1
  1006. package/dist/services/quickstart/dependencies.d.ts +0 -31
  1007. package/dist/services/quickstart/dependencies.d.ts.map +0 -1
  1008. package/dist/services/quickstart/dependencies.js +0 -57
  1009. package/dist/services/quickstart/dependencies.js.map +0 -1
  1010. package/dist/services/quickstart/index.js +0 -2
  1011. package/dist/services/quickstart/quickstart-service.d.ts +0 -20
  1012. package/dist/services/quickstart/quickstart-service.d.ts.map +0 -1
  1013. package/dist/services/quickstart/quickstart-service.js +0 -196
  1014. package/dist/services/quickstart/quickstart-service.js.map +0 -1
  1015. package/dist/services/quickstart/types.d.ts +0 -81
  1016. package/dist/services/quickstart/types.d.ts.map +0 -1
  1017. package/dist/services/regenerator.d.ts +0 -18
  1018. package/dist/services/regenerator.d.ts.map +0 -1
  1019. package/dist/services/regenerator.js +0 -23
  1020. package/dist/services/regenerator.js.map +0 -1
  1021. package/dist/services/registry.d.ts +0 -53
  1022. package/dist/services/registry.d.ts.map +0 -1
  1023. package/dist/services/registry.js +0 -74
  1024. package/dist/services/registry.js.map +0 -1
  1025. package/dist/services/rulesync.d.ts +0 -17
  1026. package/dist/services/rulesync.d.ts.map +0 -1
  1027. package/dist/services/rulesync.js +0 -71
  1028. package/dist/services/rulesync.js.map +0 -1
  1029. package/dist/services/setup/config-generators.d.ts +0 -42
  1030. package/dist/services/setup/config-generators.d.ts.map +0 -1
  1031. package/dist/services/setup/config-generators.js +0 -252
  1032. package/dist/services/setup/config-generators.js.map +0 -1
  1033. package/dist/services/setup/file-merger.d.ts +0 -27
  1034. package/dist/services/setup/file-merger.d.ts.map +0 -1
  1035. package/dist/services/setup/file-merger.js +0 -61
  1036. package/dist/services/setup/file-merger.js.map +0 -1
  1037. package/dist/services/setup/index.js +0 -4
  1038. package/dist/services/setup/setup-service.d.ts +0 -12
  1039. package/dist/services/setup/setup-service.d.ts.map +0 -1
  1040. package/dist/services/setup/setup-service.js +0 -96
  1041. package/dist/services/setup/setup-service.js.map +0 -1
  1042. package/dist/services/setup/targets/agents-md.js +0 -47
  1043. package/dist/services/setup/targets/agents-md.js.map +0 -1
  1044. package/dist/services/setup/targets/cli-config.js +0 -60
  1045. package/dist/services/setup/targets/cli-config.js.map +0 -1
  1046. package/dist/services/setup/targets/cursor-rules.js +0 -48
  1047. package/dist/services/setup/targets/cursor-rules.js.map +0 -1
  1048. package/dist/services/setup/targets/mcp-claude.js +0 -60
  1049. package/dist/services/setup/targets/mcp-claude.js.map +0 -1
  1050. package/dist/services/setup/targets/mcp-cursor.js +0 -59
  1051. package/dist/services/setup/targets/mcp-cursor.js.map +0 -1
  1052. package/dist/services/setup/targets/vscode-settings.js +0 -63
  1053. package/dist/services/setup/targets/vscode-settings.js.map +0 -1
  1054. package/dist/services/setup/types.d.ts +0 -85
  1055. package/dist/services/setup/types.d.ts.map +0 -1
  1056. package/dist/services/setup/types.js +0 -27
  1057. package/dist/services/setup/types.js.map +0 -1
  1058. package/dist/services/sync.d.ts +0 -42
  1059. package/dist/services/sync.d.ts.map +0 -1
  1060. package/dist/services/sync.js +0 -64
  1061. package/dist/services/sync.js.map +0 -1
  1062. package/dist/services/test/index.d.ts +0 -1
  1063. package/dist/services/test/index.js +0 -1
  1064. package/dist/services/test/test-service.d.ts +0 -22
  1065. package/dist/services/test/test-service.d.ts.map +0 -1
  1066. package/dist/services/test/test-service.js +0 -81
  1067. package/dist/services/test/test-service.js.map +0 -1
  1068. package/dist/services/upgrade/index.d.ts +0 -10
  1069. package/dist/services/upgrade/index.d.ts.map +0 -1
  1070. package/dist/services/upgrade/index.js +0 -15
  1071. package/dist/services/upgrade/index.js.map +0 -1
  1072. package/dist/services/upgrade/types.d.ts +0 -78
  1073. package/dist/services/upgrade/types.d.ts.map +0 -1
  1074. package/dist/services/upgrade/upgrade-service.d.ts +0 -38
  1075. package/dist/services/upgrade/upgrade-service.d.ts.map +0 -1
  1076. package/dist/services/upgrade/upgrade-service.js +0 -201
  1077. package/dist/services/upgrade/upgrade-service.js.map +0 -1
  1078. package/dist/services/validate/blueprint-validator.d.ts +0 -23
  1079. package/dist/services/validate/blueprint-validator.d.ts.map +0 -1
  1080. package/dist/services/validate/blueprint-validator.js +0 -50
  1081. package/dist/services/validate/blueprint-validator.js.map +0 -1
  1082. package/dist/services/validate/implementation-agent-validator.d.ts +0 -20
  1083. package/dist/services/validate/implementation-agent-validator.d.ts.map +0 -1
  1084. package/dist/services/validate/implementation-agent-validator.js +0 -42
  1085. package/dist/services/validate/implementation-agent-validator.js.map +0 -1
  1086. package/dist/services/validate/implementation-validator.d.ts +0 -32
  1087. package/dist/services/validate/implementation-validator.d.ts.map +0 -1
  1088. package/dist/services/validate/implementation-validator.js +0 -64
  1089. package/dist/services/validate/implementation-validator.js.map +0 -1
  1090. package/dist/services/validate/index.d.ts +0 -5
  1091. package/dist/services/validate/index.js +0 -5
  1092. package/dist/services/validate/spec-validator.d.ts +0 -42
  1093. package/dist/services/validate/spec-validator.d.ts.map +0 -1
  1094. package/dist/services/validate/spec-validator.js +0 -50
  1095. package/dist/services/validate/spec-validator.js.map +0 -1
  1096. package/dist/services/validate/tenant-validator.d.ts +0 -21
  1097. package/dist/services/validate/tenant-validator.d.ts.map +0 -1
  1098. package/dist/services/validate/tenant-validator.js +0 -165
  1099. package/dist/services/validate/tenant-validator.js.map +0 -1
  1100. package/dist/services/verification-cache/adapters/filesystem.d.ts +0 -46
  1101. package/dist/services/verification-cache/adapters/filesystem.d.ts.map +0 -1
  1102. package/dist/services/verification-cache/adapters/filesystem.js +0 -120
  1103. package/dist/services/verification-cache/adapters/filesystem.js.map +0 -1
  1104. package/dist/services/verification-cache/adapters/in-memory.d.ts +0 -27
  1105. package/dist/services/verification-cache/adapters/in-memory.d.ts.map +0 -1
  1106. package/dist/services/verification-cache/adapters/in-memory.js +0 -46
  1107. package/dist/services/verification-cache/adapters/in-memory.js.map +0 -1
  1108. package/dist/services/verification-cache/adapters/index.d.ts +0 -3
  1109. package/dist/services/verification-cache/adapters/index.js +0 -3
  1110. package/dist/services/verification-cache/adapters/workspace-state.d.ts +0 -49
  1111. package/dist/services/verification-cache/adapters/workspace-state.d.ts.map +0 -1
  1112. package/dist/services/verification-cache/adapters/workspace-state.js +0 -91
  1113. package/dist/services/verification-cache/adapters/workspace-state.js.map +0 -1
  1114. package/dist/services/verification-cache/cache-service.d.ts +0 -70
  1115. package/dist/services/verification-cache/cache-service.d.ts.map +0 -1
  1116. package/dist/services/verification-cache/cache-service.js +0 -256
  1117. package/dist/services/verification-cache/cache-service.js.map +0 -1
  1118. package/dist/services/verification-cache/index.d.ts +0 -6
  1119. package/dist/services/verification-cache/index.js +0 -6
  1120. package/dist/services/verification-cache/types.d.ts +0 -124
  1121. package/dist/services/verification-cache/types.d.ts.map +0 -1
  1122. package/dist/services/verification-cache/types.js +0 -16
  1123. package/dist/services/verification-cache/types.js.map +0 -1
  1124. package/dist/services/verify/ai-verifier.d.ts +0 -25
  1125. package/dist/services/verify/ai-verifier.d.ts.map +0 -1
  1126. package/dist/services/verify/ai-verifier.js +0 -403
  1127. package/dist/services/verify/ai-verifier.js.map +0 -1
  1128. package/dist/services/verify/behavior-verifier.d.ts +0 -12
  1129. package/dist/services/verify/behavior-verifier.d.ts.map +0 -1
  1130. package/dist/services/verify/behavior-verifier.js +0 -186
  1131. package/dist/services/verify/behavior-verifier.js.map +0 -1
  1132. package/dist/services/verify/index.d.ts +0 -5
  1133. package/dist/services/verify/index.js +0 -4
  1134. package/dist/services/verify/structure-verifier.d.ts +0 -12
  1135. package/dist/services/verify/structure-verifier.d.ts.map +0 -1
  1136. package/dist/services/verify/structure-verifier.js +0 -196
  1137. package/dist/services/verify/structure-verifier.js.map +0 -1
  1138. package/dist/services/verify/types.d.ts +0 -137
  1139. package/dist/services/verify/types.d.ts.map +0 -1
  1140. package/dist/services/verify/verify-service.d.ts +0 -60
  1141. package/dist/services/verify/verify-service.d.ts.map +0 -1
  1142. package/dist/services/verify/verify-service.js +0 -204
  1143. package/dist/services/verify/verify-service.js.map +0 -1
  1144. package/dist/services/versioning/changelog-formatter.d.ts +0 -24
  1145. package/dist/services/versioning/changelog-formatter.d.ts.map +0 -1
  1146. package/dist/services/versioning/changelog-formatter.js +0 -155
  1147. package/dist/services/versioning/changelog-formatter.js.map +0 -1
  1148. package/dist/services/versioning/conventional-commits.d.ts +0 -95
  1149. package/dist/services/versioning/conventional-commits.d.ts.map +0 -1
  1150. package/dist/services/versioning/conventional-commits.js +0 -184
  1151. package/dist/services/versioning/conventional-commits.js.map +0 -1
  1152. package/dist/services/versioning/index.d.ts +0 -12
  1153. package/dist/services/versioning/index.d.ts.map +0 -1
  1154. package/dist/services/versioning/index.js +0 -28
  1155. package/dist/services/versioning/index.js.map +0 -1
  1156. package/dist/services/versioning/types.d.ts +0 -135
  1157. package/dist/services/versioning/types.d.ts.map +0 -1
  1158. package/dist/services/versioning/versioning-service.d.ts +0 -74
  1159. package/dist/services/versioning/versioning-service.d.ts.map +0 -1
  1160. package/dist/services/versioning/versioning-service.js +0 -501
  1161. package/dist/services/versioning/versioning-service.js.map +0 -1
  1162. package/dist/services/watch.d.ts +0 -25
  1163. package/dist/services/watch.d.ts.map +0 -1
  1164. package/dist/services/watch.js +0 -33
  1165. package/dist/services/watch.js.map +0 -1
  1166. package/dist/services/workspace-info.d.ts +0 -62
  1167. package/dist/services/workspace-info.d.ts.map +0 -1
  1168. package/dist/services/workspace-info.js +0 -103
  1169. package/dist/services/workspace-info.js.map +0 -1
  1170. package/dist/templates/app-config.template.d.ts +0 -7
  1171. package/dist/templates/app-config.template.d.ts.map +0 -1
  1172. package/dist/templates/app-config.template.js +0 -107
  1173. package/dist/templates/app-config.template.js.map +0 -1
  1174. package/dist/templates/data-view.template.d.ts +0 -7
  1175. package/dist/templates/data-view.template.d.ts.map +0 -1
  1176. package/dist/templates/data-view.template.js +0 -70
  1177. package/dist/templates/data-view.template.js.map +0 -1
  1178. package/dist/templates/event.template.d.ts +0 -11
  1179. package/dist/templates/event.template.d.ts.map +0 -1
  1180. package/dist/templates/event.template.js +0 -42
  1181. package/dist/templates/event.template.js.map +0 -1
  1182. package/dist/templates/experiment.template.d.ts +0 -7
  1183. package/dist/templates/experiment.template.d.ts.map +0 -1
  1184. package/dist/templates/experiment.template.js +0 -89
  1185. package/dist/templates/experiment.template.js.map +0 -1
  1186. package/dist/templates/handler.template.d.ts +0 -16
  1187. package/dist/templates/handler.template.d.ts.map +0 -1
  1188. package/dist/templates/handler.template.js +0 -100
  1189. package/dist/templates/handler.template.js.map +0 -1
  1190. package/dist/templates/index.d.ts +0 -21
  1191. package/dist/templates/index.d.ts.map +0 -1
  1192. package/dist/templates/index.js +0 -37
  1193. package/dist/templates/index.js.map +0 -1
  1194. package/dist/templates/integration.template.d.ts +0 -7
  1195. package/dist/templates/integration.template.d.ts.map +0 -1
  1196. package/dist/templates/integration.template.js +0 -160
  1197. package/dist/templates/integration.template.js.map +0 -1
  1198. package/dist/templates/knowledge.template.d.ts +0 -7
  1199. package/dist/templates/knowledge.template.d.ts.map +0 -1
  1200. package/dist/templates/knowledge.template.js +0 -75
  1201. package/dist/templates/knowledge.template.js.map +0 -1
  1202. package/dist/templates/migration.template.d.ts +0 -7
  1203. package/dist/templates/migration.template.d.ts.map +0 -1
  1204. package/dist/templates/migration.template.js +0 -62
  1205. package/dist/templates/migration.template.js.map +0 -1
  1206. package/dist/templates/operation.template.d.ts +0 -11
  1207. package/dist/templates/operation.template.d.ts.map +0 -1
  1208. package/dist/templates/operation.template.js +0 -107
  1209. package/dist/templates/operation.template.js.map +0 -1
  1210. package/dist/templates/presentation.template.d.ts +0 -11
  1211. package/dist/templates/presentation.template.d.ts.map +0 -1
  1212. package/dist/templates/presentation.template.js +0 -80
  1213. package/dist/templates/presentation.template.js.map +0 -1
  1214. package/dist/templates/telemetry.template.d.ts +0 -7
  1215. package/dist/templates/telemetry.template.d.ts.map +0 -1
  1216. package/dist/templates/telemetry.template.js +0 -91
  1217. package/dist/templates/telemetry.template.js.map +0 -1
  1218. package/dist/templates/workflow-runner.template.d.ts +0 -16
  1219. package/dist/templates/workflow-runner.template.d.ts.map +0 -1
  1220. package/dist/templates/workflow-runner.template.js +0 -50
  1221. package/dist/templates/workflow-runner.template.js.map +0 -1
  1222. package/dist/templates/workflow.template.d.ts +0 -7
  1223. package/dist/templates/workflow.template.d.ts.map +0 -1
  1224. package/dist/templates/workflow.template.js +0 -69
  1225. package/dist/templates/workflow.template.js.map +0 -1
  1226. package/dist/types/config.d.ts +0 -34
  1227. package/dist/types/config.d.ts.map +0 -1
  1228. package/dist/types.d.ts +0 -324
  1229. package/dist/types.d.ts.map +0 -1
  1230. package/dist/utils/module-loader.js +0 -41
  1231. package/dist/utils/module-loader.js.map +0 -1
@@ -0,0 +1,139 @@
1
+ import { discoverLayers } from "../../layer-discovery.mjs";
2
+
3
+ //#region src/services/doctor/checks/layers.ts
4
+ /**
5
+ * Run all layer health checks.
6
+ */
7
+ async function runLayerChecks(fs, _ctx) {
8
+ const results = [];
9
+ const discovery = await discoverLayers({
10
+ fs,
11
+ logger: {
12
+ info: () => {},
13
+ warn: () => {},
14
+ error: () => {},
15
+ debug: () => {},
16
+ createProgress: () => ({
17
+ start: () => {},
18
+ update: () => {},
19
+ succeed: () => {},
20
+ fail: () => {},
21
+ warn: () => {},
22
+ stop: () => {},
23
+ finish: () => {}
24
+ })
25
+ }
26
+ }, {});
27
+ results.push(checkHasFeatures(discovery.stats.features));
28
+ results.push(checkHasExamples(discovery.stats.examples));
29
+ results.push(checkFeatureOwners(discovery.inventory.features));
30
+ results.push(checkExampleEntrypoints(discovery.inventory.examples));
31
+ results.push(checkWorkspaceConfigs(discovery.inventory.workspaceConfigs));
32
+ return results;
33
+ }
34
+ /**
35
+ * Check if workspace has features defined.
36
+ */
37
+ function checkHasFeatures(count) {
38
+ if (count > 0) return {
39
+ category: "layers",
40
+ name: "Features Defined",
41
+ status: "pass",
42
+ message: `Found ${count} feature module(s)`
43
+ };
44
+ return {
45
+ category: "layers",
46
+ name: "Features Defined",
47
+ status: "warn",
48
+ message: "No feature modules found",
49
+ details: "Create a .feature.ts file to organize your specs into features"
50
+ };
51
+ }
52
+ /**
53
+ * Check if workspace has examples defined.
54
+ */
55
+ function checkHasExamples(count) {
56
+ if (count > 0) return {
57
+ category: "layers",
58
+ name: "Examples Defined",
59
+ status: "pass",
60
+ message: `Found ${count} example(s)`
61
+ };
62
+ return {
63
+ category: "layers",
64
+ name: "Examples Defined",
65
+ status: "skip",
66
+ message: "No examples found (optional)",
67
+ details: "Create an example.ts file to package reusable templates"
68
+ };
69
+ }
70
+ /**
71
+ * Check if features have owners defined.
72
+ */
73
+ function checkFeatureOwners(features) {
74
+ const missingOwners = [];
75
+ for (const [key, feature] of features) if (!feature.owners?.length) missingOwners.push(key);
76
+ if (missingOwners.length === 0) return {
77
+ category: "layers",
78
+ name: "Feature Owners",
79
+ status: features.size > 0 ? "pass" : "skip",
80
+ message: features.size > 0 ? "All features have owners defined" : "No features to check"
81
+ };
82
+ return {
83
+ category: "layers",
84
+ name: "Feature Owners",
85
+ status: "warn",
86
+ message: `${missingOwners.length} feature(s) missing owners`,
87
+ details: `Features: ${missingOwners.slice(0, 3).join(", ")}${missingOwners.length > 3 ? "..." : ""}`
88
+ };
89
+ }
90
+ /**
91
+ * Check if examples have valid entrypoints.
92
+ */
93
+ function checkExampleEntrypoints(examples) {
94
+ const missingPackage = [];
95
+ for (const [key, example] of examples) if (!example.entrypoints.packageName) missingPackage.push(key);
96
+ if (missingPackage.length === 0) return {
97
+ category: "layers",
98
+ name: "Example Entrypoints",
99
+ status: examples.size > 0 ? "pass" : "skip",
100
+ message: examples.size > 0 ? "All examples have valid entrypoints" : "No examples to check"
101
+ };
102
+ return {
103
+ category: "layers",
104
+ name: "Example Entrypoints",
105
+ status: "fail",
106
+ message: `${missingPackage.length} example(s) missing packageName`,
107
+ details: `Examples: ${missingPackage.join(", ")}`
108
+ };
109
+ }
110
+ /**
111
+ * Check if workspace configs are valid.
112
+ */
113
+ function checkWorkspaceConfigs(configs) {
114
+ const invalid = [];
115
+ for (const [, config] of configs) if (!config.valid) invalid.push(config.file);
116
+ if (configs.size === 0) return {
117
+ category: "layers",
118
+ name: "Workspace Configs",
119
+ status: "skip",
120
+ message: "No .contractsrc.json files found"
121
+ };
122
+ if (invalid.length === 0) return {
123
+ category: "layers",
124
+ name: "Workspace Configs",
125
+ status: "pass",
126
+ message: `All ${configs.size} workspace config(s) are valid`
127
+ };
128
+ return {
129
+ category: "layers",
130
+ name: "Workspace Configs",
131
+ status: "fail",
132
+ message: `${invalid.length} workspace config(s) invalid`,
133
+ details: `Files: ${invalid.join(", ")}`
134
+ };
135
+ }
136
+
137
+ //#endregion
138
+ export { runLayerChecks };
139
+ //# sourceMappingURL=layers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layers.mjs","names":[],"sources":["../../../../src/services/doctor/checks/layers.ts"],"sourcesContent":["/**\n * Layer health checks.\n *\n * Validates contract layers (features, examples, app-configs, workspace-configs).\n */\n\nimport type { FsAdapter } from '../../../ports/fs';\nimport type { CheckContext, CheckResult } from '../types';\nimport { discoverLayers } from '../../layer-discovery';\n\n/**\n * Run all layer health checks.\n */\nexport async function runLayerChecks(\n fs: FsAdapter,\n _ctx: CheckContext\n): Promise<CheckResult[]> {\n const results: CheckResult[] = [];\n\n // Discover layers\n const discovery = await discoverLayers(\n {\n fs,\n logger: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n info: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n warn: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n error: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n debug: () => {},\n createProgress: () => ({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n start: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n update: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n succeed: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n fail: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n warn: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n stop: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n finish: () => {},\n }),\n },\n },\n {}\n );\n\n // Check: Has features\n results.push(checkHasFeatures(discovery.stats.features));\n\n // Check: Has examples\n results.push(checkHasExamples(discovery.stats.examples));\n\n // Check: Features have owners\n results.push(checkFeatureOwners(discovery.inventory.features));\n\n // Check: Examples have valid entrypoints\n results.push(checkExampleEntrypoints(discovery.inventory.examples));\n\n // Check: Workspace configs are valid\n results.push(checkWorkspaceConfigs(discovery.inventory.workspaceConfigs));\n\n return results;\n}\n\n/**\n * Check if workspace has features defined.\n */\nfunction checkHasFeatures(count: number): CheckResult {\n if (count > 0) {\n return {\n category: 'layers',\n name: 'Features Defined',\n status: 'pass',\n message: `Found ${count} feature module(s)`,\n };\n }\n\n return {\n category: 'layers',\n name: 'Features Defined',\n status: 'warn',\n message: 'No feature modules found',\n details: 'Create a .feature.ts file to organize your specs into features',\n };\n}\n\n/**\n * Check if workspace has examples defined.\n */\nfunction checkHasExamples(count: number): CheckResult {\n if (count > 0) {\n return {\n category: 'layers',\n name: 'Examples Defined',\n status: 'pass',\n message: `Found ${count} example(s)`,\n };\n }\n\n return {\n category: 'layers',\n name: 'Examples Defined',\n status: 'skip',\n message: 'No examples found (optional)',\n details: 'Create an example.ts file to package reusable templates',\n };\n}\n\n/**\n * Check if features have owners defined.\n */\nfunction checkFeatureOwners(\n features: Map<string, { owners?: string[]; filePath: string }>\n): CheckResult {\n const missingOwners: string[] = [];\n\n for (const [key, feature] of features) {\n if (!feature.owners?.length) {\n missingOwners.push(key);\n }\n }\n\n if (missingOwners.length === 0) {\n return {\n category: 'layers',\n name: 'Feature Owners',\n status: features.size > 0 ? 'pass' : 'skip',\n message:\n features.size > 0\n ? 'All features have owners defined'\n : 'No features to check',\n };\n }\n\n return {\n category: 'layers',\n name: 'Feature Owners',\n status: 'warn',\n message: `${missingOwners.length} feature(s) missing owners`,\n details: `Features: ${missingOwners.slice(0, 3).join(', ')}${missingOwners.length > 3 ? '...' : ''}`,\n };\n}\n\n/**\n * Check if examples have valid entrypoints.\n */\nfunction checkExampleEntrypoints(\n examples: Map<\n string,\n { entrypoints: { packageName: string }; filePath: string }\n >\n): CheckResult {\n const missingPackage: string[] = [];\n\n for (const [key, example] of examples) {\n if (!example.entrypoints.packageName) {\n missingPackage.push(key);\n }\n }\n\n if (missingPackage.length === 0) {\n return {\n category: 'layers',\n name: 'Example Entrypoints',\n status: examples.size > 0 ? 'pass' : 'skip',\n message:\n examples.size > 0\n ? 'All examples have valid entrypoints'\n : 'No examples to check',\n };\n }\n\n return {\n category: 'layers',\n name: 'Example Entrypoints',\n status: 'fail',\n message: `${missingPackage.length} example(s) missing packageName`,\n details: `Examples: ${missingPackage.join(', ')}`,\n };\n}\n\n/**\n * Check if workspace configs are valid.\n */\nfunction checkWorkspaceConfigs(\n configs: Map<string, { valid: boolean; errors: string[]; file: string }>\n): CheckResult {\n const invalid: string[] = [];\n\n for (const [, config] of configs) {\n if (!config.valid) {\n invalid.push(config.file);\n }\n }\n\n if (configs.size === 0) {\n return {\n category: 'layers',\n name: 'Workspace Configs',\n status: 'skip',\n message: 'No .contractsrc.json files found',\n };\n }\n\n if (invalid.length === 0) {\n return {\n category: 'layers',\n name: 'Workspace Configs',\n status: 'pass',\n message: `All ${configs.size} workspace config(s) are valid`,\n };\n }\n\n return {\n category: 'layers',\n name: 'Workspace Configs',\n status: 'fail',\n message: `${invalid.length} workspace config(s) invalid`,\n details: `Files: ${invalid.join(', ')}`,\n };\n}\n"],"mappings":";;;;;;AAaA,eAAsB,eACpB,IACA,MACwB;CACxB,MAAM,UAAyB,EAAE;CAGjC,MAAM,YAAY,MAAM,eACtB;EACE;EACA,QAAQ;GAEN,YAAY;GAEZ,YAAY;GAEZ,aAAa;GAEb,aAAa;GACb,uBAAuB;IAErB,aAAa;IAEb,cAAc;IAEd,eAAe;IAEf,YAAY;IAEZ,YAAY;IAEZ,YAAY;IAEZ,cAAc;IACf;GACF;EACF,EACD,EAAE,CACH;AAGD,SAAQ,KAAK,iBAAiB,UAAU,MAAM,SAAS,CAAC;AAGxD,SAAQ,KAAK,iBAAiB,UAAU,MAAM,SAAS,CAAC;AAGxD,SAAQ,KAAK,mBAAmB,UAAU,UAAU,SAAS,CAAC;AAG9D,SAAQ,KAAK,wBAAwB,UAAU,UAAU,SAAS,CAAC;AAGnE,SAAQ,KAAK,sBAAsB,UAAU,UAAU,iBAAiB,CAAC;AAEzE,QAAO;;;;;AAMT,SAAS,iBAAiB,OAA4B;AACpD,KAAI,QAAQ,EACV,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS,SAAS,MAAM;EACzB;AAGH,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACT,SAAS;EACV;;;;;AAMH,SAAS,iBAAiB,OAA4B;AACpD,KAAI,QAAQ,EACV,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS,SAAS,MAAM;EACzB;AAGH,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACT,SAAS;EACV;;;;;AAMH,SAAS,mBACP,UACa;CACb,MAAM,gBAA0B,EAAE;AAElC,MAAK,MAAM,CAAC,KAAK,YAAY,SAC3B,KAAI,CAAC,QAAQ,QAAQ,OACnB,eAAc,KAAK,IAAI;AAI3B,KAAI,cAAc,WAAW,EAC3B,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ,SAAS,OAAO,IAAI,SAAS;EACrC,SACE,SAAS,OAAO,IACZ,qCACA;EACP;AAGH,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS,GAAG,cAAc,OAAO;EACjC,SAAS,aAAa,cAAc,MAAM,GAAG,EAAE,CAAC,KAAK,KAAK,GAAG,cAAc,SAAS,IAAI,QAAQ;EACjG;;;;;AAMH,SAAS,wBACP,UAIa;CACb,MAAM,iBAA2B,EAAE;AAEnC,MAAK,MAAM,CAAC,KAAK,YAAY,SAC3B,KAAI,CAAC,QAAQ,YAAY,YACvB,gBAAe,KAAK,IAAI;AAI5B,KAAI,eAAe,WAAW,EAC5B,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ,SAAS,OAAO,IAAI,SAAS;EACrC,SACE,SAAS,OAAO,IACZ,wCACA;EACP;AAGH,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS,GAAG,eAAe,OAAO;EAClC,SAAS,aAAa,eAAe,KAAK,KAAK;EAChD;;;;;AAMH,SAAS,sBACP,SACa;CACb,MAAM,UAAoB,EAAE;AAE5B,MAAK,MAAM,GAAG,WAAW,QACvB,KAAI,CAAC,OAAO,MACV,SAAQ,KAAK,OAAO,KAAK;AAI7B,KAAI,QAAQ,SAAS,EACnB,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACV;AAGH,KAAI,QAAQ,WAAW,EACrB,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS,OAAO,QAAQ,KAAK;EAC9B;AAGH,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS,GAAG,QAAQ,OAAO;EAC3B,SAAS,UAAU,QAAQ,KAAK,KAAK;EACtC"}
@@ -0,0 +1,145 @@
1
+ import { generateCursorMcpConfig, getClaudeDesktopConfigPath } from "../../setup/config-generators.mjs";
2
+ import { deepMergePreserve, formatJson } from "../../setup/file-merger.mjs";
3
+
4
+ //#region src/services/doctor/checks/mcp.ts
5
+ /**
6
+ * Run MCP-related health checks.
7
+ */
8
+ async function runMcpChecks(fs, ctx) {
9
+ const results = [];
10
+ results.push(await checkCursorMcpConfig(fs, ctx));
11
+ results.push(await checkCursorMcpServer(fs, ctx));
12
+ results.push(await checkClaudeMcpConfig(fs, ctx));
13
+ return results;
14
+ }
15
+ /**
16
+ * Check if .cursor/mcp.json exists.
17
+ */
18
+ async function checkCursorMcpConfig(fs, ctx) {
19
+ const configPath = fs.join(ctx.workspaceRoot, ".cursor", "mcp.json");
20
+ if (await fs.exists(configPath)) return {
21
+ category: "mcp",
22
+ name: "Cursor MCP Config",
23
+ status: "pass",
24
+ message: ".cursor/mcp.json found"
25
+ };
26
+ return {
27
+ category: "mcp",
28
+ name: "Cursor MCP Config",
29
+ status: "warn",
30
+ message: ".cursor/mcp.json not found",
31
+ details: "MCP integration with Cursor will not work",
32
+ fix: {
33
+ description: "Create .cursor/mcp.json",
34
+ apply: async () => {
35
+ try {
36
+ const cursorDir = fs.join(ctx.workspaceRoot, ".cursor");
37
+ if (!await fs.exists(cursorDir)) await fs.mkdir(cursorDir);
38
+ const defaults = generateCursorMcpConfig();
39
+ await fs.writeFile(configPath, formatJson(defaults));
40
+ return {
41
+ success: true,
42
+ message: "Created .cursor/mcp.json"
43
+ };
44
+ } catch (error) {
45
+ return {
46
+ success: false,
47
+ message: `Failed: ${error instanceof Error ? error.message : String(error)}`
48
+ };
49
+ }
50
+ }
51
+ }
52
+ };
53
+ }
54
+ /**
55
+ * Check if ContractSpec MCP server is registered in Cursor config.
56
+ */
57
+ async function checkCursorMcpServer(fs, ctx) {
58
+ const configPath = fs.join(ctx.workspaceRoot, ".cursor", "mcp.json");
59
+ if (!await fs.exists(configPath)) return {
60
+ category: "mcp",
61
+ name: "MCP Server Registered",
62
+ status: "skip",
63
+ message: "Cursor MCP config does not exist"
64
+ };
65
+ try {
66
+ const content = await fs.readFile(configPath);
67
+ const config = JSON.parse(content);
68
+ if (config.mcpServers?.["contractspec-local"] !== void 0) return {
69
+ category: "mcp",
70
+ name: "MCP Server Registered",
71
+ status: "pass",
72
+ message: "ContractSpec MCP server is registered"
73
+ };
74
+ return {
75
+ category: "mcp",
76
+ name: "MCP Server Registered",
77
+ status: "fail",
78
+ message: "ContractSpec MCP server not registered",
79
+ fix: {
80
+ description: "Register ContractSpec MCP server",
81
+ apply: async () => {
82
+ try {
83
+ const merged = deepMergePreserve(config, generateCursorMcpConfig());
84
+ await fs.writeFile(configPath, formatJson(merged));
85
+ return {
86
+ success: true,
87
+ message: "Registered MCP server"
88
+ };
89
+ } catch (error) {
90
+ return {
91
+ success: false,
92
+ message: `Failed: ${error instanceof Error ? error.message : String(error)}`
93
+ };
94
+ }
95
+ }
96
+ }
97
+ };
98
+ } catch {
99
+ return {
100
+ category: "mcp",
101
+ name: "MCP Server Registered",
102
+ status: "skip",
103
+ message: "Could not parse Cursor MCP config"
104
+ };
105
+ }
106
+ }
107
+ /**
108
+ * Check Claude Desktop MCP config (optional).
109
+ */
110
+ async function checkClaudeMcpConfig(fs, _ctx) {
111
+ const configPath = getClaudeDesktopConfigPath();
112
+ try {
113
+ if (!await fs.exists(configPath)) return {
114
+ category: "mcp",
115
+ name: "Claude Desktop MCP",
116
+ status: "skip",
117
+ message: "Claude Desktop config not found (optional)"
118
+ };
119
+ const content = await fs.readFile(configPath);
120
+ if (JSON.parse(content).mcpServers?.["contractspec-local"] !== void 0) return {
121
+ category: "mcp",
122
+ name: "Claude Desktop MCP",
123
+ status: "pass",
124
+ message: "ContractSpec registered in Claude Desktop"
125
+ };
126
+ return {
127
+ category: "mcp",
128
+ name: "Claude Desktop MCP",
129
+ status: "warn",
130
+ message: "ContractSpec not registered in Claude Desktop",
131
+ details: "Optional: Run setup to configure Claude Desktop"
132
+ };
133
+ } catch {
134
+ return {
135
+ category: "mcp",
136
+ name: "Claude Desktop MCP",
137
+ status: "skip",
138
+ message: "Could not check Claude Desktop config"
139
+ };
140
+ }
141
+ }
142
+
143
+ //#endregion
144
+ export { runMcpChecks };
145
+ //# sourceMappingURL=mcp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.mjs","names":[],"sources":["../../../../src/services/doctor/checks/mcp.ts"],"sourcesContent":["/**\n * MCP server health checks.\n */\n\nimport type { FsAdapter } from '../../../ports/fs';\nimport type { CheckResult, CheckContext, FixResult } from '../types';\nimport {\n generateCursorMcpConfig,\n getClaudeDesktopConfigPath,\n} from '../../setup/config-generators';\nimport { deepMergePreserve, formatJson } from '../../setup/file-merger';\n\n/**\n * Run MCP-related health checks.\n */\nexport async function runMcpChecks(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult[]> {\n const results: CheckResult[] = [];\n\n // Check Cursor MCP config\n results.push(await checkCursorMcpConfig(fs, ctx));\n\n // Check Cursor MCP server registration\n results.push(await checkCursorMcpServer(fs, ctx));\n\n // Check Claude Desktop config (optional)\n results.push(await checkClaudeMcpConfig(fs, ctx));\n\n return results;\n}\n\n/**\n * Check if .cursor/mcp.json exists.\n */\nasync function checkCursorMcpConfig(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult> {\n const configPath = fs.join(ctx.workspaceRoot, '.cursor', 'mcp.json');\n\n const exists = await fs.exists(configPath);\n if (exists) {\n return {\n category: 'mcp',\n name: 'Cursor MCP Config',\n status: 'pass',\n message: '.cursor/mcp.json found',\n };\n }\n\n return {\n category: 'mcp',\n name: 'Cursor MCP Config',\n status: 'warn',\n message: '.cursor/mcp.json not found',\n details: 'MCP integration with Cursor will not work',\n fix: {\n description: 'Create .cursor/mcp.json',\n apply: async (): Promise<FixResult> => {\n try {\n const cursorDir = fs.join(ctx.workspaceRoot, '.cursor');\n if (!(await fs.exists(cursorDir))) {\n await fs.mkdir(cursorDir);\n }\n\n const defaults = generateCursorMcpConfig();\n await fs.writeFile(configPath, formatJson(defaults));\n return { success: true, message: 'Created .cursor/mcp.json' };\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error);\n return { success: false, message: `Failed: ${msg}` };\n }\n },\n },\n };\n}\n\n/**\n * Check if ContractSpec MCP server is registered in Cursor config.\n */\nasync function checkCursorMcpServer(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult> {\n const configPath = fs.join(ctx.workspaceRoot, '.cursor', 'mcp.json');\n\n const exists = await fs.exists(configPath);\n if (!exists) {\n return {\n category: 'mcp',\n name: 'MCP Server Registered',\n status: 'skip',\n message: 'Cursor MCP config does not exist',\n };\n }\n\n try {\n const content = await fs.readFile(configPath);\n const config = JSON.parse(content) as {\n mcpServers?: Record<string, unknown>;\n };\n\n const hasServer = config.mcpServers?.['contractspec-local'] !== undefined;\n\n if (hasServer) {\n return {\n category: 'mcp',\n name: 'MCP Server Registered',\n status: 'pass',\n message: 'ContractSpec MCP server is registered',\n };\n }\n\n return {\n category: 'mcp',\n name: 'MCP Server Registered',\n status: 'fail',\n message: 'ContractSpec MCP server not registered',\n fix: {\n description: 'Register ContractSpec MCP server',\n apply: async (): Promise<FixResult> => {\n try {\n const defaults = generateCursorMcpConfig() as Record<\n string,\n unknown\n >;\n const merged = deepMergePreserve(\n config as Record<string, unknown>,\n defaults\n );\n await fs.writeFile(configPath, formatJson(merged));\n return { success: true, message: 'Registered MCP server' };\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error);\n return { success: false, message: `Failed: ${msg}` };\n }\n },\n },\n };\n } catch {\n return {\n category: 'mcp',\n name: 'MCP Server Registered',\n status: 'skip',\n message: 'Could not parse Cursor MCP config',\n };\n }\n}\n\n/**\n * Check Claude Desktop MCP config (optional).\n */\nasync function checkClaudeMcpConfig(\n fs: FsAdapter,\n _ctx: CheckContext\n): Promise<CheckResult> {\n const configPath = getClaudeDesktopConfigPath();\n\n try {\n const exists = await fs.exists(configPath);\n if (!exists) {\n return {\n category: 'mcp',\n name: 'Claude Desktop MCP',\n status: 'skip',\n message: 'Claude Desktop config not found (optional)',\n };\n }\n\n const content = await fs.readFile(configPath);\n const config = JSON.parse(content) as {\n mcpServers?: Record<string, unknown>;\n };\n\n const hasServer = config.mcpServers?.['contractspec-local'] !== undefined;\n\n if (hasServer) {\n return {\n category: 'mcp',\n name: 'Claude Desktop MCP',\n status: 'pass',\n message: 'ContractSpec registered in Claude Desktop',\n };\n }\n\n return {\n category: 'mcp',\n name: 'Claude Desktop MCP',\n status: 'warn',\n message: 'ContractSpec not registered in Claude Desktop',\n details: 'Optional: Run setup to configure Claude Desktop',\n };\n } catch {\n return {\n category: 'mcp',\n name: 'Claude Desktop MCP',\n status: 'skip',\n message: 'Could not check Claude Desktop config',\n };\n }\n}\n"],"mappings":";;;;;;;AAeA,eAAsB,aACpB,IACA,KACwB;CACxB,MAAM,UAAyB,EAAE;AAGjC,SAAQ,KAAK,MAAM,qBAAqB,IAAI,IAAI,CAAC;AAGjD,SAAQ,KAAK,MAAM,qBAAqB,IAAI,IAAI,CAAC;AAGjD,SAAQ,KAAK,MAAM,qBAAqB,IAAI,IAAI,CAAC;AAEjD,QAAO;;;;;AAMT,eAAe,qBACb,IACA,KACsB;CACtB,MAAM,aAAa,GAAG,KAAK,IAAI,eAAe,WAAW,WAAW;AAGpE,KADe,MAAM,GAAG,OAAO,WAAW,CAExC,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACV;AAGH,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACT,SAAS;EACT,KAAK;GACH,aAAa;GACb,OAAO,YAAgC;AACrC,QAAI;KACF,MAAM,YAAY,GAAG,KAAK,IAAI,eAAe,UAAU;AACvD,SAAI,CAAE,MAAM,GAAG,OAAO,UAAU,CAC9B,OAAM,GAAG,MAAM,UAAU;KAG3B,MAAM,WAAW,yBAAyB;AAC1C,WAAM,GAAG,UAAU,YAAY,WAAW,SAAS,CAAC;AACpD,YAAO;MAAE,SAAS;MAAM,SAAS;MAA4B;aACtD,OAAO;AAEd,YAAO;MAAE,SAAS;MAAO,SAAS,WADtB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;MACd;;;GAGzD;EACF;;;;;AAMH,eAAe,qBACb,IACA,KACsB;CACtB,MAAM,aAAa,GAAG,KAAK,IAAI,eAAe,WAAW,WAAW;AAGpE,KAAI,CADW,MAAM,GAAG,OAAO,WAAW,CAExC,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACV;AAGH,KAAI;EACF,MAAM,UAAU,MAAM,GAAG,SAAS,WAAW;EAC7C,MAAM,SAAS,KAAK,MAAM,QAAQ;AAMlC,MAFkB,OAAO,aAAa,0BAA0B,OAG9D,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV;AAGH,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACT,KAAK;IACH,aAAa;IACb,OAAO,YAAgC;AACrC,SAAI;MAKF,MAAM,SAAS,kBACb,QALe,yBAAyB,CAOzC;AACD,YAAM,GAAG,UAAU,YAAY,WAAW,OAAO,CAAC;AAClD,aAAO;OAAE,SAAS;OAAM,SAAS;OAAyB;cACnD,OAAO;AAEd,aAAO;OAAE,SAAS;OAAO,SAAS,WADtB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;OACd;;;IAGzD;GACF;SACK;AACN,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV;;;;;;AAOL,eAAe,qBACb,IACA,MACsB;CACtB,MAAM,aAAa,4BAA4B;AAE/C,KAAI;AAEF,MAAI,CADW,MAAM,GAAG,OAAO,WAAW,CAExC,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV;EAGH,MAAM,UAAU,MAAM,GAAG,SAAS,WAAW;AAO7C,MANe,KAAK,MAAM,QAAQ,CAIT,aAAa,0BAA0B,OAG9D,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV;AAGH,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACT,SAAS;GACV;SACK;AACN,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV"}
@@ -0,0 +1,263 @@
1
+ //#region src/services/doctor/checks/workspace.ts
2
+ /**
3
+ * Common contract directory paths to check.
4
+ */
5
+ const CONTRACT_PATHS = [
6
+ "src/contracts",
7
+ "contracts",
8
+ "src/specs",
9
+ "specs"
10
+ ];
11
+ /**
12
+ * Run workspace-related health checks.
13
+ */
14
+ async function runWorkspaceChecks(fs, ctx) {
15
+ const results = [];
16
+ results.push(checkMonorepoStatus(ctx));
17
+ results.push(await checkValidWorkspace(fs, ctx));
18
+ results.push(await checkContractsDirectory(fs, ctx));
19
+ results.push(await checkContractFiles(fs, ctx));
20
+ results.push(await checkOutputDirectory(fs, ctx));
21
+ return results;
22
+ }
23
+ /**
24
+ * Report monorepo detection status.
25
+ */
26
+ function checkMonorepoStatus(ctx) {
27
+ if (ctx.isMonorepo) {
28
+ const pkgInfo = ctx.packageName ? ` in package "${ctx.packageName}"` : "";
29
+ const locationInfo = ctx.packageRoot !== ctx.workspaceRoot ? ` (package root: ${ctx.packageRoot})` : "";
30
+ return {
31
+ category: "workspace",
32
+ name: "Monorepo Detection",
33
+ status: "pass",
34
+ message: `Monorepo detected${pkgInfo}`,
35
+ details: ctx.verbose ? `Workspace root: ${ctx.workspaceRoot}${locationInfo}` : void 0
36
+ };
37
+ }
38
+ return {
39
+ category: "workspace",
40
+ name: "Monorepo Detection",
41
+ status: "pass",
42
+ message: "Single project (not a monorepo)"
43
+ };
44
+ }
45
+ /**
46
+ * Check if this is a valid workspace.
47
+ */
48
+ async function checkValidWorkspace(fs, ctx) {
49
+ const pathsToCheck = ctx.isMonorepo ? [ctx.packageRoot, ctx.workspaceRoot] : [ctx.workspaceRoot];
50
+ for (const root of pathsToCheck) {
51
+ const packageJsonPath = fs.join(root, "package.json");
52
+ if (await fs.exists(packageJsonPath)) return {
53
+ category: "workspace",
54
+ name: "Valid Workspace",
55
+ status: "pass",
56
+ message: "package.json found",
57
+ details: ctx.verbose && ctx.isMonorepo ? `Found at: ${root}` : void 0
58
+ };
59
+ }
60
+ return {
61
+ category: "workspace",
62
+ name: "Valid Workspace",
63
+ status: "fail",
64
+ message: "No package.json found",
65
+ details: "This does not appear to be a Node.js/TypeScript project"
66
+ };
67
+ }
68
+ /**
69
+ * Check if contracts directory exists.
70
+ *
71
+ * In monorepo: checks current package first, then workspace root.
72
+ */
73
+ async function checkContractsDirectory(fs, ctx) {
74
+ const searchRoots = ctx.isMonorepo ? [ctx.packageRoot, ctx.workspaceRoot] : [ctx.workspaceRoot];
75
+ const targetRoot = ctx.isMonorepo ? ctx.packageRoot : ctx.workspaceRoot;
76
+ for (const root of searchRoots) for (const path of CONTRACT_PATHS) {
77
+ const fullPath = fs.join(root, path);
78
+ if (await fs.exists(fullPath)) {
79
+ const relativeTo = root === ctx.packageRoot ? "package" : "workspace";
80
+ return {
81
+ category: "workspace",
82
+ name: "Contracts Directory",
83
+ status: "pass",
84
+ message: `Contracts directory found: ${path}`,
85
+ details: ctx.isMonorepo ? `Found at ${relativeTo} level` : void 0
86
+ };
87
+ }
88
+ }
89
+ if (ctx.isMonorepo && ctx.packageRoot === ctx.workspaceRoot) return {
90
+ category: "workspace",
91
+ name: "Contracts Directory",
92
+ status: "pass",
93
+ message: "Monorepo root detected (contracts expected in packages)"
94
+ };
95
+ const createPath = ctx.isMonorepo ? "src/contracts" : "src/contracts";
96
+ const locationHint = ctx.isMonorepo ? ` in package "${ctx.packageName ?? ctx.packageRoot}"` : "";
97
+ return {
98
+ category: "workspace",
99
+ name: "Contracts Directory",
100
+ status: "warn",
101
+ message: "No contracts directory found",
102
+ details: `Create ${createPath}/${locationHint} to organize your specs`,
103
+ fix: {
104
+ description: `Create ${createPath}/ directory${locationHint}`,
105
+ apply: async () => {
106
+ try {
107
+ const contractsDir = fs.join(targetRoot, "src", "contracts");
108
+ await fs.mkdir(contractsDir);
109
+ return {
110
+ success: true,
111
+ message: `Created ${createPath}/`
112
+ };
113
+ } catch (error) {
114
+ return {
115
+ success: false,
116
+ message: `Failed: ${error instanceof Error ? error.message : String(error)}`
117
+ };
118
+ }
119
+ }
120
+ }
121
+ };
122
+ }
123
+ /**
124
+ * Check if any contract files exist.
125
+ *
126
+ * In monorepo: searches from current package root.
127
+ */
128
+ async function checkContractFiles(fs, ctx) {
129
+ try {
130
+ const patterns = [
131
+ "**/*.operation.ts",
132
+ "**/*.event.ts",
133
+ "**/*.presentation.ts",
134
+ "**/*.feature.ts"
135
+ ];
136
+ const searchRoot = ctx.isMonorepo ? ctx.packageRoot : ctx.workspaceRoot;
137
+ const files = await fs.glob({
138
+ patterns,
139
+ ignore: ["node_modules/**", "dist/**"],
140
+ cwd: searchRoot
141
+ });
142
+ if (files.length > 0) {
143
+ const locationInfo = ctx.isMonorepo ? " (in current package)" : "";
144
+ return {
145
+ category: "workspace",
146
+ name: "Contract Files",
147
+ status: "pass",
148
+ message: `Found ${files.length} contract file(s)${locationInfo}`,
149
+ details: ctx.verbose ? files.slice(0, 5).join(", ") : void 0
150
+ };
151
+ }
152
+ if (ctx.isMonorepo && ctx.packageRoot === ctx.workspaceRoot) return {
153
+ category: "workspace",
154
+ name: "Contract Files",
155
+ status: "pass",
156
+ message: "No contract files in root (expected in packages)"
157
+ };
158
+ return {
159
+ category: "workspace",
160
+ name: "Contract Files",
161
+ status: "warn",
162
+ message: ctx.isMonorepo ? `No contract files found in package "${ctx.packageName ?? "current"}"` : "No contract files found",
163
+ details: "Create specs using \"contractspec create\" or VS Code command"
164
+ };
165
+ } catch {
166
+ return {
167
+ category: "workspace",
168
+ name: "Contract Files",
169
+ status: "skip",
170
+ message: "Could not search for contract files"
171
+ };
172
+ }
173
+ }
174
+ /**
175
+ * Find the config file, checking package level first in monorepos.
176
+ */
177
+ async function findConfigFile(fs, ctx) {
178
+ if (ctx.isMonorepo && ctx.packageRoot !== ctx.workspaceRoot) {
179
+ const pkgConfigPath = fs.join(ctx.packageRoot, ".contractsrc.json");
180
+ if (await fs.exists(pkgConfigPath)) return {
181
+ path: pkgConfigPath,
182
+ root: ctx.packageRoot,
183
+ level: "package"
184
+ };
185
+ }
186
+ const wsConfigPath = fs.join(ctx.workspaceRoot, ".contractsrc.json");
187
+ if (await fs.exists(wsConfigPath)) return {
188
+ path: wsConfigPath,
189
+ root: ctx.workspaceRoot,
190
+ level: "workspace"
191
+ };
192
+ return null;
193
+ }
194
+ /**
195
+ * Check if output directory is configured and exists.
196
+ *
197
+ * In monorepo: checks package-level config first, then workspace-level.
198
+ * Resolves outputDir relative to the config file location.
199
+ */
200
+ async function checkOutputDirectory(fs, ctx) {
201
+ try {
202
+ const configInfo = await findConfigFile(fs, ctx);
203
+ if (!configInfo) return {
204
+ category: "workspace",
205
+ name: "Output Directory",
206
+ status: "skip",
207
+ message: ctx.isMonorepo ? "No config file found at package or workspace level" : "No config file to check output directory"
208
+ };
209
+ const content = await fs.readFile(configInfo.path);
210
+ const config = JSON.parse(content);
211
+ const outputDir = config.outputDir ?? "./src";
212
+ const outputPath = fs.join(configInfo.root, outputDir);
213
+ const levelInfo = ctx.isMonorepo ? ` (${configInfo.level} level)` : "";
214
+ if (await fs.exists(outputPath)) return {
215
+ category: "workspace",
216
+ name: "Output Directory",
217
+ status: "pass",
218
+ message: `Output directory exists: ${outputDir}${levelInfo}`,
219
+ details: ctx.verbose ? `Resolved to: ${outputPath}` : void 0
220
+ };
221
+ if (ctx.isMonorepo && ctx.packageRoot === ctx.workspaceRoot && !config.outputDir) return {
222
+ category: "workspace",
223
+ name: "Output Directory",
224
+ status: "pass",
225
+ message: "Monorepo root detected (using package directories)"
226
+ };
227
+ return {
228
+ category: "workspace",
229
+ name: "Output Directory",
230
+ status: "warn",
231
+ message: `Output directory not found: ${outputDir}${levelInfo}`,
232
+ details: ctx.verbose ? `Expected at: ${outputPath}` : void 0,
233
+ fix: {
234
+ description: `Create ${outputDir} directory`,
235
+ apply: async () => {
236
+ try {
237
+ await fs.mkdir(outputPath);
238
+ return {
239
+ success: true,
240
+ message: `Created ${outputDir}`
241
+ };
242
+ } catch (error) {
243
+ return {
244
+ success: false,
245
+ message: `Failed: ${error instanceof Error ? error.message : String(error)}`
246
+ };
247
+ }
248
+ }
249
+ }
250
+ };
251
+ } catch {
252
+ return {
253
+ category: "workspace",
254
+ name: "Output Directory",
255
+ status: "skip",
256
+ message: "Could not check output directory"
257
+ };
258
+ }
259
+ }
260
+
261
+ //#endregion
262
+ export { runWorkspaceChecks };
263
+ //# sourceMappingURL=workspace.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.mjs","names":[],"sources":["../../../../src/services/doctor/checks/workspace.ts"],"sourcesContent":["/**\n * Workspace structure health checks.\n *\n * Monorepo-aware checks for contracts and output directories.\n */\n\nimport type { FsAdapter } from '../../../ports/fs';\nimport type { CheckContext, CheckResult, FixResult } from '../types';\n\n/**\n * Common contract directory paths to check.\n */\nconst CONTRACT_PATHS = ['src/contracts', 'contracts', 'src/specs', 'specs'];\n\n/**\n * Run workspace-related health checks.\n */\nexport async function runWorkspaceChecks(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult[]> {\n const results: CheckResult[] = [];\n\n // Check monorepo status first (informational)\n results.push(checkMonorepoStatus(ctx));\n\n // Check if this is a valid workspace (has package.json)\n results.push(await checkValidWorkspace(fs, ctx));\n\n // Check if contracts directory exists (monorepo-aware)\n results.push(await checkContractsDirectory(fs, ctx));\n\n // Check if any contract files exist\n results.push(await checkContractFiles(fs, ctx));\n\n // Check output directory (monorepo-aware)\n results.push(await checkOutputDirectory(fs, ctx));\n\n return results;\n}\n\n/**\n * Report monorepo detection status.\n */\nfunction checkMonorepoStatus(ctx: CheckContext): CheckResult {\n if (ctx.isMonorepo) {\n const pkgInfo = ctx.packageName ? ` in package \"${ctx.packageName}\"` : '';\n const locationInfo =\n ctx.packageRoot !== ctx.workspaceRoot\n ? ` (package root: ${ctx.packageRoot})`\n : '';\n return {\n category: 'workspace',\n name: 'Monorepo Detection',\n status: 'pass',\n message: `Monorepo detected${pkgInfo}`,\n details: ctx.verbose\n ? `Workspace root: ${ctx.workspaceRoot}${locationInfo}`\n : undefined,\n };\n }\n\n return {\n category: 'workspace',\n name: 'Monorepo Detection',\n status: 'pass',\n message: 'Single project (not a monorepo)',\n };\n}\n\n/**\n * Check if this is a valid workspace.\n */\nasync function checkValidWorkspace(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult> {\n // In monorepo, check both workspace root and package root\n const pathsToCheck = ctx.isMonorepo\n ? [ctx.packageRoot, ctx.workspaceRoot]\n : [ctx.workspaceRoot];\n\n for (const root of pathsToCheck) {\n const packageJsonPath = fs.join(root, 'package.json');\n if (await fs.exists(packageJsonPath)) {\n return {\n category: 'workspace',\n name: 'Valid Workspace',\n status: 'pass',\n message: 'package.json found',\n details:\n ctx.verbose && ctx.isMonorepo ? `Found at: ${root}` : undefined,\n };\n }\n }\n\n return {\n category: 'workspace',\n name: 'Valid Workspace',\n status: 'fail',\n message: 'No package.json found',\n details: 'This does not appear to be a Node.js/TypeScript project',\n };\n}\n\n/**\n * Check if contracts directory exists.\n *\n * In monorepo: checks current package first, then workspace root.\n */\nasync function checkContractsDirectory(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult> {\n // Determine where to look and where to create\n const searchRoots = ctx.isMonorepo\n ? [ctx.packageRoot, ctx.workspaceRoot]\n : [ctx.workspaceRoot];\n\n // Prefer creating in package root for monorepos\n const targetRoot = ctx.isMonorepo ? ctx.packageRoot : ctx.workspaceRoot;\n\n // Check each possible location\n for (const root of searchRoots) {\n for (const path of CONTRACT_PATHS) {\n const fullPath = fs.join(root, path);\n if (await fs.exists(fullPath)) {\n const relativeTo = root === ctx.packageRoot ? 'package' : 'workspace';\n return {\n category: 'workspace',\n name: 'Contracts Directory',\n status: 'pass',\n message: `Contracts directory found: ${path}`,\n details: ctx.isMonorepo ? `Found at ${relativeTo} level` : undefined,\n };\n }\n }\n }\n\n // Not found - check if we are at monorepo root\n if (ctx.isMonorepo && ctx.packageRoot === ctx.workspaceRoot) {\n return {\n category: 'workspace',\n name: 'Contracts Directory',\n status: 'pass',\n message: 'Monorepo root detected (contracts expected in packages)',\n };\n }\n\n // Not found - suggest creating in appropriate location\n const createPath = ctx.isMonorepo ? 'src/contracts' : 'src/contracts';\n const locationHint = ctx.isMonorepo\n ? ` in package \"${ctx.packageName ?? ctx.packageRoot}\"`\n : '';\n\n return {\n category: 'workspace',\n name: 'Contracts Directory',\n status: 'warn',\n message: 'No contracts directory found',\n details: `Create ${createPath}/${locationHint} to organize your specs`,\n fix: {\n description: `Create ${createPath}/ directory${locationHint}`,\n apply: async (): Promise<FixResult> => {\n try {\n const contractsDir = fs.join(targetRoot, 'src', 'contracts');\n await fs.mkdir(contractsDir);\n return { success: true, message: `Created ${createPath}/` };\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error);\n return { success: false, message: `Failed: ${msg}` };\n }\n },\n },\n };\n}\n\n/**\n * Check if any contract files exist.\n *\n * In monorepo: searches from current package root.\n */\nasync function checkContractFiles(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult> {\n try {\n const patterns = [\n '**/*.operation.ts',\n '**/*.event.ts',\n '**/*.presentation.ts',\n '**/*.feature.ts',\n ];\n\n // In monorepo, search from package root; otherwise workspace root\n const searchRoot = ctx.isMonorepo ? ctx.packageRoot : ctx.workspaceRoot;\n\n const files = await fs.glob({\n patterns,\n ignore: ['node_modules/**', 'dist/**'],\n cwd: searchRoot,\n });\n\n if (files.length > 0) {\n const locationInfo = ctx.isMonorepo ? ' (in current package)' : '';\n return {\n category: 'workspace',\n name: 'Contract Files',\n status: 'pass',\n message: `Found ${files.length} contract file(s)${locationInfo}`,\n details: ctx.verbose ? files.slice(0, 5).join(', ') : undefined,\n };\n }\n\n // Pass if monorepo root and no files (likely empty root)\n if (ctx.isMonorepo && ctx.packageRoot === ctx.workspaceRoot) {\n return {\n category: 'workspace',\n name: 'Contract Files',\n status: 'pass',\n message: 'No contract files in root (expected in packages)',\n };\n }\n\n const hint = ctx.isMonorepo\n ? `No contract files found in package \"${ctx.packageName ?? 'current'}\"`\n : 'No contract files found';\n\n return {\n category: 'workspace',\n name: 'Contract Files',\n status: 'warn',\n message: hint,\n details: 'Create specs using \"contractspec create\" or VS Code command',\n };\n } catch {\n return {\n category: 'workspace',\n name: 'Contract Files',\n status: 'skip',\n message: 'Could not search for contract files',\n };\n }\n}\n\n/**\n * Find the config file, checking package level first in monorepos.\n */\nasync function findConfigFile(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<{\n path: string;\n root: string;\n level: 'package' | 'workspace';\n} | null> {\n // In monorepo, check package level first\n if (ctx.isMonorepo && ctx.packageRoot !== ctx.workspaceRoot) {\n const pkgConfigPath = fs.join(ctx.packageRoot, '.contractsrc.json');\n if (await fs.exists(pkgConfigPath)) {\n return { path: pkgConfigPath, root: ctx.packageRoot, level: 'package' };\n }\n }\n\n // Check workspace level\n const wsConfigPath = fs.join(ctx.workspaceRoot, '.contractsrc.json');\n if (await fs.exists(wsConfigPath)) {\n return { path: wsConfigPath, root: ctx.workspaceRoot, level: 'workspace' };\n }\n\n return null;\n}\n\n/**\n * Check if output directory is configured and exists.\n *\n * In monorepo: checks package-level config first, then workspace-level.\n * Resolves outputDir relative to the config file location.\n */\nasync function checkOutputDirectory(\n fs: FsAdapter,\n ctx: CheckContext\n): Promise<CheckResult> {\n try {\n const configInfo = await findConfigFile(fs, ctx);\n\n if (!configInfo) {\n const hint = ctx.isMonorepo\n ? 'No config file found at package or workspace level'\n : 'No config file to check output directory';\n return {\n category: 'workspace',\n name: 'Output Directory',\n status: 'skip',\n message: hint,\n };\n }\n\n const content = await fs.readFile(configInfo.path);\n const config = JSON.parse(content) as { outputDir?: string };\n\n const outputDir = config.outputDir ?? './src';\n // Resolve outputDir relative to the config file's directory\n const outputPath = fs.join(configInfo.root, outputDir);\n\n const levelInfo = ctx.isMonorepo ? ` (${configInfo.level} level)` : '';\n\n const exists = await fs.exists(outputPath);\n if (exists) {\n return {\n category: 'workspace',\n name: 'Output Directory',\n status: 'pass',\n message: `Output directory exists: ${outputDir}${levelInfo}`,\n details: ctx.verbose ? `Resolved to: ${outputPath}` : undefined,\n };\n }\n\n // If default output directory is missing in monorepo root, it's fine\n if (\n ctx.isMonorepo &&\n ctx.packageRoot === ctx.workspaceRoot &&\n !config.outputDir\n ) {\n return {\n category: 'workspace',\n name: 'Output Directory',\n status: 'pass',\n message: 'Monorepo root detected (using package directories)',\n };\n }\n\n return {\n category: 'workspace',\n name: 'Output Directory',\n status: 'warn',\n message: `Output directory not found: ${outputDir}${levelInfo}`,\n details: ctx.verbose ? `Expected at: ${outputPath}` : undefined,\n fix: {\n description: `Create ${outputDir} directory`,\n apply: async (): Promise<FixResult> => {\n try {\n await fs.mkdir(outputPath);\n return { success: true, message: `Created ${outputDir}` };\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error);\n return { success: false, message: `Failed: ${msg}` };\n }\n },\n },\n };\n } catch {\n return {\n category: 'workspace',\n name: 'Output Directory',\n status: 'skip',\n message: 'Could not check output directory',\n };\n }\n}\n"],"mappings":";;;;AAYA,MAAM,iBAAiB;CAAC;CAAiB;CAAa;CAAa;CAAQ;;;;AAK3E,eAAsB,mBACpB,IACA,KACwB;CACxB,MAAM,UAAyB,EAAE;AAGjC,SAAQ,KAAK,oBAAoB,IAAI,CAAC;AAGtC,SAAQ,KAAK,MAAM,oBAAoB,IAAI,IAAI,CAAC;AAGhD,SAAQ,KAAK,MAAM,wBAAwB,IAAI,IAAI,CAAC;AAGpD,SAAQ,KAAK,MAAM,mBAAmB,IAAI,IAAI,CAAC;AAG/C,SAAQ,KAAK,MAAM,qBAAqB,IAAI,IAAI,CAAC;AAEjD,QAAO;;;;;AAMT,SAAS,oBAAoB,KAAgC;AAC3D,KAAI,IAAI,YAAY;EAClB,MAAM,UAAU,IAAI,cAAc,gBAAgB,IAAI,YAAY,KAAK;EACvE,MAAM,eACJ,IAAI,gBAAgB,IAAI,gBACpB,mBAAmB,IAAI,YAAY,KACnC;AACN,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS,oBAAoB;GAC7B,SAAS,IAAI,UACT,mBAAmB,IAAI,gBAAgB,iBACvC;GACL;;AAGH,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACV;;;;;AAMH,eAAe,oBACb,IACA,KACsB;CAEtB,MAAM,eAAe,IAAI,aACrB,CAAC,IAAI,aAAa,IAAI,cAAc,GACpC,CAAC,IAAI,cAAc;AAEvB,MAAK,MAAM,QAAQ,cAAc;EAC/B,MAAM,kBAAkB,GAAG,KAAK,MAAM,eAAe;AACrD,MAAI,MAAM,GAAG,OAAO,gBAAgB,CAClC,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACT,SACE,IAAI,WAAW,IAAI,aAAa,aAAa,SAAS;GACzD;;AAIL,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACT,SAAS;EACV;;;;;;;AAQH,eAAe,wBACb,IACA,KACsB;CAEtB,MAAM,cAAc,IAAI,aACpB,CAAC,IAAI,aAAa,IAAI,cAAc,GACpC,CAAC,IAAI,cAAc;CAGvB,MAAM,aAAa,IAAI,aAAa,IAAI,cAAc,IAAI;AAG1D,MAAK,MAAM,QAAQ,YACjB,MAAK,MAAM,QAAQ,gBAAgB;EACjC,MAAM,WAAW,GAAG,KAAK,MAAM,KAAK;AACpC,MAAI,MAAM,GAAG,OAAO,SAAS,EAAE;GAC7B,MAAM,aAAa,SAAS,IAAI,cAAc,YAAY;AAC1D,UAAO;IACL,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS,8BAA8B;IACvC,SAAS,IAAI,aAAa,YAAY,WAAW,UAAU;IAC5D;;;AAMP,KAAI,IAAI,cAAc,IAAI,gBAAgB,IAAI,cAC5C,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACV;CAIH,MAAM,aAAa,IAAI,aAAa,kBAAkB;CACtD,MAAM,eAAe,IAAI,aACrB,gBAAgB,IAAI,eAAe,IAAI,YAAY,KACnD;AAEJ,QAAO;EACL,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACT,SAAS,UAAU,WAAW,GAAG,aAAa;EAC9C,KAAK;GACH,aAAa,UAAU,WAAW,aAAa;GAC/C,OAAO,YAAgC;AACrC,QAAI;KACF,MAAM,eAAe,GAAG,KAAK,YAAY,OAAO,YAAY;AAC5D,WAAM,GAAG,MAAM,aAAa;AAC5B,YAAO;MAAE,SAAS;MAAM,SAAS,WAAW,WAAW;MAAI;aACpD,OAAO;AAEd,YAAO;MAAE,SAAS;MAAO,SAAS,WADtB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;MACd;;;GAGzD;EACF;;;;;;;AAQH,eAAe,mBACb,IACA,KACsB;AACtB,KAAI;EACF,MAAM,WAAW;GACf;GACA;GACA;GACA;GACD;EAGD,MAAM,aAAa,IAAI,aAAa,IAAI,cAAc,IAAI;EAE1D,MAAM,QAAQ,MAAM,GAAG,KAAK;GAC1B;GACA,QAAQ,CAAC,mBAAmB,UAAU;GACtC,KAAK;GACN,CAAC;AAEF,MAAI,MAAM,SAAS,GAAG;GACpB,MAAM,eAAe,IAAI,aAAa,0BAA0B;AAChE,UAAO;IACL,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS,SAAS,MAAM,OAAO,mBAAmB;IAClD,SAAS,IAAI,UAAU,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,KAAK,GAAG;IACvD;;AAIH,MAAI,IAAI,cAAc,IAAI,gBAAgB,IAAI,cAC5C,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV;AAOH,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SARW,IAAI,aACb,uCAAuC,IAAI,eAAe,UAAU,KACpE;GAOF,SAAS;GACV;SACK;AACN,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV;;;;;;AAOL,eAAe,eACb,IACA,KAKQ;AAER,KAAI,IAAI,cAAc,IAAI,gBAAgB,IAAI,eAAe;EAC3D,MAAM,gBAAgB,GAAG,KAAK,IAAI,aAAa,oBAAoB;AACnE,MAAI,MAAM,GAAG,OAAO,cAAc,CAChC,QAAO;GAAE,MAAM;GAAe,MAAM,IAAI;GAAa,OAAO;GAAW;;CAK3E,MAAM,eAAe,GAAG,KAAK,IAAI,eAAe,oBAAoB;AACpE,KAAI,MAAM,GAAG,OAAO,aAAa,CAC/B,QAAO;EAAE,MAAM;EAAc,MAAM,IAAI;EAAe,OAAO;EAAa;AAG5E,QAAO;;;;;;;;AAST,eAAe,qBACb,IACA,KACsB;AACtB,KAAI;EACF,MAAM,aAAa,MAAM,eAAe,IAAI,IAAI;AAEhD,MAAI,CAAC,WAIH,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAPW,IAAI,aACb,uDACA;GAMH;EAGH,MAAM,UAAU,MAAM,GAAG,SAAS,WAAW,KAAK;EAClD,MAAM,SAAS,KAAK,MAAM,QAAQ;EAElC,MAAM,YAAY,OAAO,aAAa;EAEtC,MAAM,aAAa,GAAG,KAAK,WAAW,MAAM,UAAU;EAEtD,MAAM,YAAY,IAAI,aAAa,KAAK,WAAW,MAAM,WAAW;AAGpE,MADe,MAAM,GAAG,OAAO,WAAW,CAExC,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS,4BAA4B,YAAY;GACjD,SAAS,IAAI,UAAU,gBAAgB,eAAe;GACvD;AAIH,MACE,IAAI,cACJ,IAAI,gBAAgB,IAAI,iBACxB,CAAC,OAAO,UAER,QAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV;AAGH,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS,+BAA+B,YAAY;GACpD,SAAS,IAAI,UAAU,gBAAgB,eAAe;GACtD,KAAK;IACH,aAAa,UAAU,UAAU;IACjC,OAAO,YAAgC;AACrC,SAAI;AACF,YAAM,GAAG,MAAM,WAAW;AAC1B,aAAO;OAAE,SAAS;OAAM,SAAS,WAAW;OAAa;cAClD,OAAO;AAEd,aAAO;OAAE,SAAS;OAAO,SAAS,WADtB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;OACd;;;IAGzD;GACF;SACK;AACN,SAAO;GACL,UAAU;GACV,MAAM;GACN,QAAQ;GACR,SAAS;GACV"}
@@ -0,0 +1,24 @@
1
+ import { FsAdapter } from "../../ports/fs.mjs";
2
+ import { LoggerAdapter } from "../../ports/logger.mjs";
3
+ import { CheckResult, DoctorOptions, DoctorPromptCallbacks, DoctorResult } from "./types.mjs";
4
+
5
+ //#region src/services/doctor/doctor-service.d.ts
6
+
7
+ /**
8
+ * Run all health checks and optionally apply fixes.
9
+ */
10
+ declare function runDoctor(adapters: {
11
+ fs: FsAdapter;
12
+ logger: LoggerAdapter;
13
+ }, options: DoctorOptions, prompts?: DoctorPromptCallbacks): Promise<DoctorResult>;
14
+ /**
15
+ * Get a summary string for the doctor result.
16
+ */
17
+ declare function formatDoctorSummary(result: DoctorResult): string;
18
+ /**
19
+ * Format a single check result for display.
20
+ */
21
+ declare function formatCheckResult(result: CheckResult): string;
22
+ //#endregion
23
+ export { formatCheckResult, formatDoctorSummary, runDoctor };
24
+ //# sourceMappingURL=doctor-service.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-service.d.mts","names":[],"sources":["../../../src/services/doctor/doctor-service.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAgDG,iBAJmB,SAAA,CAInB,QAAA,EAAA;EAAO,EAAA,EAHQ,SAGR;EAoHM,MAAA,EAvHqB,aAuHrB;AAyBhB,CAAA,EAAA,OAAgB,EA/IL,aA+IsB,EAAA,OAAoB,CAApB,EA9ItB,qBA8I0C,CAAA,EA7IlD,OA6IkD,CA7I1C,YA6I0C,CAAA;;;;iBAzBrC,mBAAA,SAA4B;;;;iBAyB5B,iBAAA,SAA0B"}