@contractspec/bundle.workspace 1.57.0 → 1.58.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 (1298) hide show
  1. package/dist/adapters/ai.d.ts +10 -0
  2. package/dist/adapters/ai.d.ts.map +1 -0
  3. package/dist/adapters/factory.d.ts +27 -0
  4. package/dist/adapters/factory.d.ts.map +1 -0
  5. package/dist/adapters/fs.bun.d.ts +9 -0
  6. package/dist/adapters/fs.bun.d.ts.map +1 -0
  7. package/dist/adapters/fs.d.ts +3 -0
  8. package/dist/adapters/fs.d.ts.map +1 -0
  9. package/dist/adapters/fs.node.d.ts +9 -0
  10. package/dist/adapters/fs.node.d.ts.map +1 -0
  11. package/dist/adapters/fs.node.test.d.ts +2 -0
  12. package/dist/adapters/fs.node.test.d.ts.map +1 -0
  13. package/dist/adapters/git.d.ts +9 -0
  14. package/dist/adapters/git.d.ts.map +1 -0
  15. package/dist/adapters/git.test.d.ts +2 -0
  16. package/dist/adapters/git.test.d.ts.map +1 -0
  17. package/dist/adapters/index.d.ts +13 -0
  18. package/dist/adapters/index.d.ts.map +1 -0
  19. package/dist/adapters/logger.d.ts +18 -0
  20. package/dist/adapters/logger.d.ts.map +1 -0
  21. package/dist/adapters/logger.test.d.ts +2 -0
  22. package/dist/adapters/logger.test.d.ts.map +1 -0
  23. package/dist/adapters/watcher.d.ts +9 -0
  24. package/dist/adapters/watcher.d.ts.map +1 -0
  25. package/dist/adapters/watcher.test.d.ts +2 -0
  26. package/dist/adapters/watcher.test.d.ts.map +1 -0
  27. package/dist/adapters/workspace.d.ts +145 -0
  28. package/dist/adapters/workspace.d.ts.map +1 -0
  29. package/dist/adapters/workspace.test.d.ts +7 -0
  30. package/dist/adapters/workspace.test.d.ts.map +1 -0
  31. package/dist/ai/agents/claude-code-agent.d.ts +21 -0
  32. package/dist/ai/agents/claude-code-agent.d.ts.map +1 -0
  33. package/dist/ai/agents/cursor-agent.d.ts +67 -0
  34. package/dist/ai/agents/cursor-agent.d.ts.map +1 -0
  35. package/dist/ai/agents/index.d.ts +10 -0
  36. package/dist/ai/agents/index.d.ts.map +1 -0
  37. package/dist/ai/agents/openai-codex-agent.d.ts +21 -0
  38. package/dist/ai/agents/openai-codex-agent.d.ts.map +1 -0
  39. package/dist/ai/agents/orchestrator.d.ts +49 -0
  40. package/dist/ai/agents/orchestrator.d.ts.map +1 -0
  41. package/dist/ai/agents/simple-agent.d.ts +16 -0
  42. package/dist/ai/agents/simple-agent.d.ts.map +1 -0
  43. package/dist/ai/agents/types.d.ts +33 -0
  44. package/dist/ai/agents/types.d.ts.map +1 -0
  45. package/dist/ai/agents/unified-adapter.d.ts +16 -0
  46. package/dist/ai/agents/unified-adapter.d.ts.map +1 -0
  47. package/dist/ai/index.d.ts +7 -0
  48. package/dist/ai/index.d.ts.map +1 -0
  49. package/dist/ai/prompts/code-generation.d.ts +21 -0
  50. package/dist/ai/prompts/code-generation.d.ts.map +1 -0
  51. package/dist/ai/prompts/index.d.ts +6 -0
  52. package/dist/ai/prompts/index.d.ts.map +1 -0
  53. package/dist/ai/prompts/spec-creation.d.ts +22 -0
  54. package/dist/ai/prompts/spec-creation.d.ts.map +1 -0
  55. package/dist/ai/providers.d.ts +14 -0
  56. package/dist/ai/providers.d.ts.map +1 -0
  57. package/dist/contracts/features/cli.feature.d.ts +2 -0
  58. package/dist/contracts/features/cli.feature.d.ts.map +1 -0
  59. package/dist/contracts/operations/init.operation.d.ts +31 -0
  60. package/dist/contracts/operations/init.operation.d.ts.map +1 -0
  61. package/dist/contracts/operations/test.operation.d.ts +10 -0
  62. package/dist/contracts/operations/test.operation.d.ts.map +1 -0
  63. package/dist/contracts/operations/validate.operation.d.ts +12 -0
  64. package/dist/contracts/operations/validate.operation.d.ts.map +1 -0
  65. package/dist/formatters/index.d.ts +7 -0
  66. package/dist/formatters/index.d.ts.map +1 -0
  67. package/dist/formatters/json.d.ts +57 -0
  68. package/dist/formatters/json.d.ts.map +1 -0
  69. package/dist/formatters/json.test.d.ts +2 -0
  70. package/dist/formatters/json.test.d.ts.map +1 -0
  71. package/dist/formatters/sarif.d.ts +105 -0
  72. package/dist/formatters/sarif.d.ts.map +1 -0
  73. package/dist/formatters/sarif.test.d.ts +2 -0
  74. package/dist/formatters/sarif.test.d.ts.map +1 -0
  75. package/dist/formatters/text.d.ts +36 -0
  76. package/dist/formatters/text.d.ts.map +1 -0
  77. package/dist/formatters/text.test.d.ts +2 -0
  78. package/dist/formatters/text.test.d.ts.map +1 -0
  79. package/dist/index.d.ts +16 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +17012 -0
  82. package/dist/node/index.js +17012 -0
  83. package/dist/ports/ai.d.ts +61 -0
  84. package/dist/ports/ai.d.ts.map +1 -0
  85. package/dist/ports/fs.d.ts +78 -0
  86. package/dist/ports/fs.d.ts.map +1 -0
  87. package/dist/ports/git.d.ts +48 -0
  88. package/dist/ports/git.d.ts.map +1 -0
  89. package/dist/ports/index.d.ts +11 -0
  90. package/dist/ports/index.d.ts.map +1 -0
  91. package/dist/ports/logger.d.ts +80 -0
  92. package/dist/ports/logger.d.ts.map +1 -0
  93. package/dist/ports/rulesync.d.ts +36 -0
  94. package/dist/ports/rulesync.d.ts.map +1 -0
  95. package/dist/ports/watcher.d.ts +49 -0
  96. package/dist/ports/watcher.d.ts.map +1 -0
  97. package/dist/registry.d.ts +10 -0
  98. package/dist/registry.d.ts.map +1 -0
  99. package/dist/services/action-drift/index.d.ts +3 -0
  100. package/dist/services/action-drift/index.d.ts.map +1 -0
  101. package/dist/services/action-drift/service.d.ts +6 -0
  102. package/dist/services/action-drift/service.d.ts.map +1 -0
  103. package/dist/services/action-drift/types.d.ts +20 -0
  104. package/dist/services/action-drift/types.d.ts.map +1 -0
  105. package/dist/services/action-pr/index.d.ts +3 -0
  106. package/dist/services/action-pr/index.d.ts.map +1 -0
  107. package/dist/services/action-pr/service.d.ts +13 -0
  108. package/dist/services/action-pr/service.d.ts.map +1 -0
  109. package/dist/services/action-pr/types.d.ts +64 -0
  110. package/dist/services/action-pr/types.d.ts.map +1 -0
  111. package/dist/services/agent-guide/adapters/claude-code.d.ts +36 -0
  112. package/dist/services/agent-guide/adapters/claude-code.d.ts.map +1 -0
  113. package/dist/services/agent-guide/adapters/cursor-cli.d.ts +40 -0
  114. package/dist/services/agent-guide/adapters/cursor-cli.d.ts.map +1 -0
  115. package/dist/services/agent-guide/adapters/generic-mcp.d.ts +54 -0
  116. package/dist/services/agent-guide/adapters/generic-mcp.d.ts.map +1 -0
  117. package/dist/services/agent-guide/adapters/index.d.ts +24 -0
  118. package/dist/services/agent-guide/adapters/index.d.ts.map +1 -0
  119. package/dist/services/agent-guide/agent-guide-service.d.ts +57 -0
  120. package/dist/services/agent-guide/agent-guide-service.d.ts.map +1 -0
  121. package/dist/services/agent-guide/index.d.ts +12 -0
  122. package/dist/services/agent-guide/index.d.ts.map +1 -0
  123. package/dist/services/agent-guide/types.d.ts +56 -0
  124. package/dist/services/agent-guide/types.d.ts.map +1 -0
  125. package/dist/services/build.d.ts +62 -0
  126. package/dist/services/build.d.ts.map +1 -0
  127. package/dist/services/build.test.d.ts +2 -0
  128. package/dist/services/build.test.d.ts.map +1 -0
  129. package/dist/services/ci-check/checks/coverage.d.ts +18 -0
  130. package/dist/services/ci-check/checks/coverage.d.ts.map +1 -0
  131. package/dist/services/ci-check/checks/deps.d.ts +14 -0
  132. package/dist/services/ci-check/checks/deps.d.ts.map +1 -0
  133. package/dist/services/ci-check/checks/doctor.d.ts +14 -0
  134. package/dist/services/ci-check/checks/doctor.d.ts.map +1 -0
  135. package/dist/services/ci-check/checks/drift.d.ts +16 -0
  136. package/dist/services/ci-check/checks/drift.d.ts.map +1 -0
  137. package/dist/services/ci-check/checks/handlers.d.ts +15 -0
  138. package/dist/services/ci-check/checks/handlers.d.ts.map +1 -0
  139. package/dist/services/ci-check/checks/implementation.d.ts +15 -0
  140. package/dist/services/ci-check/checks/implementation.d.ts.map +1 -0
  141. package/dist/services/ci-check/checks/index.d.ts +15 -0
  142. package/dist/services/ci-check/checks/index.d.ts.map +1 -0
  143. package/dist/services/ci-check/checks/integrity.d.ts +14 -0
  144. package/dist/services/ci-check/checks/integrity.d.ts.map +1 -0
  145. package/dist/services/ci-check/checks/layers.d.ts +14 -0
  146. package/dist/services/ci-check/checks/layers.d.ts.map +1 -0
  147. package/dist/services/ci-check/checks/structure.d.ts +10 -0
  148. package/dist/services/ci-check/checks/structure.d.ts.map +1 -0
  149. package/dist/services/ci-check/checks/test-refs.d.ts +13 -0
  150. package/dist/services/ci-check/checks/test-refs.d.ts.map +1 -0
  151. package/dist/services/ci-check/checks/tests.d.ts +15 -0
  152. package/dist/services/ci-check/checks/tests.d.ts.map +1 -0
  153. package/dist/services/ci-check/ci-check-service.d.ts +17 -0
  154. package/dist/services/ci-check/ci-check-service.d.ts.map +1 -0
  155. package/dist/services/ci-check/index.d.ts +6 -0
  156. package/dist/services/ci-check/index.d.ts.map +1 -0
  157. package/dist/services/ci-check/types.d.ts +147 -0
  158. package/dist/services/ci-check/types.d.ts.map +1 -0
  159. package/dist/services/ci-check/utils.d.ts +28 -0
  160. package/dist/services/ci-check/utils.d.ts.map +1 -0
  161. package/dist/services/clean.d.ts +41 -0
  162. package/dist/services/clean.d.ts.map +1 -0
  163. package/dist/services/clean.test.d.ts +2 -0
  164. package/dist/services/clean.test.d.ts.map +1 -0
  165. package/dist/services/config.d.ts +14 -0
  166. package/dist/services/config.d.ts.map +1 -0
  167. package/dist/services/coverage/index.d.ts +11 -0
  168. package/dist/services/coverage/index.d.ts.map +1 -0
  169. package/dist/services/coverage/parsers/index.d.ts +39 -0
  170. package/dist/services/coverage/parsers/index.d.ts.map +1 -0
  171. package/dist/services/coverage/parsers/istanbul-parser.d.ts +18 -0
  172. package/dist/services/coverage/parsers/istanbul-parser.d.ts.map +1 -0
  173. package/dist/services/coverage/types.d.ts +117 -0
  174. package/dist/services/coverage/types.d.ts.map +1 -0
  175. package/dist/services/coverage/validator.d.ts +38 -0
  176. package/dist/services/coverage/validator.d.ts.map +1 -0
  177. package/dist/services/create/ai-generator.d.ts +84 -0
  178. package/dist/services/create/ai-generator.d.ts.map +1 -0
  179. package/dist/services/create/index.d.ts +17 -0
  180. package/dist/services/create/index.d.ts.map +1 -0
  181. package/dist/services/create/templates.d.ts +7 -0
  182. package/dist/services/create/templates.d.ts.map +1 -0
  183. package/dist/services/deps.d.ts +51 -0
  184. package/dist/services/deps.d.ts.map +1 -0
  185. package/dist/services/deps.test.d.ts +2 -0
  186. package/dist/services/deps.test.d.ts.map +1 -0
  187. package/dist/services/diff.d.ts +32 -0
  188. package/dist/services/diff.d.ts.map +1 -0
  189. package/dist/services/diff.test.d.ts +2 -0
  190. package/dist/services/diff.test.d.ts.map +1 -0
  191. package/dist/services/docs/docs-service.d.ts +16 -0
  192. package/dist/services/docs/docs-service.d.ts.map +1 -0
  193. package/dist/services/docs/index.d.ts +2 -0
  194. package/dist/services/docs/index.d.ts.map +1 -0
  195. package/dist/services/doctor/checks/ai.d.ts +10 -0
  196. package/dist/services/doctor/checks/ai.d.ts.map +1 -0
  197. package/dist/services/doctor/checks/cli.d.ts +10 -0
  198. package/dist/services/doctor/checks/cli.d.ts.map +1 -0
  199. package/dist/services/doctor/checks/config.d.ts +10 -0
  200. package/dist/services/doctor/checks/config.d.ts.map +1 -0
  201. package/dist/services/doctor/checks/deps.d.ts +10 -0
  202. package/dist/services/doctor/checks/deps.d.ts.map +1 -0
  203. package/dist/services/doctor/checks/index.d.ts +11 -0
  204. package/dist/services/doctor/checks/index.d.ts.map +1 -0
  205. package/dist/services/doctor/checks/layers.d.ts +12 -0
  206. package/dist/services/doctor/checks/layers.d.ts.map +1 -0
  207. package/dist/services/doctor/checks/mcp.d.ts +10 -0
  208. package/dist/services/doctor/checks/mcp.d.ts.map +1 -0
  209. package/dist/services/doctor/checks/workspace.d.ts +12 -0
  210. package/dist/services/doctor/checks/workspace.d.ts.map +1 -0
  211. package/dist/services/doctor/doctor-service.d.ts +24 -0
  212. package/dist/services/doctor/doctor-service.d.ts.map +1 -0
  213. package/dist/services/doctor/doctor-service.test.d.ts +2 -0
  214. package/dist/services/doctor/doctor-service.test.d.ts.map +1 -0
  215. package/dist/services/doctor/index.d.ts +8 -0
  216. package/dist/services/doctor/index.d.ts.map +1 -0
  217. package/dist/services/doctor/types.d.ts +115 -0
  218. package/dist/services/doctor/types.d.ts.map +1 -0
  219. package/dist/services/drift.d.ts +28 -0
  220. package/dist/services/drift.d.ts.map +1 -0
  221. package/dist/services/extract.d.ts +8 -0
  222. package/dist/services/extract.d.ts.map +1 -0
  223. package/dist/services/extract.test.d.ts +2 -0
  224. package/dist/services/extract.test.d.ts.map +1 -0
  225. package/dist/services/features/completion.d.ts +16 -0
  226. package/dist/services/features/completion.d.ts.map +1 -0
  227. package/dist/services/features/completion.test.d.ts +2 -0
  228. package/dist/services/features/completion.test.d.ts.map +1 -0
  229. package/dist/services/features/feature-editor.d.ts +24 -0
  230. package/dist/services/features/feature-editor.d.ts.map +1 -0
  231. package/dist/services/features/index.d.ts +4 -0
  232. package/dist/services/features/index.d.ts.map +1 -0
  233. package/dist/services/features/validation.d.ts +16 -0
  234. package/dist/services/features/validation.d.ts.map +1 -0
  235. package/dist/services/features/validation.test.d.ts +2 -0
  236. package/dist/services/features/validation.test.d.ts.map +1 -0
  237. package/dist/services/fix/fix-link-formatter.d.ts +12 -0
  238. package/dist/services/fix/fix-link-formatter.d.ts.map +1 -0
  239. package/dist/services/fix/fix-service.d.ts +74 -0
  240. package/dist/services/fix/fix-service.d.ts.map +1 -0
  241. package/dist/services/fix/format-applicator.d.ts +10 -0
  242. package/dist/services/fix/format-applicator.d.ts.map +1 -0
  243. package/dist/services/fix/index.d.ts +9 -0
  244. package/dist/services/fix/index.d.ts.map +1 -0
  245. package/dist/services/fix/path-resolver.d.ts +14 -0
  246. package/dist/services/fix/path-resolver.d.ts.map +1 -0
  247. package/dist/services/fix/schemas.d.ts +12 -0
  248. package/dist/services/fix/schemas.d.ts.map +1 -0
  249. package/dist/services/fix/strategies/implement-ai.d.ts +18 -0
  250. package/dist/services/fix/strategies/implement-ai.d.ts.map +1 -0
  251. package/dist/services/fix/strategies/implement-skeleton.d.ts +14 -0
  252. package/dist/services/fix/strategies/implement-skeleton.d.ts.map +1 -0
  253. package/dist/services/fix/strategies/implement-skeleton.test.d.ts +2 -0
  254. package/dist/services/fix/strategies/implement-skeleton.test.d.ts.map +1 -0
  255. package/dist/services/fix/strategies/index.d.ts +7 -0
  256. package/dist/services/fix/strategies/index.d.ts.map +1 -0
  257. package/dist/services/fix/strategies/remove-reference.d.ts +17 -0
  258. package/dist/services/fix/strategies/remove-reference.d.ts.map +1 -0
  259. package/dist/services/fix/strategies/remove-reference.test.d.ts +2 -0
  260. package/dist/services/fix/strategies/remove-reference.test.d.ts.map +1 -0
  261. package/dist/services/fix/types.d.ts +207 -0
  262. package/dist/services/fix/types.d.ts.map +1 -0
  263. package/dist/services/formatter.d.ts +12 -0
  264. package/dist/services/formatter.d.ts.map +1 -0
  265. package/dist/services/gap.d.ts +14 -0
  266. package/dist/services/gap.d.ts.map +1 -0
  267. package/dist/services/gap.test.d.ts +2 -0
  268. package/dist/services/gap.test.d.ts.map +1 -0
  269. package/dist/services/generate-artifacts.d.ts +7 -0
  270. package/dist/services/generate-artifacts.d.ts.map +1 -0
  271. package/dist/services/generate-artifacts.test.d.ts +2 -0
  272. package/dist/services/generate-artifacts.test.d.ts.map +1 -0
  273. package/dist/services/hooks/hooks-service.d.ts +28 -0
  274. package/dist/services/hooks/hooks-service.d.ts.map +1 -0
  275. package/dist/services/hooks/index.d.ts +8 -0
  276. package/dist/services/hooks/index.d.ts.map +1 -0
  277. package/dist/services/hooks/types.d.ts +53 -0
  278. package/dist/services/hooks/types.d.ts.map +1 -0
  279. package/dist/services/impact/formatters.d.ts +48 -0
  280. package/dist/services/impact/formatters.d.ts.map +1 -0
  281. package/dist/services/impact/impact-detection-service.d.ts +23 -0
  282. package/dist/services/impact/impact-detection-service.d.ts.map +1 -0
  283. package/dist/services/impact/impact.docblock.d.ts +10 -0
  284. package/dist/services/impact/impact.docblock.d.ts.map +1 -0
  285. package/dist/services/impact/index.d.ts +7 -0
  286. package/dist/services/impact/index.d.ts.map +1 -0
  287. package/dist/services/impact/types.d.ts +62 -0
  288. package/dist/services/impact/types.d.ts.map +1 -0
  289. package/dist/services/implementation/discovery.d.ts +31 -0
  290. package/dist/services/implementation/discovery.d.ts.map +1 -0
  291. package/dist/services/implementation/index.d.ts +7 -0
  292. package/dist/services/implementation/index.d.ts.map +1 -0
  293. package/dist/services/implementation/resolver/conventions.d.ts +16 -0
  294. package/dist/services/implementation/resolver/conventions.d.ts.map +1 -0
  295. package/dist/services/implementation/resolver/conventions.test.d.ts +2 -0
  296. package/dist/services/implementation/resolver/conventions.test.d.ts.map +1 -0
  297. package/dist/services/implementation/resolver/index.d.ts +29 -0
  298. package/dist/services/implementation/resolver/index.d.ts.map +1 -0
  299. package/dist/services/implementation/resolver/parsers.d.ts +10 -0
  300. package/dist/services/implementation/resolver/parsers.d.ts.map +1 -0
  301. package/dist/services/implementation/resolver/parsers.test.d.ts +2 -0
  302. package/dist/services/implementation/resolver/parsers.test.d.ts.map +1 -0
  303. package/dist/services/implementation/resolver/status.d.ts +19 -0
  304. package/dist/services/implementation/resolver/status.d.ts.map +1 -0
  305. package/dist/services/implementation/resolver/status.test.d.ts +2 -0
  306. package/dist/services/implementation/resolver/status.test.d.ts.map +1 -0
  307. package/dist/services/implementation/types.d.ts +89 -0
  308. package/dist/services/implementation/types.d.ts.map +1 -0
  309. package/dist/services/import/import-service.d.ts +47 -0
  310. package/dist/services/import/import-service.d.ts.map +1 -0
  311. package/dist/services/import/index.d.ts +9 -0
  312. package/dist/services/import/index.d.ts.map +1 -0
  313. package/dist/services/import/report-service.d.ts +31 -0
  314. package/dist/services/import/report-service.d.ts.map +1 -0
  315. package/dist/services/import/verify-service.d.ts +67 -0
  316. package/dist/services/import/verify-service.d.ts.map +1 -0
  317. package/dist/services/index.d.ts +49 -0
  318. package/dist/services/index.d.ts.map +1 -0
  319. package/dist/services/integrity-diagram.d.ts +39 -0
  320. package/dist/services/integrity-diagram.d.ts.map +1 -0
  321. package/dist/services/integrity.d.ts +155 -0
  322. package/dist/services/integrity.d.ts.map +1 -0
  323. package/dist/services/integrity.test.d.ts +2 -0
  324. package/dist/services/integrity.test.d.ts.map +1 -0
  325. package/dist/services/layer-discovery.d.ts +81 -0
  326. package/dist/services/layer-discovery.d.ts.map +1 -0
  327. package/dist/services/layer-discovery.test.d.ts +2 -0
  328. package/dist/services/layer-discovery.test.d.ts.map +1 -0
  329. package/dist/services/list.d.ts +36 -0
  330. package/dist/services/list.d.ts.map +1 -0
  331. package/dist/services/list.test.d.ts +2 -0
  332. package/dist/services/list.test.d.ts.map +1 -0
  333. package/dist/services/llm/index.d.ts +29 -0
  334. package/dist/services/llm/index.d.ts.map +1 -0
  335. package/dist/services/llm/verify-static.d.ts +27 -0
  336. package/dist/services/llm/verify-static.d.ts.map +1 -0
  337. package/dist/services/modules/module-resolver.d.ts +24 -0
  338. package/dist/services/modules/module-resolver.d.ts.map +1 -0
  339. package/dist/services/modules/module-resolver.test.d.ts +2 -0
  340. package/dist/services/modules/module-resolver.test.d.ts.map +1 -0
  341. package/dist/services/openapi/export-service.d.ts +51 -0
  342. package/dist/services/openapi/export-service.d.ts.map +1 -0
  343. package/dist/services/openapi/import-service.d.ts +15 -0
  344. package/dist/services/openapi/import-service.d.ts.map +1 -0
  345. package/dist/services/openapi/index.d.ts +10 -0
  346. package/dist/services/openapi/index.d.ts.map +1 -0
  347. package/dist/services/openapi/sync-service.d.ts +15 -0
  348. package/dist/services/openapi/sync-service.d.ts.map +1 -0
  349. package/dist/services/openapi/types.d.ts +160 -0
  350. package/dist/services/openapi/types.d.ts.map +1 -0
  351. package/dist/services/openapi/validate-service.d.ts +14 -0
  352. package/dist/services/openapi/validate-service.d.ts.map +1 -0
  353. package/dist/services/quickstart/dependencies.d.ts +32 -0
  354. package/dist/services/quickstart/dependencies.d.ts.map +1 -0
  355. package/dist/services/quickstart/index.d.ts +10 -0
  356. package/dist/services/quickstart/index.d.ts.map +1 -0
  357. package/dist/services/quickstart/quickstart-service.d.ts +21 -0
  358. package/dist/services/quickstart/quickstart-service.d.ts.map +1 -0
  359. package/dist/services/quickstart/types.d.ts +78 -0
  360. package/dist/services/quickstart/types.d.ts.map +1 -0
  361. package/dist/services/regenerator.d.ts +19 -0
  362. package/dist/services/regenerator.d.ts.map +1 -0
  363. package/dist/services/registry.d.ts +51 -0
  364. package/dist/services/registry.d.ts.map +1 -0
  365. package/dist/services/registry.test.d.ts +2 -0
  366. package/dist/services/registry.test.d.ts.map +1 -0
  367. package/dist/services/rulesync.d.ts +15 -0
  368. package/dist/services/rulesync.d.ts.map +1 -0
  369. package/dist/services/rulesync.test.d.ts +2 -0
  370. package/dist/services/rulesync.test.d.ts.map +1 -0
  371. package/dist/services/setup/config-generators.d.ts +42 -0
  372. package/dist/services/setup/config-generators.d.ts.map +1 -0
  373. package/dist/services/setup/file-merger.d.ts +24 -0
  374. package/dist/services/setup/file-merger.d.ts.map +1 -0
  375. package/dist/services/setup/index.d.ts +10 -0
  376. package/dist/services/setup/index.d.ts.map +1 -0
  377. package/dist/services/setup/setup-service.d.ts +13 -0
  378. package/dist/services/setup/setup-service.d.ts.map +1 -0
  379. package/dist/services/setup/setup-service.test.d.ts +2 -0
  380. package/dist/services/setup/setup-service.test.d.ts.map +1 -0
  381. package/dist/services/setup/targets/agents-md.d.ts +12 -0
  382. package/dist/services/setup/targets/agents-md.d.ts.map +1 -0
  383. package/dist/services/setup/targets/cli-config.d.ts +12 -0
  384. package/dist/services/setup/targets/cli-config.d.ts.map +1 -0
  385. package/dist/services/setup/targets/cursor-rules.d.ts +10 -0
  386. package/dist/services/setup/targets/cursor-rules.d.ts.map +1 -0
  387. package/dist/services/setup/targets/index.d.ts +10 -0
  388. package/dist/services/setup/targets/index.d.ts.map +1 -0
  389. package/dist/services/setup/targets/mcp-claude.d.ts +11 -0
  390. package/dist/services/setup/targets/mcp-claude.d.ts.map +1 -0
  391. package/dist/services/setup/targets/mcp-cursor.d.ts +10 -0
  392. package/dist/services/setup/targets/mcp-cursor.d.ts.map +1 -0
  393. package/dist/services/setup/targets/vscode-settings.d.ts +13 -0
  394. package/dist/services/setup/targets/vscode-settings.d.ts.map +1 -0
  395. package/dist/services/setup/types.d.ts +82 -0
  396. package/dist/services/setup/types.d.ts.map +1 -0
  397. package/dist/services/sync.d.ts +42 -0
  398. package/dist/services/sync.d.ts.map +1 -0
  399. package/dist/services/sync.test.d.ts +2 -0
  400. package/dist/services/sync.test.d.ts.map +1 -0
  401. package/dist/services/test/index.d.ts +3 -0
  402. package/dist/services/test/index.d.ts.map +1 -0
  403. package/dist/services/test/test-generator-service.d.ts +19 -0
  404. package/dist/services/test/test-generator-service.d.ts.map +1 -0
  405. package/dist/services/test/test-generator-service.test.d.ts +2 -0
  406. package/dist/services/test/test-generator-service.test.d.ts.map +1 -0
  407. package/dist/services/test/test-service.d.ts +23 -0
  408. package/dist/services/test/test-service.d.ts.map +1 -0
  409. package/dist/services/test/test-service.test.d.ts +2 -0
  410. package/dist/services/test/test-service.test.d.ts.map +1 -0
  411. package/dist/services/test-link/index.d.ts +81 -0
  412. package/dist/services/test-link/index.d.ts.map +1 -0
  413. package/dist/services/test-link/test-ref-validator.d.ts +81 -0
  414. package/dist/services/test-link/test-ref-validator.d.ts.map +1 -0
  415. package/dist/services/upgrade/index.d.ts +8 -0
  416. package/dist/services/upgrade/index.d.ts.map +1 -0
  417. package/dist/services/upgrade/types.d.ts +75 -0
  418. package/dist/services/upgrade/types.d.ts.map +1 -0
  419. package/dist/services/upgrade/upgrade-service.d.ts +42 -0
  420. package/dist/services/upgrade/upgrade-service.d.ts.map +1 -0
  421. package/dist/services/validate/blueprint-validator.d.ts +18 -0
  422. package/dist/services/validate/blueprint-validator.d.ts.map +1 -0
  423. package/dist/services/validate/implementation-agent-validator.d.ts +16 -0
  424. package/dist/services/validate/implementation-agent-validator.d.ts.map +1 -0
  425. package/dist/services/validate/implementation-validator.d.ts +34 -0
  426. package/dist/services/validate/implementation-validator.d.ts.map +1 -0
  427. package/dist/services/validate/index.d.ts +6 -0
  428. package/dist/services/validate/index.d.ts.map +1 -0
  429. package/dist/services/validate/spec-validator.d.ts +40 -0
  430. package/dist/services/validate/spec-validator.d.ts.map +1 -0
  431. package/dist/services/validate/tenant-validator.d.ts +17 -0
  432. package/dist/services/validate/tenant-validator.d.ts.map +1 -0
  433. package/dist/services/verification-cache/adapters/filesystem.d.ts +47 -0
  434. package/dist/services/verification-cache/adapters/filesystem.d.ts.map +1 -0
  435. package/dist/services/verification-cache/adapters/in-memory.d.ts +28 -0
  436. package/dist/services/verification-cache/adapters/in-memory.d.ts.map +1 -0
  437. package/dist/services/verification-cache/adapters/index.d.ts +7 -0
  438. package/dist/services/verification-cache/adapters/index.d.ts.map +1 -0
  439. package/dist/services/verification-cache/adapters/workspace-state.d.ts +50 -0
  440. package/dist/services/verification-cache/adapters/workspace-state.d.ts.map +1 -0
  441. package/dist/services/verification-cache/cache-service.d.ts +71 -0
  442. package/dist/services/verification-cache/cache-service.d.ts.map +1 -0
  443. package/dist/services/verification-cache/index.d.ts +7 -0
  444. package/dist/services/verification-cache/index.d.ts.map +1 -0
  445. package/dist/services/verification-cache/types.d.ts +122 -0
  446. package/dist/services/verification-cache/types.d.ts.map +1 -0
  447. package/dist/services/verify/ai-verifier.d.ts +26 -0
  448. package/dist/services/verify/ai-verifier.d.ts.map +1 -0
  449. package/dist/services/verify/behavior-verifier.d.ts +13 -0
  450. package/dist/services/verify/behavior-verifier.d.ts.map +1 -0
  451. package/dist/services/verify/index.d.ts +18 -0
  452. package/dist/services/verify/index.d.ts.map +1 -0
  453. package/dist/services/verify/structure-verifier.d.ts +15 -0
  454. package/dist/services/verify/structure-verifier.d.ts.map +1 -0
  455. package/dist/services/verify/types.d.ts +135 -0
  456. package/dist/services/verify/types.d.ts.map +1 -0
  457. package/dist/services/verify/verify-service.d.ts +61 -0
  458. package/dist/services/verify/verify-service.d.ts.map +1 -0
  459. package/dist/services/verify/verify-service.test.d.ts +2 -0
  460. package/dist/services/verify/verify-service.test.d.ts.map +1 -0
  461. package/dist/services/versioning/changelog-formatter.d.ts +25 -0
  462. package/dist/services/versioning/changelog-formatter.d.ts.map +1 -0
  463. package/dist/services/versioning/conventional-commits.d.ts +103 -0
  464. package/dist/services/versioning/conventional-commits.d.ts.map +1 -0
  465. package/dist/services/versioning/conventional-commits.test.d.ts +2 -0
  466. package/dist/services/versioning/conventional-commits.test.d.ts.map +1 -0
  467. package/dist/services/versioning/index.d.ts +10 -0
  468. package/dist/services/versioning/index.d.ts.map +1 -0
  469. package/dist/services/versioning/types.d.ts +137 -0
  470. package/dist/services/versioning/types.d.ts.map +1 -0
  471. package/dist/services/versioning/versioning-service.d.ts +76 -0
  472. package/dist/services/versioning/versioning-service.d.ts.map +1 -0
  473. package/dist/services/vibe/config.d.ts +14 -0
  474. package/dist/services/vibe/config.d.ts.map +1 -0
  475. package/dist/services/vibe/context.d.ts +16 -0
  476. package/dist/services/vibe/context.d.ts.map +1 -0
  477. package/dist/services/vibe/definitions.d.ts +8 -0
  478. package/dist/services/vibe/definitions.d.ts.map +1 -0
  479. package/dist/services/vibe/engine.d.ts +44 -0
  480. package/dist/services/vibe/engine.d.ts.map +1 -0
  481. package/dist/services/vibe/index.d.ts +14 -0
  482. package/dist/services/vibe/index.d.ts.map +1 -0
  483. package/dist/services/vibe/loader.d.ts +15 -0
  484. package/dist/services/vibe/loader.d.ts.map +1 -0
  485. package/dist/services/vibe/pack.d.ts +16 -0
  486. package/dist/services/vibe/pack.d.ts.map +1 -0
  487. package/dist/services/vibe/types.d.ts +56 -0
  488. package/dist/services/vibe/types.d.ts.map +1 -0
  489. package/dist/services/view/index.d.ts +107 -0
  490. package/dist/services/view/index.d.ts.map +1 -0
  491. package/dist/services/watch.d.ts +25 -0
  492. package/dist/services/watch.d.ts.map +1 -0
  493. package/dist/services/watch.test.d.ts +2 -0
  494. package/dist/services/watch.test.d.ts.map +1 -0
  495. package/dist/services/workspace-info.d.ts +64 -0
  496. package/dist/services/workspace-info.d.ts.map +1 -0
  497. package/dist/services/workspace-info.test.d.ts +2 -0
  498. package/dist/services/workspace-info.test.d.ts.map +1 -0
  499. package/dist/templates/app-config.template.d.ts +3 -0
  500. package/dist/templates/app-config.template.d.ts.map +1 -0
  501. package/dist/templates/data-view.template.d.ts +3 -0
  502. package/dist/templates/data-view.template.d.ts.map +1 -0
  503. package/dist/templates/event.template.d.ts +6 -0
  504. package/dist/templates/event.template.d.ts.map +1 -0
  505. package/dist/templates/experiment.template.d.ts +3 -0
  506. package/dist/templates/experiment.template.d.ts.map +1 -0
  507. package/dist/templates/feature.template.d.ts +30 -0
  508. package/dist/templates/feature.template.d.ts.map +1 -0
  509. package/dist/templates/feature.template.test.d.ts +2 -0
  510. package/dist/templates/feature.template.test.d.ts.map +1 -0
  511. package/dist/templates/fix/index.d.ts +10 -0
  512. package/dist/templates/fix/index.d.ts.map +1 -0
  513. package/dist/templates/fix/skeleton-capability.d.ts +8 -0
  514. package/dist/templates/fix/skeleton-capability.d.ts.map +1 -0
  515. package/dist/templates/fix/skeleton-event.d.ts +11 -0
  516. package/dist/templates/fix/skeleton-event.d.ts.map +1 -0
  517. package/dist/templates/fix/skeleton-operation.d.ts +11 -0
  518. package/dist/templates/fix/skeleton-operation.d.ts.map +1 -0
  519. package/dist/templates/fix/skeleton-presentation.d.ts +11 -0
  520. package/dist/templates/fix/skeleton-presentation.d.ts.map +1 -0
  521. package/dist/templates/fix/skeletons.test.d.ts +2 -0
  522. package/dist/templates/fix/skeletons.test.d.ts.map +1 -0
  523. package/dist/templates/fix/utils.d.ts +16 -0
  524. package/dist/templates/fix/utils.d.ts.map +1 -0
  525. package/dist/templates/handler.template.d.ts +13 -0
  526. package/dist/templates/handler.template.d.ts.map +1 -0
  527. package/dist/templates/handler.template.test.d.ts +2 -0
  528. package/dist/templates/handler.template.test.d.ts.map +1 -0
  529. package/dist/templates/index.d.ts +18 -0
  530. package/dist/templates/index.d.ts.map +1 -0
  531. package/dist/templates/integration.template.d.ts +3 -0
  532. package/dist/templates/integration.template.d.ts.map +1 -0
  533. package/dist/templates/knowledge.template.d.ts +3 -0
  534. package/dist/templates/knowledge.template.d.ts.map +1 -0
  535. package/dist/templates/migration.template.d.ts +3 -0
  536. package/dist/templates/migration.template.d.ts.map +1 -0
  537. package/dist/templates/operation.template.d.ts +6 -0
  538. package/dist/templates/operation.template.d.ts.map +1 -0
  539. package/dist/templates/operation.template.test.d.ts +2 -0
  540. package/dist/templates/operation.template.test.d.ts.map +1 -0
  541. package/dist/templates/presentation.template.d.ts +6 -0
  542. package/dist/templates/presentation.template.d.ts.map +1 -0
  543. package/dist/templates/telemetry.template.d.ts +3 -0
  544. package/dist/templates/telemetry.template.d.ts.map +1 -0
  545. package/dist/templates/workflow-runner.template.d.ts +9 -0
  546. package/dist/templates/workflow-runner.template.d.ts.map +1 -0
  547. package/dist/templates/workflow.template.d.ts +3 -0
  548. package/dist/templates/workflow.template.d.ts.map +1 -0
  549. package/dist/types/config.d.ts +25 -0
  550. package/dist/types/config.d.ts.map +1 -0
  551. package/dist/types/index.d.ts +5 -0
  552. package/dist/types/index.d.ts.map +1 -0
  553. package/dist/types.d.ts +339 -0
  554. package/dist/types.d.ts.map +1 -0
  555. package/dist/utils/filter.d.ts +23 -0
  556. package/dist/utils/filter.d.ts.map +1 -0
  557. package/dist/utils/index.d.ts +4 -0
  558. package/dist/utils/index.d.ts.map +1 -0
  559. package/dist/utils/module-loader.d.ts +2 -0
  560. package/dist/utils/module-loader.d.ts.map +1 -0
  561. package/dist/utils/validation.d.ts +32 -0
  562. package/dist/utils/validation.d.ts.map +1 -0
  563. package/package.json +25 -21
  564. package/dist/_virtual/_rolldown/runtime.mjs +0 -20
  565. package/dist/adapters/ai.d.mts +0 -11
  566. package/dist/adapters/ai.d.mts.map +0 -1
  567. package/dist/adapters/ai.mjs +0 -83
  568. package/dist/adapters/ai.mjs.map +0 -1
  569. package/dist/adapters/factory.d.mts +0 -28
  570. package/dist/adapters/factory.d.mts.map +0 -1
  571. package/dist/adapters/factory.mjs +0 -26
  572. package/dist/adapters/factory.mjs.map +0 -1
  573. package/dist/adapters/fs.bun.d.mts +0 -10
  574. package/dist/adapters/fs.bun.d.mts.map +0 -1
  575. package/dist/adapters/fs.bun.mjs +0 -81
  576. package/dist/adapters/fs.bun.mjs.map +0 -1
  577. package/dist/adapters/fs.d.mts +0 -6
  578. package/dist/adapters/fs.d.mts.map +0 -1
  579. package/dist/adapters/fs.mjs +0 -49
  580. package/dist/adapters/fs.mjs.map +0 -1
  581. package/dist/adapters/fs.node.d.mts +0 -10
  582. package/dist/adapters/fs.node.d.mts.map +0 -1
  583. package/dist/adapters/fs.node.mjs +0 -84
  584. package/dist/adapters/fs.node.mjs.map +0 -1
  585. package/dist/adapters/git.d.mts +0 -10
  586. package/dist/adapters/git.d.mts.map +0 -1
  587. package/dist/adapters/git.mjs +0 -99
  588. package/dist/adapters/git.mjs.map +0 -1
  589. package/dist/adapters/index.d.mts +0 -9
  590. package/dist/adapters/index.mjs +0 -11
  591. package/dist/adapters/logger.d.mts +0 -17
  592. package/dist/adapters/logger.d.mts.map +0 -1
  593. package/dist/adapters/logger.mjs +0 -81
  594. package/dist/adapters/logger.mjs.map +0 -1
  595. package/dist/adapters/watcher.d.mts +0 -10
  596. package/dist/adapters/watcher.d.mts.map +0 -1
  597. package/dist/adapters/watcher.mjs +0 -74
  598. package/dist/adapters/watcher.mjs.map +0 -1
  599. package/dist/adapters/workspace.d.mts +0 -148
  600. package/dist/adapters/workspace.d.mts.map +0 -1
  601. package/dist/adapters/workspace.mjs +0 -275
  602. package/dist/adapters/workspace.mjs.map +0 -1
  603. package/dist/ai/agents/claude-code-agent.d.mts +0 -21
  604. package/dist/ai/agents/claude-code-agent.d.mts.map +0 -1
  605. package/dist/ai/agents/claude-code-agent.mjs +0 -182
  606. package/dist/ai/agents/claude-code-agent.mjs.map +0 -1
  607. package/dist/ai/agents/cursor-agent.d.mts +0 -67
  608. package/dist/ai/agents/cursor-agent.d.mts.map +0 -1
  609. package/dist/ai/agents/cursor-agent.mjs +0 -436
  610. package/dist/ai/agents/cursor-agent.mjs.map +0 -1
  611. package/dist/ai/agents/index.d.mts +0 -6
  612. package/dist/ai/agents/index.mjs +0 -7
  613. package/dist/ai/agents/openai-codex-agent.d.mts +0 -21
  614. package/dist/ai/agents/openai-codex-agent.d.mts.map +0 -1
  615. package/dist/ai/agents/openai-codex-agent.mjs +0 -167
  616. package/dist/ai/agents/openai-codex-agent.mjs.map +0 -1
  617. package/dist/ai/agents/orchestrator.d.mts +0 -49
  618. package/dist/ai/agents/orchestrator.d.mts.map +0 -1
  619. package/dist/ai/agents/orchestrator.mjs +0 -148
  620. package/dist/ai/agents/orchestrator.mjs.map +0 -1
  621. package/dist/ai/agents/simple-agent.d.mts +0 -16
  622. package/dist/ai/agents/simple-agent.d.mts.map +0 -1
  623. package/dist/ai/agents/simple-agent.mjs +0 -92
  624. package/dist/ai/agents/simple-agent.mjs.map +0 -1
  625. package/dist/ai/agents/types.d.mts +0 -34
  626. package/dist/ai/agents/types.d.mts.map +0 -1
  627. package/dist/ai/agents/unified-adapter.mjs +0 -70
  628. package/dist/ai/agents/unified-adapter.mjs.map +0 -1
  629. package/dist/ai/index.d.mts +0 -9
  630. package/dist/ai/index.mjs +0 -10
  631. package/dist/ai/prompts/code-generation.d.mts +0 -26
  632. package/dist/ai/prompts/code-generation.d.mts.map +0 -1
  633. package/dist/ai/prompts/code-generation.mjs +0 -143
  634. package/dist/ai/prompts/code-generation.mjs.map +0 -1
  635. package/dist/ai/prompts/index.d.mts +0 -10
  636. package/dist/ai/prompts/index.d.mts.map +0 -1
  637. package/dist/ai/prompts/index.mjs +0 -13
  638. package/dist/ai/prompts/index.mjs.map +0 -1
  639. package/dist/ai/prompts/spec-creation.d.mts +0 -29
  640. package/dist/ai/prompts/spec-creation.d.mts.map +0 -1
  641. package/dist/ai/prompts/spec-creation.mjs +0 -111
  642. package/dist/ai/prompts/spec-creation.mjs.map +0 -1
  643. package/dist/ai/providers.d.mts +0 -13
  644. package/dist/ai/providers.d.mts.map +0 -1
  645. package/dist/ai/providers.mjs +0 -19
  646. package/dist/ai/providers.mjs.map +0 -1
  647. package/dist/formatters/index.d.mts +0 -11
  648. package/dist/formatters/index.d.mts.map +0 -1
  649. package/dist/formatters/index.mjs +0 -17
  650. package/dist/formatters/index.mjs.map +0 -1
  651. package/dist/formatters/json.d.mts +0 -55
  652. package/dist/formatters/json.d.mts.map +0 -1
  653. package/dist/formatters/json.mjs +0 -43
  654. package/dist/formatters/json.mjs.map +0 -1
  655. package/dist/formatters/sarif.d.mts +0 -100
  656. package/dist/formatters/sarif.d.mts.map +0 -1
  657. package/dist/formatters/sarif.mjs +0 -163
  658. package/dist/formatters/sarif.mjs.map +0 -1
  659. package/dist/formatters/text.d.mts +0 -34
  660. package/dist/formatters/text.d.mts.map +0 -1
  661. package/dist/formatters/text.mjs +0 -209
  662. package/dist/formatters/text.mjs.map +0 -1
  663. package/dist/index.d.mts +0 -133
  664. package/dist/index.mjs +0 -117
  665. package/dist/ports/ai.d.mts +0 -62
  666. package/dist/ports/ai.d.mts.map +0 -1
  667. package/dist/ports/fs.d.mts +0 -81
  668. package/dist/ports/fs.d.mts.map +0 -1
  669. package/dist/ports/git.d.mts +0 -51
  670. package/dist/ports/git.d.mts.map +0 -1
  671. package/dist/ports/index.d.mts +0 -6
  672. package/dist/ports/logger.d.mts +0 -88
  673. package/dist/ports/logger.d.mts.map +0 -1
  674. package/dist/ports/rulesync.d.mts +0 -37
  675. package/dist/ports/rulesync.d.mts.map +0 -1
  676. package/dist/ports/watcher.d.mts +0 -52
  677. package/dist/ports/watcher.d.mts.map +0 -1
  678. package/dist/registry.d.mts +0 -14
  679. package/dist/registry.d.mts.map +0 -1
  680. package/dist/registry.mjs +0 -19
  681. package/dist/registry.mjs.map +0 -1
  682. package/dist/services/action-drift/service.d.mts +0 -11
  683. package/dist/services/action-drift/service.d.mts.map +0 -1
  684. package/dist/services/action-drift/service.mjs +0 -43
  685. package/dist/services/action-drift/service.mjs.map +0 -1
  686. package/dist/services/action-drift/types.d.mts +0 -23
  687. package/dist/services/action-drift/types.d.mts.map +0 -1
  688. package/dist/services/action-pr/service.d.mts +0 -17
  689. package/dist/services/action-pr/service.d.mts.map +0 -1
  690. package/dist/services/action-pr/service.mjs +0 -205
  691. package/dist/services/action-pr/service.mjs.map +0 -1
  692. package/dist/services/action-pr/types.d.mts +0 -67
  693. package/dist/services/action-pr/types.d.mts.map +0 -1
  694. package/dist/services/agent-guide/adapters/claude-code.d.mts +0 -34
  695. package/dist/services/agent-guide/adapters/claude-code.d.mts.map +0 -1
  696. package/dist/services/agent-guide/adapters/claude-code.mjs +0 -144
  697. package/dist/services/agent-guide/adapters/claude-code.mjs.map +0 -1
  698. package/dist/services/agent-guide/adapters/cursor-cli.d.mts +0 -38
  699. package/dist/services/agent-guide/adapters/cursor-cli.d.mts.map +0 -1
  700. package/dist/services/agent-guide/adapters/cursor-cli.mjs +0 -135
  701. package/dist/services/agent-guide/adapters/cursor-cli.mjs.map +0 -1
  702. package/dist/services/agent-guide/adapters/generic-mcp.d.mts +0 -52
  703. package/dist/services/agent-guide/adapters/generic-mcp.d.mts.map +0 -1
  704. package/dist/services/agent-guide/adapters/generic-mcp.mjs +0 -159
  705. package/dist/services/agent-guide/adapters/generic-mcp.mjs.map +0 -1
  706. package/dist/services/agent-guide/adapters/index.d.mts +0 -22
  707. package/dist/services/agent-guide/adapters/index.d.mts.map +0 -1
  708. package/dist/services/agent-guide/adapters/index.mjs +0 -31
  709. package/dist/services/agent-guide/adapters/index.mjs.map +0 -1
  710. package/dist/services/agent-guide/agent-guide-service.d.mts +0 -55
  711. package/dist/services/agent-guide/agent-guide-service.d.mts.map +0 -1
  712. package/dist/services/agent-guide/agent-guide-service.mjs +0 -147
  713. package/dist/services/agent-guide/agent-guide-service.mjs.map +0 -1
  714. package/dist/services/agent-guide/index.d.mts +0 -6
  715. package/dist/services/agent-guide/index.mjs +0 -7
  716. package/dist/services/agent-guide/types.d.mts +0 -57
  717. package/dist/services/agent-guide/types.d.mts.map +0 -1
  718. package/dist/services/build.d.mts +0 -61
  719. package/dist/services/build.d.mts.map +0 -1
  720. package/dist/services/build.mjs +0 -151
  721. package/dist/services/build.mjs.map +0 -1
  722. package/dist/services/ci-check/checks/coverage.mjs +0 -66
  723. package/dist/services/ci-check/checks/coverage.mjs.map +0 -1
  724. package/dist/services/ci-check/checks/deps.mjs +0 -32
  725. package/dist/services/ci-check/checks/deps.mjs.map +0 -1
  726. package/dist/services/ci-check/checks/doctor.mjs +0 -38
  727. package/dist/services/ci-check/checks/doctor.mjs.map +0 -1
  728. package/dist/services/ci-check/checks/drift.mjs +0 -40
  729. package/dist/services/ci-check/checks/drift.mjs.map +0 -1
  730. package/dist/services/ci-check/checks/handlers.mjs +0 -38
  731. package/dist/services/ci-check/checks/handlers.mjs.map +0 -1
  732. package/dist/services/ci-check/checks/implementation.mjs +0 -73
  733. package/dist/services/ci-check/checks/implementation.mjs.map +0 -1
  734. package/dist/services/ci-check/checks/index.mjs +0 -13
  735. package/dist/services/ci-check/checks/integrity.mjs +0 -31
  736. package/dist/services/ci-check/checks/integrity.mjs.map +0 -1
  737. package/dist/services/ci-check/checks/layers.mjs +0 -66
  738. package/dist/services/ci-check/checks/layers.mjs.map +0 -1
  739. package/dist/services/ci-check/checks/structure.mjs +0 -34
  740. package/dist/services/ci-check/checks/structure.mjs.map +0 -1
  741. package/dist/services/ci-check/checks/test-refs.mjs +0 -53
  742. package/dist/services/ci-check/checks/test-refs.mjs.map +0 -1
  743. package/dist/services/ci-check/checks/tests.mjs +0 -38
  744. package/dist/services/ci-check/checks/tests.mjs.map +0 -1
  745. package/dist/services/ci-check/ci-check-service.d.mts +0 -15
  746. package/dist/services/ci-check/ci-check-service.d.mts.map +0 -1
  747. package/dist/services/ci-check/ci-check-service.mjs +0 -124
  748. package/dist/services/ci-check/ci-check-service.mjs.map +0 -1
  749. package/dist/services/ci-check/index.d.mts +0 -2
  750. package/dist/services/ci-check/index.mjs +0 -4
  751. package/dist/services/ci-check/types.d.mts +0 -142
  752. package/dist/services/ci-check/types.d.mts.map +0 -1
  753. package/dist/services/ci-check/types.mjs +0 -37
  754. package/dist/services/ci-check/types.mjs.map +0 -1
  755. package/dist/services/ci-check/utils.mjs +0 -76
  756. package/dist/services/ci-check/utils.mjs.map +0 -1
  757. package/dist/services/clean.d.mts +0 -40
  758. package/dist/services/clean.d.mts.map +0 -1
  759. package/dist/services/clean.mjs +0 -72
  760. package/dist/services/clean.mjs.map +0 -1
  761. package/dist/services/config.d.mts +0 -15
  762. package/dist/services/config.d.mts.map +0 -1
  763. package/dist/services/config.mjs +0 -41
  764. package/dist/services/config.mjs.map +0 -1
  765. package/dist/services/coverage/parsers/index.mjs +0 -34
  766. package/dist/services/coverage/parsers/index.mjs.map +0 -1
  767. package/dist/services/coverage/parsers/istanbul-parser.mjs +0 -108
  768. package/dist/services/coverage/parsers/istanbul-parser.mjs.map +0 -1
  769. package/dist/services/coverage/validator.mjs +0 -55
  770. package/dist/services/coverage/validator.mjs.map +0 -1
  771. package/dist/services/create/ai-generator.d.mts +0 -83
  772. package/dist/services/create/ai-generator.d.mts.map +0 -1
  773. package/dist/services/create/ai-generator.mjs +0 -178
  774. package/dist/services/create/ai-generator.mjs.map +0 -1
  775. package/dist/services/create/index.d.mts +0 -28
  776. package/dist/services/create/index.d.mts.map +0 -1
  777. package/dist/services/create/index.mjs +0 -37
  778. package/dist/services/create/index.mjs.map +0 -1
  779. package/dist/services/create/templates.d.mts +0 -22
  780. package/dist/services/create/templates.d.mts.map +0 -1
  781. package/dist/services/create/templates.mjs +0 -39
  782. package/dist/services/create/templates.mjs.map +0 -1
  783. package/dist/services/deps.d.mts +0 -52
  784. package/dist/services/deps.d.mts.map +0 -1
  785. package/dist/services/deps.mjs +0 -62
  786. package/dist/services/deps.mjs.map +0 -1
  787. package/dist/services/diff.d.mts +0 -33
  788. package/dist/services/diff.d.mts.map +0 -1
  789. package/dist/services/diff.mjs +0 -34
  790. package/dist/services/diff.mjs.map +0 -1
  791. package/dist/services/docs/docs-service.d.mts +0 -20
  792. package/dist/services/docs/docs-service.d.mts.map +0 -1
  793. package/dist/services/docs/docs-service.mjs +0 -62
  794. package/dist/services/docs/docs-service.mjs.map +0 -1
  795. package/dist/services/docs/index.d.mts +0 -1
  796. package/dist/services/docs/index.mjs +0 -3
  797. package/dist/services/doctor/checks/ai.mjs +0 -119
  798. package/dist/services/doctor/checks/ai.mjs.map +0 -1
  799. package/dist/services/doctor/checks/cli.mjs +0 -156
  800. package/dist/services/doctor/checks/cli.mjs.map +0 -1
  801. package/dist/services/doctor/checks/config.mjs +0 -303
  802. package/dist/services/doctor/checks/config.mjs.map +0 -1
  803. package/dist/services/doctor/checks/deps.mjs +0 -267
  804. package/dist/services/doctor/checks/deps.mjs.map +0 -1
  805. package/dist/services/doctor/checks/index.mjs +0 -9
  806. package/dist/services/doctor/checks/layers.mjs +0 -139
  807. package/dist/services/doctor/checks/layers.mjs.map +0 -1
  808. package/dist/services/doctor/checks/mcp.mjs +0 -145
  809. package/dist/services/doctor/checks/mcp.mjs.map +0 -1
  810. package/dist/services/doctor/checks/workspace.mjs +0 -263
  811. package/dist/services/doctor/checks/workspace.mjs.map +0 -1
  812. package/dist/services/doctor/doctor-service.d.mts +0 -23
  813. package/dist/services/doctor/doctor-service.d.mts.map +0 -1
  814. package/dist/services/doctor/doctor-service.mjs +0 -118
  815. package/dist/services/doctor/doctor-service.mjs.map +0 -1
  816. package/dist/services/doctor/index.d.mts +0 -2
  817. package/dist/services/doctor/index.mjs +0 -4
  818. package/dist/services/doctor/types.d.mts +0 -118
  819. package/dist/services/doctor/types.d.mts.map +0 -1
  820. package/dist/services/doctor/types.mjs +0 -29
  821. package/dist/services/doctor/types.mjs.map +0 -1
  822. package/dist/services/drift.mjs +0 -73
  823. package/dist/services/drift.mjs.map +0 -1
  824. package/dist/services/extract.d.mts +0 -12
  825. package/dist/services/extract.d.mts.map +0 -1
  826. package/dist/services/extract.mjs +0 -25
  827. package/dist/services/extract.mjs.map +0 -1
  828. package/dist/services/features/completion.d.mts +0 -20
  829. package/dist/services/features/completion.d.mts.map +0 -1
  830. package/dist/services/features/completion.mjs +0 -70
  831. package/dist/services/features/completion.mjs.map +0 -1
  832. package/dist/services/features/feature-editor.d.mts +0 -27
  833. package/dist/services/features/feature-editor.d.mts.map +0 -1
  834. package/dist/services/features/feature-editor.mjs +0 -37
  835. package/dist/services/features/feature-editor.mjs.map +0 -1
  836. package/dist/services/features/index.d.mts +0 -11
  837. package/dist/services/features/index.d.mts.map +0 -1
  838. package/dist/services/features/index.mjs +0 -16
  839. package/dist/services/features/index.mjs.map +0 -1
  840. package/dist/services/features/validation.d.mts +0 -20
  841. package/dist/services/features/validation.d.mts.map +0 -1
  842. package/dist/services/features/validation.mjs +0 -27
  843. package/dist/services/features/validation.mjs.map +0 -1
  844. package/dist/services/fix/fix-link-formatter.d.mts +0 -11
  845. package/dist/services/fix/fix-link-formatter.d.mts.map +0 -1
  846. package/dist/services/fix/fix-link-formatter.mjs +0 -38
  847. package/dist/services/fix/fix-link-formatter.mjs.map +0 -1
  848. package/dist/services/fix/fix-service.d.mts +0 -73
  849. package/dist/services/fix/fix-service.d.mts.map +0 -1
  850. package/dist/services/fix/fix-service.mjs +0 -169
  851. package/dist/services/fix/fix-service.mjs.map +0 -1
  852. package/dist/services/fix/index.d.mts +0 -16
  853. package/dist/services/fix/index.d.mts.map +0 -1
  854. package/dist/services/fix/index.mjs +0 -24
  855. package/dist/services/fix/index.mjs.map +0 -1
  856. package/dist/services/fix/path-resolver.mjs +0 -83
  857. package/dist/services/fix/path-resolver.mjs.map +0 -1
  858. package/dist/services/fix/schemas.d.mts +0 -16
  859. package/dist/services/fix/schemas.d.mts.map +0 -1
  860. package/dist/services/fix/schemas.mjs +0 -12
  861. package/dist/services/fix/schemas.mjs.map +0 -1
  862. package/dist/services/fix/strategies/implement-ai.d.mts +0 -17
  863. package/dist/services/fix/strategies/implement-ai.d.mts.map +0 -1
  864. package/dist/services/fix/strategies/implement-ai.mjs +0 -139
  865. package/dist/services/fix/strategies/implement-ai.mjs.map +0 -1
  866. package/dist/services/fix/strategies/implement-skeleton.d.mts +0 -13
  867. package/dist/services/fix/strategies/implement-skeleton.d.mts.map +0 -1
  868. package/dist/services/fix/strategies/implement-skeleton.mjs +0 -77
  869. package/dist/services/fix/strategies/implement-skeleton.mjs.map +0 -1
  870. package/dist/services/fix/strategies/index.d.mts +0 -3
  871. package/dist/services/fix/strategies/remove-reference.d.mts +0 -16
  872. package/dist/services/fix/strategies/remove-reference.d.mts.map +0 -1
  873. package/dist/services/fix/strategies/remove-reference.mjs +0 -98
  874. package/dist/services/fix/strategies/remove-reference.mjs.map +0 -1
  875. package/dist/services/fix/types.d.mts +0 -206
  876. package/dist/services/fix/types.d.mts.map +0 -1
  877. package/dist/services/fix/types.mjs +0 -20
  878. package/dist/services/fix/types.mjs.map +0 -1
  879. package/dist/services/formatter.d.mts +0 -15
  880. package/dist/services/formatter.d.mts.map +0 -1
  881. package/dist/services/formatter.mjs +0 -26
  882. package/dist/services/formatter.mjs.map +0 -1
  883. package/dist/services/gap.d.mts +0 -18
  884. package/dist/services/gap.d.mts.map +0 -1
  885. package/dist/services/gap.mjs +0 -44
  886. package/dist/services/gap.mjs.map +0 -1
  887. package/dist/services/generate-artifacts.d.mts +0 -11
  888. package/dist/services/generate-artifacts.d.mts.map +0 -1
  889. package/dist/services/generate-artifacts.mjs +0 -27
  890. package/dist/services/generate-artifacts.mjs.map +0 -1
  891. package/dist/services/hooks/hooks-service.d.mts +0 -23
  892. package/dist/services/hooks/hooks-service.d.mts.map +0 -1
  893. package/dist/services/hooks/hooks-service.mjs +0 -126
  894. package/dist/services/hooks/hooks-service.mjs.map +0 -1
  895. package/dist/services/hooks/index.d.mts +0 -10
  896. package/dist/services/hooks/index.d.mts.map +0 -1
  897. package/dist/services/hooks/index.mjs +0 -12
  898. package/dist/services/hooks/index.mjs.map +0 -1
  899. package/dist/services/hooks/types.d.mts +0 -56
  900. package/dist/services/hooks/types.d.mts.map +0 -1
  901. package/dist/services/impact/formatters.d.mts +0 -26
  902. package/dist/services/impact/formatters.d.mts.map +0 -1
  903. package/dist/services/impact/formatters.mjs +0 -139
  904. package/dist/services/impact/formatters.mjs.map +0 -1
  905. package/dist/services/impact/impact-detection-service.d.mts +0 -21
  906. package/dist/services/impact/impact-detection-service.d.mts.map +0 -1
  907. package/dist/services/impact/impact-detection-service.mjs +0 -96
  908. package/dist/services/impact/impact-detection-service.mjs.map +0 -1
  909. package/dist/services/impact/index.d.mts +0 -11
  910. package/dist/services/impact/index.d.mts.map +0 -1
  911. package/dist/services/impact/index.mjs +0 -16
  912. package/dist/services/impact/index.mjs.map +0 -1
  913. package/dist/services/impact/types.d.mts +0 -62
  914. package/dist/services/impact/types.d.mts.map +0 -1
  915. package/dist/services/implementation/discovery.d.mts +0 -29
  916. package/dist/services/implementation/discovery.d.mts.map +0 -1
  917. package/dist/services/implementation/discovery.mjs +0 -136
  918. package/dist/services/implementation/discovery.mjs.map +0 -1
  919. package/dist/services/implementation/index.d.mts +0 -6
  920. package/dist/services/implementation/index.mjs +0 -7
  921. package/dist/services/implementation/resolver/conventions.d.mts +0 -17
  922. package/dist/services/implementation/resolver/conventions.d.mts.map +0 -1
  923. package/dist/services/implementation/resolver/conventions.mjs +0 -59
  924. package/dist/services/implementation/resolver/conventions.mjs.map +0 -1
  925. package/dist/services/implementation/resolver/index.d.mts +0 -25
  926. package/dist/services/implementation/resolver/index.d.mts.map +0 -1
  927. package/dist/services/implementation/resolver/index.mjs +0 -113
  928. package/dist/services/implementation/resolver/index.mjs.map +0 -1
  929. package/dist/services/implementation/resolver/parsers.d.mts +0 -11
  930. package/dist/services/implementation/resolver/parsers.d.mts.map +0 -1
  931. package/dist/services/implementation/resolver/parsers.mjs +0 -82
  932. package/dist/services/implementation/resolver/parsers.mjs.map +0 -1
  933. package/dist/services/implementation/resolver/status.d.mts +0 -20
  934. package/dist/services/implementation/resolver/status.d.mts.map +0 -1
  935. package/dist/services/implementation/resolver/status.mjs +0 -31
  936. package/dist/services/implementation/resolver/status.mjs.map +0 -1
  937. package/dist/services/implementation/types.d.mts +0 -90
  938. package/dist/services/implementation/types.d.mts.map +0 -1
  939. package/dist/services/import/import-service.d.mts +0 -46
  940. package/dist/services/import/import-service.d.mts.map +0 -1
  941. package/dist/services/import/import-service.mjs +0 -196
  942. package/dist/services/import/import-service.mjs.map +0 -1
  943. package/dist/services/import/index.d.mts +0 -3
  944. package/dist/services/import/index.mjs +0 -5
  945. package/dist/services/import/report-service.d.mts +0 -30
  946. package/dist/services/import/report-service.d.mts.map +0 -1
  947. package/dist/services/import/report-service.mjs +0 -124
  948. package/dist/services/import/report-service.mjs.map +0 -1
  949. package/dist/services/import/verify-service.d.mts +0 -66
  950. package/dist/services/import/verify-service.d.mts.map +0 -1
  951. package/dist/services/import/verify-service.mjs +0 -105
  952. package/dist/services/import/verify-service.mjs.map +0 -1
  953. package/dist/services/index.d.mts +0 -111
  954. package/dist/services/index.mjs +0 -106
  955. package/dist/services/integrity-diagram.d.mts +0 -35
  956. package/dist/services/integrity-diagram.d.mts.map +0 -1
  957. package/dist/services/integrity-diagram.mjs +0 -275
  958. package/dist/services/integrity-diagram.mjs.map +0 -1
  959. package/dist/services/integrity.d.mts +0 -151
  960. package/dist/services/integrity.d.mts.map +0 -1
  961. package/dist/services/integrity.mjs +0 -361
  962. package/dist/services/integrity.mjs.map +0 -1
  963. package/dist/services/layer-discovery.d.mts +0 -76
  964. package/dist/services/layer-discovery.d.mts.map +0 -1
  965. package/dist/services/layer-discovery.mjs +0 -121
  966. package/dist/services/layer-discovery.mjs.map +0 -1
  967. package/dist/services/list.d.mts +0 -37
  968. package/dist/services/list.d.mts.map +0 -1
  969. package/dist/services/list.mjs +0 -48
  970. package/dist/services/list.mjs.map +0 -1
  971. package/dist/services/llm/index.d.mts +0 -27
  972. package/dist/services/llm/index.d.mts.map +0 -1
  973. package/dist/services/llm/index.mjs +0 -186
  974. package/dist/services/llm/index.mjs.map +0 -1
  975. package/dist/services/llm/verify-static.d.mts +0 -25
  976. package/dist/services/llm/verify-static.d.mts.map +0 -1
  977. package/dist/services/llm/verify-static.mjs +0 -82
  978. package/dist/services/llm/verify-static.mjs.map +0 -1
  979. package/dist/services/modules/module-resolver.mjs +0 -61
  980. package/dist/services/modules/module-resolver.mjs.map +0 -1
  981. package/dist/services/openapi/export-service.d.mts +0 -52
  982. package/dist/services/openapi/export-service.d.mts.map +0 -1
  983. package/dist/services/openapi/export-service.mjs +0 -50
  984. package/dist/services/openapi/export-service.mjs.map +0 -1
  985. package/dist/services/openapi/import-service.d.mts +0 -16
  986. package/dist/services/openapi/import-service.d.mts.map +0 -1
  987. package/dist/services/openapi/import-service.mjs +0 -165
  988. package/dist/services/openapi/import-service.mjs.map +0 -1
  989. package/dist/services/openapi/index.d.mts +0 -5
  990. package/dist/services/openapi/index.mjs +0 -6
  991. package/dist/services/openapi/sync-service.d.mts +0 -16
  992. package/dist/services/openapi/sync-service.d.mts.map +0 -1
  993. package/dist/services/openapi/sync-service.mjs +0 -120
  994. package/dist/services/openapi/sync-service.mjs.map +0 -1
  995. package/dist/services/openapi/types.d.mts +0 -161
  996. package/dist/services/openapi/types.d.mts.map +0 -1
  997. package/dist/services/openapi/validate-service.d.mts +0 -15
  998. package/dist/services/openapi/validate-service.d.mts.map +0 -1
  999. package/dist/services/openapi/validate-service.mjs +0 -130
  1000. package/dist/services/openapi/validate-service.mjs.map +0 -1
  1001. package/dist/services/quickstart/dependencies.d.mts +0 -30
  1002. package/dist/services/quickstart/dependencies.d.mts.map +0 -1
  1003. package/dist/services/quickstart/dependencies.mjs +0 -57
  1004. package/dist/services/quickstart/dependencies.mjs.map +0 -1
  1005. package/dist/services/quickstart/index.mjs +0 -4
  1006. package/dist/services/quickstart/quickstart-service.d.mts +0 -19
  1007. package/dist/services/quickstart/quickstart-service.d.mts.map +0 -1
  1008. package/dist/services/quickstart/quickstart-service.mjs +0 -196
  1009. package/dist/services/quickstart/quickstart-service.mjs.map +0 -1
  1010. package/dist/services/quickstart/types.d.mts +0 -81
  1011. package/dist/services/quickstart/types.d.mts.map +0 -1
  1012. package/dist/services/regenerator.d.mts +0 -17
  1013. package/dist/services/regenerator.d.mts.map +0 -1
  1014. package/dist/services/regenerator.mjs +0 -23
  1015. package/dist/services/regenerator.mjs.map +0 -1
  1016. package/dist/services/registry.d.mts +0 -52
  1017. package/dist/services/registry.d.mts.map +0 -1
  1018. package/dist/services/registry.mjs +0 -74
  1019. package/dist/services/registry.mjs.map +0 -1
  1020. package/dist/services/rulesync.d.mts +0 -16
  1021. package/dist/services/rulesync.d.mts.map +0 -1
  1022. package/dist/services/rulesync.mjs +0 -72
  1023. package/dist/services/rulesync.mjs.map +0 -1
  1024. package/dist/services/setup/config-generators.d.mts +0 -41
  1025. package/dist/services/setup/config-generators.d.mts.map +0 -1
  1026. package/dist/services/setup/config-generators.mjs +0 -252
  1027. package/dist/services/setup/config-generators.mjs.map +0 -1
  1028. package/dist/services/setup/file-merger.d.mts +0 -27
  1029. package/dist/services/setup/file-merger.d.mts.map +0 -1
  1030. package/dist/services/setup/file-merger.mjs +0 -61
  1031. package/dist/services/setup/file-merger.mjs.map +0 -1
  1032. package/dist/services/setup/setup-service.d.mts +0 -11
  1033. package/dist/services/setup/setup-service.d.mts.map +0 -1
  1034. package/dist/services/setup/setup-service.mjs +0 -96
  1035. package/dist/services/setup/setup-service.mjs.map +0 -1
  1036. package/dist/services/setup/targets/agents-md.mjs +0 -47
  1037. package/dist/services/setup/targets/agents-md.mjs.map +0 -1
  1038. package/dist/services/setup/targets/cli-config.mjs +0 -60
  1039. package/dist/services/setup/targets/cli-config.mjs.map +0 -1
  1040. package/dist/services/setup/targets/cursor-rules.mjs +0 -48
  1041. package/dist/services/setup/targets/cursor-rules.mjs.map +0 -1
  1042. package/dist/services/setup/targets/mcp-claude.mjs +0 -60
  1043. package/dist/services/setup/targets/mcp-claude.mjs.map +0 -1
  1044. package/dist/services/setup/targets/mcp-cursor.mjs +0 -59
  1045. package/dist/services/setup/targets/mcp-cursor.mjs.map +0 -1
  1046. package/dist/services/setup/targets/vscode-settings.mjs +0 -63
  1047. package/dist/services/setup/targets/vscode-settings.mjs.map +0 -1
  1048. package/dist/services/setup/types.d.mts +0 -85
  1049. package/dist/services/setup/types.d.mts.map +0 -1
  1050. package/dist/services/setup/types.mjs +0 -27
  1051. package/dist/services/setup/types.mjs.map +0 -1
  1052. package/dist/services/sync.d.mts +0 -41
  1053. package/dist/services/sync.d.mts.map +0 -1
  1054. package/dist/services/sync.mjs +0 -64
  1055. package/dist/services/sync.mjs.map +0 -1
  1056. package/dist/services/test/index.d.mts +0 -2
  1057. package/dist/services/test/index.mjs +0 -4
  1058. package/dist/services/test/test-generator-service.d.mts +0 -23
  1059. package/dist/services/test/test-generator-service.d.mts.map +0 -1
  1060. package/dist/services/test/test-generator-service.mjs +0 -92
  1061. package/dist/services/test/test-generator-service.mjs.map +0 -1
  1062. package/dist/services/test/test-service.d.mts +0 -27
  1063. package/dist/services/test/test-service.d.mts.map +0 -1
  1064. package/dist/services/test/test-service.mjs +0 -94
  1065. package/dist/services/test/test-service.mjs.map +0 -1
  1066. package/dist/services/test-link/index.d.mts +0 -17
  1067. package/dist/services/test-link/index.d.mts.map +0 -1
  1068. package/dist/services/test-link/index.mjs +0 -60
  1069. package/dist/services/test-link/index.mjs.map +0 -1
  1070. package/dist/services/test-link/test-ref-validator.d.mts +0 -2
  1071. package/dist/services/test-link/test-ref-validator.mjs +0 -50
  1072. package/dist/services/test-link/test-ref-validator.mjs.map +0 -1
  1073. package/dist/services/upgrade/index.d.mts +0 -10
  1074. package/dist/services/upgrade/index.d.mts.map +0 -1
  1075. package/dist/services/upgrade/index.mjs +0 -15
  1076. package/dist/services/upgrade/index.mjs.map +0 -1
  1077. package/dist/services/upgrade/types.d.mts +0 -78
  1078. package/dist/services/upgrade/types.d.mts.map +0 -1
  1079. package/dist/services/upgrade/upgrade-service.d.mts +0 -37
  1080. package/dist/services/upgrade/upgrade-service.d.mts.map +0 -1
  1081. package/dist/services/upgrade/upgrade-service.mjs +0 -201
  1082. package/dist/services/upgrade/upgrade-service.mjs.map +0 -1
  1083. package/dist/services/validate/blueprint-validator.d.mts +0 -22
  1084. package/dist/services/validate/blueprint-validator.d.mts.map +0 -1
  1085. package/dist/services/validate/blueprint-validator.mjs +0 -50
  1086. package/dist/services/validate/blueprint-validator.mjs.map +0 -1
  1087. package/dist/services/validate/implementation-agent-validator.d.mts +0 -20
  1088. package/dist/services/validate/implementation-agent-validator.d.mts.map +0 -1
  1089. package/dist/services/validate/implementation-agent-validator.mjs +0 -42
  1090. package/dist/services/validate/implementation-agent-validator.mjs.map +0 -1
  1091. package/dist/services/validate/implementation-validator.d.mts +0 -32
  1092. package/dist/services/validate/implementation-validator.d.mts.map +0 -1
  1093. package/dist/services/validate/implementation-validator.mjs +0 -55
  1094. package/dist/services/validate/implementation-validator.mjs.map +0 -1
  1095. package/dist/services/validate/index.d.mts +0 -5
  1096. package/dist/services/validate/index.mjs +0 -7
  1097. package/dist/services/validate/spec-validator.d.mts +0 -41
  1098. package/dist/services/validate/spec-validator.d.mts.map +0 -1
  1099. package/dist/services/validate/spec-validator.mjs +0 -53
  1100. package/dist/services/validate/spec-validator.mjs.map +0 -1
  1101. package/dist/services/validate/tenant-validator.d.mts +0 -21
  1102. package/dist/services/validate/tenant-validator.d.mts.map +0 -1
  1103. package/dist/services/validate/tenant-validator.mjs +0 -165
  1104. package/dist/services/validate/tenant-validator.mjs.map +0 -1
  1105. package/dist/services/verification-cache/adapters/filesystem.d.mts +0 -45
  1106. package/dist/services/verification-cache/adapters/filesystem.d.mts.map +0 -1
  1107. package/dist/services/verification-cache/adapters/filesystem.mjs +0 -120
  1108. package/dist/services/verification-cache/adapters/filesystem.mjs.map +0 -1
  1109. package/dist/services/verification-cache/adapters/in-memory.d.mts +0 -26
  1110. package/dist/services/verification-cache/adapters/in-memory.d.mts.map +0 -1
  1111. package/dist/services/verification-cache/adapters/in-memory.mjs +0 -46
  1112. package/dist/services/verification-cache/adapters/in-memory.mjs.map +0 -1
  1113. package/dist/services/verification-cache/adapters/index.d.mts +0 -3
  1114. package/dist/services/verification-cache/adapters/index.mjs +0 -5
  1115. package/dist/services/verification-cache/adapters/workspace-state.d.mts +0 -48
  1116. package/dist/services/verification-cache/adapters/workspace-state.d.mts.map +0 -1
  1117. package/dist/services/verification-cache/adapters/workspace-state.mjs +0 -91
  1118. package/dist/services/verification-cache/adapters/workspace-state.mjs.map +0 -1
  1119. package/dist/services/verification-cache/cache-service.d.mts +0 -69
  1120. package/dist/services/verification-cache/cache-service.d.mts.map +0 -1
  1121. package/dist/services/verification-cache/cache-service.mjs +0 -256
  1122. package/dist/services/verification-cache/cache-service.mjs.map +0 -1
  1123. package/dist/services/verification-cache/index.d.mts +0 -6
  1124. package/dist/services/verification-cache/index.mjs +0 -8
  1125. package/dist/services/verification-cache/types.d.mts +0 -123
  1126. package/dist/services/verification-cache/types.d.mts.map +0 -1
  1127. package/dist/services/verification-cache/types.mjs +0 -16
  1128. package/dist/services/verification-cache/types.mjs.map +0 -1
  1129. package/dist/services/verify/ai-verifier.d.mts +0 -24
  1130. package/dist/services/verify/ai-verifier.d.mts.map +0 -1
  1131. package/dist/services/verify/ai-verifier.mjs +0 -403
  1132. package/dist/services/verify/ai-verifier.mjs.map +0 -1
  1133. package/dist/services/verify/behavior-verifier.d.mts +0 -11
  1134. package/dist/services/verify/behavior-verifier.d.mts.map +0 -1
  1135. package/dist/services/verify/behavior-verifier.mjs +0 -186
  1136. package/dist/services/verify/behavior-verifier.mjs.map +0 -1
  1137. package/dist/services/verify/index.d.mts +0 -5
  1138. package/dist/services/verify/index.mjs +0 -6
  1139. package/dist/services/verify/structure-verifier.d.mts +0 -11
  1140. package/dist/services/verify/structure-verifier.d.mts.map +0 -1
  1141. package/dist/services/verify/structure-verifier.mjs +0 -196
  1142. package/dist/services/verify/structure-verifier.mjs.map +0 -1
  1143. package/dist/services/verify/types.d.mts +0 -136
  1144. package/dist/services/verify/types.d.mts.map +0 -1
  1145. package/dist/services/verify/verify-service.d.mts +0 -59
  1146. package/dist/services/verify/verify-service.d.mts.map +0 -1
  1147. package/dist/services/verify/verify-service.mjs +0 -204
  1148. package/dist/services/verify/verify-service.mjs.map +0 -1
  1149. package/dist/services/versioning/changelog-formatter.d.mts +0 -23
  1150. package/dist/services/versioning/changelog-formatter.d.mts.map +0 -1
  1151. package/dist/services/versioning/changelog-formatter.mjs +0 -155
  1152. package/dist/services/versioning/changelog-formatter.mjs.map +0 -1
  1153. package/dist/services/versioning/conventional-commits.d.mts +0 -94
  1154. package/dist/services/versioning/conventional-commits.d.mts.map +0 -1
  1155. package/dist/services/versioning/conventional-commits.mjs +0 -184
  1156. package/dist/services/versioning/conventional-commits.mjs.map +0 -1
  1157. package/dist/services/versioning/index.d.mts +0 -12
  1158. package/dist/services/versioning/index.d.mts.map +0 -1
  1159. package/dist/services/versioning/index.mjs +0 -28
  1160. package/dist/services/versioning/index.mjs.map +0 -1
  1161. package/dist/services/versioning/types.d.mts +0 -134
  1162. package/dist/services/versioning/types.d.mts.map +0 -1
  1163. package/dist/services/versioning/versioning-service.d.mts +0 -73
  1164. package/dist/services/versioning/versioning-service.d.mts.map +0 -1
  1165. package/dist/services/versioning/versioning-service.mjs +0 -501
  1166. package/dist/services/versioning/versioning-service.mjs.map +0 -1
  1167. package/dist/services/vibe/config.d.mts +0 -11
  1168. package/dist/services/vibe/config.d.mts.map +0 -1
  1169. package/dist/services/vibe/config.mjs +0 -43
  1170. package/dist/services/vibe/config.mjs.map +0 -1
  1171. package/dist/services/vibe/context.d.mts +0 -19
  1172. package/dist/services/vibe/context.d.mts.map +0 -1
  1173. package/dist/services/vibe/context.mjs +0 -92
  1174. package/dist/services/vibe/context.mjs.map +0 -1
  1175. package/dist/services/vibe/definitions.d.mts +0 -7
  1176. package/dist/services/vibe/definitions.d.mts.map +0 -1
  1177. package/dist/services/vibe/definitions.mjs +0 -129
  1178. package/dist/services/vibe/definitions.mjs.map +0 -1
  1179. package/dist/services/vibe/engine.d.mts +0 -43
  1180. package/dist/services/vibe/engine.d.mts.map +0 -1
  1181. package/dist/services/vibe/engine.mjs +0 -147
  1182. package/dist/services/vibe/engine.mjs.map +0 -1
  1183. package/dist/services/vibe/index.d.mts +0 -15
  1184. package/dist/services/vibe/index.d.mts.map +0 -1
  1185. package/dist/services/vibe/index.mjs +0 -26
  1186. package/dist/services/vibe/index.mjs.map +0 -1
  1187. package/dist/services/vibe/loader.d.mts +0 -14
  1188. package/dist/services/vibe/loader.d.mts.map +0 -1
  1189. package/dist/services/vibe/loader.mjs +0 -48
  1190. package/dist/services/vibe/loader.mjs.map +0 -1
  1191. package/dist/services/vibe/pack.d.mts +0 -19
  1192. package/dist/services/vibe/pack.d.mts.map +0 -1
  1193. package/dist/services/vibe/pack.mjs +0 -66
  1194. package/dist/services/vibe/pack.mjs.map +0 -1
  1195. package/dist/services/vibe/types.d.mts +0 -59
  1196. package/dist/services/vibe/types.d.mts.map +0 -1
  1197. package/dist/services/vibe/types.mjs +0 -12
  1198. package/dist/services/vibe/types.mjs.map +0 -1
  1199. package/dist/services/view/index.d.mts +0 -111
  1200. package/dist/services/view/index.d.mts.map +0 -1
  1201. package/dist/services/view/index.mjs +0 -217
  1202. package/dist/services/view/index.mjs.map +0 -1
  1203. package/dist/services/watch.d.mts +0 -24
  1204. package/dist/services/watch.d.mts.map +0 -1
  1205. package/dist/services/watch.mjs +0 -33
  1206. package/dist/services/watch.mjs.map +0 -1
  1207. package/dist/services/workspace-info.d.mts +0 -61
  1208. package/dist/services/workspace-info.d.mts.map +0 -1
  1209. package/dist/services/workspace-info.mjs +0 -103
  1210. package/dist/services/workspace-info.mjs.map +0 -1
  1211. package/dist/templates/app-config.template.d.mts +0 -7
  1212. package/dist/templates/app-config.template.d.mts.map +0 -1
  1213. package/dist/templates/app-config.template.mjs +0 -107
  1214. package/dist/templates/app-config.template.mjs.map +0 -1
  1215. package/dist/templates/data-view.template.d.mts +0 -7
  1216. package/dist/templates/data-view.template.d.mts.map +0 -1
  1217. package/dist/templates/data-view.template.mjs +0 -70
  1218. package/dist/templates/data-view.template.mjs.map +0 -1
  1219. package/dist/templates/event.template.d.mts +0 -10
  1220. package/dist/templates/event.template.d.mts.map +0 -1
  1221. package/dist/templates/event.template.mjs +0 -42
  1222. package/dist/templates/event.template.mjs.map +0 -1
  1223. package/dist/templates/experiment.template.d.mts +0 -7
  1224. package/dist/templates/experiment.template.d.mts.map +0 -1
  1225. package/dist/templates/experiment.template.mjs +0 -89
  1226. package/dist/templates/experiment.template.mjs.map +0 -1
  1227. package/dist/templates/feature.template.d.mts +0 -33
  1228. package/dist/templates/feature.template.d.mts.map +0 -1
  1229. package/dist/templates/feature.template.mjs +0 -52
  1230. package/dist/templates/feature.template.mjs.map +0 -1
  1231. package/dist/templates/fix/skeleton-capability.mjs +0 -49
  1232. package/dist/templates/fix/skeleton-capability.mjs.map +0 -1
  1233. package/dist/templates/fix/skeleton-event.mjs +0 -56
  1234. package/dist/templates/fix/skeleton-event.mjs.map +0 -1
  1235. package/dist/templates/fix/skeleton-operation.mjs +0 -122
  1236. package/dist/templates/fix/skeleton-operation.mjs.map +0 -1
  1237. package/dist/templates/fix/skeleton-presentation.mjs +0 -65
  1238. package/dist/templates/fix/skeleton-presentation.mjs.map +0 -1
  1239. package/dist/templates/fix/utils.mjs +0 -34
  1240. package/dist/templates/fix/utils.mjs.map +0 -1
  1241. package/dist/templates/handler.template.d.mts +0 -16
  1242. package/dist/templates/handler.template.d.mts.map +0 -1
  1243. package/dist/templates/handler.template.mjs +0 -100
  1244. package/dist/templates/handler.template.mjs.map +0 -1
  1245. package/dist/templates/index.d.mts +0 -22
  1246. package/dist/templates/index.d.mts.map +0 -1
  1247. package/dist/templates/index.mjs +0 -39
  1248. package/dist/templates/index.mjs.map +0 -1
  1249. package/dist/templates/integration.template.d.mts +0 -7
  1250. package/dist/templates/integration.template.d.mts.map +0 -1
  1251. package/dist/templates/integration.template.mjs +0 -157
  1252. package/dist/templates/integration.template.mjs.map +0 -1
  1253. package/dist/templates/knowledge.template.d.mts +0 -7
  1254. package/dist/templates/knowledge.template.d.mts.map +0 -1
  1255. package/dist/templates/knowledge.template.mjs +0 -74
  1256. package/dist/templates/knowledge.template.mjs.map +0 -1
  1257. package/dist/templates/migration.template.d.mts +0 -7
  1258. package/dist/templates/migration.template.d.mts.map +0 -1
  1259. package/dist/templates/migration.template.mjs +0 -61
  1260. package/dist/templates/migration.template.mjs.map +0 -1
  1261. package/dist/templates/operation.template.d.mts +0 -10
  1262. package/dist/templates/operation.template.d.mts.map +0 -1
  1263. package/dist/templates/operation.template.mjs +0 -107
  1264. package/dist/templates/operation.template.mjs.map +0 -1
  1265. package/dist/templates/presentation.template.d.mts +0 -10
  1266. package/dist/templates/presentation.template.d.mts.map +0 -1
  1267. package/dist/templates/presentation.template.mjs +0 -80
  1268. package/dist/templates/presentation.template.mjs.map +0 -1
  1269. package/dist/templates/telemetry.template.d.mts +0 -7
  1270. package/dist/templates/telemetry.template.d.mts.map +0 -1
  1271. package/dist/templates/telemetry.template.mjs +0 -91
  1272. package/dist/templates/telemetry.template.mjs.map +0 -1
  1273. package/dist/templates/workflow-runner.template.d.mts +0 -16
  1274. package/dist/templates/workflow-runner.template.d.mts.map +0 -1
  1275. package/dist/templates/workflow-runner.template.mjs +0 -50
  1276. package/dist/templates/workflow-runner.template.mjs.map +0 -1
  1277. package/dist/templates/workflow.template.d.mts +0 -7
  1278. package/dist/templates/workflow.template.d.mts.map +0 -1
  1279. package/dist/templates/workflow.template.mjs +0 -69
  1280. package/dist/templates/workflow.template.mjs.map +0 -1
  1281. package/dist/types.d.mts +0 -324
  1282. package/dist/types.d.mts.map +0 -1
  1283. package/dist/utils/filter.d.mts +0 -24
  1284. package/dist/utils/filter.d.mts.map +0 -1
  1285. package/dist/utils/filter.mjs +0 -49
  1286. package/dist/utils/filter.mjs.map +0 -1
  1287. package/dist/utils/index.d.mts +0 -11
  1288. package/dist/utils/index.d.mts.map +0 -1
  1289. package/dist/utils/index.mjs +0 -21
  1290. package/dist/utils/index.mjs.map +0 -1
  1291. package/dist/utils/module-loader.d.mts +0 -5
  1292. package/dist/utils/module-loader.d.mts.map +0 -1
  1293. package/dist/utils/module-loader.mjs +0 -41
  1294. package/dist/utils/module-loader.mjs.map +0 -1
  1295. package/dist/utils/validation.d.mts +0 -36
  1296. package/dist/utils/validation.d.mts.map +0 -1
  1297. package/dist/utils/validation.mjs +0 -43
  1298. package/dist/utils/validation.mjs.map +0 -1
@@ -1,361 +0,0 @@
1
- import { buildTestIndex } from "./test-link/index.mjs";
2
- import { isFeatureFile, scanAllSpecsFromSource, scanFeatureSource } from "@contractspec/module.workspace";
3
-
4
- //#region src/services/integrity.ts
5
- /**
6
- * Contract integrity analysis service.
7
- *
8
- * Analyzes contract specs and features to detect:
9
- * - Orphaned specs (not linked to any feature)
10
- * - Unresolved references (broken event/op/presentation refs)
11
- * - Feature coverage metrics
12
- */
13
- /**
14
- * Build a spec key from name and version.
15
- */
16
- function specKey(key, version) {
17
- return `${key}.v${version}`;
18
- }
19
- /**
20
- * Create an empty spec inventory.
21
- */
22
- function createEmptyInventory() {
23
- return {
24
- operations: /* @__PURE__ */ new Map(),
25
- events: /* @__PURE__ */ new Map(),
26
- presentations: /* @__PURE__ */ new Map(),
27
- capabilities: /* @__PURE__ */ new Map(),
28
- workflows: /* @__PURE__ */ new Map(),
29
- dataViews: /* @__PURE__ */ new Map(),
30
- forms: /* @__PURE__ */ new Map(),
31
- migrations: /* @__PURE__ */ new Map(),
32
- experiments: /* @__PURE__ */ new Map(),
33
- integrations: /* @__PURE__ */ new Map(),
34
- knowledge: /* @__PURE__ */ new Map(),
35
- telemetry: /* @__PURE__ */ new Map(),
36
- appConfigs: /* @__PURE__ */ new Map(),
37
- policies: /* @__PURE__ */ new Map(),
38
- testSpecs: /* @__PURE__ */ new Map()
39
- };
40
- }
41
- /**
42
- * Get the inventory map for a spec type.
43
- */
44
- function getInventoryMap(inventory, specType) {
45
- return {
46
- operation: inventory.operations,
47
- event: inventory.events,
48
- presentation: inventory.presentations,
49
- capability: inventory.capabilities,
50
- workflow: inventory.workflows,
51
- "data-view": inventory.dataViews,
52
- form: inventory.forms,
53
- migration: inventory.migrations,
54
- experiment: inventory.experiments,
55
- integration: inventory.integrations,
56
- knowledge: inventory.knowledge,
57
- telemetry: inventory.telemetry,
58
- "app-config": inventory.appConfigs,
59
- policy: inventory.policies,
60
- "test-spec": inventory.testSpecs
61
- }[specType];
62
- }
63
- /**
64
- * Analyze contract integrity.
65
- */
66
- async function analyzeIntegrity(adapters, options = {}) {
67
- const { fs, logger } = adapters;
68
- logger.info("Starting integrity analysis...", { options });
69
- const files = await fs.glob({
70
- pattern: options.pattern,
71
- cwd: options.cwd
72
- });
73
- const inventory = createEmptyInventory();
74
- const features = [];
75
- const issues = [];
76
- for (const file of files) {
77
- if ((await fs.stat(file)).isDirectory) continue;
78
- const content = await fs.readFile(file);
79
- if (isFeatureFile(file)) {
80
- const feature = scanFeatureSource(content, file);
81
- features.push(feature);
82
- } else {
83
- const specs = scanAllSpecsFromSource(content, file);
84
- for (const spec of specs) if (spec.specType !== "unknown" && spec.specType !== "feature") {
85
- const map = getInventoryMap(inventory, spec.specType);
86
- if (map && spec.key && spec.version !== void 0) {
87
- const key = specKey(spec.key, spec.version);
88
- map.set(key, {
89
- key: spec.key,
90
- version: spec.version,
91
- file: spec.filePath,
92
- type: spec.specType,
93
- stability: spec.stability,
94
- testTarget: spec.testTarget,
95
- testCoverage: spec.testCoverage
96
- });
97
- }
98
- }
99
- }
100
- }
101
- const relevantFeatures = options.featureKey ? features.filter((f) => f.key === options.featureKey) : features;
102
- const referencedSpecs = /* @__PURE__ */ new Set();
103
- for (const feature of relevantFeatures) {
104
- for (const ref of feature.operations) {
105
- const key = specKey(ref.key, ref.version);
106
- referencedSpecs.add(`operation:${key}`);
107
- if (!inventory.operations.has(key)) issues.push({
108
- severity: "error",
109
- type: "unresolved-ref",
110
- message: `Operation ${ref.key}.v${ref.version} not found`,
111
- file: feature.filePath,
112
- featureKey: feature.key,
113
- specType: "operation",
114
- ref
115
- });
116
- }
117
- for (const ref of feature.events) {
118
- const key = specKey(ref.key, ref.version);
119
- referencedSpecs.add(`event:${key}`);
120
- if (!inventory.events.has(key)) issues.push({
121
- severity: "error",
122
- type: "unresolved-ref",
123
- message: `Event ${ref.key}.v${ref.version} not found`,
124
- file: feature.filePath,
125
- featureKey: feature.key,
126
- specType: "event",
127
- ref
128
- });
129
- }
130
- for (const ref of feature.presentations) {
131
- const key = specKey(ref.key, ref.version);
132
- referencedSpecs.add(`presentation:${key}`);
133
- if (!inventory.presentations.has(key)) issues.push({
134
- severity: "error",
135
- type: "unresolved-ref",
136
- message: `Presentation ${ref.key}.v${ref.version} not found`,
137
- file: feature.filePath,
138
- featureKey: feature.key,
139
- specType: "presentation",
140
- ref
141
- });
142
- }
143
- for (const ref of feature.experiments) {
144
- const key = specKey(ref.key, ref.version);
145
- referencedSpecs.add(`experiment:${key}`);
146
- if (!inventory.experiments.has(key)) issues.push({
147
- severity: "error",
148
- type: "unresolved-ref",
149
- message: `Experiment ${ref.key}.v${ref.version} not found`,
150
- file: feature.filePath,
151
- featureKey: feature.key,
152
- specType: "experiment",
153
- ref
154
- });
155
- }
156
- for (const ref of feature.capabilities.provides) {
157
- const key = specKey(ref.key, ref.version);
158
- referencedSpecs.add(`capability:${key}`);
159
- if (!inventory.capabilities.has(key)) issues.push({
160
- severity: "warning",
161
- type: "unresolved-ref",
162
- message: `Provided capability ${ref.key}.v${ref.version} not found`,
163
- file: feature.filePath,
164
- featureKey: feature.key,
165
- specType: "capability",
166
- ref
167
- });
168
- }
169
- for (const ref of feature.capabilities.requires) {
170
- const key = specKey(ref.key, ref.version);
171
- referencedSpecs.add(`capability:${key}`);
172
- }
173
- for (const link of feature.opToPresentationLinks) {
174
- const opKey = specKey(link.op.key, link.op.version);
175
- const presKey = specKey(link.pres.key, link.pres.version);
176
- if (!inventory.operations.has(opKey)) issues.push({
177
- severity: "error",
178
- type: "broken-link",
179
- message: `Linked operation ${link.op.key}.v${link.op.version} not found`,
180
- file: feature.filePath,
181
- featureKey: feature.key,
182
- specType: "operation",
183
- ref: link.op
184
- });
185
- if (!inventory.presentations.has(presKey)) issues.push({
186
- severity: "error",
187
- type: "broken-link",
188
- message: `Linked presentation ${link.pres.key}.v${link.pres.version} not found`,
189
- file: feature.filePath,
190
- featureKey: feature.key,
191
- specType: "presentation",
192
- ref: link.pres
193
- });
194
- }
195
- if (feature.presentationsTargets) for (const pt of feature.presentationsTargets) {
196
- const presKey = specKey(pt.key, pt.version);
197
- if (!inventory.presentations.has(presKey)) issues.push({
198
- severity: "error",
199
- type: "broken-link",
200
- message: `Targeted presentation ${pt.key}.v${pt.version} not found`,
201
- file: feature.filePath,
202
- featureKey: feature.key,
203
- specType: "presentation",
204
- ref: {
205
- key: pt.key,
206
- version: pt.version
207
- }
208
- });
209
- }
210
- }
211
- const orphanedSpecs = [];
212
- const typesThatCanBeOrphaned = [
213
- "operation",
214
- "event",
215
- "presentation",
216
- "experiment"
217
- ];
218
- for (const type of typesThatCanBeOrphaned) {
219
- const map = getInventoryMap(inventory, type);
220
- if (!map) continue;
221
- for (const [key, location] of map) if (!referencedSpecs.has(`${type}:${key}`)) {
222
- orphanedSpecs.push(location);
223
- issues.push({
224
- severity: "warning",
225
- type: "orphaned",
226
- message: `${type} ${location.key}.v${location.version} is not linked to any feature`,
227
- file: location.file,
228
- specKey: location.key,
229
- specType: location.type
230
- });
231
- }
232
- }
233
- const testSpecScans = [];
234
- for (const [, location] of inventory.testSpecs) testSpecScans.push({
235
- filePath: location.file,
236
- specType: "test-spec",
237
- key: location.key,
238
- version: location.version,
239
- testTarget: location.testTarget,
240
- hasMeta: true,
241
- hasIo: false,
242
- hasPolicy: false,
243
- hasPayload: false,
244
- hasContent: false,
245
- hasDefinition: false
246
- });
247
- const testIndex = buildTestIndex(testSpecScans, inventory);
248
- for (const feature of relevantFeatures) for (const link of feature.opToPresentationLinks) {
249
- const opKey = specKey(link.op.key, link.op.version);
250
- const tests = testIndex.targetToTests.get(opKey);
251
- let hasSuccess = false;
252
- let hasError = false;
253
- if (tests) for (const testKey of tests) {
254
- const testSpec = inventory.testSpecs.get(testKey);
255
- if (testSpec?.testCoverage) {
256
- if (testSpec.testCoverage.hasSuccess) hasSuccess = true;
257
- if (testSpec.testCoverage.hasError) hasError = true;
258
- }
259
- }
260
- if (!tests || !hasSuccess || !hasError) {
261
- const missing = [];
262
- if (!hasSuccess) missing.push("success scenario");
263
- if (!hasError) missing.push("error scenario");
264
- issues.push({
265
- severity: "error",
266
- type: "missing-test-coverage",
267
- message: `Operation ${link.op.key}.v${link.op.version} linked to presentation requires tests covering: ${missing.join(", ")}`,
268
- file: feature.filePath,
269
- featureKey: feature.key,
270
- specType: "operation",
271
- ref: link.op
272
- });
273
- }
274
- }
275
- const coverageByType = {};
276
- let totalMissingTests = 0;
277
- for (const type of typesThatCanBeOrphaned) {
278
- const map = getInventoryMap(inventory, type);
279
- if (!map) continue;
280
- const total = map.size;
281
- let covered = 0;
282
- let missingTest = 0;
283
- const requireTest = options.requireTestsFor?.includes(type);
284
- for (const [key, location] of map) {
285
- if (referencedSpecs.has(`${type}:${key}`)) covered++;
286
- if (requireTest) {
287
- const targetKey = specKey(location.key, location.version);
288
- const hasTargetedTest = testIndex.targetToTests.has(targetKey);
289
- const conventionTestKey = `${location.key}.test`;
290
- const hasConventionTest = inventory.testSpecs.has(specKey(conventionTestKey, location.version));
291
- if (!hasTargetedTest && !hasConventionTest) {
292
- missingTest++;
293
- totalMissingTests++;
294
- issues.push({
295
- severity: "warning",
296
- type: "missing-test",
297
- message: `${type} ${location.key}.v${location.version} is missing a test spec (no TestSpec.target or naming convention match)`,
298
- file: location.file,
299
- specKey: location.key,
300
- specType: location.type
301
- });
302
- }
303
- }
304
- }
305
- coverageByType[type] = {
306
- total,
307
- covered,
308
- orphaned: total - covered,
309
- missingTest: requireTest ? missingTest : 0
310
- };
311
- }
312
- const totalSpecs = Object.values(coverageByType).reduce((sum, c) => sum + c.total, 0);
313
- const coveredSpecs = Object.values(coverageByType).reduce((sum, c) => sum + c.covered, 0);
314
- const coverage = {
315
- total: totalSpecs,
316
- linkedToFeature: coveredSpecs,
317
- orphaned: totalSpecs - coveredSpecs,
318
- missingTest: totalMissingTests,
319
- byType: coverageByType
320
- };
321
- const healthy = !issues.some((i) => i.severity === "error");
322
- logger.info("Integrity analysis complete", {
323
- features: features.length,
324
- totalSpecs,
325
- orphaned: orphanedSpecs.length,
326
- issues: issues.length,
327
- healthy
328
- });
329
- return {
330
- inventory,
331
- features: relevantFeatures,
332
- coverage,
333
- issues,
334
- orphanedSpecs,
335
- healthy
336
- };
337
- }
338
- /**
339
- * Get all specs from inventory as a flat list.
340
- */
341
- function getAllSpecs(inventory) {
342
- const all = [];
343
- for (const map of Object.values(inventory)) for (const spec of map.values()) all.push(spec);
344
- return all;
345
- }
346
- /**
347
- * Filter issues by type.
348
- */
349
- function filterIssuesByType(issues, type) {
350
- return issues.filter((i) => i.type === type);
351
- }
352
- /**
353
- * Filter issues by severity.
354
- */
355
- function filterIssuesBySeverity(issues, severity) {
356
- return issues.filter((i) => i.severity === severity);
357
- }
358
-
359
- //#endregion
360
- export { analyzeIntegrity, filterIssuesBySeverity, filterIssuesByType, getAllSpecs };
361
- //# sourceMappingURL=integrity.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integrity.mjs","names":[],"sources":["../../src/services/integrity.ts"],"sourcesContent":["/**\n * Contract integrity analysis service.\n *\n * Analyzes contract specs and features to detect:\n * - Orphaned specs (not linked to any feature)\n * - Unresolved references (broken event/op/presentation refs)\n * - Feature coverage metrics\n */\n\nimport {\n type AnalyzedSpecType,\n type FeatureScanResult,\n isFeatureFile,\n type RefInfo,\n scanAllSpecsFromSource,\n scanFeatureSource,\n} from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../ports/fs';\nimport type { LoggerAdapter } from '../ports/logger';\nimport {\n buildTestIndex,\n type ExtractedTestTarget,\n type TestSpecScanResult,\n} from './test-link';\n\n/**\n * Options for integrity analysis.\n */\nexport interface IntegrityAnalysisOptions {\n /**\n * Glob pattern for file discovery.\n */\n pattern?: string;\n /**\n * Working directory for scanning.\n */\n cwd?: string;\n\n /**\n * Scan all packages in monorepo.\n */\n all?: boolean;\n\n /**\n * Analyze only a specific feature by key.\n */\n featureKey?: string;\n\n /**\n * Filter by spec type.\n */\n specType?: AnalyzedSpecType;\n\n /**\n * Require tests for specific spec types.\n */\n requireTestsFor?: AnalyzedSpecType[];\n}\n\n/**\n * Location of a spec in the codebase.\n */\nexport interface SpecLocation {\n key: string;\n version: string;\n file: string;\n type: AnalyzedSpecType;\n stability?: string;\n /** Test target for test-spec files (extracted from TestSpec.target) */\n testTarget?: ExtractedTestTarget;\n /** Test coverage info (extracted from TestSpec.scenarios) */\n testCoverage?: { hasSuccess: boolean; hasError: boolean };\n}\n\n/**\n * Inventory of all discovered specs organized by type.\n */\nexport interface SpecInventory {\n operations: Map<string, SpecLocation>;\n events: Map<string, SpecLocation>;\n presentations: Map<string, SpecLocation>;\n capabilities: Map<string, SpecLocation>;\n workflows: Map<string, SpecLocation>;\n dataViews: Map<string, SpecLocation>;\n forms: Map<string, SpecLocation>;\n migrations: Map<string, SpecLocation>;\n experiments: Map<string, SpecLocation>;\n integrations: Map<string, SpecLocation>;\n knowledge: Map<string, SpecLocation>;\n telemetry: Map<string, SpecLocation>;\n appConfigs: Map<string, SpecLocation>;\n policies: Map<string, SpecLocation>;\n testSpecs: Map<string, SpecLocation>;\n}\n\n/**\n * An integrity issue found during analysis.\n */\nexport interface IntegrityIssue {\n severity: 'error' | 'warning';\n type:\n | 'orphaned'\n | 'unresolved-ref'\n | 'missing-feature'\n | 'broken-link'\n | 'missing-test'\n | 'missing-test-coverage';\n message: string;\n file: string;\n specKey?: string;\n specType?: AnalyzedSpecType;\n ref?: RefInfo;\n featureKey?: string;\n}\n\n/**\n * Coverage metrics by spec type.\n */\nexport interface CoverageByType {\n total: number;\n covered: number;\n orphaned: number;\n missingTest?: number;\n}\n\n/**\n * Result of integrity analysis.\n */\nexport interface IntegrityAnalysisResult {\n /**\n * All discovered specs organized by type.\n */\n inventory: SpecInventory;\n\n /**\n * All discovered features.\n */\n features: FeatureScanResult[];\n\n /**\n * Coverage metrics.\n */\n coverage: {\n total: number;\n linkedToFeature: number;\n orphaned: number;\n missingTest: number;\n byType: Record<string, CoverageByType>;\n };\n\n /**\n * Issues found during analysis.\n */\n issues: IntegrityIssue[];\n\n /**\n * Specs not linked to any feature.\n */\n orphanedSpecs: SpecLocation[];\n\n /**\n * Overall health status.\n */\n healthy: boolean;\n}\n\n/**\n * Build a spec key from name and version.\n */\nfunction specKey(key: string, version: string): string {\n return `${key}.v${version}`;\n}\n\n/**\n * Create an empty spec inventory.\n */\nfunction createEmptyInventory(): SpecInventory {\n return {\n operations: new Map(),\n events: new Map(),\n presentations: new Map(),\n capabilities: new Map(),\n workflows: new Map(),\n dataViews: new Map(),\n forms: new Map(),\n migrations: new Map(),\n experiments: new Map(),\n integrations: new Map(),\n knowledge: new Map(),\n telemetry: new Map(),\n appConfigs: new Map(),\n policies: new Map(),\n testSpecs: new Map(),\n };\n}\n\n/**\n * Get the inventory map for a spec type.\n */\nfunction getInventoryMap(\n inventory: SpecInventory,\n specType: AnalyzedSpecType\n): Map<string, SpecLocation> | undefined {\n const typeToMap: Record<string, Map<string, SpecLocation>> = {\n operation: inventory.operations,\n event: inventory.events,\n presentation: inventory.presentations,\n capability: inventory.capabilities,\n workflow: inventory.workflows,\n 'data-view': inventory.dataViews,\n form: inventory.forms,\n migration: inventory.migrations,\n experiment: inventory.experiments,\n integration: inventory.integrations,\n knowledge: inventory.knowledge,\n telemetry: inventory.telemetry,\n 'app-config': inventory.appConfigs,\n policy: inventory.policies,\n 'test-spec': inventory.testSpecs,\n };\n\n return typeToMap[specType];\n}\n\n/**\n * Analyze contract integrity.\n */\nexport async function analyzeIntegrity(\n adapters: { fs: FsAdapter; logger: LoggerAdapter },\n options: IntegrityAnalysisOptions = {}\n): Promise<IntegrityAnalysisResult> {\n const { fs, logger } = adapters;\n\n logger.info('Starting integrity analysis...', { options });\n\n // Discover all spec and feature files\n const files = await fs.glob({ pattern: options.pattern, cwd: options.cwd });\n\n const inventory = createEmptyInventory();\n const features: FeatureScanResult[] = [];\n const issues: IntegrityIssue[] = [];\n\n // Scan all files\n for (const file of files) {\n // Skip directories to avoid EISDIR\n const stats = await fs.stat(file);\n if (stats.isDirectory) continue;\n\n const content = await fs.readFile(file);\n\n if (isFeatureFile(file)) {\n // Scan as feature\n const feature = scanFeatureSource(content, file);\n features.push(feature);\n } else {\n // Scan as spec - use the multi-spec scanner to find ALL specs in the file\n const specs = scanAllSpecsFromSource(content, file);\n\n for (const spec of specs) {\n if (spec.specType !== 'unknown' && spec.specType !== 'feature') {\n const map = getInventoryMap(inventory, spec.specType);\n\n if (map && spec.key && spec.version !== undefined) {\n const key = specKey(spec.key, spec.version);\n map.set(key, {\n key: spec.key,\n version: spec.version,\n file: spec.filePath,\n type: spec.specType,\n stability: spec.stability,\n // Include testTarget for test-spec files\n testTarget: spec.testTarget,\n testCoverage: spec.testCoverage,\n });\n }\n }\n }\n }\n }\n\n // Filter features if featureKey is specified\n const relevantFeatures = options.featureKey\n ? features.filter((f) => f.key === options.featureKey)\n : features;\n\n // Build set of specs referenced by features\n const referencedSpecs = new Set<string>();\n\n for (const feature of relevantFeatures) {\n // Check operation refs\n for (const ref of feature.operations) {\n const key = specKey(ref.key, ref.version);\n referencedSpecs.add(`operation:${key}`);\n\n if (!inventory.operations.has(key)) {\n issues.push({\n severity: 'error',\n type: 'unresolved-ref',\n message: `Operation ${ref.key}.v${ref.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'operation',\n ref,\n });\n }\n }\n\n // Check event refs\n for (const ref of feature.events) {\n const key = specKey(ref.key, ref.version);\n referencedSpecs.add(`event:${key}`);\n\n if (!inventory.events.has(key)) {\n issues.push({\n severity: 'error',\n type: 'unresolved-ref',\n message: `Event ${ref.key}.v${ref.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'event',\n ref,\n });\n }\n }\n\n // Check presentation refs\n for (const ref of feature.presentations) {\n const key = specKey(ref.key, ref.version);\n referencedSpecs.add(`presentation:${key}`);\n\n if (!inventory.presentations.has(key)) {\n issues.push({\n severity: 'error',\n type: 'unresolved-ref',\n message: `Presentation ${ref.key}.v${ref.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'presentation',\n ref,\n });\n }\n }\n\n // Check experiment refs\n for (const ref of feature.experiments) {\n const key = specKey(ref.key, ref.version);\n referencedSpecs.add(`experiment:${key}`);\n\n if (!inventory.experiments.has(key)) {\n issues.push({\n severity: 'error',\n type: 'unresolved-ref',\n message: `Experiment ${ref.key}.v${ref.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'experiment',\n ref,\n });\n }\n }\n\n // Check capability refs (provides and requires)\n for (const ref of feature.capabilities.provides) {\n const key = specKey(ref.key, ref.version);\n referencedSpecs.add(`capability:${key}`);\n\n if (!inventory.capabilities.has(key)) {\n issues.push({\n severity: 'warning',\n type: 'unresolved-ref',\n message: `Provided capability ${ref.key}.v${ref.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'capability',\n ref,\n });\n }\n }\n\n for (const ref of feature.capabilities.requires) {\n const key = specKey(ref.key, ref.version);\n // Required capabilities are expected to be provided by other features\n // We just track the reference\n referencedSpecs.add(`capability:${key}`);\n }\n\n // Check op to presentation links\n for (const link of feature.opToPresentationLinks) {\n const opKey = specKey(link.op.key, link.op.version);\n const presKey = specKey(link.pres.key, link.pres.version);\n\n if (!inventory.operations.has(opKey)) {\n issues.push({\n severity: 'error',\n type: 'broken-link',\n message: `Linked operation ${link.op.key}.v${link.op.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'operation',\n ref: link.op,\n });\n }\n\n if (!inventory.presentations.has(presKey)) {\n issues.push({\n severity: 'error',\n type: 'broken-link',\n message: `Linked presentation ${link.pres.key}.v${link.pres.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'presentation',\n ref: link.pres,\n });\n }\n }\n\n // Check presentations targets\n if (feature.presentationsTargets) {\n for (const pt of feature.presentationsTargets) {\n const presKey = specKey(pt.key, pt.version);\n if (!inventory.presentations.has(presKey)) {\n issues.push({\n severity: 'error',\n type: 'broken-link',\n message: `Targeted presentation ${pt.key}.v${pt.version} not found`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'presentation',\n ref: { key: pt.key, version: pt.version },\n });\n }\n }\n }\n }\n\n // Find orphaned specs (not referenced by any feature)\n const orphanedSpecs: SpecLocation[] = [];\n const typesThatCanBeOrphaned: AnalyzedSpecType[] = [\n 'operation',\n 'event',\n 'presentation',\n 'experiment',\n ];\n\n for (const type of typesThatCanBeOrphaned) {\n const map = getInventoryMap(inventory, type);\n if (!map) continue;\n\n for (const [key, location] of map) {\n if (!referencedSpecs.has(`${type}:${key}`)) {\n orphanedSpecs.push(location);\n issues.push({\n severity: 'warning',\n type: 'orphaned',\n message: `${type} ${location.key}.v${location.version} is not linked to any feature`,\n file: location.file,\n specKey: location.key,\n specType: location.type,\n });\n }\n }\n }\n\n // Build test-to-target index for contract-first test discovery\n const testSpecScans: TestSpecScanResult[] = [];\n for (const [, location] of inventory.testSpecs) {\n testSpecScans.push({\n filePath: location.file,\n specType: 'test-spec',\n key: location.key,\n version: location.version,\n testTarget: location.testTarget,\n hasMeta: true,\n hasIo: false,\n hasPolicy: false,\n hasPayload: false,\n hasContent: false,\n hasDefinition: false,\n });\n }\n const testIndex = buildTestIndex(testSpecScans, inventory);\n\n // Check test coverage for linked operations\n for (const feature of relevantFeatures) {\n for (const link of feature.opToPresentationLinks) {\n const opKey = specKey(link.op.key, link.op.version);\n const tests = testIndex.targetToTests.get(opKey);\n\n let hasSuccess = false;\n let hasError = false;\n\n if (tests) {\n for (const testKey of tests) {\n const testSpec = inventory.testSpecs.get(testKey);\n if (testSpec?.testCoverage) {\n if (testSpec.testCoverage.hasSuccess) hasSuccess = true;\n if (testSpec.testCoverage.hasError) hasError = true;\n }\n }\n }\n\n if (!tests || !hasSuccess || !hasError) {\n const missing: string[] = [];\n if (!hasSuccess) missing.push('success scenario');\n if (!hasError) missing.push('error scenario');\n\n issues.push({\n severity: 'error',\n type: 'missing-test-coverage',\n message: `Operation ${link.op.key}.v${link.op.version} linked to presentation requires tests covering: ${missing.join(', ')}`,\n file: feature.filePath,\n featureKey: feature.key,\n specType: 'operation',\n ref: link.op,\n });\n }\n }\n }\n\n // Calculate coverage metrics\n const coverageByType: Record<string, CoverageByType> = {};\n let totalMissingTests = 0;\n\n for (const type of typesThatCanBeOrphaned) {\n const map = getInventoryMap(inventory, type);\n if (!map) continue;\n\n const total = map.size;\n let covered = 0;\n let missingTest = 0;\n\n const requireTest = options.requireTestsFor?.includes(type);\n\n for (const [key, location] of map) {\n if (referencedSpecs.has(`${type}:${key}`)) {\n covered++;\n }\n\n if (requireTest) {\n const targetKey = specKey(location.key, location.version);\n\n // Primary: Check if any TestSpec targets this spec via TestSpec.target\n const hasTargetedTest = testIndex.targetToTests.has(targetKey);\n\n // Backwards compatibility: Also check naming convention ({specKey}.test)\n const conventionTestKey = `${location.key}.test`;\n const hasConventionTest = inventory.testSpecs.has(\n specKey(conventionTestKey, location.version)\n );\n\n if (!hasTargetedTest && !hasConventionTest) {\n missingTest++;\n totalMissingTests++;\n issues.push({\n severity: 'warning',\n type: 'missing-test',\n message: `${type} ${location.key}.v${location.version} is missing a test spec (no TestSpec.target or naming convention match)`,\n file: location.file,\n specKey: location.key,\n specType: location.type,\n });\n }\n }\n }\n\n coverageByType[type] = {\n total,\n covered,\n orphaned: total - covered,\n missingTest: requireTest ? missingTest : 0,\n };\n }\n\n const totalSpecs = Object.values(coverageByType).reduce(\n (sum, c) => sum + c.total,\n 0\n );\n const coveredSpecs = Object.values(coverageByType).reduce(\n (sum, c) => sum + c.covered,\n 0\n );\n\n const coverage = {\n total: totalSpecs,\n linkedToFeature: coveredSpecs,\n orphaned: totalSpecs - coveredSpecs,\n missingTest: totalMissingTests,\n byType: coverageByType,\n };\n\n // Determine overall health\n const hasErrors = issues.some((i) => i.severity === 'error');\n const healthy = !hasErrors;\n\n logger.info('Integrity analysis complete', {\n features: features.length,\n totalSpecs,\n orphaned: orphanedSpecs.length,\n issues: issues.length,\n healthy,\n });\n\n return {\n inventory,\n features: relevantFeatures,\n coverage,\n issues,\n orphanedSpecs,\n healthy,\n };\n}\n\n/**\n * Get all specs from inventory as a flat list.\n */\nexport function getAllSpecs(inventory: SpecInventory): SpecLocation[] {\n const all: SpecLocation[] = [];\n\n for (const map of Object.values(inventory)) {\n for (const spec of map.values()) {\n all.push(spec);\n }\n }\n\n return all;\n}\n\n/**\n * Filter issues by type.\n */\nexport function filterIssuesByType(\n issues: IntegrityIssue[],\n type: IntegrityIssue['type']\n): IntegrityIssue[] {\n return issues.filter((i) => i.type === type);\n}\n\n/**\n * Filter issues by severity.\n */\nexport function filterIssuesBySeverity(\n issues: IntegrityIssue[],\n severity: IntegrityIssue['severity']\n): IntegrityIssue[] {\n return issues.filter((i) => i.severity === severity);\n}\n"],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- import { FsAdapter } from "../ports/fs.mjs";
2
- import { LoggerAdapter } from "../ports/logger.mjs";
3
- import { ExampleScanResult, FeatureScanResult, SpecScanResult } from "@contractspec/module.workspace";
4
-
5
- //#region src/services/layer-discovery.d.ts
6
- /**
7
- * Location of a layer file in the codebase.
8
- */
9
- interface LayerLocation {
10
- key: string;
11
- version?: string;
12
- file: string;
13
- type: 'feature' | 'example' | 'app-config' | 'workspace-config';
14
- }
15
- /**
16
- * Inventory of all discovered layers.
17
- */
18
- interface LayerInventory {
19
- /** Discovered features */
20
- features: Map<string, FeatureScanResult>;
21
- /** Discovered examples */
22
- examples: Map<string, ExampleScanResult>;
23
- /** Discovered app configs */
24
- appConfigs: Map<string, SpecScanResult>;
25
- /** Discovered workspace configs */
26
- workspaceConfigs: Map<string, WorkspaceConfigInfo>;
27
- }
28
- /**
29
- * Workspace config information.
30
- */
31
- interface WorkspaceConfigInfo {
32
- file: string;
33
- config: Record<string, unknown>;
34
- valid: boolean;
35
- errors: string[];
36
- }
37
- /**
38
- * Options for layer discovery.
39
- */
40
- interface LayerDiscoveryOptions {
41
- /** Glob pattern for file discovery */
42
- pattern?: string;
43
- /** Scan all packages in monorepo */
44
- all?: boolean;
45
- }
46
- /**
47
- * Result of layer discovery.
48
- */
49
- interface LayerDiscoveryResult {
50
- inventory: LayerInventory;
51
- stats: {
52
- features: number;
53
- examples: number;
54
- appConfigs: number;
55
- workspaceConfigs: number;
56
- total: number;
57
- };
58
- }
59
- /**
60
- * Create an empty layer inventory.
61
- */
62
- declare function createEmptyLayerInventory(): LayerInventory;
63
- /**
64
- * Discover all contract layers in a workspace.
65
- */
66
- declare function discoverLayers(adapters: {
67
- fs: FsAdapter;
68
- logger: LoggerAdapter;
69
- }, options?: LayerDiscoveryOptions): Promise<LayerDiscoveryResult>;
70
- /**
71
- * Get all layers as a flat list with locations.
72
- */
73
- declare function getAllLayerLocations(inventory: LayerInventory): LayerLocation[];
74
- //#endregion
75
- export { LayerDiscoveryOptions, LayerDiscoveryResult, LayerInventory, LayerLocation, WorkspaceConfigInfo, createEmptyLayerInventory, discoverLayers, getAllLayerLocations };
76
- //# sourceMappingURL=layer-discovery.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layer-discovery.d.mts","names":[],"sources":["../../src/services/layer-discovery.ts"],"mappings":";;;;;;;;UA0BiB,aAAA;EACf,GAAA;EACA,OAAA;EACA,IAAA;EACA,IAAA;AAAA;;;;UAMe,cAAA;EAQG;EANlB,QAAA,EAAU,GAAA,SAAY,iBAAA;EAMD;EAJrB,QAAA,EAAU,GAAA,SAAY,iBAAA;EAFZ;EAIV,UAAA,EAAY,GAAA,SAAY,cAAA;EAFxB;EAIA,gBAAA,EAAkB,GAAA,SAAY,mBAAA;AAAA;;;;UAMf,mBAAA;EACf,IAAA;EACA,MAAA,EAAQ,MAAA;EACR,KAAA;EACA,MAAA;AAAA;;;;UAMe,qBAAA;EARf;EAUA,OAAA;EATA;EAWA,GAAA;AAAA;;AAJF;;UAUiB,oBAAA;EACf,SAAA,EAAW,cAAA;EACX,KAAA;IACE,QAAA;IACA,QAAA;IACA,UAAA;IACA,gBAAA;IACA,KAAA;EAAA;AAAA;;;;iBAOY,yBAAA,CAAA,GAA6B,cAAA;;;;iBAYvB,cAAA,CACpB,QAAA;EAAY,EAAA,EAAI,SAAA;EAAW,MAAA,EAAQ,aAAA;AAAA,GACnC,OAAA,GAAS,qBAAA,GACR,OAAA,CAAQ,oBAAA;;AAHX;;iBAuGgB,oBAAA,CACd,SAAA,EAAW,cAAA,GACV,aAAA"}
@@ -1,121 +0,0 @@
1
- import { isExampleFile, isFeatureFile, scanAllSpecsFromSource, scanExampleSource, scanFeatureSource } from "@contractspec/module.workspace";
2
-
3
- //#region src/services/layer-discovery.ts
4
- /**
5
- * Layer discovery service.
6
- *
7
- * Discovers all contract layer files in a workspace:
8
- * - Features (*.feature.ts)
9
- * - Examples (example.ts, *.example.ts)
10
- * - App Configs (*.app-config.ts, *.blueprint.ts)
11
- * - Workspace Config (.contractsrc.json)
12
- */
13
- /**
14
- * Create an empty layer inventory.
15
- */
16
- function createEmptyLayerInventory() {
17
- return {
18
- features: /* @__PURE__ */ new Map(),
19
- examples: /* @__PURE__ */ new Map(),
20
- appConfigs: /* @__PURE__ */ new Map(),
21
- workspaceConfigs: /* @__PURE__ */ new Map()
22
- };
23
- }
24
- /**
25
- * Discover all contract layers in a workspace.
26
- */
27
- async function discoverLayers(adapters, options = {}) {
28
- const { fs, logger } = adapters;
29
- const inventory = createEmptyLayerInventory();
30
- const pattern = options.pattern ?? "**/*.{ts,tsx}";
31
- logger.info("Scanning for contract layer files...");
32
- const files = await fs.glob({ pattern });
33
- for (const file of files) {
34
- if (file.includes("node_modules") || file.includes("/dist/")) continue;
35
- try {
36
- const code = await fs.readFile(file);
37
- if (isFeatureFile(file)) {
38
- const result = scanFeatureSource(code, file);
39
- inventory.features.set(result.key, result);
40
- continue;
41
- }
42
- if (isExampleFile(file)) {
43
- const result = scanExampleSource(code, file);
44
- inventory.examples.set(result.key, result);
45
- continue;
46
- }
47
- if (file.includes(".app-config.") || file.includes(".blueprint.")) {
48
- const specs = scanAllSpecsFromSource(code, file);
49
- for (const spec of specs) if (spec.specType === "app-config" && spec.key) inventory.appConfigs.set(spec.key, spec);
50
- }
51
- } catch {}
52
- }
53
- try {
54
- const configFiles = await fs.glob({ pattern: "**/.contractsrc.json" });
55
- for (const configFile of configFiles) {
56
- if (configFile.includes("node_modules")) continue;
57
- try {
58
- const content = await fs.readFile(configFile);
59
- const config = JSON.parse(content);
60
- inventory.workspaceConfigs.set(configFile, {
61
- file: configFile,
62
- config,
63
- valid: true,
64
- errors: []
65
- });
66
- } catch (e) {
67
- inventory.workspaceConfigs.set(configFile, {
68
- file: configFile,
69
- config: {},
70
- valid: false,
71
- errors: [e instanceof Error ? e.message : "Parse error"]
72
- });
73
- }
74
- }
75
- } catch {}
76
- const stats = {
77
- features: inventory.features.size,
78
- examples: inventory.examples.size,
79
- appConfigs: inventory.appConfigs.size,
80
- workspaceConfigs: inventory.workspaceConfigs.size,
81
- total: inventory.features.size + inventory.examples.size + inventory.appConfigs.size + inventory.workspaceConfigs.size
82
- };
83
- logger.info(`Discovered ${stats.features} features, ${stats.examples} examples, ${stats.appConfigs} app configs, ${stats.workspaceConfigs} workspace configs`);
84
- return {
85
- inventory,
86
- stats
87
- };
88
- }
89
- /**
90
- * Get all layers as a flat list with locations.
91
- */
92
- function getAllLayerLocations(inventory) {
93
- const locations = [];
94
- for (const [key, feature] of inventory.features) locations.push({
95
- key,
96
- file: feature.filePath,
97
- type: "feature"
98
- });
99
- for (const [key, example] of inventory.examples) locations.push({
100
- key,
101
- version: example.version,
102
- file: example.filePath,
103
- type: "example"
104
- });
105
- for (const [key, appConfig] of inventory.appConfigs) locations.push({
106
- key,
107
- version: appConfig.version,
108
- file: appConfig.filePath,
109
- type: "app-config"
110
- });
111
- for (const [, config] of inventory.workspaceConfigs) locations.push({
112
- key: config.file,
113
- file: config.file,
114
- type: "workspace-config"
115
- });
116
- return locations;
117
- }
118
-
119
- //#endregion
120
- export { createEmptyLayerInventory, discoverLayers, getAllLayerLocations };
121
- //# sourceMappingURL=layer-discovery.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layer-discovery.mjs","names":[],"sources":["../../src/services/layer-discovery.ts"],"sourcesContent":["/**\n * Layer discovery service.\n *\n * Discovers all contract layer files in a workspace:\n * - Features (*.feature.ts)\n * - Examples (example.ts, *.example.ts)\n * - App Configs (*.app-config.ts, *.blueprint.ts)\n * - Workspace Config (.contractsrc.json)\n */\n\nimport {\n isFeatureFile,\n scanFeatureSource,\n isExampleFile,\n scanExampleSource,\n type FeatureScanResult,\n type ExampleScanResult,\n type SpecScanResult,\n scanAllSpecsFromSource,\n} from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../ports/fs';\nimport type { LoggerAdapter } from '../ports/logger';\n\n/**\n * Location of a layer file in the codebase.\n */\nexport interface LayerLocation {\n key: string;\n version?: string;\n file: string;\n type: 'feature' | 'example' | 'app-config' | 'workspace-config';\n}\n\n/**\n * Inventory of all discovered layers.\n */\nexport interface LayerInventory {\n /** Discovered features */\n features: Map<string, FeatureScanResult>;\n /** Discovered examples */\n examples: Map<string, ExampleScanResult>;\n /** Discovered app configs */\n appConfigs: Map<string, SpecScanResult>;\n /** Discovered workspace configs */\n workspaceConfigs: Map<string, WorkspaceConfigInfo>;\n}\n\n/**\n * Workspace config information.\n */\nexport interface WorkspaceConfigInfo {\n file: string;\n config: Record<string, unknown>;\n valid: boolean;\n errors: string[];\n}\n\n/**\n * Options for layer discovery.\n */\nexport interface LayerDiscoveryOptions {\n /** Glob pattern for file discovery */\n pattern?: string;\n /** Scan all packages in monorepo */\n all?: boolean;\n}\n\n/**\n * Result of layer discovery.\n */\nexport interface LayerDiscoveryResult {\n inventory: LayerInventory;\n stats: {\n features: number;\n examples: number;\n appConfigs: number;\n workspaceConfigs: number;\n total: number;\n };\n}\n\n/**\n * Create an empty layer inventory.\n */\nexport function createEmptyLayerInventory(): LayerInventory {\n return {\n features: new Map(),\n examples: new Map(),\n appConfigs: new Map(),\n workspaceConfigs: new Map(),\n };\n}\n\n/**\n * Discover all contract layers in a workspace.\n */\nexport async function discoverLayers(\n adapters: { fs: FsAdapter; logger: LoggerAdapter },\n options: LayerDiscoveryOptions = {}\n): Promise<LayerDiscoveryResult> {\n const { fs, logger } = adapters;\n const inventory = createEmptyLayerInventory();\n\n // Default pattern for spec files\n const pattern = options.pattern ?? '**/*.{ts,tsx}';\n\n // Find all TypeScript files\n logger.info('Scanning for contract layer files...');\n const files = await fs.glob({ pattern });\n\n // Process each file\n for (const file of files) {\n // Skip node_modules and dist\n if (file.includes('node_modules') || file.includes('/dist/')) {\n continue;\n }\n\n try {\n const code = await fs.readFile(file);\n\n // Check for feature files\n if (isFeatureFile(file)) {\n const result = scanFeatureSource(code, file);\n inventory.features.set(result.key, result);\n continue;\n }\n\n // Check for example files\n if (isExampleFile(file)) {\n const result = scanExampleSource(code, file);\n inventory.examples.set(result.key, result);\n continue;\n }\n\n // Check for app-config files\n if (file.includes('.app-config.') || file.includes('.blueprint.')) {\n const specs = scanAllSpecsFromSource(code, file);\n for (const spec of specs) {\n if (spec.specType === 'app-config' && spec.key) {\n inventory.appConfigs.set(spec.key, spec);\n }\n }\n }\n } catch {\n // Skip files that can't be read\n }\n }\n\n // Find workspace config files\n try {\n const configFiles = await fs.glob({ pattern: '**/.contractsrc.json' });\n for (const configFile of configFiles) {\n if (configFile.includes('node_modules')) continue;\n\n try {\n const content = await fs.readFile(configFile);\n const config = JSON.parse(content) as Record<string, unknown>;\n inventory.workspaceConfigs.set(configFile, {\n file: configFile,\n config,\n valid: true,\n errors: [],\n });\n } catch (e) {\n inventory.workspaceConfigs.set(configFile, {\n file: configFile,\n config: {},\n valid: false,\n errors: [e instanceof Error ? e.message : 'Parse error'],\n });\n }\n }\n } catch {\n // Glob failed, no config files found\n }\n\n const stats = {\n features: inventory.features.size,\n examples: inventory.examples.size,\n appConfigs: inventory.appConfigs.size,\n workspaceConfigs: inventory.workspaceConfigs.size,\n total:\n inventory.features.size +\n inventory.examples.size +\n inventory.appConfigs.size +\n inventory.workspaceConfigs.size,\n };\n\n logger.info(\n `Discovered ${stats.features} features, ${stats.examples} examples, ` +\n `${stats.appConfigs} app configs, ${stats.workspaceConfigs} workspace configs`\n );\n\n return { inventory, stats };\n}\n\n/**\n * Get all layers as a flat list with locations.\n */\nexport function getAllLayerLocations(\n inventory: LayerInventory\n): LayerLocation[] {\n const locations: LayerLocation[] = [];\n\n for (const [key, feature] of inventory.features) {\n locations.push({\n key,\n file: feature.filePath,\n type: 'feature',\n });\n }\n\n for (const [key, example] of inventory.examples) {\n locations.push({\n key,\n version: example.version,\n file: example.filePath,\n type: 'example',\n });\n }\n\n for (const [key, appConfig] of inventory.appConfigs) {\n locations.push({\n key,\n version: appConfig.version,\n file: appConfig.filePath,\n type: 'app-config',\n });\n }\n\n for (const [, config] of inventory.workspaceConfigs) {\n locations.push({\n key: config.file,\n file: config.file,\n type: 'workspace-config',\n });\n }\n\n return locations;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoFA,SAAgB,4BAA4C;AAC1D,QAAO;EACL,0BAAU,IAAI,KAAK;EACnB,0BAAU,IAAI,KAAK;EACnB,4BAAY,IAAI,KAAK;EACrB,kCAAkB,IAAI,KAAK;EAC5B;;;;;AAMH,eAAsB,eACpB,UACA,UAAiC,EAAE,EACJ;CAC/B,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,YAAY,2BAA2B;CAG7C,MAAM,UAAU,QAAQ,WAAW;AAGnC,QAAO,KAAK,uCAAuC;CACnD,MAAM,QAAQ,MAAM,GAAG,KAAK,EAAE,SAAS,CAAC;AAGxC,MAAK,MAAM,QAAQ,OAAO;AAExB,MAAI,KAAK,SAAS,eAAe,IAAI,KAAK,SAAS,SAAS,CAC1D;AAGF,MAAI;GACF,MAAM,OAAO,MAAM,GAAG,SAAS,KAAK;AAGpC,OAAI,cAAc,KAAK,EAAE;IACvB,MAAM,SAAS,kBAAkB,MAAM,KAAK;AAC5C,cAAU,SAAS,IAAI,OAAO,KAAK,OAAO;AAC1C;;AAIF,OAAI,cAAc,KAAK,EAAE;IACvB,MAAM,SAAS,kBAAkB,MAAM,KAAK;AAC5C,cAAU,SAAS,IAAI,OAAO,KAAK,OAAO;AAC1C;;AAIF,OAAI,KAAK,SAAS,eAAe,IAAI,KAAK,SAAS,cAAc,EAAE;IACjE,MAAM,QAAQ,uBAAuB,MAAM,KAAK;AAChD,SAAK,MAAM,QAAQ,MACjB,KAAI,KAAK,aAAa,gBAAgB,KAAK,IACzC,WAAU,WAAW,IAAI,KAAK,KAAK,KAAK;;UAIxC;;AAMV,KAAI;EACF,MAAM,cAAc,MAAM,GAAG,KAAK,EAAE,SAAS,wBAAwB,CAAC;AACtE,OAAK,MAAM,cAAc,aAAa;AACpC,OAAI,WAAW,SAAS,eAAe,CAAE;AAEzC,OAAI;IACF,MAAM,UAAU,MAAM,GAAG,SAAS,WAAW;IAC7C,MAAM,SAAS,KAAK,MAAM,QAAQ;AAClC,cAAU,iBAAiB,IAAI,YAAY;KACzC,MAAM;KACN;KACA,OAAO;KACP,QAAQ,EAAE;KACX,CAAC;YACK,GAAG;AACV,cAAU,iBAAiB,IAAI,YAAY;KACzC,MAAM;KACN,QAAQ,EAAE;KACV,OAAO;KACP,QAAQ,CAAC,aAAa,QAAQ,EAAE,UAAU,cAAc;KACzD,CAAC;;;SAGA;CAIR,MAAM,QAAQ;EACZ,UAAU,UAAU,SAAS;EAC7B,UAAU,UAAU,SAAS;EAC7B,YAAY,UAAU,WAAW;EACjC,kBAAkB,UAAU,iBAAiB;EAC7C,OACE,UAAU,SAAS,OACnB,UAAU,SAAS,OACnB,UAAU,WAAW,OACrB,UAAU,iBAAiB;EAC9B;AAED,QAAO,KACL,cAAc,MAAM,SAAS,aAAa,MAAM,SAAS,aACpD,MAAM,WAAW,gBAAgB,MAAM,iBAAiB,oBAC9D;AAED,QAAO;EAAE;EAAW;EAAO;;;;;AAM7B,SAAgB,qBACd,WACiB;CACjB,MAAM,YAA6B,EAAE;AAErC,MAAK,MAAM,CAAC,KAAK,YAAY,UAAU,SACrC,WAAU,KAAK;EACb;EACA,MAAM,QAAQ;EACd,MAAM;EACP,CAAC;AAGJ,MAAK,MAAM,CAAC,KAAK,YAAY,UAAU,SACrC,WAAU,KAAK;EACb;EACA,SAAS,QAAQ;EACjB,MAAM,QAAQ;EACd,MAAM;EACP,CAAC;AAGJ,MAAK,MAAM,CAAC,KAAK,cAAc,UAAU,WACvC,WAAU,KAAK;EACb;EACA,SAAS,UAAU;EACnB,MAAM,UAAU;EAChB,MAAM;EACP,CAAC;AAGJ,MAAK,MAAM,GAAG,WAAW,UAAU,iBACjC,WAAU,KAAK;EACb,KAAK,OAAO;EACZ,MAAM,OAAO;EACb,MAAM;EACP,CAAC;AAGJ,QAAO"}
@@ -1,37 +0,0 @@
1
- import { FsAdapter } from "../ports/fs.mjs";
2
- import { SpecScanResult, scanSpecSource } from "@contractspec/module.workspace";
3
- import { ResolvedContractsrcConfig } from "@contractspec/lib.contracts";
4
- import { MaybeArray } from "@contractspec/lib.utils-typescript";
5
-
6
- //#region src/services/list.d.ts
7
- /**
8
- * Options for listing specs.
9
- */
10
- interface ListSpecsOptions {
11
- /**
12
- * File pattern to search.
13
- */
14
- pattern?: string;
15
- /**
16
- * Filter by spec type.
17
- */
18
- type?: MaybeArray<string>;
19
- /**
20
- * Workspace configuration
21
- */
22
- config?: ResolvedContractsrcConfig;
23
- }
24
- /**
25
- * List all spec files in the workspace.
26
- */
27
- declare function listSpecs(adapters: {
28
- fs: FsAdapter;
29
- scan?: typeof scanSpecSource;
30
- }, options?: ListSpecsOptions): Promise<SpecScanResult[]>;
31
- /**
32
- * Group specs by type.
33
- */
34
- declare function groupSpecsByType(specs: SpecScanResult[]): Map<string, SpecScanResult[]>;
35
- //#endregion
36
- export { ListSpecsOptions, groupSpecsByType, listSpecs };
37
- //# sourceMappingURL=list.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.mts","names":[],"sources":["../../src/services/list.ts"],"mappings":";;;;;;;;;UAiBiB,gBAAA;EASf;;;EALA,OAAA;EAUkC;;AAMpC;EAXE,IAAA,GAAO,UAAA;;;;EAKP,MAAA,GAAS,yBAAA;AAAA;;;;iBAMW,SAAA,CACpB,QAAA;EAAY,EAAA,EAAI,SAAA;EAAW,IAAA,UAAc,cAAA;AAAA,GACzC,OAAA,GAAS,gBAAA,GACR,OAAA,CAAQ,cAAA;;;;iBA8DK,gBAAA,CACd,KAAA,EAAO,cAAA,KACN,GAAA,SAAY,cAAA"}