@contractspec/bundle.workspace 1.46.1 → 1.47.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 (1217) hide show
  1. package/dist/_virtual/rolldown_runtime.mjs +20 -0
  2. package/dist/adapters/ai.d.mts +12 -0
  3. package/dist/adapters/ai.d.mts.map +1 -0
  4. package/dist/adapters/ai.mjs +83 -0
  5. package/dist/adapters/ai.mjs.map +1 -0
  6. package/dist/adapters/factory.d.mts +29 -0
  7. package/dist/adapters/factory.d.mts.map +1 -0
  8. package/dist/adapters/factory.mjs +37 -0
  9. package/dist/adapters/factory.mjs.map +1 -0
  10. package/dist/adapters/fs.d.mts +12 -0
  11. package/dist/adapters/fs.d.mts.map +1 -0
  12. package/dist/adapters/fs.mjs +133 -0
  13. package/dist/adapters/fs.mjs.map +1 -0
  14. package/dist/adapters/git.d.mts +11 -0
  15. package/dist/adapters/git.d.mts.map +1 -0
  16. package/dist/adapters/git.mjs +84 -0
  17. package/dist/adapters/git.mjs.map +1 -0
  18. package/dist/adapters/index.d.mts +7 -0
  19. package/dist/adapters/index.mjs +9 -0
  20. package/dist/adapters/logger.d.mts +18 -0
  21. package/dist/adapters/logger.d.mts.map +1 -0
  22. package/dist/adapters/logger.mjs +81 -0
  23. package/dist/adapters/logger.mjs.map +1 -0
  24. package/dist/adapters/watcher.d.mts +11 -0
  25. package/dist/adapters/watcher.d.mts.map +1 -0
  26. package/dist/adapters/watcher.mjs +74 -0
  27. package/dist/adapters/watcher.mjs.map +1 -0
  28. package/dist/adapters/workspace.d.mts +148 -0
  29. package/dist/adapters/workspace.d.mts.map +1 -0
  30. package/dist/adapters/workspace.mjs +275 -0
  31. package/dist/adapters/workspace.mjs.map +1 -0
  32. package/dist/ai/agents/claude-code-agent.d.mts +22 -0
  33. package/dist/ai/agents/claude-code-agent.d.mts.map +1 -0
  34. package/dist/ai/agents/claude-code-agent.mjs +182 -0
  35. package/dist/ai/agents/claude-code-agent.mjs.map +1 -0
  36. package/dist/ai/agents/cursor-agent.d.mts +68 -0
  37. package/dist/ai/agents/cursor-agent.d.mts.map +1 -0
  38. package/dist/ai/agents/cursor-agent.mjs +436 -0
  39. package/dist/ai/agents/cursor-agent.mjs.map +1 -0
  40. package/dist/ai/agents/index.mjs +7 -0
  41. package/dist/ai/agents/openai-codex-agent.d.mts +22 -0
  42. package/dist/ai/agents/openai-codex-agent.d.mts.map +1 -0
  43. package/dist/ai/agents/openai-codex-agent.mjs +167 -0
  44. package/dist/ai/agents/openai-codex-agent.mjs.map +1 -0
  45. package/dist/ai/agents/orchestrator.d.mts +50 -0
  46. package/dist/ai/agents/orchestrator.d.mts.map +1 -0
  47. package/dist/ai/agents/orchestrator.mjs +143 -0
  48. package/dist/ai/agents/orchestrator.mjs.map +1 -0
  49. package/dist/ai/agents/simple-agent.d.mts +17 -0
  50. package/dist/ai/agents/simple-agent.d.mts.map +1 -0
  51. package/dist/ai/agents/simple-agent.mjs +92 -0
  52. package/dist/ai/agents/simple-agent.mjs.map +1 -0
  53. package/dist/ai/agents/types.d.mts +36 -0
  54. package/dist/ai/agents/types.d.mts.map +1 -0
  55. package/dist/ai/client.d.mts +97 -0
  56. package/dist/ai/client.d.mts.map +1 -0
  57. package/dist/ai/client.mjs +189 -0
  58. package/dist/ai/client.mjs.map +1 -0
  59. package/dist/ai/index.d.mts +9 -0
  60. package/dist/ai/index.mjs +11 -0
  61. package/dist/ai/prompts/code-generation.d.mts +26 -0
  62. package/dist/ai/prompts/code-generation.d.mts.map +1 -0
  63. package/dist/ai/prompts/code-generation.mjs +143 -0
  64. package/dist/ai/prompts/code-generation.mjs.map +1 -0
  65. package/dist/ai/prompts/index.d.mts +10 -0
  66. package/dist/ai/prompts/index.d.mts.map +1 -0
  67. package/dist/ai/prompts/index.mjs +13 -0
  68. package/dist/ai/prompts/index.mjs.map +1 -0
  69. package/dist/ai/prompts/spec-creation.d.mts +29 -0
  70. package/dist/ai/prompts/spec-creation.d.mts.map +1 -0
  71. package/dist/ai/prompts/spec-creation.mjs +111 -0
  72. package/dist/ai/prompts/spec-creation.mjs.map +1 -0
  73. package/dist/ai/providers.d.mts +29 -0
  74. package/dist/ai/providers.d.mts.map +1 -0
  75. package/dist/ai/providers.mjs +39 -0
  76. package/dist/ai/providers.mjs.map +1 -0
  77. package/dist/formatters/index.d.mts +11 -0
  78. package/dist/formatters/index.d.mts.map +1 -0
  79. package/dist/formatters/index.mjs +17 -0
  80. package/dist/formatters/index.mjs.map +1 -0
  81. package/dist/formatters/json.d.mts +56 -0
  82. package/dist/formatters/json.d.mts.map +1 -0
  83. package/dist/formatters/json.mjs +43 -0
  84. package/dist/formatters/json.mjs.map +1 -0
  85. package/dist/formatters/sarif.d.mts +101 -0
  86. package/dist/formatters/sarif.d.mts.map +1 -0
  87. package/dist/formatters/sarif.mjs +163 -0
  88. package/dist/formatters/sarif.mjs.map +1 -0
  89. package/dist/formatters/text.d.mts +35 -0
  90. package/dist/formatters/text.d.mts.map +1 -0
  91. package/dist/formatters/text.mjs +209 -0
  92. package/dist/formatters/text.mjs.map +1 -0
  93. package/dist/index.d.mts +125 -0
  94. package/dist/index.mjs +110 -0
  95. package/dist/ports/ai.d.mts +59 -0
  96. package/dist/ports/ai.d.mts.map +1 -0
  97. package/dist/ports/fs.d.mts +81 -0
  98. package/dist/ports/fs.d.mts.map +1 -0
  99. package/dist/ports/git.d.mts +46 -0
  100. package/dist/ports/git.d.mts.map +1 -0
  101. package/dist/ports/index.d.mts +6 -0
  102. package/dist/ports/logger.d.mts +88 -0
  103. package/dist/ports/logger.d.mts.map +1 -0
  104. package/dist/ports/rulesync.d.mts +38 -0
  105. package/dist/ports/rulesync.d.mts.map +1 -0
  106. package/dist/ports/watcher.d.mts +52 -0
  107. package/dist/ports/watcher.d.mts.map +1 -0
  108. package/dist/services/agent-guide/adapters/claude-code.d.mts +35 -0
  109. package/dist/services/agent-guide/adapters/claude-code.d.mts.map +1 -0
  110. package/dist/services/agent-guide/adapters/claude-code.mjs +144 -0
  111. package/dist/services/agent-guide/adapters/claude-code.mjs.map +1 -0
  112. package/dist/services/agent-guide/adapters/cursor-cli.d.mts +39 -0
  113. package/dist/services/agent-guide/adapters/cursor-cli.d.mts.map +1 -0
  114. package/dist/services/agent-guide/adapters/cursor-cli.mjs +135 -0
  115. package/dist/services/agent-guide/adapters/cursor-cli.mjs.map +1 -0
  116. package/dist/services/agent-guide/adapters/generic-mcp.d.mts +53 -0
  117. package/dist/services/agent-guide/adapters/generic-mcp.d.mts.map +1 -0
  118. package/dist/services/agent-guide/adapters/generic-mcp.mjs +159 -0
  119. package/dist/services/agent-guide/adapters/generic-mcp.mjs.map +1 -0
  120. package/dist/services/agent-guide/adapters/index.d.mts +23 -0
  121. package/dist/services/agent-guide/adapters/index.d.mts.map +1 -0
  122. package/dist/services/agent-guide/adapters/index.mjs +31 -0
  123. package/dist/services/agent-guide/adapters/index.mjs.map +1 -0
  124. package/dist/services/agent-guide/agent-guide-service.d.mts +56 -0
  125. package/dist/services/agent-guide/agent-guide-service.d.mts.map +1 -0
  126. package/dist/services/agent-guide/agent-guide-service.mjs +147 -0
  127. package/dist/services/agent-guide/agent-guide-service.mjs.map +1 -0
  128. package/dist/services/agent-guide/index.d.mts +6 -0
  129. package/dist/services/agent-guide/index.mjs +7 -0
  130. package/dist/services/agent-guide/types.d.mts +58 -0
  131. package/dist/services/agent-guide/types.d.mts.map +1 -0
  132. package/dist/services/build.d.mts +61 -0
  133. package/dist/services/build.d.mts.map +1 -0
  134. package/dist/services/build.mjs +151 -0
  135. package/dist/services/build.mjs.map +1 -0
  136. package/dist/services/ci-check/checks/coverage.mjs +77 -0
  137. package/dist/services/ci-check/checks/coverage.mjs.map +1 -0
  138. package/dist/services/ci-check/checks/deps.mjs +32 -0
  139. package/dist/services/ci-check/checks/deps.mjs.map +1 -0
  140. package/dist/services/ci-check/checks/doctor.mjs +38 -0
  141. package/dist/services/ci-check/checks/doctor.mjs.map +1 -0
  142. package/dist/services/ci-check/checks/drift.mjs +40 -0
  143. package/dist/services/ci-check/checks/drift.mjs.map +1 -0
  144. package/dist/services/ci-check/checks/handlers.mjs +38 -0
  145. package/dist/services/ci-check/checks/handlers.mjs.map +1 -0
  146. package/dist/services/ci-check/checks/implementation.mjs +73 -0
  147. package/dist/services/ci-check/checks/implementation.mjs.map +1 -0
  148. package/dist/services/ci-check/checks/index.mjs +13 -0
  149. package/dist/services/ci-check/checks/integrity.mjs +31 -0
  150. package/dist/services/ci-check/checks/integrity.mjs.map +1 -0
  151. package/dist/services/ci-check/checks/layers.mjs +66 -0
  152. package/dist/services/ci-check/checks/layers.mjs.map +1 -0
  153. package/dist/services/ci-check/checks/structure.mjs +35 -0
  154. package/dist/services/ci-check/checks/structure.mjs.map +1 -0
  155. package/dist/services/ci-check/checks/test-refs.mjs +63 -0
  156. package/dist/services/ci-check/checks/test-refs.mjs.map +1 -0
  157. package/dist/services/ci-check/checks/tests.mjs +38 -0
  158. package/dist/services/ci-check/checks/tests.mjs.map +1 -0
  159. package/dist/services/ci-check/ci-check-service.d.mts +16 -0
  160. package/dist/services/ci-check/ci-check-service.d.mts.map +1 -0
  161. package/dist/services/ci-check/ci-check-service.mjs +129 -0
  162. package/dist/services/ci-check/ci-check-service.mjs.map +1 -0
  163. package/dist/services/ci-check/index.d.mts +2 -0
  164. package/dist/services/ci-check/index.mjs +4 -0
  165. package/dist/services/ci-check/types.d.mts +147 -0
  166. package/dist/services/ci-check/types.d.mts.map +1 -0
  167. package/dist/services/ci-check/types.mjs +37 -0
  168. package/dist/services/ci-check/types.mjs.map +1 -0
  169. package/dist/services/ci-check/utils.mjs +76 -0
  170. package/dist/services/ci-check/utils.mjs.map +1 -0
  171. package/dist/services/clean.d.mts +41 -0
  172. package/dist/services/clean.d.mts.map +1 -0
  173. package/dist/services/clean.mjs +72 -0
  174. package/dist/services/clean.mjs.map +1 -0
  175. package/dist/services/config.d.mts +16 -0
  176. package/dist/services/config.d.mts.map +1 -0
  177. package/dist/services/config.mjs +63 -0
  178. package/dist/services/config.mjs.map +1 -0
  179. package/dist/services/coverage/parsers/index.mjs +34 -0
  180. package/dist/services/coverage/parsers/index.mjs.map +1 -0
  181. package/dist/services/coverage/parsers/istanbul-parser.mjs +108 -0
  182. package/dist/services/coverage/parsers/istanbul-parser.mjs.map +1 -0
  183. package/dist/services/coverage/validator.mjs +55 -0
  184. package/dist/services/coverage/validator.mjs.map +1 -0
  185. package/dist/services/create/ai-generator.d.mts +84 -0
  186. package/dist/services/create/ai-generator.d.mts.map +1 -0
  187. package/dist/services/create/ai-generator.mjs +178 -0
  188. package/dist/services/create/ai-generator.mjs.map +1 -0
  189. package/dist/services/create/index.d.mts +28 -0
  190. package/dist/services/create/index.d.mts.map +1 -0
  191. package/dist/services/create/index.mjs +37 -0
  192. package/dist/services/create/index.mjs.map +1 -0
  193. package/dist/services/create/templates.d.mts +22 -0
  194. package/dist/services/create/templates.d.mts.map +1 -0
  195. package/dist/services/create/templates.mjs +39 -0
  196. package/dist/services/create/templates.mjs.map +1 -0
  197. package/dist/services/deps.d.mts +53 -0
  198. package/dist/services/deps.d.mts.map +1 -0
  199. package/dist/services/deps.mjs +62 -0
  200. package/dist/services/deps.mjs.map +1 -0
  201. package/dist/services/diff.d.mts +34 -0
  202. package/dist/services/diff.d.mts.map +1 -0
  203. package/dist/services/diff.mjs +34 -0
  204. package/dist/services/diff.mjs.map +1 -0
  205. package/dist/services/docs/docs-service.d.mts +20 -0
  206. package/dist/services/docs/docs-service.d.mts.map +1 -0
  207. package/dist/services/docs/docs-service.mjs +59 -0
  208. package/dist/services/docs/docs-service.mjs.map +1 -0
  209. package/dist/services/docs/index.d.mts +1 -0
  210. package/dist/services/docs/index.mjs +3 -0
  211. package/dist/services/doctor/checks/ai.mjs +119 -0
  212. package/dist/services/doctor/checks/ai.mjs.map +1 -0
  213. package/dist/services/doctor/checks/cli.mjs +156 -0
  214. package/dist/services/doctor/checks/cli.mjs.map +1 -0
  215. package/dist/services/doctor/checks/config.mjs +303 -0
  216. package/dist/services/doctor/checks/config.mjs.map +1 -0
  217. package/dist/services/doctor/checks/deps.mjs +267 -0
  218. package/dist/services/doctor/checks/deps.mjs.map +1 -0
  219. package/dist/services/doctor/checks/index.mjs +9 -0
  220. package/dist/services/doctor/checks/layers.mjs +139 -0
  221. package/dist/services/doctor/checks/layers.mjs.map +1 -0
  222. package/dist/services/doctor/checks/mcp.mjs +145 -0
  223. package/dist/services/doctor/checks/mcp.mjs.map +1 -0
  224. package/dist/services/doctor/checks/workspace.mjs +263 -0
  225. package/dist/services/doctor/checks/workspace.mjs.map +1 -0
  226. package/dist/services/doctor/doctor-service.d.mts +24 -0
  227. package/dist/services/doctor/doctor-service.d.mts.map +1 -0
  228. package/dist/services/doctor/doctor-service.mjs +118 -0
  229. package/dist/services/doctor/doctor-service.mjs.map +1 -0
  230. package/dist/services/doctor/index.d.mts +2 -0
  231. package/dist/services/doctor/index.mjs +4 -0
  232. package/dist/services/doctor/types.d.mts +118 -0
  233. package/dist/services/doctor/types.d.mts.map +1 -0
  234. package/dist/services/doctor/types.mjs +29 -0
  235. package/dist/services/doctor/types.mjs.map +1 -0
  236. package/dist/services/drift.mjs +73 -0
  237. package/dist/services/drift.mjs.map +1 -0
  238. package/dist/services/extract.d.mts +12 -0
  239. package/dist/services/extract.d.mts.map +1 -0
  240. package/dist/services/extract.mjs +33 -0
  241. package/dist/services/extract.mjs.map +1 -0
  242. package/dist/services/features/completion.d.mts +21 -0
  243. package/dist/services/features/completion.d.mts.map +1 -0
  244. package/dist/services/features/completion.mjs +70 -0
  245. package/dist/services/features/completion.mjs.map +1 -0
  246. package/dist/services/features/feature-editor.d.mts +27 -0
  247. package/dist/services/features/feature-editor.d.mts.map +1 -0
  248. package/dist/services/features/feature-editor.mjs +37 -0
  249. package/dist/services/features/feature-editor.mjs.map +1 -0
  250. package/dist/services/features/index.d.mts +11 -0
  251. package/dist/services/features/index.d.mts.map +1 -0
  252. package/dist/services/features/index.mjs +16 -0
  253. package/dist/services/features/index.mjs.map +1 -0
  254. package/dist/services/features/validation.d.mts +21 -0
  255. package/dist/services/features/validation.d.mts.map +1 -0
  256. package/dist/services/features/validation.mjs +27 -0
  257. package/dist/services/features/validation.mjs.map +1 -0
  258. package/dist/services/fix/fix-link-formatter.d.mts +12 -0
  259. package/dist/services/fix/fix-link-formatter.d.mts.map +1 -0
  260. package/dist/services/fix/fix-link-formatter.mjs +38 -0
  261. package/dist/services/fix/fix-link-formatter.mjs.map +1 -0
  262. package/dist/services/fix/fix-service.d.mts +74 -0
  263. package/dist/services/fix/fix-service.d.mts.map +1 -0
  264. package/dist/services/fix/fix-service.mjs +169 -0
  265. package/dist/services/fix/fix-service.mjs.map +1 -0
  266. package/dist/services/fix/index.d.mts +16 -0
  267. package/dist/services/fix/index.d.mts.map +1 -0
  268. package/dist/services/fix/index.mjs +24 -0
  269. package/dist/services/fix/index.mjs.map +1 -0
  270. package/dist/services/fix/path-resolver.mjs +83 -0
  271. package/dist/services/fix/path-resolver.mjs.map +1 -0
  272. package/dist/services/fix/schemas.d.mts +17 -0
  273. package/dist/services/fix/schemas.d.mts.map +1 -0
  274. package/dist/services/fix/schemas.mjs +12 -0
  275. package/dist/services/fix/schemas.mjs.map +1 -0
  276. package/dist/services/fix/strategies/implement-ai.d.mts +18 -0
  277. package/dist/services/fix/strategies/implement-ai.d.mts.map +1 -0
  278. package/dist/services/fix/strategies/implement-ai.mjs +139 -0
  279. package/dist/services/fix/strategies/implement-ai.mjs.map +1 -0
  280. package/dist/services/fix/strategies/implement-skeleton.d.mts +14 -0
  281. package/dist/services/fix/strategies/implement-skeleton.d.mts.map +1 -0
  282. package/dist/services/fix/strategies/implement-skeleton.mjs +77 -0
  283. package/dist/services/fix/strategies/implement-skeleton.mjs.map +1 -0
  284. package/dist/services/fix/strategies/index.d.mts +3 -0
  285. package/dist/services/fix/strategies/remove-reference.d.mts +17 -0
  286. package/dist/services/fix/strategies/remove-reference.d.mts.map +1 -0
  287. package/dist/services/fix/strategies/remove-reference.mjs +98 -0
  288. package/dist/services/fix/strategies/remove-reference.mjs.map +1 -0
  289. package/dist/services/fix/types.d.mts +207 -0
  290. package/dist/services/fix/types.d.mts.map +1 -0
  291. package/dist/services/fix/types.mjs +20 -0
  292. package/dist/services/fix/types.mjs.map +1 -0
  293. package/dist/services/formatter.d.mts +15 -0
  294. package/dist/services/formatter.d.mts.map +1 -0
  295. package/dist/services/formatter.mjs +26 -0
  296. package/dist/services/formatter.mjs.map +1 -0
  297. package/dist/services/gap.d.mts +18 -0
  298. package/dist/services/gap.d.mts.map +1 -0
  299. package/dist/services/gap.mjs +44 -0
  300. package/dist/services/gap.mjs.map +1 -0
  301. package/dist/services/generate-artifacts.d.mts +11 -0
  302. package/dist/services/generate-artifacts.d.mts.map +1 -0
  303. package/dist/services/generate-artifacts.mjs +27 -0
  304. package/dist/services/generate-artifacts.mjs.map +1 -0
  305. package/dist/services/hooks/hooks-service.d.mts +24 -0
  306. package/dist/services/hooks/hooks-service.d.mts.map +1 -0
  307. package/dist/services/hooks/hooks-service.mjs +126 -0
  308. package/dist/services/hooks/hooks-service.mjs.map +1 -0
  309. package/dist/services/hooks/index.d.mts +10 -0
  310. package/dist/services/hooks/index.d.mts.map +1 -0
  311. package/dist/services/hooks/index.mjs +12 -0
  312. package/dist/services/hooks/index.mjs.map +1 -0
  313. package/dist/services/hooks/types.d.mts +56 -0
  314. package/dist/services/hooks/types.d.mts.map +1 -0
  315. package/dist/services/impact/formatters.d.mts +27 -0
  316. package/dist/services/impact/formatters.d.mts.map +1 -0
  317. package/dist/services/impact/formatters.mjs +139 -0
  318. package/dist/services/impact/formatters.mjs.map +1 -0
  319. package/dist/services/impact/impact-detection-service.d.mts +22 -0
  320. package/dist/services/impact/impact-detection-service.d.mts.map +1 -0
  321. package/dist/services/impact/impact-detection-service.mjs +96 -0
  322. package/dist/services/impact/impact-detection-service.mjs.map +1 -0
  323. package/dist/services/impact/index.d.mts +11 -0
  324. package/dist/services/impact/index.d.mts.map +1 -0
  325. package/dist/services/impact/index.mjs +16 -0
  326. package/dist/services/impact/index.mjs.map +1 -0
  327. package/dist/services/impact/types.d.mts +63 -0
  328. package/dist/services/impact/types.d.mts.map +1 -0
  329. package/dist/services/implementation/discovery.d.mts +30 -0
  330. package/dist/services/implementation/discovery.d.mts.map +1 -0
  331. package/dist/services/implementation/discovery.mjs +144 -0
  332. package/dist/services/implementation/discovery.mjs.map +1 -0
  333. package/dist/services/implementation/index.d.mts +6 -0
  334. package/dist/services/implementation/index.mjs +7 -0
  335. package/dist/services/implementation/resolver/conventions.d.mts +18 -0
  336. package/dist/services/implementation/resolver/conventions.d.mts.map +1 -0
  337. package/dist/services/implementation/resolver/conventions.mjs +59 -0
  338. package/dist/services/implementation/resolver/conventions.mjs.map +1 -0
  339. package/dist/services/implementation/resolver/index.d.mts +24 -0
  340. package/dist/services/implementation/resolver/index.d.mts.map +1 -0
  341. package/dist/services/implementation/resolver/index.mjs +111 -0
  342. package/dist/services/implementation/resolver/index.mjs.map +1 -0
  343. package/dist/services/implementation/resolver/parsers.d.mts +16 -0
  344. package/dist/services/implementation/resolver/parsers.d.mts.map +1 -0
  345. package/dist/services/implementation/resolver/parsers.mjs +100 -0
  346. package/dist/services/implementation/resolver/parsers.mjs.map +1 -0
  347. package/dist/services/implementation/resolver/status.d.mts +21 -0
  348. package/dist/services/implementation/resolver/status.d.mts.map +1 -0
  349. package/dist/services/implementation/resolver/status.mjs +31 -0
  350. package/dist/services/implementation/resolver/status.mjs.map +1 -0
  351. package/dist/services/implementation/types.d.mts +89 -0
  352. package/dist/services/implementation/types.d.mts.map +1 -0
  353. package/dist/services/index.d.mts +103 -0
  354. package/dist/services/index.mjs +100 -0
  355. package/dist/services/integrity-diagram.d.mts +36 -0
  356. package/dist/services/integrity-diagram.d.mts.map +1 -0
  357. package/dist/services/integrity-diagram.mjs +275 -0
  358. package/dist/services/integrity-diagram.mjs.map +1 -0
  359. package/dist/services/integrity.d.mts +152 -0
  360. package/dist/services/integrity.d.mts.map +1 -0
  361. package/dist/services/integrity.mjs +361 -0
  362. package/dist/services/integrity.mjs.map +1 -0
  363. package/dist/services/layer-discovery.d.mts +77 -0
  364. package/dist/services/layer-discovery.d.mts.map +1 -0
  365. package/dist/services/layer-discovery.mjs +121 -0
  366. package/dist/services/layer-discovery.mjs.map +1 -0
  367. package/dist/services/list.d.mts +37 -0
  368. package/dist/services/list.d.mts.map +1 -0
  369. package/dist/services/list.mjs +46 -0
  370. package/dist/services/list.mjs.map +1 -0
  371. package/dist/services/llm/index.d.mts +28 -0
  372. package/dist/services/llm/index.d.mts.map +1 -0
  373. package/dist/services/llm/index.mjs +187 -0
  374. package/dist/services/llm/index.mjs.map +1 -0
  375. package/dist/services/llm/verify-static.d.mts +26 -0
  376. package/dist/services/llm/verify-static.d.mts.map +1 -0
  377. package/dist/services/llm/verify-static.mjs +82 -0
  378. package/dist/services/llm/verify-static.mjs.map +1 -0
  379. package/dist/services/modules/module-resolver.mjs +61 -0
  380. package/dist/services/modules/module-resolver.mjs.map +1 -0
  381. package/dist/services/openapi/export-service.d.mts +53 -0
  382. package/dist/services/openapi/export-service.d.mts.map +1 -0
  383. package/dist/services/openapi/export-service.mjs +50 -0
  384. package/dist/services/openapi/export-service.mjs.map +1 -0
  385. package/dist/services/openapi/import-service.d.mts +17 -0
  386. package/dist/services/openapi/import-service.d.mts.map +1 -0
  387. package/dist/services/openapi/import-service.mjs +165 -0
  388. package/dist/services/openapi/import-service.mjs.map +1 -0
  389. package/dist/services/openapi/index.d.mts +5 -0
  390. package/dist/services/openapi/index.mjs +6 -0
  391. package/dist/services/openapi/sync-service.d.mts +17 -0
  392. package/dist/services/openapi/sync-service.d.mts.map +1 -0
  393. package/dist/services/openapi/sync-service.mjs +120 -0
  394. package/dist/services/openapi/sync-service.mjs.map +1 -0
  395. package/dist/services/openapi/types.d.mts +162 -0
  396. package/dist/services/openapi/types.d.mts.map +1 -0
  397. package/dist/services/openapi/validate-service.d.mts +16 -0
  398. package/dist/services/openapi/validate-service.d.mts.map +1 -0
  399. package/dist/services/openapi/validate-service.mjs +130 -0
  400. package/dist/services/openapi/validate-service.mjs.map +1 -0
  401. package/dist/services/quickstart/dependencies.d.mts +31 -0
  402. package/dist/services/quickstart/dependencies.d.mts.map +1 -0
  403. package/dist/services/quickstart/dependencies.mjs +57 -0
  404. package/dist/services/quickstart/dependencies.mjs.map +1 -0
  405. package/dist/services/quickstart/index.mjs +4 -0
  406. package/dist/services/quickstart/quickstart-service.d.mts +20 -0
  407. package/dist/services/quickstart/quickstart-service.d.mts.map +1 -0
  408. package/dist/services/quickstart/quickstart-service.mjs +196 -0
  409. package/dist/services/quickstart/quickstart-service.mjs.map +1 -0
  410. package/dist/services/quickstart/types.d.mts +81 -0
  411. package/dist/services/quickstart/types.d.mts.map +1 -0
  412. package/dist/services/regenerator.d.mts +18 -0
  413. package/dist/services/regenerator.d.mts.map +1 -0
  414. package/dist/services/regenerator.mjs +23 -0
  415. package/dist/services/regenerator.mjs.map +1 -0
  416. package/dist/services/registry.d.mts +53 -0
  417. package/dist/services/registry.d.mts.map +1 -0
  418. package/dist/services/registry.mjs +74 -0
  419. package/dist/services/registry.mjs.map +1 -0
  420. package/dist/services/rulesync.d.mts +17 -0
  421. package/dist/services/rulesync.d.mts.map +1 -0
  422. package/dist/services/rulesync.mjs +72 -0
  423. package/dist/services/rulesync.mjs.map +1 -0
  424. package/dist/services/setup/config-generators.d.mts +42 -0
  425. package/dist/services/setup/config-generators.d.mts.map +1 -0
  426. package/dist/services/setup/config-generators.mjs +252 -0
  427. package/dist/services/setup/config-generators.mjs.map +1 -0
  428. package/dist/services/setup/file-merger.d.mts +27 -0
  429. package/dist/services/setup/file-merger.d.mts.map +1 -0
  430. package/dist/services/setup/file-merger.mjs +61 -0
  431. package/dist/services/setup/file-merger.mjs.map +1 -0
  432. package/dist/services/setup/setup-service.d.mts +12 -0
  433. package/dist/services/setup/setup-service.d.mts.map +1 -0
  434. package/dist/services/setup/setup-service.mjs +96 -0
  435. package/dist/services/setup/setup-service.mjs.map +1 -0
  436. package/dist/services/setup/targets/agents-md.mjs +47 -0
  437. package/dist/services/setup/targets/agents-md.mjs.map +1 -0
  438. package/dist/services/setup/targets/cli-config.mjs +60 -0
  439. package/dist/services/setup/targets/cli-config.mjs.map +1 -0
  440. package/dist/services/setup/targets/cursor-rules.mjs +48 -0
  441. package/dist/services/setup/targets/cursor-rules.mjs.map +1 -0
  442. package/dist/services/setup/targets/mcp-claude.mjs +60 -0
  443. package/dist/services/setup/targets/mcp-claude.mjs.map +1 -0
  444. package/dist/services/setup/targets/mcp-cursor.mjs +59 -0
  445. package/dist/services/setup/targets/mcp-cursor.mjs.map +1 -0
  446. package/dist/services/setup/targets/vscode-settings.mjs +63 -0
  447. package/dist/services/setup/targets/vscode-settings.mjs.map +1 -0
  448. package/dist/services/setup/types.d.mts +85 -0
  449. package/dist/services/setup/types.d.mts.map +1 -0
  450. package/dist/services/setup/types.mjs +27 -0
  451. package/dist/services/setup/types.mjs.map +1 -0
  452. package/dist/services/sync.d.mts +42 -0
  453. package/dist/services/sync.d.mts.map +1 -0
  454. package/dist/services/sync.mjs +64 -0
  455. package/dist/services/sync.mjs.map +1 -0
  456. package/dist/services/test/index.d.mts +2 -0
  457. package/dist/services/test/index.mjs +4 -0
  458. package/dist/services/test/test-generator-service.d.mts +24 -0
  459. package/dist/services/test/test-generator-service.d.mts.map +1 -0
  460. package/dist/services/test/test-generator-service.mjs +92 -0
  461. package/dist/services/test/test-generator-service.mjs.map +1 -0
  462. package/dist/services/test/test-service.d.mts +27 -0
  463. package/dist/services/test/test-service.d.mts.map +1 -0
  464. package/dist/services/test/test-service.mjs +94 -0
  465. package/dist/services/test/test-service.mjs.map +1 -0
  466. package/dist/services/test-link/index.d.mts +18 -0
  467. package/dist/services/test-link/index.d.mts.map +1 -0
  468. package/dist/services/test-link/index.mjs +60 -0
  469. package/dist/services/test-link/index.mjs.map +1 -0
  470. package/dist/services/test-link/test-ref-validator.d.mts +2 -0
  471. package/dist/services/test-link/test-ref-validator.mjs +50 -0
  472. package/dist/services/test-link/test-ref-validator.mjs.map +1 -0
  473. package/dist/services/upgrade/index.d.mts +10 -0
  474. package/dist/services/upgrade/index.d.mts.map +1 -0
  475. package/dist/services/upgrade/index.mjs +15 -0
  476. package/dist/services/upgrade/index.mjs.map +1 -0
  477. package/dist/services/upgrade/types.d.mts +78 -0
  478. package/dist/services/upgrade/types.d.mts.map +1 -0
  479. package/dist/services/upgrade/upgrade-service.d.mts +38 -0
  480. package/dist/services/upgrade/upgrade-service.d.mts.map +1 -0
  481. package/dist/services/upgrade/upgrade-service.mjs +201 -0
  482. package/dist/services/upgrade/upgrade-service.mjs.map +1 -0
  483. package/dist/services/validate/blueprint-validator.d.mts +23 -0
  484. package/dist/services/validate/blueprint-validator.d.mts.map +1 -0
  485. package/dist/services/validate/blueprint-validator.mjs +50 -0
  486. package/dist/services/validate/blueprint-validator.mjs.map +1 -0
  487. package/dist/services/validate/implementation-agent-validator.d.mts +20 -0
  488. package/dist/services/validate/implementation-agent-validator.d.mts.map +1 -0
  489. package/dist/services/validate/implementation-agent-validator.mjs +42 -0
  490. package/dist/services/validate/implementation-agent-validator.mjs.map +1 -0
  491. package/dist/services/validate/implementation-validator.d.mts +32 -0
  492. package/dist/services/validate/implementation-validator.d.mts.map +1 -0
  493. package/dist/services/validate/implementation-validator.mjs +64 -0
  494. package/dist/services/validate/implementation-validator.mjs.map +1 -0
  495. package/dist/services/validate/index.d.mts +5 -0
  496. package/dist/services/validate/index.mjs +7 -0
  497. package/dist/services/validate/spec-validator.d.mts +42 -0
  498. package/dist/services/validate/spec-validator.d.mts.map +1 -0
  499. package/dist/services/validate/spec-validator.mjs +49 -0
  500. package/dist/services/validate/spec-validator.mjs.map +1 -0
  501. package/dist/services/validate/tenant-validator.d.mts +21 -0
  502. package/dist/services/validate/tenant-validator.d.mts.map +1 -0
  503. package/dist/services/validate/tenant-validator.mjs +165 -0
  504. package/dist/services/validate/tenant-validator.mjs.map +1 -0
  505. package/dist/services/verification-cache/adapters/filesystem.d.mts +46 -0
  506. package/dist/services/verification-cache/adapters/filesystem.d.mts.map +1 -0
  507. package/dist/services/verification-cache/adapters/filesystem.mjs +120 -0
  508. package/dist/services/verification-cache/adapters/filesystem.mjs.map +1 -0
  509. package/dist/services/verification-cache/adapters/in-memory.d.mts +27 -0
  510. package/dist/services/verification-cache/adapters/in-memory.d.mts.map +1 -0
  511. package/dist/services/verification-cache/adapters/in-memory.mjs +46 -0
  512. package/dist/services/verification-cache/adapters/in-memory.mjs.map +1 -0
  513. package/dist/services/verification-cache/adapters/index.d.mts +3 -0
  514. package/dist/services/verification-cache/adapters/index.mjs +5 -0
  515. package/dist/services/verification-cache/adapters/workspace-state.d.mts +49 -0
  516. package/dist/services/verification-cache/adapters/workspace-state.d.mts.map +1 -0
  517. package/dist/services/verification-cache/adapters/workspace-state.mjs +91 -0
  518. package/dist/services/verification-cache/adapters/workspace-state.mjs.map +1 -0
  519. package/dist/services/verification-cache/cache-service.d.mts +70 -0
  520. package/dist/services/verification-cache/cache-service.d.mts.map +1 -0
  521. package/dist/services/verification-cache/cache-service.mjs +256 -0
  522. package/dist/services/verification-cache/cache-service.mjs.map +1 -0
  523. package/dist/services/verification-cache/index.d.mts +6 -0
  524. package/dist/services/verification-cache/index.mjs +8 -0
  525. package/dist/services/verification-cache/types.d.mts +124 -0
  526. package/dist/services/verification-cache/types.d.mts.map +1 -0
  527. package/dist/services/verification-cache/types.mjs +16 -0
  528. package/dist/services/verification-cache/types.mjs.map +1 -0
  529. package/dist/services/verify/ai-verifier.d.mts +25 -0
  530. package/dist/services/verify/ai-verifier.d.mts.map +1 -0
  531. package/dist/services/verify/ai-verifier.mjs +403 -0
  532. package/dist/services/verify/ai-verifier.mjs.map +1 -0
  533. package/dist/services/verify/behavior-verifier.d.mts +12 -0
  534. package/dist/services/verify/behavior-verifier.d.mts.map +1 -0
  535. package/dist/services/verify/behavior-verifier.mjs +186 -0
  536. package/dist/services/verify/behavior-verifier.mjs.map +1 -0
  537. package/dist/services/verify/index.d.mts +5 -0
  538. package/dist/services/verify/index.mjs +6 -0
  539. package/dist/services/verify/structure-verifier.d.mts +12 -0
  540. package/dist/services/verify/structure-verifier.d.mts.map +1 -0
  541. package/dist/services/verify/structure-verifier.mjs +196 -0
  542. package/dist/services/verify/structure-verifier.mjs.map +1 -0
  543. package/dist/services/verify/types.d.mts +137 -0
  544. package/dist/services/verify/types.d.mts.map +1 -0
  545. package/dist/services/verify/verify-service.d.mts +60 -0
  546. package/dist/services/verify/verify-service.d.mts.map +1 -0
  547. package/dist/services/verify/verify-service.mjs +204 -0
  548. package/dist/services/verify/verify-service.mjs.map +1 -0
  549. package/dist/services/versioning/changelog-formatter.d.mts +24 -0
  550. package/dist/services/versioning/changelog-formatter.d.mts.map +1 -0
  551. package/dist/services/versioning/changelog-formatter.mjs +155 -0
  552. package/dist/services/versioning/changelog-formatter.mjs.map +1 -0
  553. package/dist/services/versioning/conventional-commits.d.mts +95 -0
  554. package/dist/services/versioning/conventional-commits.d.mts.map +1 -0
  555. package/dist/services/versioning/conventional-commits.mjs +184 -0
  556. package/dist/services/versioning/conventional-commits.mjs.map +1 -0
  557. package/dist/services/versioning/index.d.mts +12 -0
  558. package/dist/services/versioning/index.d.mts.map +1 -0
  559. package/dist/services/versioning/index.mjs +28 -0
  560. package/dist/services/versioning/index.mjs.map +1 -0
  561. package/dist/services/versioning/types.d.mts +135 -0
  562. package/dist/services/versioning/types.d.mts.map +1 -0
  563. package/dist/services/versioning/versioning-service.d.mts +74 -0
  564. package/dist/services/versioning/versioning-service.d.mts.map +1 -0
  565. package/dist/services/versioning/versioning-service.mjs +501 -0
  566. package/dist/services/versioning/versioning-service.mjs.map +1 -0
  567. package/dist/services/vibe/config.d.mts +12 -0
  568. package/dist/services/vibe/config.d.mts.map +1 -0
  569. package/dist/services/vibe/config.mjs +43 -0
  570. package/dist/services/vibe/config.mjs.map +1 -0
  571. package/dist/services/vibe/context.d.mts +19 -0
  572. package/dist/services/vibe/context.d.mts.map +1 -0
  573. package/dist/services/vibe/context.mjs +92 -0
  574. package/dist/services/vibe/context.mjs.map +1 -0
  575. package/dist/services/vibe/definitions.d.mts +8 -0
  576. package/dist/services/vibe/definitions.d.mts.map +1 -0
  577. package/dist/services/vibe/definitions.mjs +129 -0
  578. package/dist/services/vibe/definitions.mjs.map +1 -0
  579. package/dist/services/vibe/engine.d.mts +44 -0
  580. package/dist/services/vibe/engine.d.mts.map +1 -0
  581. package/dist/services/vibe/engine.mjs +147 -0
  582. package/dist/services/vibe/engine.mjs.map +1 -0
  583. package/dist/services/vibe/index.d.mts +15 -0
  584. package/dist/services/vibe/index.d.mts.map +1 -0
  585. package/dist/services/vibe/index.mjs +26 -0
  586. package/dist/services/vibe/index.mjs.map +1 -0
  587. package/dist/services/vibe/loader.d.mts +15 -0
  588. package/dist/services/vibe/loader.d.mts.map +1 -0
  589. package/dist/services/vibe/loader.mjs +48 -0
  590. package/dist/services/vibe/loader.mjs.map +1 -0
  591. package/dist/services/vibe/pack.d.mts +19 -0
  592. package/dist/services/vibe/pack.d.mts.map +1 -0
  593. package/dist/services/vibe/pack.mjs +66 -0
  594. package/dist/services/vibe/pack.mjs.map +1 -0
  595. package/dist/services/vibe/types.d.mts +59 -0
  596. package/dist/services/vibe/types.d.mts.map +1 -0
  597. package/dist/services/vibe/types.mjs +12 -0
  598. package/dist/services/vibe/types.mjs.map +1 -0
  599. package/dist/services/view/index.d.mts +11 -0
  600. package/dist/services/view/index.d.mts.map +1 -0
  601. package/dist/services/view/index.mjs +119 -0
  602. package/dist/services/view/index.mjs.map +1 -0
  603. package/dist/services/watch.d.mts +25 -0
  604. package/dist/services/watch.d.mts.map +1 -0
  605. package/dist/services/watch.mjs +33 -0
  606. package/dist/services/watch.mjs.map +1 -0
  607. package/dist/services/workspace-info.d.mts +62 -0
  608. package/dist/services/workspace-info.d.mts.map +1 -0
  609. package/dist/services/workspace-info.mjs +103 -0
  610. package/dist/services/workspace-info.mjs.map +1 -0
  611. package/dist/templates/app-config.template.d.mts +7 -0
  612. package/dist/templates/app-config.template.d.mts.map +1 -0
  613. package/dist/templates/app-config.template.mjs +107 -0
  614. package/dist/templates/app-config.template.mjs.map +1 -0
  615. package/dist/templates/data-view.template.d.mts +7 -0
  616. package/dist/templates/data-view.template.d.mts.map +1 -0
  617. package/dist/templates/data-view.template.mjs +70 -0
  618. package/dist/templates/data-view.template.mjs.map +1 -0
  619. package/dist/templates/event.template.d.mts +11 -0
  620. package/dist/templates/event.template.d.mts.map +1 -0
  621. package/dist/templates/event.template.mjs +42 -0
  622. package/dist/templates/event.template.mjs.map +1 -0
  623. package/dist/templates/experiment.template.d.mts +7 -0
  624. package/dist/templates/experiment.template.d.mts.map +1 -0
  625. package/dist/templates/experiment.template.mjs +89 -0
  626. package/dist/templates/experiment.template.mjs.map +1 -0
  627. package/dist/templates/feature.template.d.mts +33 -0
  628. package/dist/templates/feature.template.d.mts.map +1 -0
  629. package/dist/templates/feature.template.mjs +52 -0
  630. package/dist/templates/feature.template.mjs.map +1 -0
  631. package/dist/templates/fix/skeleton-capability.mjs +49 -0
  632. package/dist/templates/fix/skeleton-capability.mjs.map +1 -0
  633. package/dist/templates/fix/skeleton-event.mjs +56 -0
  634. package/dist/templates/fix/skeleton-event.mjs.map +1 -0
  635. package/dist/templates/fix/skeleton-operation.mjs +122 -0
  636. package/dist/templates/fix/skeleton-operation.mjs.map +1 -0
  637. package/dist/templates/fix/skeleton-presentation.mjs +65 -0
  638. package/dist/templates/fix/skeleton-presentation.mjs.map +1 -0
  639. package/dist/templates/fix/utils.mjs +34 -0
  640. package/dist/templates/fix/utils.mjs.map +1 -0
  641. package/dist/templates/handler.template.d.mts +16 -0
  642. package/dist/templates/handler.template.d.mts.map +1 -0
  643. package/dist/templates/handler.template.mjs +100 -0
  644. package/dist/templates/handler.template.mjs.map +1 -0
  645. package/dist/templates/index.d.mts +22 -0
  646. package/dist/templates/index.d.mts.map +1 -0
  647. package/dist/templates/index.mjs +39 -0
  648. package/dist/templates/index.mjs.map +1 -0
  649. package/dist/templates/integration.template.d.mts +7 -0
  650. package/dist/templates/integration.template.d.mts.map +1 -0
  651. package/dist/templates/integration.template.mjs +160 -0
  652. package/dist/templates/integration.template.mjs.map +1 -0
  653. package/dist/templates/knowledge.template.d.mts +7 -0
  654. package/dist/templates/knowledge.template.d.mts.map +1 -0
  655. package/dist/templates/knowledge.template.mjs +75 -0
  656. package/dist/templates/knowledge.template.mjs.map +1 -0
  657. package/dist/templates/migration.template.d.mts +7 -0
  658. package/dist/templates/migration.template.d.mts.map +1 -0
  659. package/dist/templates/migration.template.mjs +62 -0
  660. package/dist/templates/migration.template.mjs.map +1 -0
  661. package/dist/templates/operation.template.d.mts +11 -0
  662. package/dist/templates/operation.template.d.mts.map +1 -0
  663. package/dist/templates/operation.template.mjs +107 -0
  664. package/dist/templates/operation.template.mjs.map +1 -0
  665. package/dist/templates/presentation.template.d.mts +11 -0
  666. package/dist/templates/presentation.template.d.mts.map +1 -0
  667. package/dist/templates/presentation.template.mjs +80 -0
  668. package/dist/templates/presentation.template.mjs.map +1 -0
  669. package/dist/templates/telemetry.template.d.mts +7 -0
  670. package/dist/templates/telemetry.template.d.mts.map +1 -0
  671. package/dist/templates/telemetry.template.mjs +91 -0
  672. package/dist/templates/telemetry.template.mjs.map +1 -0
  673. package/dist/templates/workflow-runner.template.d.mts +16 -0
  674. package/dist/templates/workflow-runner.template.d.mts.map +1 -0
  675. package/dist/templates/workflow-runner.template.mjs +50 -0
  676. package/dist/templates/workflow-runner.template.mjs.map +1 -0
  677. package/dist/templates/workflow.template.d.mts +7 -0
  678. package/dist/templates/workflow.template.d.mts.map +1 -0
  679. package/dist/templates/workflow.template.mjs +69 -0
  680. package/dist/templates/workflow.template.mjs.map +1 -0
  681. package/dist/types/config.d.mts +34 -0
  682. package/dist/types/config.d.mts.map +1 -0
  683. package/dist/types.d.mts +324 -0
  684. package/dist/types.d.mts.map +1 -0
  685. package/dist/utils/filter.d.mts +16 -0
  686. package/dist/utils/filter.d.mts.map +1 -0
  687. package/dist/utils/filter.mjs +22 -0
  688. package/dist/utils/filter.mjs.map +1 -0
  689. package/dist/utils/index.d.mts +11 -0
  690. package/dist/utils/index.d.mts.map +1 -0
  691. package/dist/utils/index.mjs +20 -0
  692. package/dist/utils/index.mjs.map +1 -0
  693. package/dist/utils/module-loader.d.mts +5 -0
  694. package/dist/utils/module-loader.d.mts.map +1 -0
  695. package/dist/utils/module-loader.mjs +41 -0
  696. package/dist/utils/module-loader.mjs.map +1 -0
  697. package/dist/utils/validation.d.mts +37 -0
  698. package/dist/utils/validation.d.mts.map +1 -0
  699. package/dist/utils/validation.mjs +43 -0
  700. package/dist/utils/validation.mjs.map +1 -0
  701. package/package.json +23 -19
  702. package/dist/_virtual/rolldown_runtime.js +0 -18
  703. package/dist/adapters/ai.d.ts +0 -12
  704. package/dist/adapters/ai.d.ts.map +0 -1
  705. package/dist/adapters/ai.js +0 -83
  706. package/dist/adapters/ai.js.map +0 -1
  707. package/dist/adapters/factory.d.ts +0 -29
  708. package/dist/adapters/factory.d.ts.map +0 -1
  709. package/dist/adapters/factory.js +0 -37
  710. package/dist/adapters/factory.js.map +0 -1
  711. package/dist/adapters/fs.d.ts +0 -12
  712. package/dist/adapters/fs.d.ts.map +0 -1
  713. package/dist/adapters/fs.js +0 -131
  714. package/dist/adapters/fs.js.map +0 -1
  715. package/dist/adapters/git.d.ts +0 -11
  716. package/dist/adapters/git.d.ts.map +0 -1
  717. package/dist/adapters/git.js +0 -84
  718. package/dist/adapters/git.js.map +0 -1
  719. package/dist/adapters/index.d.ts +0 -7
  720. package/dist/adapters/index.js +0 -7
  721. package/dist/adapters/logger.d.ts +0 -18
  722. package/dist/adapters/logger.d.ts.map +0 -1
  723. package/dist/adapters/logger.js +0 -81
  724. package/dist/adapters/logger.js.map +0 -1
  725. package/dist/adapters/watcher.d.ts +0 -11
  726. package/dist/adapters/watcher.d.ts.map +0 -1
  727. package/dist/adapters/watcher.js +0 -74
  728. package/dist/adapters/watcher.js.map +0 -1
  729. package/dist/adapters/workspace.d.ts +0 -148
  730. package/dist/adapters/workspace.d.ts.map +0 -1
  731. package/dist/adapters/workspace.js +0 -275
  732. package/dist/adapters/workspace.js.map +0 -1
  733. package/dist/ai/agents/claude-code-agent.d.ts +0 -22
  734. package/dist/ai/agents/claude-code-agent.d.ts.map +0 -1
  735. package/dist/ai/agents/claude-code-agent.js +0 -182
  736. package/dist/ai/agents/claude-code-agent.js.map +0 -1
  737. package/dist/ai/agents/cursor-agent.d.ts +0 -68
  738. package/dist/ai/agents/cursor-agent.d.ts.map +0 -1
  739. package/dist/ai/agents/cursor-agent.js +0 -436
  740. package/dist/ai/agents/cursor-agent.js.map +0 -1
  741. package/dist/ai/agents/index.js +0 -5
  742. package/dist/ai/agents/openai-codex-agent.d.ts +0 -22
  743. package/dist/ai/agents/openai-codex-agent.d.ts.map +0 -1
  744. package/dist/ai/agents/openai-codex-agent.js +0 -167
  745. package/dist/ai/agents/openai-codex-agent.js.map +0 -1
  746. package/dist/ai/agents/orchestrator.d.ts +0 -50
  747. package/dist/ai/agents/orchestrator.d.ts.map +0 -1
  748. package/dist/ai/agents/orchestrator.js +0 -143
  749. package/dist/ai/agents/orchestrator.js.map +0 -1
  750. package/dist/ai/agents/simple-agent.d.ts +0 -17
  751. package/dist/ai/agents/simple-agent.d.ts.map +0 -1
  752. package/dist/ai/agents/simple-agent.js +0 -92
  753. package/dist/ai/agents/simple-agent.js.map +0 -1
  754. package/dist/ai/agents/types.d.ts +0 -36
  755. package/dist/ai/agents/types.d.ts.map +0 -1
  756. package/dist/ai/client.d.ts +0 -97
  757. package/dist/ai/client.d.ts.map +0 -1
  758. package/dist/ai/client.js +0 -189
  759. package/dist/ai/client.js.map +0 -1
  760. package/dist/ai/index.d.ts +0 -9
  761. package/dist/ai/index.js +0 -9
  762. package/dist/ai/prompts/code-generation.d.ts +0 -26
  763. package/dist/ai/prompts/code-generation.d.ts.map +0 -1
  764. package/dist/ai/prompts/code-generation.js +0 -143
  765. package/dist/ai/prompts/code-generation.js.map +0 -1
  766. package/dist/ai/prompts/index.d.ts +0 -10
  767. package/dist/ai/prompts/index.d.ts.map +0 -1
  768. package/dist/ai/prompts/index.js +0 -13
  769. package/dist/ai/prompts/index.js.map +0 -1
  770. package/dist/ai/prompts/spec-creation.d.ts +0 -29
  771. package/dist/ai/prompts/spec-creation.d.ts.map +0 -1
  772. package/dist/ai/prompts/spec-creation.js +0 -111
  773. package/dist/ai/prompts/spec-creation.js.map +0 -1
  774. package/dist/ai/providers.d.ts +0 -29
  775. package/dist/ai/providers.d.ts.map +0 -1
  776. package/dist/ai/providers.js +0 -39
  777. package/dist/ai/providers.js.map +0 -1
  778. package/dist/formatters/index.d.ts +0 -11
  779. package/dist/formatters/index.d.ts.map +0 -1
  780. package/dist/formatters/index.js +0 -19
  781. package/dist/formatters/index.js.map +0 -1
  782. package/dist/formatters/json.d.ts +0 -89
  783. package/dist/formatters/json.d.ts.map +0 -1
  784. package/dist/formatters/json.js +0 -72
  785. package/dist/formatters/json.js.map +0 -1
  786. package/dist/formatters/sarif.d.ts +0 -101
  787. package/dist/formatters/sarif.d.ts.map +0 -1
  788. package/dist/formatters/sarif.js +0 -163
  789. package/dist/formatters/sarif.js.map +0 -1
  790. package/dist/formatters/text.d.ts +0 -35
  791. package/dist/formatters/text.d.ts.map +0 -1
  792. package/dist/formatters/text.js +0 -209
  793. package/dist/formatters/text.js.map +0 -1
  794. package/dist/index.d.ts +0 -111
  795. package/dist/index.js +0 -97
  796. package/dist/ports/ai.d.ts +0 -59
  797. package/dist/ports/ai.d.ts.map +0 -1
  798. package/dist/ports/fs.d.ts +0 -81
  799. package/dist/ports/fs.d.ts.map +0 -1
  800. package/dist/ports/git.d.ts +0 -46
  801. package/dist/ports/git.d.ts.map +0 -1
  802. package/dist/ports/index.d.ts +0 -6
  803. package/dist/ports/logger.d.ts +0 -88
  804. package/dist/ports/logger.d.ts.map +0 -1
  805. package/dist/ports/rulesync.d.ts +0 -38
  806. package/dist/ports/rulesync.d.ts.map +0 -1
  807. package/dist/ports/watcher.d.ts +0 -52
  808. package/dist/ports/watcher.d.ts.map +0 -1
  809. package/dist/services/agent-guide/adapters/claude-code.d.ts +0 -35
  810. package/dist/services/agent-guide/adapters/claude-code.d.ts.map +0 -1
  811. package/dist/services/agent-guide/adapters/claude-code.js +0 -144
  812. package/dist/services/agent-guide/adapters/claude-code.js.map +0 -1
  813. package/dist/services/agent-guide/adapters/cursor-cli.d.ts +0 -39
  814. package/dist/services/agent-guide/adapters/cursor-cli.d.ts.map +0 -1
  815. package/dist/services/agent-guide/adapters/cursor-cli.js +0 -135
  816. package/dist/services/agent-guide/adapters/cursor-cli.js.map +0 -1
  817. package/dist/services/agent-guide/adapters/generic-mcp.d.ts +0 -53
  818. package/dist/services/agent-guide/adapters/generic-mcp.d.ts.map +0 -1
  819. package/dist/services/agent-guide/adapters/generic-mcp.js +0 -159
  820. package/dist/services/agent-guide/adapters/generic-mcp.js.map +0 -1
  821. package/dist/services/agent-guide/adapters/index.d.ts +0 -23
  822. package/dist/services/agent-guide/adapters/index.d.ts.map +0 -1
  823. package/dist/services/agent-guide/adapters/index.js +0 -31
  824. package/dist/services/agent-guide/adapters/index.js.map +0 -1
  825. package/dist/services/agent-guide/agent-guide-service.d.ts +0 -56
  826. package/dist/services/agent-guide/agent-guide-service.d.ts.map +0 -1
  827. package/dist/services/agent-guide/agent-guide-service.js +0 -147
  828. package/dist/services/agent-guide/agent-guide-service.js.map +0 -1
  829. package/dist/services/agent-guide/index.d.ts +0 -6
  830. package/dist/services/agent-guide/index.js +0 -5
  831. package/dist/services/agent-guide/types.d.ts +0 -58
  832. package/dist/services/agent-guide/types.d.ts.map +0 -1
  833. package/dist/services/build.d.ts +0 -59
  834. package/dist/services/build.d.ts.map +0 -1
  835. package/dist/services/build.js +0 -140
  836. package/dist/services/build.js.map +0 -1
  837. package/dist/services/ci-check/ci-check-service.d.ts +0 -16
  838. package/dist/services/ci-check/ci-check-service.d.ts.map +0 -1
  839. package/dist/services/ci-check/ci-check-service.js +0 -459
  840. package/dist/services/ci-check/ci-check-service.js.map +0 -1
  841. package/dist/services/ci-check/index.d.ts +0 -2
  842. package/dist/services/ci-check/index.js +0 -2
  843. package/dist/services/ci-check/types.d.ts +0 -143
  844. package/dist/services/ci-check/types.d.ts.map +0 -1
  845. package/dist/services/ci-check/types.js +0 -31
  846. package/dist/services/ci-check/types.js.map +0 -1
  847. package/dist/services/clean.d.ts +0 -41
  848. package/dist/services/clean.d.ts.map +0 -1
  849. package/dist/services/clean.js +0 -72
  850. package/dist/services/clean.js.map +0 -1
  851. package/dist/services/config.d.ts +0 -16
  852. package/dist/services/config.d.ts.map +0 -1
  853. package/dist/services/config.js +0 -63
  854. package/dist/services/config.js.map +0 -1
  855. package/dist/services/create/ai-generator.d.ts +0 -84
  856. package/dist/services/create/ai-generator.d.ts.map +0 -1
  857. package/dist/services/create/ai-generator.js +0 -178
  858. package/dist/services/create/ai-generator.js.map +0 -1
  859. package/dist/services/create/index.d.ts +0 -27
  860. package/dist/services/create/index.d.ts.map +0 -1
  861. package/dist/services/create/index.js +0 -36
  862. package/dist/services/create/index.js.map +0 -1
  863. package/dist/services/create/templates.d.ts +0 -21
  864. package/dist/services/create/templates.d.ts.map +0 -1
  865. package/dist/services/create/templates.js +0 -37
  866. package/dist/services/create/templates.js.map +0 -1
  867. package/dist/services/deps.d.ts +0 -53
  868. package/dist/services/deps.d.ts.map +0 -1
  869. package/dist/services/deps.js +0 -62
  870. package/dist/services/deps.js.map +0 -1
  871. package/dist/services/diff.d.ts +0 -34
  872. package/dist/services/diff.d.ts.map +0 -1
  873. package/dist/services/diff.js +0 -34
  874. package/dist/services/diff.js.map +0 -1
  875. package/dist/services/docs/docs-service.d.ts +0 -19
  876. package/dist/services/docs/docs-service.d.ts.map +0 -1
  877. package/dist/services/docs/docs-service.js +0 -41
  878. package/dist/services/docs/docs-service.js.map +0 -1
  879. package/dist/services/docs/index.d.ts +0 -1
  880. package/dist/services/docs/index.js +0 -1
  881. package/dist/services/doctor/checks/ai.js +0 -119
  882. package/dist/services/doctor/checks/ai.js.map +0 -1
  883. package/dist/services/doctor/checks/cli.js +0 -156
  884. package/dist/services/doctor/checks/cli.js.map +0 -1
  885. package/dist/services/doctor/checks/config.js +0 -303
  886. package/dist/services/doctor/checks/config.js.map +0 -1
  887. package/dist/services/doctor/checks/deps.js +0 -267
  888. package/dist/services/doctor/checks/deps.js.map +0 -1
  889. package/dist/services/doctor/checks/index.js +0 -7
  890. package/dist/services/doctor/checks/layers.js +0 -139
  891. package/dist/services/doctor/checks/layers.js.map +0 -1
  892. package/dist/services/doctor/checks/mcp.js +0 -145
  893. package/dist/services/doctor/checks/mcp.js.map +0 -1
  894. package/dist/services/doctor/checks/workspace.js +0 -263
  895. package/dist/services/doctor/checks/workspace.js.map +0 -1
  896. package/dist/services/doctor/doctor-service.d.ts +0 -24
  897. package/dist/services/doctor/doctor-service.d.ts.map +0 -1
  898. package/dist/services/doctor/doctor-service.js +0 -118
  899. package/dist/services/doctor/doctor-service.js.map +0 -1
  900. package/dist/services/doctor/index.d.ts +0 -2
  901. package/dist/services/doctor/index.js +0 -2
  902. package/dist/services/doctor/types.d.ts +0 -118
  903. package/dist/services/doctor/types.d.ts.map +0 -1
  904. package/dist/services/doctor/types.js +0 -29
  905. package/dist/services/doctor/types.js.map +0 -1
  906. package/dist/services/formatter.d.ts +0 -15
  907. package/dist/services/formatter.d.ts.map +0 -1
  908. package/dist/services/formatter.js +0 -26
  909. package/dist/services/formatter.js.map +0 -1
  910. package/dist/services/hooks/hooks-service.d.ts +0 -24
  911. package/dist/services/hooks/hooks-service.d.ts.map +0 -1
  912. package/dist/services/hooks/hooks-service.js +0 -126
  913. package/dist/services/hooks/hooks-service.js.map +0 -1
  914. package/dist/services/hooks/index.d.ts +0 -10
  915. package/dist/services/hooks/index.d.ts.map +0 -1
  916. package/dist/services/hooks/index.js +0 -12
  917. package/dist/services/hooks/index.js.map +0 -1
  918. package/dist/services/hooks/types.d.ts +0 -56
  919. package/dist/services/hooks/types.d.ts.map +0 -1
  920. package/dist/services/impact/formatters.d.ts +0 -27
  921. package/dist/services/impact/formatters.d.ts.map +0 -1
  922. package/dist/services/impact/formatters.js +0 -111
  923. package/dist/services/impact/formatters.js.map +0 -1
  924. package/dist/services/impact/impact-detection-service.d.ts +0 -22
  925. package/dist/services/impact/impact-detection-service.d.ts.map +0 -1
  926. package/dist/services/impact/impact-detection-service.js +0 -96
  927. package/dist/services/impact/impact-detection-service.js.map +0 -1
  928. package/dist/services/impact/index.d.ts +0 -11
  929. package/dist/services/impact/index.d.ts.map +0 -1
  930. package/dist/services/impact/index.js +0 -16
  931. package/dist/services/impact/index.js.map +0 -1
  932. package/dist/services/impact/types.d.ts +0 -58
  933. package/dist/services/impact/types.d.ts.map +0 -1
  934. package/dist/services/implementation/discovery.d.ts +0 -30
  935. package/dist/services/implementation/discovery.d.ts.map +0 -1
  936. package/dist/services/implementation/discovery.js +0 -144
  937. package/dist/services/implementation/discovery.js.map +0 -1
  938. package/dist/services/implementation/index.d.ts +0 -3
  939. package/dist/services/implementation/index.js +0 -2
  940. package/dist/services/implementation/resolver.d.ts +0 -44
  941. package/dist/services/implementation/resolver.d.ts.map +0 -1
  942. package/dist/services/implementation/resolver.js +0 -224
  943. package/dist/services/implementation/resolver.js.map +0 -1
  944. package/dist/services/implementation/types.d.ts +0 -79
  945. package/dist/services/implementation/types.d.ts.map +0 -1
  946. package/dist/services/index.d.ts +0 -91
  947. package/dist/services/index.js +0 -87
  948. package/dist/services/integrity-diagram.d.ts +0 -36
  949. package/dist/services/integrity-diagram.d.ts.map +0 -1
  950. package/dist/services/integrity-diagram.js +0 -275
  951. package/dist/services/integrity-diagram.js.map +0 -1
  952. package/dist/services/integrity.d.ts +0 -134
  953. package/dist/services/integrity.d.ts.map +0 -1
  954. package/dist/services/integrity.js +0 -272
  955. package/dist/services/integrity.js.map +0 -1
  956. package/dist/services/layer-discovery.d.ts +0 -77
  957. package/dist/services/layer-discovery.d.ts.map +0 -1
  958. package/dist/services/layer-discovery.js +0 -121
  959. package/dist/services/layer-discovery.js.map +0 -1
  960. package/dist/services/list.d.ts +0 -31
  961. package/dist/services/list.d.ts.map +0 -1
  962. package/dist/services/list.js +0 -36
  963. package/dist/services/list.js.map +0 -1
  964. package/dist/services/llm/index.d.ts +0 -28
  965. package/dist/services/llm/index.d.ts.map +0 -1
  966. package/dist/services/llm/index.js +0 -187
  967. package/dist/services/llm/index.js.map +0 -1
  968. package/dist/services/llm/verify-static.d.ts +0 -26
  969. package/dist/services/llm/verify-static.d.ts.map +0 -1
  970. package/dist/services/llm/verify-static.js +0 -82
  971. package/dist/services/llm/verify-static.js.map +0 -1
  972. package/dist/services/openapi/export-service.d.ts +0 -53
  973. package/dist/services/openapi/export-service.d.ts.map +0 -1
  974. package/dist/services/openapi/export-service.js +0 -50
  975. package/dist/services/openapi/export-service.js.map +0 -1
  976. package/dist/services/openapi/import-service.d.ts +0 -17
  977. package/dist/services/openapi/import-service.d.ts.map +0 -1
  978. package/dist/services/openapi/import-service.js +0 -168
  979. package/dist/services/openapi/import-service.js.map +0 -1
  980. package/dist/services/openapi/index.d.ts +0 -5
  981. package/dist/services/openapi/index.js +0 -4
  982. package/dist/services/openapi/sync-service.d.ts +0 -17
  983. package/dist/services/openapi/sync-service.d.ts.map +0 -1
  984. package/dist/services/openapi/sync-service.js +0 -120
  985. package/dist/services/openapi/sync-service.js.map +0 -1
  986. package/dist/services/openapi/types.d.ts +0 -162
  987. package/dist/services/openapi/types.d.ts.map +0 -1
  988. package/dist/services/openapi/validate-service.d.ts +0 -16
  989. package/dist/services/openapi/validate-service.d.ts.map +0 -1
  990. package/dist/services/openapi/validate-service.js +0 -130
  991. package/dist/services/openapi/validate-service.js.map +0 -1
  992. package/dist/services/quickstart/dependencies.d.ts +0 -31
  993. package/dist/services/quickstart/dependencies.d.ts.map +0 -1
  994. package/dist/services/quickstart/dependencies.js +0 -57
  995. package/dist/services/quickstart/dependencies.js.map +0 -1
  996. package/dist/services/quickstart/index.js +0 -2
  997. package/dist/services/quickstart/quickstart-service.d.ts +0 -20
  998. package/dist/services/quickstart/quickstart-service.d.ts.map +0 -1
  999. package/dist/services/quickstart/quickstart-service.js +0 -196
  1000. package/dist/services/quickstart/quickstart-service.js.map +0 -1
  1001. package/dist/services/quickstart/types.d.ts +0 -81
  1002. package/dist/services/quickstart/types.d.ts.map +0 -1
  1003. package/dist/services/regenerator.d.ts +0 -18
  1004. package/dist/services/regenerator.d.ts.map +0 -1
  1005. package/dist/services/regenerator.js +0 -23
  1006. package/dist/services/regenerator.js.map +0 -1
  1007. package/dist/services/registry.d.ts +0 -53
  1008. package/dist/services/registry.d.ts.map +0 -1
  1009. package/dist/services/registry.js +0 -74
  1010. package/dist/services/registry.js.map +0 -1
  1011. package/dist/services/rulesync.d.ts +0 -17
  1012. package/dist/services/rulesync.d.ts.map +0 -1
  1013. package/dist/services/rulesync.js +0 -71
  1014. package/dist/services/rulesync.js.map +0 -1
  1015. package/dist/services/setup/config-generators.d.ts +0 -42
  1016. package/dist/services/setup/config-generators.d.ts.map +0 -1
  1017. package/dist/services/setup/config-generators.js +0 -252
  1018. package/dist/services/setup/config-generators.js.map +0 -1
  1019. package/dist/services/setup/file-merger.d.ts +0 -27
  1020. package/dist/services/setup/file-merger.d.ts.map +0 -1
  1021. package/dist/services/setup/file-merger.js +0 -61
  1022. package/dist/services/setup/file-merger.js.map +0 -1
  1023. package/dist/services/setup/index.js +0 -4
  1024. package/dist/services/setup/setup-service.d.ts +0 -12
  1025. package/dist/services/setup/setup-service.d.ts.map +0 -1
  1026. package/dist/services/setup/setup-service.js +0 -96
  1027. package/dist/services/setup/setup-service.js.map +0 -1
  1028. package/dist/services/setup/targets/agents-md.js +0 -47
  1029. package/dist/services/setup/targets/agents-md.js.map +0 -1
  1030. package/dist/services/setup/targets/cli-config.js +0 -60
  1031. package/dist/services/setup/targets/cli-config.js.map +0 -1
  1032. package/dist/services/setup/targets/cursor-rules.js +0 -48
  1033. package/dist/services/setup/targets/cursor-rules.js.map +0 -1
  1034. package/dist/services/setup/targets/mcp-claude.js +0 -60
  1035. package/dist/services/setup/targets/mcp-claude.js.map +0 -1
  1036. package/dist/services/setup/targets/mcp-cursor.js +0 -59
  1037. package/dist/services/setup/targets/mcp-cursor.js.map +0 -1
  1038. package/dist/services/setup/targets/vscode-settings.js +0 -63
  1039. package/dist/services/setup/targets/vscode-settings.js.map +0 -1
  1040. package/dist/services/setup/types.d.ts +0 -85
  1041. package/dist/services/setup/types.d.ts.map +0 -1
  1042. package/dist/services/setup/types.js +0 -27
  1043. package/dist/services/setup/types.js.map +0 -1
  1044. package/dist/services/sync.d.ts +0 -42
  1045. package/dist/services/sync.d.ts.map +0 -1
  1046. package/dist/services/sync.js +0 -64
  1047. package/dist/services/sync.js.map +0 -1
  1048. package/dist/services/test/index.d.ts +0 -1
  1049. package/dist/services/test/index.js +0 -1
  1050. package/dist/services/test/test-service.d.ts +0 -22
  1051. package/dist/services/test/test-service.d.ts.map +0 -1
  1052. package/dist/services/test/test-service.js +0 -81
  1053. package/dist/services/test/test-service.js.map +0 -1
  1054. package/dist/services/upgrade/index.d.ts +0 -10
  1055. package/dist/services/upgrade/index.d.ts.map +0 -1
  1056. package/dist/services/upgrade/index.js +0 -15
  1057. package/dist/services/upgrade/index.js.map +0 -1
  1058. package/dist/services/upgrade/types.d.ts +0 -78
  1059. package/dist/services/upgrade/types.d.ts.map +0 -1
  1060. package/dist/services/upgrade/upgrade-service.d.ts +0 -38
  1061. package/dist/services/upgrade/upgrade-service.d.ts.map +0 -1
  1062. package/dist/services/upgrade/upgrade-service.js +0 -201
  1063. package/dist/services/upgrade/upgrade-service.js.map +0 -1
  1064. package/dist/services/validate/blueprint-validator.d.ts +0 -23
  1065. package/dist/services/validate/blueprint-validator.d.ts.map +0 -1
  1066. package/dist/services/validate/blueprint-validator.js +0 -50
  1067. package/dist/services/validate/blueprint-validator.js.map +0 -1
  1068. package/dist/services/validate/implementation-agent-validator.d.ts +0 -20
  1069. package/dist/services/validate/implementation-agent-validator.d.ts.map +0 -1
  1070. package/dist/services/validate/implementation-agent-validator.js +0 -42
  1071. package/dist/services/validate/implementation-agent-validator.js.map +0 -1
  1072. package/dist/services/validate/implementation-validator.d.ts +0 -32
  1073. package/dist/services/validate/implementation-validator.d.ts.map +0 -1
  1074. package/dist/services/validate/implementation-validator.js +0 -64
  1075. package/dist/services/validate/implementation-validator.js.map +0 -1
  1076. package/dist/services/validate/index.d.ts +0 -5
  1077. package/dist/services/validate/index.js +0 -5
  1078. package/dist/services/validate/spec-validator.d.ts +0 -42
  1079. package/dist/services/validate/spec-validator.d.ts.map +0 -1
  1080. package/dist/services/validate/spec-validator.js +0 -50
  1081. package/dist/services/validate/spec-validator.js.map +0 -1
  1082. package/dist/services/validate/tenant-validator.d.ts +0 -21
  1083. package/dist/services/validate/tenant-validator.d.ts.map +0 -1
  1084. package/dist/services/validate/tenant-validator.js +0 -165
  1085. package/dist/services/validate/tenant-validator.js.map +0 -1
  1086. package/dist/services/verification-cache/adapters/filesystem.d.ts +0 -46
  1087. package/dist/services/verification-cache/adapters/filesystem.d.ts.map +0 -1
  1088. package/dist/services/verification-cache/adapters/filesystem.js +0 -120
  1089. package/dist/services/verification-cache/adapters/filesystem.js.map +0 -1
  1090. package/dist/services/verification-cache/adapters/in-memory.d.ts +0 -27
  1091. package/dist/services/verification-cache/adapters/in-memory.d.ts.map +0 -1
  1092. package/dist/services/verification-cache/adapters/in-memory.js +0 -46
  1093. package/dist/services/verification-cache/adapters/in-memory.js.map +0 -1
  1094. package/dist/services/verification-cache/adapters/index.d.ts +0 -3
  1095. package/dist/services/verification-cache/adapters/index.js +0 -3
  1096. package/dist/services/verification-cache/adapters/workspace-state.d.ts +0 -49
  1097. package/dist/services/verification-cache/adapters/workspace-state.d.ts.map +0 -1
  1098. package/dist/services/verification-cache/adapters/workspace-state.js +0 -91
  1099. package/dist/services/verification-cache/adapters/workspace-state.js.map +0 -1
  1100. package/dist/services/verification-cache/cache-service.d.ts +0 -70
  1101. package/dist/services/verification-cache/cache-service.d.ts.map +0 -1
  1102. package/dist/services/verification-cache/cache-service.js +0 -256
  1103. package/dist/services/verification-cache/cache-service.js.map +0 -1
  1104. package/dist/services/verification-cache/index.d.ts +0 -6
  1105. package/dist/services/verification-cache/index.js +0 -6
  1106. package/dist/services/verification-cache/types.d.ts +0 -124
  1107. package/dist/services/verification-cache/types.d.ts.map +0 -1
  1108. package/dist/services/verification-cache/types.js +0 -16
  1109. package/dist/services/verification-cache/types.js.map +0 -1
  1110. package/dist/services/verify/ai-verifier.d.ts +0 -25
  1111. package/dist/services/verify/ai-verifier.d.ts.map +0 -1
  1112. package/dist/services/verify/ai-verifier.js +0 -403
  1113. package/dist/services/verify/ai-verifier.js.map +0 -1
  1114. package/dist/services/verify/behavior-verifier.d.ts +0 -12
  1115. package/dist/services/verify/behavior-verifier.d.ts.map +0 -1
  1116. package/dist/services/verify/behavior-verifier.js +0 -186
  1117. package/dist/services/verify/behavior-verifier.js.map +0 -1
  1118. package/dist/services/verify/index.d.ts +0 -5
  1119. package/dist/services/verify/index.js +0 -4
  1120. package/dist/services/verify/structure-verifier.d.ts +0 -12
  1121. package/dist/services/verify/structure-verifier.d.ts.map +0 -1
  1122. package/dist/services/verify/structure-verifier.js +0 -196
  1123. package/dist/services/verify/structure-verifier.js.map +0 -1
  1124. package/dist/services/verify/types.d.ts +0 -137
  1125. package/dist/services/verify/types.d.ts.map +0 -1
  1126. package/dist/services/verify/verify-service.d.ts +0 -60
  1127. package/dist/services/verify/verify-service.d.ts.map +0 -1
  1128. package/dist/services/verify/verify-service.js +0 -204
  1129. package/dist/services/verify/verify-service.js.map +0 -1
  1130. package/dist/services/versioning/changelog-formatter.d.ts +0 -24
  1131. package/dist/services/versioning/changelog-formatter.d.ts.map +0 -1
  1132. package/dist/services/versioning/changelog-formatter.js +0 -155
  1133. package/dist/services/versioning/changelog-formatter.js.map +0 -1
  1134. package/dist/services/versioning/conventional-commits.d.ts +0 -95
  1135. package/dist/services/versioning/conventional-commits.d.ts.map +0 -1
  1136. package/dist/services/versioning/conventional-commits.js +0 -184
  1137. package/dist/services/versioning/conventional-commits.js.map +0 -1
  1138. package/dist/services/versioning/index.d.ts +0 -12
  1139. package/dist/services/versioning/index.d.ts.map +0 -1
  1140. package/dist/services/versioning/index.js +0 -28
  1141. package/dist/services/versioning/index.js.map +0 -1
  1142. package/dist/services/versioning/types.d.ts +0 -135
  1143. package/dist/services/versioning/types.d.ts.map +0 -1
  1144. package/dist/services/versioning/versioning-service.d.ts +0 -74
  1145. package/dist/services/versioning/versioning-service.d.ts.map +0 -1
  1146. package/dist/services/versioning/versioning-service.js +0 -501
  1147. package/dist/services/versioning/versioning-service.js.map +0 -1
  1148. package/dist/services/watch.d.ts +0 -25
  1149. package/dist/services/watch.d.ts.map +0 -1
  1150. package/dist/services/watch.js +0 -33
  1151. package/dist/services/watch.js.map +0 -1
  1152. package/dist/services/workspace-info.d.ts +0 -62
  1153. package/dist/services/workspace-info.d.ts.map +0 -1
  1154. package/dist/services/workspace-info.js +0 -103
  1155. package/dist/services/workspace-info.js.map +0 -1
  1156. package/dist/templates/app-config.template.d.ts +0 -7
  1157. package/dist/templates/app-config.template.d.ts.map +0 -1
  1158. package/dist/templates/app-config.template.js +0 -107
  1159. package/dist/templates/app-config.template.js.map +0 -1
  1160. package/dist/templates/data-view.template.d.ts +0 -7
  1161. package/dist/templates/data-view.template.d.ts.map +0 -1
  1162. package/dist/templates/data-view.template.js +0 -70
  1163. package/dist/templates/data-view.template.js.map +0 -1
  1164. package/dist/templates/event.template.d.ts +0 -11
  1165. package/dist/templates/event.template.d.ts.map +0 -1
  1166. package/dist/templates/event.template.js +0 -42
  1167. package/dist/templates/event.template.js.map +0 -1
  1168. package/dist/templates/experiment.template.d.ts +0 -7
  1169. package/dist/templates/experiment.template.d.ts.map +0 -1
  1170. package/dist/templates/experiment.template.js +0 -89
  1171. package/dist/templates/experiment.template.js.map +0 -1
  1172. package/dist/templates/handler.template.d.ts +0 -16
  1173. package/dist/templates/handler.template.d.ts.map +0 -1
  1174. package/dist/templates/handler.template.js +0 -100
  1175. package/dist/templates/handler.template.js.map +0 -1
  1176. package/dist/templates/index.d.ts +0 -21
  1177. package/dist/templates/index.d.ts.map +0 -1
  1178. package/dist/templates/index.js +0 -37
  1179. package/dist/templates/index.js.map +0 -1
  1180. package/dist/templates/integration.template.d.ts +0 -7
  1181. package/dist/templates/integration.template.d.ts.map +0 -1
  1182. package/dist/templates/integration.template.js +0 -160
  1183. package/dist/templates/integration.template.js.map +0 -1
  1184. package/dist/templates/knowledge.template.d.ts +0 -7
  1185. package/dist/templates/knowledge.template.d.ts.map +0 -1
  1186. package/dist/templates/knowledge.template.js +0 -75
  1187. package/dist/templates/knowledge.template.js.map +0 -1
  1188. package/dist/templates/migration.template.d.ts +0 -7
  1189. package/dist/templates/migration.template.d.ts.map +0 -1
  1190. package/dist/templates/migration.template.js +0 -62
  1191. package/dist/templates/migration.template.js.map +0 -1
  1192. package/dist/templates/operation.template.d.ts +0 -11
  1193. package/dist/templates/operation.template.d.ts.map +0 -1
  1194. package/dist/templates/operation.template.js +0 -107
  1195. package/dist/templates/operation.template.js.map +0 -1
  1196. package/dist/templates/presentation.template.d.ts +0 -11
  1197. package/dist/templates/presentation.template.d.ts.map +0 -1
  1198. package/dist/templates/presentation.template.js +0 -80
  1199. package/dist/templates/presentation.template.js.map +0 -1
  1200. package/dist/templates/telemetry.template.d.ts +0 -7
  1201. package/dist/templates/telemetry.template.d.ts.map +0 -1
  1202. package/dist/templates/telemetry.template.js +0 -91
  1203. package/dist/templates/telemetry.template.js.map +0 -1
  1204. package/dist/templates/workflow-runner.template.d.ts +0 -16
  1205. package/dist/templates/workflow-runner.template.d.ts.map +0 -1
  1206. package/dist/templates/workflow-runner.template.js +0 -50
  1207. package/dist/templates/workflow-runner.template.js.map +0 -1
  1208. package/dist/templates/workflow.template.d.ts +0 -7
  1209. package/dist/templates/workflow.template.d.ts.map +0 -1
  1210. package/dist/templates/workflow.template.js +0 -69
  1211. package/dist/templates/workflow.template.js.map +0 -1
  1212. package/dist/types/config.d.ts +0 -34
  1213. package/dist/types/config.d.ts.map +0 -1
  1214. package/dist/types.d.ts +0 -324
  1215. package/dist/types.d.ts.map +0 -1
  1216. package/dist/utils/module-loader.js +0 -41
  1217. package/dist/utils/module-loader.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ //#region src/services/setup/types.d.ts
2
+ /**
3
+ * Setup service types.
4
+ */
5
+ /**
6
+ * Target components that can be configured during setup.
7
+ */
8
+ type SetupTarget = 'cli-config' | 'vscode-settings' | 'mcp-cursor' | 'mcp-claude' | 'cursor-rules' | 'agents-md';
9
+ /**
10
+ * All available setup targets.
11
+ */
12
+ declare const ALL_SETUP_TARGETS: SetupTarget[];
13
+ /**
14
+ * Human-readable labels for setup targets.
15
+ */
16
+ declare const SETUP_TARGET_LABELS: Record<SetupTarget, string>;
17
+ /**
18
+ * Scope of configuration in a monorepo.
19
+ */
20
+ type SetupScope = 'workspace' | 'package';
21
+ /**
22
+ * Options for the setup service.
23
+ */
24
+ interface SetupOptions {
25
+ /** Root directory of the workspace (monorepo root or single project root). */
26
+ workspaceRoot: string;
27
+ /** Current package root (may differ from workspaceRoot in monorepos). */
28
+ packageRoot?: string;
29
+ /** Whether this is a monorepo. */
30
+ isMonorepo?: boolean;
31
+ /** Where to create config: workspace level or package level. */
32
+ scope?: SetupScope;
33
+ /** Current package name (if in a monorepo package). */
34
+ packageName?: string;
35
+ /** If true, skip prompts and use defaults. */
36
+ interactive: boolean;
37
+ /** Specific targets to configure (defaults to all). */
38
+ targets: SetupTarget[];
39
+ /** Project name (defaults to directory name). */
40
+ projectName?: string;
41
+ /** Default code owners. */
42
+ defaultOwners?: string[];
43
+ }
44
+ /**
45
+ * Result of a single file setup operation.
46
+ */
47
+ interface SetupFileResult {
48
+ /** Target that was configured. */
49
+ target: SetupTarget;
50
+ /** File path that was created or modified. */
51
+ filePath: string;
52
+ /** Action taken. */
53
+ action: 'created' | 'merged' | 'skipped' | 'error';
54
+ /** Message describing what happened. */
55
+ message: string;
56
+ }
57
+ /**
58
+ * Full result of the setup operation.
59
+ */
60
+ interface SetupResult {
61
+ /** Whether all operations succeeded. */
62
+ success: boolean;
63
+ /** Results for each file. */
64
+ files: SetupFileResult[];
65
+ /** Summary message. */
66
+ summary: string;
67
+ }
68
+ /**
69
+ * Callback for interactive prompts during setup.
70
+ */
71
+ interface SetupPromptCallbacks {
72
+ /** Confirm an action. */
73
+ confirm: (message: string) => Promise<boolean>;
74
+ /** Select multiple options. */
75
+ multiSelect: <T extends string>(message: string, options: {
76
+ value: T;
77
+ label: string;
78
+ selected?: boolean;
79
+ }[]) => Promise<T[]>;
80
+ /** Input a string value. */
81
+ input: (message: string, defaultValue?: string) => Promise<string>;
82
+ }
83
+ //#endregion
84
+ export { ALL_SETUP_TARGETS, SETUP_TARGET_LABELS, SetupFileResult, SetupOptions, SetupPromptCallbacks, SetupResult, SetupScope, SetupTarget };
85
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/services/setup/types.ts"],"sourcesContent":[],"mappings":";;AAOA;AAWA;AAYA;AAYA;AAKA;AAwBiB,KAhEL,WAAA,GAgEoB,YAEtB,GAAA,iBAAW,GAAA,YAAA,GAAA,YAAA,GAAA,cAAA,GAAA,WAAA;AAYrB;AAYA;;AAMsB,cArFT,iBAqFS,EArFU,WAqFV,EAAA;;;;AAGsC,cA5E/C,mBA4E+C,EA5E1B,MA4E0B,CA5EnB,WA4EmB,EAAA,MAAA,CAAA;;;;KAhEhD,UAAA;;;;UAKK,YAAA;;;;;;;;UAQP;;;;;;WAMC;;;;;;;;;UAUM,eAAA;;UAEP;;;;;;;;;;;UAYO,WAAA;;;;SAIR;;;;;;;UAQQ,oBAAA;;gCAEe;;;WAIV;;;UACf,QAAQ;;qDAEsC"}
@@ -0,0 +1,27 @@
1
+ //#region src/services/setup/types.ts
2
+ /**
3
+ * All available setup targets.
4
+ */
5
+ const ALL_SETUP_TARGETS = [
6
+ "cli-config",
7
+ "vscode-settings",
8
+ "mcp-cursor",
9
+ "mcp-claude",
10
+ "cursor-rules",
11
+ "agents-md"
12
+ ];
13
+ /**
14
+ * Human-readable labels for setup targets.
15
+ */
16
+ const SETUP_TARGET_LABELS = {
17
+ "cli-config": "CLI Configuration (.contractsrc.json)",
18
+ "vscode-settings": "VS Code Settings (.vscode/settings.json)",
19
+ "mcp-cursor": "MCP for Cursor (.cursor/mcp.json)",
20
+ "mcp-claude": "MCP for Claude Desktop",
21
+ "cursor-rules": "Cursor AI Rules (.cursor/rules/)",
22
+ "agents-md": "Project AI Guide (AGENTS.md)"
23
+ };
24
+
25
+ //#endregion
26
+ export { ALL_SETUP_TARGETS, SETUP_TARGET_LABELS };
27
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../src/services/setup/types.ts"],"sourcesContent":["/**\n * Setup service types.\n */\n\n/**\n * Target components that can be configured during setup.\n */\nexport type SetupTarget =\n | 'cli-config'\n | 'vscode-settings'\n | 'mcp-cursor'\n | 'mcp-claude'\n | 'cursor-rules'\n | 'agents-md';\n\n/**\n * All available setup targets.\n */\nexport const ALL_SETUP_TARGETS: SetupTarget[] = [\n 'cli-config',\n 'vscode-settings',\n 'mcp-cursor',\n 'mcp-claude',\n 'cursor-rules',\n 'agents-md',\n];\n\n/**\n * Human-readable labels for setup targets.\n */\nexport const SETUP_TARGET_LABELS: Record<SetupTarget, string> = {\n 'cli-config': 'CLI Configuration (.contractsrc.json)',\n 'vscode-settings': 'VS Code Settings (.vscode/settings.json)',\n 'mcp-cursor': 'MCP for Cursor (.cursor/mcp.json)',\n 'mcp-claude': 'MCP for Claude Desktop',\n 'cursor-rules': 'Cursor AI Rules (.cursor/rules/)',\n 'agents-md': 'Project AI Guide (AGENTS.md)',\n};\n\n/**\n * Scope of configuration in a monorepo.\n */\nexport type SetupScope = 'workspace' | 'package';\n\n/**\n * Options for the setup service.\n */\nexport interface SetupOptions {\n /** Root directory of the workspace (monorepo root or single project root). */\n workspaceRoot: string;\n /** Current package root (may differ from workspaceRoot in monorepos). */\n packageRoot?: string;\n /** Whether this is a monorepo. */\n isMonorepo?: boolean;\n /** Where to create config: workspace level or package level. */\n scope?: SetupScope;\n /** Current package name (if in a monorepo package). */\n packageName?: string;\n /** If true, skip prompts and use defaults. */\n interactive: boolean;\n /** Specific targets to configure (defaults to all). */\n targets: SetupTarget[];\n /** Project name (defaults to directory name). */\n projectName?: string;\n /** Default code owners. */\n defaultOwners?: string[];\n}\n\n/**\n * Result of a single file setup operation.\n */\nexport interface SetupFileResult {\n /** Target that was configured. */\n target: SetupTarget;\n /** File path that was created or modified. */\n filePath: string;\n /** Action taken. */\n action: 'created' | 'merged' | 'skipped' | 'error';\n /** Message describing what happened. */\n message: string;\n}\n\n/**\n * Full result of the setup operation.\n */\nexport interface SetupResult {\n /** Whether all operations succeeded. */\n success: boolean;\n /** Results for each file. */\n files: SetupFileResult[];\n /** Summary message. */\n summary: string;\n}\n\n/**\n * Callback for interactive prompts during setup.\n */\nexport interface SetupPromptCallbacks {\n /** Confirm an action. */\n confirm: (message: string) => Promise<boolean>;\n /** Select multiple options. */\n multiSelect: <T extends string>(\n message: string,\n options: { value: T; label: string; selected?: boolean }[]\n ) => Promise<T[]>;\n /** Input a string value. */\n input: (message: string, defaultValue?: string) => Promise<string>;\n}\n"],"mappings":";;;;AAkBA,MAAa,oBAAmC;CAC9C;CACA;CACA;CACA;CACA;CACA;CACD;;;;AAKD,MAAa,sBAAmD;CAC9D,cAAc;CACd,mBAAmB;CACnB,cAAc;CACd,cAAc;CACd,gBAAgB;CAChB,aAAa;CACd"}
@@ -0,0 +1,42 @@
1
+ import { FsAdapter } from "../ports/fs.mjs";
2
+ import { LoggerAdapter } from "../ports/logger.mjs";
3
+ import { ValidateSpecResult } from "./validate/spec-validator.mjs";
4
+ import "./validate/index.mjs";
5
+ import { BuildSpecOptions } from "./build.mjs";
6
+ import { WorkspaceConfig } from "@contractspec/module.workspace";
7
+
8
+ //#region src/services/sync.d.ts
9
+
10
+ interface SyncSpecsOptions {
11
+ pattern?: string;
12
+ outputDirs?: (string | undefined)[];
13
+ validate?: boolean;
14
+ buildOptions?: Omit<BuildSpecOptions, 'outputDir'>;
15
+ dryRun?: boolean;
16
+ }
17
+ interface SyncSpecsRunResult {
18
+ specPath: string;
19
+ outputDir?: string;
20
+ validation?: ValidateSpecResult;
21
+ build?: unknown;
22
+ error?: {
23
+ phase: 'validate' | 'build';
24
+ message: string;
25
+ };
26
+ }
27
+ interface SyncSpecsResult {
28
+ specs: string[];
29
+ runs: SyncSpecsRunResult[];
30
+ }
31
+ type SyncBuildFn<B> = (specPath: string, outputDir: string | undefined) => Promise<B>;
32
+ type SyncValidateFn = (specPath: string) => Promise<ValidateSpecResult>;
33
+ declare function syncSpecs(adapters: {
34
+ fs: FsAdapter;
35
+ logger: LoggerAdapter;
36
+ }, config: WorkspaceConfig, options?: SyncSpecsOptions, overrides?: {
37
+ build?: SyncBuildFn<unknown>;
38
+ validate?: SyncValidateFn;
39
+ }): Promise<SyncSpecsResult>;
40
+ //#endregion
41
+ export { SyncBuildFn, SyncSpecsOptions, SyncSpecsResult, SyncSpecsRunResult, SyncValidateFn, syncSpecs };
42
+ //# sourceMappingURL=sync.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.mts","names":[],"sources":["../../src/services/sync.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAqCY,UAxBK,gBAAA,CA2BJ;EAED,OAAA,CAAA,EAAA,MAAA;EAEU,UAAA,CAAA,EAAS,CAAA,MAAA,GAAA,SAAA,CAAA,EAAA;EACb,QAAA,CAAA,EAAA,OAAA;EAAmB,YAAA,CAAA,EA5BpB,IA4BoB,CA5Bf,gBA4Be,EAAA,WAAA,CAAA;EAC3B,MAAA,CAAA,EAAA,OAAA;;AAGE,UA5BK,kBAAA,CA4BL;EACG,QAAA,EAAA,MAAA;EAEJ,SAAA,CAAA,EAAA,MAAA;EAAR,UAAA,CAAA,EA5BY,kBA4BZ;EAAO,KAAA,CAAA,EAAA,OAAA;;;;;;UApBO,eAAA;;QAET;;KAGI,sEAGP,QAAQ;KAED,cAAA,yBAAuC,QAAQ;iBAErC,SAAA;MACJ;UAAmB;WAC3B,2BACC;UAEC;aACG;IAEZ,QAAQ"}
@@ -0,0 +1,64 @@
1
+ import { validateSpec } from "./validate/spec-validator.mjs";
2
+ import "./validate/index.mjs";
3
+ import { buildSpec } from "./build.mjs";
4
+
5
+ //#region src/services/sync.ts
6
+ async function syncSpecs(adapters, config, options = {}, overrides) {
7
+ const { fs, logger } = adapters;
8
+ const specs = await fs.glob({ pattern: options.pattern });
9
+ const outputDirs = options.outputDirs?.length ? options.outputDirs : [void 0];
10
+ const runs = [];
11
+ const validateFn = overrides?.validate ?? ((specPath) => validateSpec(specPath, {
12
+ fs,
13
+ logger
14
+ }));
15
+ const buildFn = overrides?.build ?? ((specPath, outputDir) => buildSpec(specPath, {
16
+ fs,
17
+ logger
18
+ }, outputDir ? {
19
+ ...config,
20
+ outputDir
21
+ } : config, {
22
+ ...options.buildOptions ?? {},
23
+ outputDir
24
+ }));
25
+ for (const specPath of specs) for (const outputDir of outputDirs) {
26
+ const run = {
27
+ specPath,
28
+ outputDir
29
+ };
30
+ if (options.validate) try {
31
+ run.validation = await validateFn(specPath);
32
+ } catch (error) {
33
+ run.error = {
34
+ phase: "validate",
35
+ message: error instanceof Error ? error.message : String(error)
36
+ };
37
+ runs.push(run);
38
+ continue;
39
+ }
40
+ if (!options.dryRun) try {
41
+ run.build = await buildFn(specPath, outputDir);
42
+ } catch (error) {
43
+ run.error = {
44
+ phase: "build",
45
+ message: error instanceof Error ? error.message : String(error)
46
+ };
47
+ runs.push(run);
48
+ continue;
49
+ }
50
+ else logger.info("[dry-run] syncSpecs skipped build", {
51
+ specPath,
52
+ outputDir
53
+ });
54
+ runs.push(run);
55
+ }
56
+ return {
57
+ specs,
58
+ runs
59
+ };
60
+ }
61
+
62
+ //#endregion
63
+ export { syncSpecs };
64
+ //# sourceMappingURL=sync.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.mjs","names":[],"sources":["../../src/services/sync.ts"],"sourcesContent":["/**\n * Sync service.\n *\n * Build (and optionally validate) all discovered specs, optionally repeating into\n * multiple output buckets (./generated/<bucket>/ or any output dir).\n */\n\nimport type { WorkspaceConfig } from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../ports/fs';\nimport type { LoggerAdapter } from '../ports/logger';\nimport { buildSpec, type BuildSpecOptions } from './build';\nimport { validateSpec, type ValidateSpecResult } from './validate';\n\nexport interface SyncSpecsOptions {\n pattern?: string;\n outputDirs?: (string | undefined)[];\n validate?: boolean;\n buildOptions?: Omit<BuildSpecOptions, 'outputDir'>;\n dryRun?: boolean;\n}\n\nexport interface SyncSpecsRunResult {\n specPath: string;\n outputDir?: string;\n validation?: ValidateSpecResult;\n build?: unknown;\n error?: {\n phase: 'validate' | 'build';\n message: string;\n };\n}\n\nexport interface SyncSpecsResult {\n specs: string[];\n runs: SyncSpecsRunResult[];\n}\n\nexport type SyncBuildFn<B> = (\n specPath: string,\n outputDir: string | undefined\n) => Promise<B>;\n\nexport type SyncValidateFn = (specPath: string) => Promise<ValidateSpecResult>;\n\nexport async function syncSpecs(\n adapters: { fs: FsAdapter; logger: LoggerAdapter },\n config: WorkspaceConfig,\n options: SyncSpecsOptions = {},\n overrides?: {\n build?: SyncBuildFn<unknown>;\n validate?: SyncValidateFn;\n }\n): Promise<SyncSpecsResult> {\n const { fs, logger } = adapters;\n\n const specs = await fs.glob({ pattern: options.pattern });\n const outputDirs = options.outputDirs?.length\n ? options.outputDirs\n : [undefined];\n\n const runs: SyncSpecsRunResult[] = [];\n\n const validateFn: SyncValidateFn =\n overrides?.validate ??\n ((specPath) => validateSpec(specPath, { fs, logger }));\n\n const buildFn: SyncBuildFn<unknown> =\n overrides?.build ??\n ((specPath, outputDir) =>\n buildSpec(\n specPath,\n { fs, logger },\n outputDir ? { ...config, outputDir } : config,\n { ...(options.buildOptions ?? {}), outputDir }\n ));\n\n for (const specPath of specs) {\n for (const outputDir of outputDirs) {\n const run: SyncSpecsRunResult = { specPath, outputDir };\n\n if (options.validate) {\n try {\n run.validation = await validateFn(specPath);\n } catch (error) {\n run.error = {\n phase: 'validate',\n message: error instanceof Error ? error.message : String(error),\n };\n runs.push(run);\n continue;\n }\n }\n\n if (!options.dryRun) {\n try {\n run.build = await buildFn(specPath, outputDir);\n } catch (error) {\n run.error = {\n phase: 'build',\n message: error instanceof Error ? error.message : String(error),\n };\n runs.push(run);\n continue;\n }\n } else {\n logger.info('[dry-run] syncSpecs skipped build', {\n specPath,\n outputDir,\n });\n }\n\n runs.push(run);\n }\n }\n\n return { specs, runs };\n}\n"],"mappings":";;;;;AA4CA,eAAsB,UACpB,UACA,QACA,UAA4B,EAAE,EAC9B,WAI0B;CAC1B,MAAM,EAAE,IAAI,WAAW;CAEvB,MAAM,QAAQ,MAAM,GAAG,KAAK,EAAE,SAAS,QAAQ,SAAS,CAAC;CACzD,MAAM,aAAa,QAAQ,YAAY,SACnC,QAAQ,aACR,CAAC,OAAU;CAEf,MAAM,OAA6B,EAAE;CAErC,MAAM,aACJ,WAAW,cACT,aAAa,aAAa,UAAU;EAAE;EAAI;EAAQ,CAAC;CAEvD,MAAM,UACJ,WAAW,WACT,UAAU,cACV,UACE,UACA;EAAE;EAAI;EAAQ,EACd,YAAY;EAAE,GAAG;EAAQ;EAAW,GAAG,QACvC;EAAE,GAAI,QAAQ,gBAAgB,EAAE;EAAG;EAAW,CAC/C;AAEL,MAAK,MAAM,YAAY,MACrB,MAAK,MAAM,aAAa,YAAY;EAClC,MAAM,MAA0B;GAAE;GAAU;GAAW;AAEvD,MAAI,QAAQ,SACV,KAAI;AACF,OAAI,aAAa,MAAM,WAAW,SAAS;WACpC,OAAO;AACd,OAAI,QAAQ;IACV,OAAO;IACP,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;IAChE;AACD,QAAK,KAAK,IAAI;AACd;;AAIJ,MAAI,CAAC,QAAQ,OACX,KAAI;AACF,OAAI,QAAQ,MAAM,QAAQ,UAAU,UAAU;WACvC,OAAO;AACd,OAAI,QAAQ;IACV,OAAO;IACP,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;IAChE;AACD,QAAK,KAAK,IAAI;AACd;;MAGF,QAAO,KAAK,qCAAqC;GAC/C;GACA;GACD,CAAC;AAGJ,OAAK,KAAK,IAAI;;AAIlB,QAAO;EAAE;EAAO;EAAM"}
@@ -0,0 +1,2 @@
1
+ import { RunTestsResult, TestServiceOptions, TestServiceResult, listTests, runTestSpecs, runTests } from "./test-service.mjs";
2
+ import { TestGeneratorOptions, TestGeneratorService } from "./test-generator-service.mjs";
@@ -0,0 +1,4 @@
1
+ import { listTests, runTestSpecs, runTests } from "./test-service.mjs";
2
+ import { TestGeneratorService } from "./test-generator-service.mjs";
3
+
4
+ export { };
@@ -0,0 +1,24 @@
1
+ import { LoggerAdapter } from "../../ports/logger.mjs";
2
+ import { OperationSpec } from "@contractspec/lib.contracts";
3
+ import { TestSpec } from "@contractspec/lib.contracts/tests";
4
+ import { LanguageModel } from "@contractspec/lib.ai-agent";
5
+
6
+ //#region src/services/test/test-generator-service.d.ts
7
+ interface TestGeneratorOptions {
8
+ model?: LanguageModel;
9
+ maxScenarios?: number;
10
+ }
11
+ declare class TestGeneratorService {
12
+ private readonly logger;
13
+ private readonly defaultModel?;
14
+ constructor(logger: LoggerAdapter, defaultModel?: LanguageModel | undefined);
15
+ generateTests(spec: OperationSpec<any, any>,
16
+ // Use any to satisfy generics for now
17
+ options?: TestGeneratorOptions): Promise<TestSpec>;
18
+ private parseResponse;
19
+ private enrichSpec;
20
+ private logUsage;
21
+ }
22
+ //#endregion
23
+ export { TestGeneratorOptions, TestGeneratorService };
24
+ //# sourceMappingURL=test-generator-service.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-generator-service.d.mts","names":[],"sources":["../../../src/services/test/test-generator-service.ts"],"sourcesContent":[],"mappings":";;;;;;UAYiB,oBAAA;UACP;EADO,YAAA,CAAA,EAAA,MAAA;AAyBjB;AAE6B,cAFhB,oBAAA,CAEgB;EACO,iBAAA,MAAA;EAK1B,iBAAA,YAAA;EACG,WAAA,CAAA,MAAA,EAPgB,aAOhB,EAAA,YAAA,CAAA,EANuB,aAMvB,GAAA,SAAA;EACA,aAAA,CAAA,IAAA,EAFH,aAEG,CAAA,GAAA,EAAA,GAAA,CAAA;EAAA;EAAR,OAAA,CAAA,EADQ,oBACR,CAAA,EAAA,OAAA,CAAQ,QAAR,CAAA;EAAO,QAAA,aAAA"}
@@ -0,0 +1,92 @@
1
+ import { generateText } from "ai";
2
+ import "@contractspec/lib.contracts/tests";
3
+
4
+ //#region src/services/test/test-generator-service.ts
5
+ const SYSTEM_PROMPT = `
6
+ You are an expert software test engineer specializing in ContractSpec.
7
+ Your goal is to generate comprehensive test scenarios for a given ContractSpec Operation.
8
+
9
+ A TestSpec consists of:
10
+ - targeted operation
11
+ - fixtures (setup state)
12
+ - scenarios (given/when/then)
13
+
14
+ For each scenario:
15
+ 1. Define 'given': initial state or data setup
16
+ 2. Define 'when': the operation execution with specific input
17
+ 3. Define 'then': assertions on output, error, or events
18
+
19
+ Generate scenarios covering:
20
+ - Happy path (valid input, successful execution)
21
+ - Edge cases (boundary values, optional fields)
22
+ - Error cases (invalid input, business rule violations)
23
+ `.trim();
24
+ var TestGeneratorService = class {
25
+ constructor(logger, defaultModel) {
26
+ this.logger = logger;
27
+ this.defaultModel = defaultModel;
28
+ }
29
+ async generateTests(spec, options = {}) {
30
+ const model = options.model ?? this.defaultModel;
31
+ if (!model) throw new Error("No AI model provided for test generation");
32
+ this.logger.info(`Generating tests for operation ${spec.meta.key}...`);
33
+ const prompt = `
34
+ Generate a TestSpec for the following Operation:
35
+
36
+ \`\`\`json
37
+ ${JSON.stringify(spec, null, 2)}
38
+ \`\`\`
39
+
40
+ The output must be a valid JSON object conforming to the TestSpec interface.
41
+ Do not include markdown formatting or explanations, just the JSON.
42
+ `.trim();
43
+ try {
44
+ const { text, usage } = await generateText({
45
+ model,
46
+ system: SYSTEM_PROMPT,
47
+ prompt
48
+ });
49
+ this.logUsage(usage);
50
+ const generated = this.parseResponse(text);
51
+ return this.enrichSpec(generated, spec);
52
+ } catch (error) {
53
+ this.logger.error("Failed to generate tests", { error });
54
+ throw error;
55
+ }
56
+ }
57
+ parseResponse(text) {
58
+ try {
59
+ const cleaned = text.replace(/```json\n?|\n?```/g, "");
60
+ return JSON.parse(cleaned);
61
+ } catch (_e) {
62
+ throw new Error("Failed to parse AI response as JSON");
63
+ }
64
+ }
65
+ enrichSpec(generated, target) {
66
+ return {
67
+ meta: {
68
+ key: `${target.meta.key}.test`,
69
+ version: target.meta.version ?? "0.0.1",
70
+ owners: target.meta.owners ?? []
71
+ },
72
+ target: {
73
+ type: "operation",
74
+ operation: {
75
+ key: target.meta.key,
76
+ version: target.meta.version
77
+ }
78
+ },
79
+ fixtures: generated.fixtures ?? [],
80
+ scenarios: generated.scenarios ?? [],
81
+ coverage: generated.coverage
82
+ };
83
+ }
84
+ logUsage(usage) {
85
+ const u = usage;
86
+ this.logger.debug(`AI Usage: ${u.promptTokens} prompt + ${u.completionTokens} completion = ${u.totalTokens} total tokens`);
87
+ }
88
+ };
89
+
90
+ //#endregion
91
+ export { TestGeneratorService };
92
+ //# sourceMappingURL=test-generator-service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-generator-service.mjs","names":[],"sources":["../../../src/services/test/test-generator-service.ts"],"sourcesContent":["import type {\n LanguageModel,\n LanguageModelUsage,\n} from '@contractspec/lib.ai-agent';\nimport { generateText } from 'ai';\nimport {\n type TestSpec,\n type TestTarget,\n} from '@contractspec/lib.contracts/tests';\nimport type { OperationSpec } from '@contractspec/lib.contracts';\nimport type { LoggerAdapter } from '../../ports/logger';\n\nexport interface TestGeneratorOptions {\n model?: LanguageModel;\n maxScenarios?: number;\n}\n\nconst SYSTEM_PROMPT = `\nYou are an expert software test engineer specializing in ContractSpec.\nYour goal is to generate comprehensive test scenarios for a given ContractSpec Operation.\n\nA TestSpec consists of:\n- targeted operation\n- fixtures (setup state)\n- scenarios (given/when/then)\n\nFor each scenario:\n1. Define 'given': initial state or data setup\n2. Define 'when': the operation execution with specific input\n3. Define 'then': assertions on output, error, or events\n\nGenerate scenarios covering:\n- Happy path (valid input, successful execution)\n- Edge cases (boundary values, optional fields)\n- Error cases (invalid input, business rule violations)\n`.trim();\n\nexport class TestGeneratorService {\n constructor(\n private readonly logger: LoggerAdapter,\n private readonly defaultModel?: LanguageModel\n ) {}\n\n async generateTests(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n spec: OperationSpec<any, any>, // Use any to satisfy generics for now\n options: TestGeneratorOptions = {}\n ): Promise<TestSpec> {\n const model = options.model ?? this.defaultModel;\n if (!model) {\n throw new Error('No AI model provided for test generation');\n }\n\n this.logger.info(`Generating tests for operation ${spec.meta.key}...`);\n\n const prompt = `\nGenerate a TestSpec for the following Operation:\n\n\\`\\`\\`json\n${JSON.stringify(spec, null, 2)}\n\\`\\`\\`\n\nThe output must be a valid JSON object conforming to the TestSpec interface.\nDo not include markdown formatting or explanations, just the JSON.\n`.trim();\n\n try {\n const { text, usage } = await generateText({\n model,\n system: SYSTEM_PROMPT,\n prompt,\n });\n\n this.logUsage(usage);\n\n const generated = this.parseResponse(text);\n return this.enrichSpec(generated, spec);\n } catch (error) {\n this.logger.error('Failed to generate tests', { error });\n throw error;\n }\n }\n\n private parseResponse(text: string): Partial<TestSpec> {\n try {\n // clean markdown code blocks if present\n const cleaned = text.replace(/```json\\n?|\\n?```/g, '');\n return JSON.parse(cleaned);\n } catch (_e) {\n throw new Error('Failed to parse AI response as JSON');\n }\n }\n\n private enrichSpec(\n generated: Partial<TestSpec>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n target: OperationSpec<any, any>\n ): TestSpec {\n const meta = {\n key: `${target.meta.key}.test`,\n version: target.meta.version ?? '0.0.1',\n owners: target.meta.owners ?? [],\n };\n\n const targetRef: TestTarget = {\n type: 'operation',\n operation: {\n key: target.meta.key,\n version: target.meta.version,\n },\n };\n\n return {\n meta,\n target: targetRef,\n fixtures: generated.fixtures ?? [],\n scenarios: generated.scenarios ?? [],\n coverage: generated.coverage,\n } as TestSpec;\n }\n\n private logUsage(usage: LanguageModelUsage) {\n // Cast to any to avoid type issues with different AI SDK versions\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const u = usage as any;\n this.logger.debug(\n `AI Usage: ${u.promptTokens} prompt + ${u.completionTokens} completion = ${u.totalTokens} total tokens`\n );\n }\n}\n"],"mappings":";;;;AAiBA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;EAkBpB,MAAM;AAER,IAAa,uBAAb,MAAkC;CAChC,YACE,AAAiB,QACjB,AAAiB,cACjB;EAFiB;EACA;;CAGnB,MAAM,cAEJ,MACA,UAAgC,EAAE,EACf;EACnB,MAAM,QAAQ,QAAQ,SAAS,KAAK;AACpC,MAAI,CAAC,MACH,OAAM,IAAI,MAAM,2CAA2C;AAG7D,OAAK,OAAO,KAAK,kCAAkC,KAAK,KAAK,IAAI,KAAK;EAEtE,MAAM,SAAS;;;;EAIjB,KAAK,UAAU,MAAM,MAAM,EAAE,CAAC;;;;;EAK9B,MAAM;AAEJ,MAAI;GACF,MAAM,EAAE,MAAM,UAAU,MAAM,aAAa;IACzC;IACA,QAAQ;IACR;IACD,CAAC;AAEF,QAAK,SAAS,MAAM;GAEpB,MAAM,YAAY,KAAK,cAAc,KAAK;AAC1C,UAAO,KAAK,WAAW,WAAW,KAAK;WAChC,OAAO;AACd,QAAK,OAAO,MAAM,4BAA4B,EAAE,OAAO,CAAC;AACxD,SAAM;;;CAIV,AAAQ,cAAc,MAAiC;AACrD,MAAI;GAEF,MAAM,UAAU,KAAK,QAAQ,sBAAsB,GAAG;AACtD,UAAO,KAAK,MAAM,QAAQ;WACnB,IAAI;AACX,SAAM,IAAI,MAAM,sCAAsC;;;CAI1D,AAAQ,WACN,WAEA,QACU;AAeV,SAAO;GACL,MAfW;IACX,KAAK,GAAG,OAAO,KAAK,IAAI;IACxB,SAAS,OAAO,KAAK,WAAW;IAChC,QAAQ,OAAO,KAAK,UAAU,EAAE;IACjC;GAYC,QAV4B;IAC5B,MAAM;IACN,WAAW;KACT,KAAK,OAAO,KAAK;KACjB,SAAS,OAAO,KAAK;KACtB;IACF;GAKC,UAAU,UAAU,YAAY,EAAE;GAClC,WAAW,UAAU,aAAa,EAAE;GACpC,UAAU,UAAU;GACrB;;CAGH,AAAQ,SAAS,OAA2B;EAG1C,MAAM,IAAI;AACV,OAAK,OAAO,MACV,aAAa,EAAE,aAAa,YAAY,EAAE,iBAAiB,gBAAgB,EAAE,YAAY,eAC1F"}
@@ -0,0 +1,27 @@
1
+ import { WorkspaceAdapters } from "../../ports/logger.mjs";
2
+ import { OperationSpecRegistry } from "@contractspec/lib.contracts";
3
+ import { TestRunResult, TestSpec } from "@contractspec/lib.contracts/tests";
4
+
5
+ //#region src/services/test/test-service.d.ts
6
+ interface TestServiceOptions {
7
+ registry?: string;
8
+ pattern?: string;
9
+ }
10
+ interface TestServiceResult {
11
+ results: TestRunResult[];
12
+ passed: boolean;
13
+ }
14
+ interface RunTestsResult {
15
+ results: TestRunResult[];
16
+ passed: number;
17
+ failed: number;
18
+ }
19
+ declare function runTests(specs: TestSpec[], registry: OperationSpecRegistry): Promise<RunTestsResult>;
20
+ declare function runTestSpecs(specFiles: string[], options: TestServiceOptions, adapters: WorkspaceAdapters): Promise<TestServiceResult>;
21
+ /**
22
+ * List all available tests in the given files.
23
+ */
24
+ declare function listTests(specFiles: string[], adapters: WorkspaceAdapters): Promise<TestSpec[]>;
25
+ //#endregion
26
+ export { RunTestsResult, TestServiceOptions, TestServiceResult, listTests, runTestSpecs, runTests };
27
+ //# sourceMappingURL=test-service.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-service.d.mts","names":[],"sources":["../../../src/services/test/test-service.ts"],"sourcesContent":[],"mappings":";;;;;UAUiB,kBAAA;;EAAA,OAAA,CAAA,EAAA,MAAA;AAKjB;AAKiB,UALA,iBAAA,CAMN;EAKW,OAAA,EAVX,aAUmB,EAAA;EACrB,MAAA,EAAA,OAAA;;AAEE,UATM,cAAA,CASN;EAAR,OAAA,EARQ,aAQR,EAAA;EAAO,MAAA,EAAA,MAAA;EAuBY,MAAA,EAAA,MAAA;;AAGV,iBA7BU,QAAA,CA6BV,KAAA,EA5BH,QA4BG,EAAA,EAAA,QAAA,EA3BA,qBA2BA,CAAA,EA1BT,OA0BS,CA1BD,cA0BC,CAAA;AACD,iBAJW,YAAA,CAIX,SAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAFA,kBAEA,EAAA,QAAA,EADC,iBACD,CAAA,EAAR,OAAQ,CAAA,iBAAA,CAAA;;;AA2DX;AAEY,iBAFU,SAAA,CAEV,SAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EACT,OADS,CACD,QADC,EAAA,CAAA"}
@@ -0,0 +1,94 @@
1
+ import { loadTypeScriptModule } from "../../utils/module-loader.mjs";
2
+ import { resolve } from "path";
3
+ import { OperationSpecRegistry } from "@contractspec/lib.contracts";
4
+ import { TestRunner } from "@contractspec/lib.contracts/tests";
5
+
6
+ //#region src/services/test/test-service.ts
7
+ async function runTests(specs, registry) {
8
+ const runner = new TestRunner({ registry });
9
+ const results = [];
10
+ let passed = 0;
11
+ let failed = 0;
12
+ for (const spec of specs) {
13
+ const result = await runner.run(spec);
14
+ results.push(result);
15
+ passed += result.passed;
16
+ failed += result.failed;
17
+ }
18
+ return {
19
+ results,
20
+ passed,
21
+ failed
22
+ };
23
+ }
24
+ async function runTestSpecs(specFiles, options, adapters) {
25
+ const { logger } = adapters;
26
+ let registry;
27
+ if (options.registry) registry = await loadRegistry(resolve(options.registry));
28
+ else {
29
+ registry = new OperationSpecRegistry();
30
+ logger.warn("No registry module provided. Scenarios that execute operations without handlers will fail.");
31
+ }
32
+ const runner = new TestRunner({ registry });
33
+ const results = [];
34
+ let allPassed = true;
35
+ for (const specFile of specFiles) try {
36
+ const specs = extractTestSpecs(await loadTypeScriptModule(resolve(specFile)));
37
+ if (specs.length === 0) {
38
+ logger.warn(`No TestSpec exports found in ${specFile}`);
39
+ continue;
40
+ }
41
+ for (const spec of specs) {
42
+ logger.info(`Running ${spec.meta.key}...`);
43
+ const result = await runner.run(spec);
44
+ results.push(result);
45
+ if (result.failed > 0) {
46
+ allPassed = false;
47
+ logger.error(`${spec.meta.key} failed (${result.failed}/${result.scenarios.length})`);
48
+ } else logger.info(`${spec.meta.key} passed (${result.passed}/${result.scenarios.length})`);
49
+ }
50
+ } catch (error) {
51
+ logger.error(`Failed to load/run spec ${specFile}: ${error instanceof Error ? error.message : String(error)}`);
52
+ allPassed = false;
53
+ }
54
+ return {
55
+ results,
56
+ passed: allPassed
57
+ };
58
+ }
59
+ /**
60
+ * List all available tests in the given files.
61
+ */
62
+ async function listTests(specFiles, adapters) {
63
+ const specs = [];
64
+ for (const specFile of specFiles) try {
65
+ const fileSpecs = extractTestSpecs(await loadTypeScriptModule(resolve(specFile)));
66
+ specs.push(...fileSpecs);
67
+ } catch (error) {
68
+ adapters.logger.warn(`Failed to load tests from ${specFile}: ${error instanceof Error ? error.message : String(error)}`);
69
+ }
70
+ return specs;
71
+ }
72
+ function extractTestSpecs(exports) {
73
+ const specs = [];
74
+ for (const value of Object.values(exports)) if (isTestSpec(value)) specs.push(value);
75
+ return specs;
76
+ }
77
+ function isTestSpec(value) {
78
+ return typeof value === "object" && value !== null && Array.isArray(value.scenarios) && !!value.meta?.key;
79
+ }
80
+ async function loadRegistry(modulePath) {
81
+ const exports = await loadTypeScriptModule(modulePath);
82
+ if (exports instanceof OperationSpecRegistry) return exports;
83
+ if (exports.registry instanceof OperationSpecRegistry) return exports.registry;
84
+ const factory = typeof exports.createRegistry === "function" ? exports.createRegistry : typeof exports.default === "function" ? exports.default : void 0;
85
+ if (factory) {
86
+ const result = await factory();
87
+ if (result instanceof OperationSpecRegistry) return result;
88
+ }
89
+ throw new Error(`Registry module ${modulePath} must export a OperationSpecRegistry instance or a factory function returning one.`);
90
+ }
91
+
92
+ //#endregion
93
+ export { listTests, runTestSpecs, runTests };
94
+ //# sourceMappingURL=test-service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-service.mjs","names":[],"sources":["../../../src/services/test/test-service.ts"],"sourcesContent":["import { resolve } from 'path';\nimport {\n TestRunner,\n type TestSpec,\n type TestRunResult,\n} from '@contractspec/lib.contracts/tests';\nimport { OperationSpecRegistry } from '@contractspec/lib.contracts';\nimport { loadTypeScriptModule } from '../../utils/module-loader';\nimport type { WorkspaceAdapters } from '../../ports/logger';\n\nexport interface TestServiceOptions {\n registry?: string;\n pattern?: string;\n}\n\nexport interface TestServiceResult {\n results: TestRunResult[];\n passed: boolean;\n}\n\nexport interface RunTestsResult {\n results: TestRunResult[];\n passed: number;\n failed: number;\n}\n\nexport async function runTests(\n specs: TestSpec[],\n registry: OperationSpecRegistry\n): Promise<RunTestsResult> {\n const runner = new TestRunner({ registry });\n\n const results: TestRunResult[] = [];\n let passed = 0;\n let failed = 0;\n\n for (const spec of specs) {\n const result = await runner.run(spec);\n results.push(result);\n passed += result.passed;\n failed += result.failed;\n }\n\n return { results, passed, failed };\n}\n\ninterface LoadedRegistryModule {\n default?: unknown;\n createRegistry?: () => Promise<OperationSpecRegistry> | OperationSpecRegistry;\n registry?: OperationSpecRegistry;\n}\n\nexport async function runTestSpecs(\n specFiles: string[],\n options: TestServiceOptions,\n adapters: WorkspaceAdapters\n): Promise<TestServiceResult> {\n const { logger } = adapters;\n\n // Load registry\n let registry: OperationSpecRegistry;\n if (options.registry) {\n registry = await loadRegistry(resolve(options.registry));\n } else {\n registry = new OperationSpecRegistry();\n logger.warn(\n 'No registry module provided. Scenarios that execute operations without handlers will fail.'\n );\n }\n\n const runner = new TestRunner({ registry });\n const results: TestRunResult[] = [];\n let allPassed = true;\n\n for (const specFile of specFiles) {\n try {\n const resolvedPath = resolve(specFile);\n const exports = await loadTypeScriptModule(resolvedPath);\n const specs = extractTestSpecs(exports);\n\n if (specs.length === 0) {\n logger.warn(`No TestSpec exports found in ${specFile}`);\n continue;\n }\n\n for (const spec of specs) {\n logger.info(`Running ${spec.meta.key}...`);\n const result = await runner.run(spec);\n results.push(result);\n\n if (result.failed > 0) {\n allPassed = false;\n logger.error(\n `${spec.meta.key} failed (${result.failed}/${result.scenarios.length})`\n );\n } else {\n logger.info(\n `${spec.meta.key} passed (${result.passed}/${result.scenarios.length})`\n );\n }\n }\n } catch (error) {\n logger.error(\n `Failed to load/run spec ${specFile}: ${error instanceof Error ? error.message : String(error)}`\n );\n allPassed = false;\n }\n }\n\n return { results, passed: allPassed };\n}\n\n/**\n * List all available tests in the given files.\n */\nexport async function listTests(\n specFiles: string[],\n adapters: WorkspaceAdapters\n): Promise<TestSpec[]> {\n const specs: TestSpec[] = [];\n\n for (const specFile of specFiles) {\n try {\n const resolvedPath = resolve(specFile);\n const exports = await loadTypeScriptModule(resolvedPath);\n const fileSpecs = extractTestSpecs(exports);\n specs.push(...fileSpecs);\n } catch (error) {\n adapters.logger.warn(\n `Failed to load tests from ${specFile}: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n }\n\n return specs;\n}\n\nfunction extractTestSpecs(exports: Record<string, unknown>): TestSpec[] {\n const specs: TestSpec[] = [];\n for (const value of Object.values(exports)) {\n if (isTestSpec(value)) {\n specs.push(value);\n }\n }\n return specs;\n}\n\nfunction isTestSpec(value: unknown): value is TestSpec {\n return (\n typeof value === 'object' &&\n value !== null &&\n Array.isArray((value as TestSpec).scenarios) &&\n !!(value as TestSpec).meta?.key\n );\n}\n\nasync function loadRegistry(\n modulePath: string\n): Promise<OperationSpecRegistry> {\n const exports = (await loadTypeScriptModule(\n modulePath\n )) as LoadedRegistryModule;\n\n if (exports instanceof OperationSpecRegistry) {\n return exports;\n }\n if (exports.registry instanceof OperationSpecRegistry) {\n return exports.registry;\n }\n\n const factory =\n typeof exports.createRegistry === 'function'\n ? exports.createRegistry\n : typeof exports.default === 'function'\n ? (exports.default as () =>\n | Promise<OperationSpecRegistry>\n | OperationSpecRegistry)\n : undefined;\n\n if (factory) {\n const result = await factory();\n if (result instanceof OperationSpecRegistry) {\n return result;\n }\n }\n\n throw new Error(\n `Registry module ${modulePath} must export a OperationSpecRegistry instance or a factory function returning one.`\n );\n}\n"],"mappings":";;;;;;AA0BA,eAAsB,SACpB,OACA,UACyB;CACzB,MAAM,SAAS,IAAI,WAAW,EAAE,UAAU,CAAC;CAE3C,MAAM,UAA2B,EAAE;CACnC,IAAI,SAAS;CACb,IAAI,SAAS;AAEb,MAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,SAAS,MAAM,OAAO,IAAI,KAAK;AACrC,UAAQ,KAAK,OAAO;AACpB,YAAU,OAAO;AACjB,YAAU,OAAO;;AAGnB,QAAO;EAAE;EAAS;EAAQ;EAAQ;;AASpC,eAAsB,aACpB,WACA,SACA,UAC4B;CAC5B,MAAM,EAAE,WAAW;CAGnB,IAAI;AACJ,KAAI,QAAQ,SACV,YAAW,MAAM,aAAa,QAAQ,QAAQ,SAAS,CAAC;MACnD;AACL,aAAW,IAAI,uBAAuB;AACtC,SAAO,KACL,6FACD;;CAGH,MAAM,SAAS,IAAI,WAAW,EAAE,UAAU,CAAC;CAC3C,MAAM,UAA2B,EAAE;CACnC,IAAI,YAAY;AAEhB,MAAK,MAAM,YAAY,UACrB,KAAI;EAGF,MAAM,QAAQ,iBADE,MAAM,qBADD,QAAQ,SAAS,CACkB,CACjB;AAEvC,MAAI,MAAM,WAAW,GAAG;AACtB,UAAO,KAAK,gCAAgC,WAAW;AACvD;;AAGF,OAAK,MAAM,QAAQ,OAAO;AACxB,UAAO,KAAK,WAAW,KAAK,KAAK,IAAI,KAAK;GAC1C,MAAM,SAAS,MAAM,OAAO,IAAI,KAAK;AACrC,WAAQ,KAAK,OAAO;AAEpB,OAAI,OAAO,SAAS,GAAG;AACrB,gBAAY;AACZ,WAAO,MACL,GAAG,KAAK,KAAK,IAAI,WAAW,OAAO,OAAO,GAAG,OAAO,UAAU,OAAO,GACtE;SAED,QAAO,KACL,GAAG,KAAK,KAAK,IAAI,WAAW,OAAO,OAAO,GAAG,OAAO,UAAU,OAAO,GACtE;;UAGE,OAAO;AACd,SAAO,MACL,2BAA2B,SAAS,IAAI,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,GAC/F;AACD,cAAY;;AAIhB,QAAO;EAAE;EAAS,QAAQ;EAAW;;;;;AAMvC,eAAsB,UACpB,WACA,UACqB;CACrB,MAAM,QAAoB,EAAE;AAE5B,MAAK,MAAM,YAAY,UACrB,KAAI;EAGF,MAAM,YAAY,iBADF,MAAM,qBADD,QAAQ,SAAS,CACkB,CACb;AAC3C,QAAM,KAAK,GAAG,UAAU;UACjB,OAAO;AACd,WAAS,OAAO,KACd,6BAA6B,SAAS,IAAI,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,GACjG;;AAIL,QAAO;;AAGT,SAAS,iBAAiB,SAA8C;CACtE,MAAM,QAAoB,EAAE;AAC5B,MAAK,MAAM,SAAS,OAAO,OAAO,QAAQ,CACxC,KAAI,WAAW,MAAM,CACnB,OAAM,KAAK,MAAM;AAGrB,QAAO;;AAGT,SAAS,WAAW,OAAmC;AACrD,QACE,OAAO,UAAU,YACjB,UAAU,QACV,MAAM,QAAS,MAAmB,UAAU,IAC5C,CAAC,CAAE,MAAmB,MAAM;;AAIhC,eAAe,aACb,YACgC;CAChC,MAAM,UAAW,MAAM,qBACrB,WACD;AAED,KAAI,mBAAmB,sBACrB,QAAO;AAET,KAAI,QAAQ,oBAAoB,sBAC9B,QAAO,QAAQ;CAGjB,MAAM,UACJ,OAAO,QAAQ,mBAAmB,aAC9B,QAAQ,iBACR,OAAO,QAAQ,YAAY,aACxB,QAAQ,UAGT;AAER,KAAI,SAAS;EACX,MAAM,SAAS,MAAM,SAAS;AAC9B,MAAI,kBAAkB,sBACpB,QAAO;;AAIX,OAAM,IAAI,MACR,mBAAmB,WAAW,oFAC/B"}
@@ -0,0 +1,18 @@
1
+ import "./test-ref-validator.mjs";
2
+ import "../integrity.mjs";
3
+ import { SpecScanResult } from "@contractspec/module.workspace";
4
+
5
+ //#region src/services/test-link/index.d.ts
6
+
7
+ /**
8
+ * Test target extracted from a TestSpec.
9
+ * Matches the TestTarget type from @contractspec/lib.contracts.
10
+ */
11
+ interface ExtractedTestTarget {
12
+ type: 'operation' | 'workflow';
13
+ key: string;
14
+ version?: string;
15
+ }
16
+ //#endregion
17
+ export { ExtractedTestTarget };
18
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/test-link/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;UAciB,mBAAA"}
@@ -0,0 +1,60 @@
1
+ import { validateTestRefs } from "./test-ref-validator.mjs";
2
+
3
+ //#region src/services/test-link/index.ts
4
+ /**
5
+ * Build a spec key from key and version.
6
+ */
7
+ function makeSpecKey(key, version) {
8
+ return `${key}.v${version}`;
9
+ }
10
+ /**
11
+ * Build the test-to-target index from test spec scan results.
12
+ *
13
+ * @param testSpecScans - Array of test spec scan results with testTarget info
14
+ * @param inventory - The full spec inventory to validate targets against
15
+ * @returns Bidirectional index for test-target relationships
16
+ */
17
+ function buildTestIndex(testSpecScans, inventory) {
18
+ const targetToTests = /* @__PURE__ */ new Map();
19
+ const testToTarget = /* @__PURE__ */ new Map();
20
+ const orphanedTests = [];
21
+ const testsWithoutTarget = [];
22
+ for (const scan of testSpecScans) {
23
+ if (!scan.key || !scan.version) continue;
24
+ const testKey = makeSpecKey(scan.key, scan.version);
25
+ if (!scan.testTarget) {
26
+ testsWithoutTarget.push(testKey);
27
+ continue;
28
+ }
29
+ const { type, key, version } = scan.testTarget;
30
+ const targetKey = makeSpecKey(key, version ?? scan.version);
31
+ const targetMap = getTargetMap(inventory, type);
32
+ if (!targetMap || !targetMap.has(targetKey)) {
33
+ orphanedTests.push(testKey);
34
+ continue;
35
+ }
36
+ testToTarget.set(testKey, targetKey);
37
+ if (!targetToTests.has(targetKey)) targetToTests.set(targetKey, /* @__PURE__ */ new Set());
38
+ targetToTests.get(targetKey)?.add(testKey);
39
+ }
40
+ return {
41
+ targetToTests,
42
+ testToTarget,
43
+ orphanedTests,
44
+ testsWithoutTarget
45
+ };
46
+ }
47
+ /**
48
+ * Get the inventory map for a target type.
49
+ */
50
+ function getTargetMap(inventory, type) {
51
+ switch (type) {
52
+ case "operation": return inventory.operations;
53
+ case "workflow": return inventory.workflows;
54
+ default: return;
55
+ }
56
+ }
57
+
58
+ //#endregion
59
+ export { buildTestIndex };
60
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/test-link/index.ts"],"sourcesContent":["/**\n * Test-to-target index service.\n *\n * Builds bidirectional mappings between TestSpecs and their targets,\n * enabling contract-first test discovery instead of naming conventions.\n */\n\nimport type { SpecLocation, SpecInventory } from '../integrity';\nimport type { SpecScanResult } from '@contractspec/module.workspace';\n\n/**\n * Test target extracted from a TestSpec.\n * Matches the TestTarget type from @contractspec/lib.contracts.\n */\nexport interface ExtractedTestTarget {\n type: 'operation' | 'workflow';\n key: string;\n version?: string;\n}\n\n/**\n * Extended spec scan result with test target information.\n */\nexport interface TestSpecScanResult extends SpecScanResult {\n testTarget?: ExtractedTestTarget;\n}\n\n/**\n * Bidirectional index mapping between tests and their targets.\n */\nexport interface TestToTargetIndex {\n /**\n * Map from target spec key (e.g., \"my-op.v1.0.0\") to set of test spec keys.\n * A single target can have multiple tests.\n */\n targetToTests: Map<string, Set<string>>;\n\n /**\n * Map from test spec key to target key.\n * Each test targets exactly one spec.\n */\n testToTarget: Map<string, string>;\n\n /**\n * Tests with targets that don't exist in the inventory.\n */\n orphanedTests: string[];\n\n /**\n * Tests without a valid target field (legacy naming convention only).\n */\n testsWithoutTarget: string[];\n}\n\n/**\n * Build a spec key from key and version.\n */\nfunction makeSpecKey(key: string, version: string): string {\n return `${key}.v${version}`;\n}\n\n/**\n * Build the test-to-target index from test spec scan results.\n *\n * @param testSpecScans - Array of test spec scan results with testTarget info\n * @param inventory - The full spec inventory to validate targets against\n * @returns Bidirectional index for test-target relationships\n */\nexport function buildTestIndex(\n testSpecScans: TestSpecScanResult[],\n inventory: SpecInventory\n): TestToTargetIndex {\n const targetToTests = new Map<string, Set<string>>();\n const testToTarget = new Map<string, string>();\n const orphanedTests: string[] = [];\n const testsWithoutTarget: string[] = [];\n\n for (const scan of testSpecScans) {\n if (!scan.key || !scan.version) continue;\n\n const testKey = makeSpecKey(scan.key, scan.version);\n\n if (!scan.testTarget) {\n // Test doesn't have a target field - relies on naming convention\n testsWithoutTarget.push(testKey);\n continue;\n }\n\n const { type, key, version } = scan.testTarget;\n const targetVersion = version ?? scan.version; // Default to test's version\n const targetKey = makeSpecKey(key, targetVersion);\n\n // Validate target exists in inventory\n const targetMap = getTargetMap(inventory, type);\n if (!targetMap || !targetMap.has(targetKey)) {\n orphanedTests.push(testKey);\n continue;\n }\n\n // Build bidirectional mapping\n testToTarget.set(testKey, targetKey);\n\n if (!targetToTests.has(targetKey)) {\n targetToTests.set(targetKey, new Set());\n }\n targetToTests.get(targetKey)?.add(testKey);\n }\n\n return {\n targetToTests,\n testToTarget,\n orphanedTests,\n testsWithoutTarget,\n };\n}\n\n/**\n * Get the inventory map for a target type.\n */\nfunction getTargetMap(\n inventory: SpecInventory,\n type: 'operation' | 'workflow'\n): Map<string, SpecLocation> | undefined {\n switch (type) {\n case 'operation':\n return inventory.operations;\n case 'workflow':\n return inventory.workflows;\n default:\n return undefined;\n }\n}\n\n/**\n * Check if a spec has test coverage via target-based linking.\n *\n * @param specKey - The spec key (e.g., \"my-op.v1.0.0\")\n * @param index - The test-to-target index\n * @returns true if at least one TestSpec targets this spec\n */\nexport function hasTargetedTest(\n specKey: string,\n index: TestToTargetIndex\n): boolean {\n return index.targetToTests.has(specKey);\n}\n\n/**\n * Get all tests that target a specific spec.\n *\n * @param specKey - The spec key (e.g., \"my-op.v1.0.0\")\n * @param index - The test-to-target index\n * @returns Array of test spec keys, empty if none\n */\nexport function getTestsForSpec(\n specKey: string,\n index: TestToTargetIndex\n): string[] {\n const tests = index.targetToTests.get(specKey);\n return tests ? Array.from(tests) : [];\n}\n\n/**\n * Get the target spec for a test.\n *\n * @param testKey - The test spec key\n * @param index - The test-to-target index\n * @returns The target spec key, or undefined if no target\n */\nexport function getTargetForTest(\n testKey: string,\n index: TestToTargetIndex\n): string | undefined {\n return index.testToTarget.get(testKey);\n}\n\nexport { validateTestRefs } from './test-ref-validator';\nexport type {\n TestRefValidationResult,\n TestRefValidationOptions,\n} from './test-ref-validator';\n"],"mappings":";;;;;;AAyDA,SAAS,YAAY,KAAa,SAAyB;AACzD,QAAO,GAAG,IAAI,IAAI;;;;;;;;;AAUpB,SAAgB,eACd,eACA,WACmB;CACnB,MAAM,gCAAgB,IAAI,KAA0B;CACpD,MAAM,+BAAe,IAAI,KAAqB;CAC9C,MAAM,gBAA0B,EAAE;CAClC,MAAM,qBAA+B,EAAE;AAEvC,MAAK,MAAM,QAAQ,eAAe;AAChC,MAAI,CAAC,KAAK,OAAO,CAAC,KAAK,QAAS;EAEhC,MAAM,UAAU,YAAY,KAAK,KAAK,KAAK,QAAQ;AAEnD,MAAI,CAAC,KAAK,YAAY;AAEpB,sBAAmB,KAAK,QAAQ;AAChC;;EAGF,MAAM,EAAE,MAAM,KAAK,YAAY,KAAK;EAEpC,MAAM,YAAY,YAAY,KADR,WAAW,KAAK,QACW;EAGjD,MAAM,YAAY,aAAa,WAAW,KAAK;AAC/C,MAAI,CAAC,aAAa,CAAC,UAAU,IAAI,UAAU,EAAE;AAC3C,iBAAc,KAAK,QAAQ;AAC3B;;AAIF,eAAa,IAAI,SAAS,UAAU;AAEpC,MAAI,CAAC,cAAc,IAAI,UAAU,CAC/B,eAAc,IAAI,2BAAW,IAAI,KAAK,CAAC;AAEzC,gBAAc,IAAI,UAAU,EAAE,IAAI,QAAQ;;AAG5C,QAAO;EACL;EACA;EACA;EACA;EACD;;;;;AAMH,SAAS,aACP,WACA,MACuC;AACvC,SAAQ,MAAR;EACE,KAAK,YACH,QAAO,UAAU;EACnB,KAAK,WACH,QAAO,UAAU;EACnB,QACE"}
@@ -0,0 +1,2 @@
1
+ import "../integrity.mjs";
2
+ import { RefInfo } from "@contractspec/module.workspace";