@contractspec/bundle.workspace 1.46.2 → 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,46 @@
1
+ import { isTestFile } from "../utils/filter.mjs";
2
+ import "../utils/index.mjs";
3
+ import { scanSpecSource } from "@contractspec/module.workspace";
4
+ import micromatch from "micromatch";
5
+
6
+ //#region src/services/list.ts
7
+ /**
8
+ * List specs service.
9
+ */
10
+ /**
11
+ * List all spec files in the workspace.
12
+ */
13
+ async function listSpecs(adapters, options = {}) {
14
+ const { fs, scan = scanSpecSource } = adapters;
15
+ const pattern = options.pattern;
16
+ const files = await fs.glob({ pattern });
17
+ const results = [];
18
+ for (const file of files) {
19
+ if (file.includes("node_modules") || file.includes("/dist/")) continue;
20
+ if (options.config?.excludePackages && micromatch.isMatch(file, options.config.excludePackages, { contains: true })) continue;
21
+ if (isTestFile(file, options.config)) continue;
22
+ try {
23
+ const result = scan(await fs.readFile(file), file);
24
+ if (result.specType === "unknown") continue;
25
+ if (options.type && result.specType !== options.type) continue;
26
+ results.push(result);
27
+ } catch {}
28
+ }
29
+ return results;
30
+ }
31
+ /**
32
+ * Group specs by type.
33
+ */
34
+ function groupSpecsByType(specs) {
35
+ const groups = /* @__PURE__ */ new Map();
36
+ for (const spec of specs) {
37
+ const group = groups.get(spec.specType) ?? [];
38
+ group.push(spec);
39
+ groups.set(spec.specType, group);
40
+ }
41
+ return groups;
42
+ }
43
+
44
+ //#endregion
45
+ export { groupSpecsByType, listSpecs };
46
+ //# sourceMappingURL=list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.mjs","names":[],"sources":["../../src/services/list.ts"],"sourcesContent":["/**\n * List specs service.\n */\n\nimport {\n scanSpecSource,\n type SpecScanResult,\n} from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../ports/fs';\nimport type { ContractsrcConfig } from '@contractspec/lib.contracts/workspace-config';\nimport micromatch from 'micromatch';\nimport { isTestFile } from '../utils';\n\n/**\n * Options for listing specs.\n */\nexport interface ListSpecsOptions {\n /**\n * File pattern to search.\n */\n pattern?: string;\n\n /**\n * Filter by spec type.\n */\n type?: string;\n\n /**\n * Workspace configuration\n */\n config?: ContractsrcConfig;\n}\n\n/**\n * List all spec files in the workspace.\n */\nexport async function listSpecs(\n adapters: { fs: FsAdapter; scan?: typeof scanSpecSource },\n options: ListSpecsOptions = {}\n): Promise<SpecScanResult[]> {\n const { fs, scan = scanSpecSource } = adapters;\n\n // Use pattern if provided, otherwise let fs.glob use its defaults (DEFAULT_SPEC_PATTERNS)\n // This aligns listSpecs behavior with the CI command behavior\n const pattern = options.pattern;\n const files = await fs.glob({ pattern });\n const results: SpecScanResult[] = [];\n\n for (const file of files) {\n // Skip node_modules and dist\n if (file.includes('node_modules') || file.includes('/dist/')) {\n continue;\n }\n\n // If excluding packages via config\n if (\n options.config?.excludePackages &&\n micromatch.isMatch(file, options.config.excludePackages, {\n contains: true,\n })\n ) {\n continue;\n }\n\n // Exclude test files\n if (isTestFile(file, options.config)) {\n continue;\n }\n\n try {\n const content = await fs.readFile(file);\n const result = scan(content, file);\n\n if (result.specType === 'unknown') {\n continue;\n }\n\n if (options.type && result.specType !== options.type) {\n continue;\n }\n\n results.push(result);\n } catch {\n // Ignore read errors\n }\n }\n\n return results;\n}\n\n/**\n * Group specs by type.\n */\nexport function groupSpecsByType(\n specs: SpecScanResult[]\n): Map<string, SpecScanResult[]> {\n const groups = new Map<string, SpecScanResult[]>();\n\n for (const spec of specs) {\n const group = groups.get(spec.specType) ?? [];\n group.push(spec);\n groups.set(spec.specType, group);\n }\n\n return groups;\n}\n"],"mappings":";;;;;;;;;;;;AAoCA,eAAsB,UACpB,UACA,UAA4B,EAAE,EACH;CAC3B,MAAM,EAAE,IAAI,OAAO,mBAAmB;CAItC,MAAM,UAAU,QAAQ;CACxB,MAAM,QAAQ,MAAM,GAAG,KAAK,EAAE,SAAS,CAAC;CACxC,MAAM,UAA4B,EAAE;AAEpC,MAAK,MAAM,QAAQ,OAAO;AAExB,MAAI,KAAK,SAAS,eAAe,IAAI,KAAK,SAAS,SAAS,CAC1D;AAIF,MACE,QAAQ,QAAQ,mBAChB,WAAW,QAAQ,MAAM,QAAQ,OAAO,iBAAiB,EACvD,UAAU,MACX,CAAC,CAEF;AAIF,MAAI,WAAW,MAAM,QAAQ,OAAO,CAClC;AAGF,MAAI;GAEF,MAAM,SAAS,KADC,MAAM,GAAG,SAAS,KAAK,EACV,KAAK;AAElC,OAAI,OAAO,aAAa,UACtB;AAGF,OAAI,QAAQ,QAAQ,OAAO,aAAa,QAAQ,KAC9C;AAGF,WAAQ,KAAK,OAAO;UACd;;AAKV,QAAO;;;;;AAMT,SAAgB,iBACd,OAC+B;CAC/B,MAAM,yBAAS,IAAI,KAA+B;AAElD,MAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,QAAQ,OAAO,IAAI,KAAK,SAAS,IAAI,EAAE;AAC7C,QAAM,KAAK,KAAK;AAChB,SAAO,IAAI,KAAK,UAAU,MAAM;;AAGlC,QAAO"}
@@ -0,0 +1,28 @@
1
+ import { FsAdapter } from "../../ports/fs.mjs";
2
+ import { VerificationIssue, formatVerificationReport, verifyImplementationAgainstParsedSpec } from "./verify-static.mjs";
3
+ import { AgentType, ParsedSpec } from "@contractspec/module.workspace";
4
+
5
+ //#region src/services/llm/index.d.ts
6
+
7
+ /**
8
+ * Generate full markdown context for a feature, including referenced specs.
9
+ */
10
+ declare function generateFeatureContextMarkdown(feature: ParsedSpec, adapters: {
11
+ fs: FsAdapter;
12
+ }): Promise<string>;
13
+ /**
14
+ * Generate an implementation guide for a parsed spec.
15
+ * This logic was extracted from VSCode extension.
16
+ */
17
+ declare function generateGuideFromParsedSpec(spec: ParsedSpec, agent: AgentType): string;
18
+ /**
19
+ * Generate Cursor rules from parsed spec.
20
+ */
21
+ declare function generateCursorRulesFromParsedSpec(spec: ParsedSpec): string;
22
+ /**
23
+ * Export spec to clipboard format suitable for pasting into LLM.
24
+ */
25
+ declare function exportSpecForLLM(spec: ParsedSpec, format: 'guide' | 'rules' | 'prompt' | 'context' | 'full', agent?: AgentType): string;
26
+ //#endregion
27
+ export { exportSpecForLLM, generateCursorRulesFromParsedSpec, generateFeatureContextMarkdown, generateGuideFromParsedSpec };
28
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/llm/index.ts"],"sourcesContent":[],"mappings":";;;;;;;AAgGA;AAiIA;AAqCgB,iBAjPM,8BAAA,CAoPb,OAAyB,EAnPvB,UAmPuB,EAAA,QAAA,EAAA;MAlPhB;IACf;;;;;iBAwEa,2BAAA,OACR,mBACC;;;;iBA+HO,iCAAA,OAAwC;;;;iBAqCxC,gBAAA,OACR,+EAEC"}
@@ -0,0 +1,187 @@
1
+ import { listSpecs } from "../list.mjs";
2
+ import { formatVerificationReport, verifyImplementationAgainstParsedSpec } from "./verify-static.mjs";
3
+ import { loadSpecFromSource, specToMarkdown } from "@contractspec/module.workspace";
4
+
5
+ //#region src/services/llm/index.ts
6
+ /**
7
+ * LLM Service
8
+ *
9
+ * Provides services for generating LLM-friendly content from specs.
10
+ * Primarily used by VSCode and CLI for "Ask AI" features.
11
+ */
12
+ /**
13
+ * Generate full markdown context for a feature, including referenced specs.
14
+ */
15
+ async function generateFeatureContextMarkdown(feature, adapters) {
16
+ const parts = [];
17
+ parts.push(specToMarkdown(feature, "context"));
18
+ const allSpecs = await listSpecs(adapters);
19
+ const loadChild = async (ref) => {
20
+ const found = allSpecs.find((s) => s.key === ref.name && s.version === ref.version);
21
+ if (!found) return null;
22
+ return (await loadSpecFromSource(found.filePath)).find((s) => s.meta.key === ref.name) ?? null;
23
+ };
24
+ if (feature.operations?.length) {
25
+ parts.push(`\n## Operations (${feature.operations.length})\n`);
26
+ for (const op of feature.operations) {
27
+ const child = await loadChild(op);
28
+ if (child) parts.push(specToMarkdown(child, "full"));
29
+ else parts.push(`### ${op.name} (v${op.version})\n\n*Spec not found*`);
30
+ parts.push("---");
31
+ }
32
+ }
33
+ if (feature.events?.length) {
34
+ parts.push(`\n## Events (${feature.events.length})\n`);
35
+ for (const ev of feature.events) {
36
+ const child = await loadChild(ev);
37
+ if (child) parts.push(specToMarkdown(child, "full"));
38
+ else parts.push(`### ${ev.name} (v${ev.version})\n\n*Spec not found*`);
39
+ parts.push("---");
40
+ }
41
+ }
42
+ if (feature.presentations?.length) {
43
+ parts.push(`\n## Presentations (${feature.presentations.length})\n`);
44
+ for (const pres of feature.presentations) {
45
+ const child = await loadChild(pres);
46
+ if (child) parts.push(specToMarkdown(child, "full"));
47
+ else parts.push(`### ${pres.name} (v${pres.version})\n\n*Spec not found*`);
48
+ parts.push("---");
49
+ }
50
+ }
51
+ return parts.join("\n");
52
+ }
53
+ /**
54
+ * Generate an implementation guide for a parsed spec.
55
+ * This logic was extracted from VSCode extension.
56
+ */
57
+ function generateGuideFromParsedSpec(spec, agent) {
58
+ const lines = [];
59
+ lines.push(`# Implementation Guide: ${spec.meta.key}`);
60
+ lines.push("");
61
+ lines.push(`**Target Agent**: ${agent}`);
62
+ lines.push(`**Spec Type**: ${spec.specType}${spec.kind ? ` (${spec.kind})` : ""}`);
63
+ lines.push("");
64
+ if (spec.meta.description) {
65
+ lines.push("## Overview");
66
+ lines.push("");
67
+ lines.push(spec.meta.description);
68
+ lines.push("");
69
+ }
70
+ if (spec.meta.goal) {
71
+ lines.push("## Goal");
72
+ lines.push("");
73
+ lines.push(spec.meta.goal);
74
+ lines.push("");
75
+ }
76
+ if (spec.meta.context) {
77
+ lines.push("## Context");
78
+ lines.push("");
79
+ lines.push(spec.meta.context);
80
+ lines.push("");
81
+ }
82
+ lines.push("## Implementation Steps");
83
+ lines.push("");
84
+ if (spec.specType === "operation") {
85
+ lines.push(`1. Create the ${spec.kind ?? "operation"} handler function`);
86
+ if (spec.hasIo) {
87
+ lines.push("2. Implement input validation according to the schema");
88
+ lines.push("3. Implement the core business logic");
89
+ lines.push("4. Return output matching the expected schema");
90
+ }
91
+ if (spec.hasPolicy) lines.push("5. Enforce authorization and policies");
92
+ if (spec.emittedEvents && spec.emittedEvents.length > 0) {
93
+ lines.push("6. Emit events on success:");
94
+ for (const ev of spec.emittedEvents) lines.push(` - \`${ev.name}\` (v${ev.version})`);
95
+ }
96
+ lines.push("7. Add error handling for expected failure cases");
97
+ lines.push("8. Write tests covering success and error scenarios");
98
+ } else if (spec.specType === "feature") {
99
+ lines.push("1. Set up the feature module structure");
100
+ if (spec.operations && spec.operations.length > 0) {
101
+ lines.push("2. Implement operations:");
102
+ for (const op of spec.operations) lines.push(` - \`${op.name}\` (v${op.version})`);
103
+ }
104
+ if (spec.presentations && spec.presentations.length > 0) {
105
+ lines.push("3. Implement presentations:");
106
+ for (const pres of spec.presentations) lines.push(` - \`${pres.name}\` (v${pres.version})`);
107
+ }
108
+ lines.push("4. Wire up feature exports");
109
+ lines.push("5. Add integration tests");
110
+ } else {
111
+ lines.push("1. Review the spec requirements");
112
+ lines.push("2. Implement the core logic");
113
+ lines.push("3. Add tests");
114
+ lines.push("4. Document the implementation");
115
+ }
116
+ lines.push("");
117
+ lines.push("## Constraints");
118
+ lines.push("");
119
+ lines.push(`- Stability: ${spec.meta.stability ?? "experimental"}`);
120
+ if (spec.meta.owners && spec.meta.owners.length > 0) lines.push(`- Owners: ${spec.meta.owners.join(", ")}`);
121
+ if (spec.meta.tags && spec.meta.tags.length > 0) lines.push(`- Tags: ${spec.meta.tags.join(", ")}`);
122
+ lines.push("");
123
+ if (agent === "cursor-cli") {
124
+ lines.push("## Cursor Notes");
125
+ lines.push("");
126
+ lines.push("- Use Composer mode for multi-file changes");
127
+ lines.push("- Reference this guide in your cursor rules");
128
+ lines.push("- Break implementation into small, focused commits");
129
+ } else if (agent === "claude-code") {
130
+ lines.push("## Claude Code Notes");
131
+ lines.push("");
132
+ lines.push("- Use extended thinking for complex logic");
133
+ lines.push("- Ask for clarification on ambiguous requirements");
134
+ lines.push("- Provide step-by-step reasoning");
135
+ } else if (agent === "generic-mcp") {
136
+ lines.push("## General Notes");
137
+ lines.push("");
138
+ lines.push("- Use inline comments to guide generation");
139
+ lines.push("- Review generated code carefully");
140
+ }
141
+ lines.push("");
142
+ lines.push("## Spec Definition");
143
+ lines.push("");
144
+ lines.push(specToMarkdown(spec, "full"));
145
+ return lines.join("\n");
146
+ }
147
+ /**
148
+ * Generate Cursor rules from parsed spec.
149
+ */
150
+ function generateCursorRulesFromParsedSpec(spec) {
151
+ const lines = [];
152
+ lines.push(`# ${spec.meta.key}`);
153
+ lines.push("");
154
+ lines.push(`Description: ${spec.meta.description ?? "No description"}`);
155
+ lines.push("");
156
+ lines.push("## Rules");
157
+ lines.push("");
158
+ if (spec.specType === "operation") {
159
+ lines.push(`- This is a ${spec.kind ?? "operation"} spec`);
160
+ if (spec.hasIo) lines.push("- Validate input and output against schemas");
161
+ if (spec.hasPolicy) lines.push("- Enforce authorization policies");
162
+ if (spec.emittedEvents && spec.emittedEvents.length > 0) lines.push("- Emit documented events");
163
+ } else if (spec.specType === "feature") {
164
+ lines.push("- Implement all operations and presentations");
165
+ lines.push("- Follow modular architecture");
166
+ } else lines.push(`- Follow ${spec.specType} patterns`);
167
+ lines.push("- Follow project code quality standards");
168
+ lines.push("- Write tests for new functionality");
169
+ return lines.join("\n");
170
+ }
171
+ /**
172
+ * Export spec to clipboard format suitable for pasting into LLM.
173
+ */
174
+ function exportSpecForLLM(spec, format, agent = "generic-mcp") {
175
+ switch (format) {
176
+ case "guide": return generateGuideFromParsedSpec(spec, agent);
177
+ case "rules": return generateCursorRulesFromParsedSpec(spec);
178
+ case "prompt": return specToMarkdown(spec, "prompt");
179
+ case "context": return specToMarkdown(spec, "context");
180
+ case "full":
181
+ default: return specToMarkdown(spec, "full");
182
+ }
183
+ }
184
+
185
+ //#endregion
186
+ export { exportSpecForLLM, generateCursorRulesFromParsedSpec, generateFeatureContextMarkdown, generateGuideFromParsedSpec };
187
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/llm/index.ts"],"sourcesContent":["/**\n * LLM Service\n *\n * Provides services for generating LLM-friendly content from specs.\n * Primarily used by VSCode and CLI for \"Ask AI\" features.\n */\n\nimport {\n type AgentType,\n loadSpecFromSource,\n type ParsedSpec,\n specToMarkdown,\n} from '@contractspec/module.workspace';\nimport { listSpecs } from '../list';\nimport type { FsAdapter } from '../../ports/fs';\n\nexport * from './verify-static';\n\n/**\n * Generate full markdown context for a feature, including referenced specs.\n */\nexport async function generateFeatureContextMarkdown(\n feature: ParsedSpec,\n adapters: { fs: FsAdapter }\n): Promise<string> {\n const parts: string[] = [];\n\n // 1. Render feature header/context\n parts.push(specToMarkdown(feature, 'context'));\n\n // 2. Find all referenced specs\n // We need to scan the workspace to find them\n // Optimization: In a real app we might have a pre-built index\n const allSpecs = await listSpecs(adapters);\n\n // Helper to find and load a spec\n const loadChild = async (ref: { name: string; version: string }) => {\n const found = allSpecs.find(\n (s) => s.key === ref.name && s.version === ref.version\n );\n if (!found) return null;\n\n // Load full parsed spec\n const specs = await loadSpecFromSource(found.filePath);\n return specs.find((s) => s.meta.key === ref.name) ?? null;\n };\n\n // 3. Render operations\n if (feature.operations?.length) {\n parts.push(`\\n## Operations (${feature.operations.length})\\n`);\n for (const op of feature.operations) {\n const child = await loadChild(op);\n if (child) {\n parts.push(specToMarkdown(child, 'full'));\n } else {\n parts.push(`### ${op.name} (v${op.version})\\n\\n*Spec not found*`);\n }\n parts.push('---');\n }\n }\n\n // 4. Render events\n if (feature.events?.length) {\n parts.push(`\\n## Events (${feature.events.length})\\n`);\n for (const ev of feature.events) {\n const child = await loadChild(ev);\n if (child) {\n parts.push(specToMarkdown(child, 'full'));\n } else {\n parts.push(`### ${ev.name} (v${ev.version})\\n\\n*Spec not found*`);\n }\n parts.push('---');\n }\n }\n\n // 5. Render presentations\n if (feature.presentations?.length) {\n parts.push(`\\n## Presentations (${feature.presentations.length})\\n`);\n for (const pres of feature.presentations) {\n const child = await loadChild(pres);\n if (child) {\n parts.push(specToMarkdown(child, 'full'));\n } else {\n parts.push(`### ${pres.name} (v${pres.version})\\n\\n*Spec not found*`);\n }\n parts.push('---');\n }\n }\n\n return parts.join('\\n');\n}\n\n/**\n * Generate an implementation guide for a parsed spec.\n * This logic was extracted from VSCode extension.\n */\nexport function generateGuideFromParsedSpec(\n spec: ParsedSpec,\n agent: AgentType\n): string {\n const lines: string[] = [];\n\n // Header\n lines.push(`# Implementation Guide: ${spec.meta.key}`);\n lines.push('');\n lines.push(`**Target Agent**: ${agent}`);\n lines.push(\n `**Spec Type**: ${spec.specType}${spec.kind ? ` (${spec.kind})` : ''}`\n );\n lines.push('');\n\n // Description\n if (spec.meta.description) {\n lines.push('## Overview');\n lines.push('');\n lines.push(spec.meta.description);\n lines.push('');\n }\n\n // Goal and Context\n if (spec.meta.goal) {\n lines.push('## Goal');\n lines.push('');\n lines.push(spec.meta.goal);\n lines.push('');\n }\n\n if (spec.meta.context) {\n lines.push('## Context');\n lines.push('');\n lines.push(spec.meta.context);\n lines.push('');\n }\n\n // Implementation Steps\n lines.push('## Implementation Steps');\n lines.push('');\n\n if (spec.specType === 'operation') {\n lines.push(`1. Create the ${spec.kind ?? 'operation'} handler function`);\n if (spec.hasIo) {\n lines.push('2. Implement input validation according to the schema');\n lines.push('3. Implement the core business logic');\n lines.push('4. Return output matching the expected schema');\n }\n if (spec.hasPolicy) {\n lines.push('5. Enforce authorization and policies');\n }\n if (spec.emittedEvents && spec.emittedEvents.length > 0) {\n lines.push('6. Emit events on success:');\n for (const ev of spec.emittedEvents) {\n lines.push(` - \\`${ev.name}\\` (v${ev.version})`);\n }\n }\n lines.push('7. Add error handling for expected failure cases');\n lines.push('8. Write tests covering success and error scenarios');\n } else if (spec.specType === 'feature') {\n lines.push('1. Set up the feature module structure');\n if (spec.operations && spec.operations.length > 0) {\n lines.push('2. Implement operations:');\n for (const op of spec.operations) {\n lines.push(` - \\`${op.name}\\` (v${op.version})`);\n }\n }\n if (spec.presentations && spec.presentations.length > 0) {\n lines.push('3. Implement presentations:');\n for (const pres of spec.presentations) {\n lines.push(` - \\`${pres.name}\\` (v${pres.version})`);\n }\n }\n lines.push('4. Wire up feature exports');\n lines.push('5. Add integration tests');\n } else {\n lines.push('1. Review the spec requirements');\n lines.push('2. Implement the core logic');\n lines.push('3. Add tests');\n lines.push('4. Document the implementation');\n }\n\n lines.push('');\n\n // Constraints\n lines.push('## Constraints');\n lines.push('');\n lines.push(`- Stability: ${spec.meta.stability ?? 'experimental'}`);\n if (spec.meta.owners && spec.meta.owners.length > 0) {\n lines.push(`- Owners: ${spec.meta.owners.join(', ')}`);\n }\n if (spec.meta.tags && spec.meta.tags.length > 0) {\n lines.push(`- Tags: ${spec.meta.tags.join(', ')}`);\n }\n lines.push('');\n\n // Agent-specific notes\n if (agent === 'cursor-cli') {\n lines.push('## Cursor Notes');\n lines.push('');\n lines.push('- Use Composer mode for multi-file changes');\n lines.push('- Reference this guide in your cursor rules');\n lines.push('- Break implementation into small, focused commits');\n } else if (agent === 'claude-code') {\n lines.push('## Claude Code Notes');\n lines.push('');\n lines.push('- Use extended thinking for complex logic');\n lines.push('- Ask for clarification on ambiguous requirements');\n lines.push('- Provide step-by-step reasoning');\n } else if (agent === 'generic-mcp') {\n lines.push('## General Notes');\n lines.push('');\n lines.push('- Use inline comments to guide generation');\n lines.push('- Review generated code carefully');\n }\n\n // Append context formatted spec\n lines.push('');\n lines.push('## Spec Definition');\n lines.push('');\n lines.push(specToMarkdown(spec, 'full'));\n\n return lines.join('\\n');\n}\n\n/**\n * Generate Cursor rules from parsed spec.\n */\nexport function generateCursorRulesFromParsedSpec(spec: ParsedSpec): string {\n const lines: string[] = [];\n\n lines.push(`# ${spec.meta.key}`);\n lines.push('');\n lines.push(`Description: ${spec.meta.description ?? 'No description'}`);\n lines.push('');\n lines.push('## Rules');\n lines.push('');\n\n if (spec.specType === 'operation') {\n lines.push(`- This is a ${spec.kind ?? 'operation'} spec`);\n if (spec.hasIo) {\n lines.push('- Validate input and output against schemas');\n }\n if (spec.hasPolicy) {\n lines.push('- Enforce authorization policies');\n }\n if (spec.emittedEvents && spec.emittedEvents.length > 0) {\n lines.push('- Emit documented events');\n }\n } else if (spec.specType === 'feature') {\n lines.push('- Implement all operations and presentations');\n lines.push('- Follow modular architecture');\n } else {\n lines.push(`- Follow ${spec.specType} patterns`);\n }\n\n lines.push('- Follow project code quality standards');\n lines.push('- Write tests for new functionality');\n\n return lines.join('\\n');\n}\n\n/**\n * Export spec to clipboard format suitable for pasting into LLM.\n */\nexport function exportSpecForLLM(\n spec: ParsedSpec,\n format: 'guide' | 'rules' | 'prompt' | 'context' | 'full',\n agent: AgentType = 'generic-mcp'\n): string {\n switch (format) {\n case 'guide':\n return generateGuideFromParsedSpec(spec, agent);\n case 'rules':\n return generateCursorRulesFromParsedSpec(spec);\n case 'prompt':\n return specToMarkdown(spec, 'prompt');\n case 'context':\n return specToMarkdown(spec, 'context');\n case 'full':\n default:\n return specToMarkdown(spec, 'full');\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAqBA,eAAsB,+BACpB,SACA,UACiB;CACjB,MAAM,QAAkB,EAAE;AAG1B,OAAM,KAAK,eAAe,SAAS,UAAU,CAAC;CAK9C,MAAM,WAAW,MAAM,UAAU,SAAS;CAG1C,MAAM,YAAY,OAAO,QAA2C;EAClE,MAAM,QAAQ,SAAS,MACpB,MAAM,EAAE,QAAQ,IAAI,QAAQ,EAAE,YAAY,IAAI,QAChD;AACD,MAAI,CAAC,MAAO,QAAO;AAInB,UADc,MAAM,mBAAmB,MAAM,SAAS,EACzC,MAAM,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,IAAI;;AAIvD,KAAI,QAAQ,YAAY,QAAQ;AAC9B,QAAM,KAAK,oBAAoB,QAAQ,WAAW,OAAO,KAAK;AAC9D,OAAK,MAAM,MAAM,QAAQ,YAAY;GACnC,MAAM,QAAQ,MAAM,UAAU,GAAG;AACjC,OAAI,MACF,OAAM,KAAK,eAAe,OAAO,OAAO,CAAC;OAEzC,OAAM,KAAK,OAAO,GAAG,KAAK,KAAK,GAAG,QAAQ,uBAAuB;AAEnE,SAAM,KAAK,MAAM;;;AAKrB,KAAI,QAAQ,QAAQ,QAAQ;AAC1B,QAAM,KAAK,gBAAgB,QAAQ,OAAO,OAAO,KAAK;AACtD,OAAK,MAAM,MAAM,QAAQ,QAAQ;GAC/B,MAAM,QAAQ,MAAM,UAAU,GAAG;AACjC,OAAI,MACF,OAAM,KAAK,eAAe,OAAO,OAAO,CAAC;OAEzC,OAAM,KAAK,OAAO,GAAG,KAAK,KAAK,GAAG,QAAQ,uBAAuB;AAEnE,SAAM,KAAK,MAAM;;;AAKrB,KAAI,QAAQ,eAAe,QAAQ;AACjC,QAAM,KAAK,uBAAuB,QAAQ,cAAc,OAAO,KAAK;AACpE,OAAK,MAAM,QAAQ,QAAQ,eAAe;GACxC,MAAM,QAAQ,MAAM,UAAU,KAAK;AACnC,OAAI,MACF,OAAM,KAAK,eAAe,OAAO,OAAO,CAAC;OAEzC,OAAM,KAAK,OAAO,KAAK,KAAK,KAAK,KAAK,QAAQ,uBAAuB;AAEvE,SAAM,KAAK,MAAM;;;AAIrB,QAAO,MAAM,KAAK,KAAK;;;;;;AAOzB,SAAgB,4BACd,MACA,OACQ;CACR,MAAM,QAAkB,EAAE;AAG1B,OAAM,KAAK,2BAA2B,KAAK,KAAK,MAAM;AACtD,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,qBAAqB,QAAQ;AACxC,OAAM,KACJ,kBAAkB,KAAK,WAAW,KAAK,OAAO,KAAK,KAAK,KAAK,KAAK,KACnE;AACD,OAAM,KAAK,GAAG;AAGd,KAAI,KAAK,KAAK,aAAa;AACzB,QAAM,KAAK,cAAc;AACzB,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,KAAK,KAAK,YAAY;AACjC,QAAM,KAAK,GAAG;;AAIhB,KAAI,KAAK,KAAK,MAAM;AAClB,QAAM,KAAK,UAAU;AACrB,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,KAAK,KAAK,KAAK;AAC1B,QAAM,KAAK,GAAG;;AAGhB,KAAI,KAAK,KAAK,SAAS;AACrB,QAAM,KAAK,aAAa;AACxB,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,KAAK,KAAK,QAAQ;AAC7B,QAAM,KAAK,GAAG;;AAIhB,OAAM,KAAK,0BAA0B;AACrC,OAAM,KAAK,GAAG;AAEd,KAAI,KAAK,aAAa,aAAa;AACjC,QAAM,KAAK,iBAAiB,KAAK,QAAQ,YAAY,mBAAmB;AACxE,MAAI,KAAK,OAAO;AACd,SAAM,KAAK,wDAAwD;AACnE,SAAM,KAAK,uCAAuC;AAClD,SAAM,KAAK,gDAAgD;;AAE7D,MAAI,KAAK,UACP,OAAM,KAAK,wCAAwC;AAErD,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAAG;AACvD,SAAM,KAAK,6BAA6B;AACxC,QAAK,MAAM,MAAM,KAAK,cACpB,OAAM,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG,QAAQ,GAAG;;AAGtD,QAAM,KAAK,mDAAmD;AAC9D,QAAM,KAAK,sDAAsD;YACxD,KAAK,aAAa,WAAW;AACtC,QAAM,KAAK,yCAAyC;AACpD,MAAI,KAAK,cAAc,KAAK,WAAW,SAAS,GAAG;AACjD,SAAM,KAAK,2BAA2B;AACtC,QAAK,MAAM,MAAM,KAAK,WACpB,OAAM,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG,QAAQ,GAAG;;AAGtD,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAAG;AACvD,SAAM,KAAK,8BAA8B;AACzC,QAAK,MAAM,QAAQ,KAAK,cACtB,OAAM,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK,QAAQ,GAAG;;AAG1D,QAAM,KAAK,6BAA6B;AACxC,QAAM,KAAK,2BAA2B;QACjC;AACL,QAAM,KAAK,kCAAkC;AAC7C,QAAM,KAAK,8BAA8B;AACzC,QAAM,KAAK,eAAe;AAC1B,QAAM,KAAK,iCAAiC;;AAG9C,OAAM,KAAK,GAAG;AAGd,OAAM,KAAK,iBAAiB;AAC5B,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,gBAAgB,KAAK,KAAK,aAAa,iBAAiB;AACnE,KAAI,KAAK,KAAK,UAAU,KAAK,KAAK,OAAO,SAAS,EAChD,OAAM,KAAK,aAAa,KAAK,KAAK,OAAO,KAAK,KAAK,GAAG;AAExD,KAAI,KAAK,KAAK,QAAQ,KAAK,KAAK,KAAK,SAAS,EAC5C,OAAM,KAAK,WAAW,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAEpD,OAAM,KAAK,GAAG;AAGd,KAAI,UAAU,cAAc;AAC1B,QAAM,KAAK,kBAAkB;AAC7B,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,6CAA6C;AACxD,QAAM,KAAK,8CAA8C;AACzD,QAAM,KAAK,qDAAqD;YACvD,UAAU,eAAe;AAClC,QAAM,KAAK,uBAAuB;AAClC,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,4CAA4C;AACvD,QAAM,KAAK,oDAAoD;AAC/D,QAAM,KAAK,mCAAmC;YACrC,UAAU,eAAe;AAClC,QAAM,KAAK,mBAAmB;AAC9B,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,4CAA4C;AACvD,QAAM,KAAK,oCAAoC;;AAIjD,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,qBAAqB;AAChC,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,eAAe,MAAM,OAAO,CAAC;AAExC,QAAO,MAAM,KAAK,KAAK;;;;;AAMzB,SAAgB,kCAAkC,MAA0B;CAC1E,MAAM,QAAkB,EAAE;AAE1B,OAAM,KAAK,KAAK,KAAK,KAAK,MAAM;AAChC,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,gBAAgB,KAAK,KAAK,eAAe,mBAAmB;AACvE,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,WAAW;AACtB,OAAM,KAAK,GAAG;AAEd,KAAI,KAAK,aAAa,aAAa;AACjC,QAAM,KAAK,eAAe,KAAK,QAAQ,YAAY,OAAO;AAC1D,MAAI,KAAK,MACP,OAAM,KAAK,8CAA8C;AAE3D,MAAI,KAAK,UACP,OAAM,KAAK,mCAAmC;AAEhD,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,EACpD,OAAM,KAAK,2BAA2B;YAE/B,KAAK,aAAa,WAAW;AACtC,QAAM,KAAK,+CAA+C;AAC1D,QAAM,KAAK,gCAAgC;OAE3C,OAAM,KAAK,YAAY,KAAK,SAAS,WAAW;AAGlD,OAAM,KAAK,0CAA0C;AACrD,OAAM,KAAK,sCAAsC;AAEjD,QAAO,MAAM,KAAK,KAAK;;;;;AAMzB,SAAgB,iBACd,MACA,QACA,QAAmB,eACX;AACR,SAAQ,QAAR;EACE,KAAK,QACH,QAAO,4BAA4B,MAAM,MAAM;EACjD,KAAK,QACH,QAAO,kCAAkC,KAAK;EAChD,KAAK,SACH,QAAO,eAAe,MAAM,SAAS;EACvC,KAAK,UACH,QAAO,eAAe,MAAM,UAAU;EACxC,KAAK;EACL,QACE,QAAO,eAAe,MAAM,OAAO"}
@@ -0,0 +1,26 @@
1
+ import { ParsedSpec } from "@contractspec/module.workspace";
2
+ import { VerificationTier } from "@contractspec/lib.contracts/llm";
3
+
4
+ //#region src/services/llm/verify-static.d.ts
5
+
6
+ /**
7
+ * Verification issue found during static check.
8
+ */
9
+ interface VerificationIssue$1 {
10
+ severity: 'error' | 'warning' | 'info';
11
+ message: string;
12
+ category: string;
13
+ line?: number;
14
+ }
15
+ /**
16
+ * Verify implementation against parsed spec.
17
+ * This is a simplified verification that checks for basic patterns.
18
+ */
19
+ declare function verifyImplementationAgainstParsedSpec(spec: ParsedSpec, implementationCode: string, tiers: VerificationTier[]): VerificationIssue$1[];
20
+ /**
21
+ * Format verification report as markdown.
22
+ */
23
+ declare function formatVerificationReport(spec: ParsedSpec, issues: VerificationIssue$1[]): string;
24
+ //#endregion
25
+ export { VerificationIssue$1 as VerificationIssue, formatVerificationReport, verifyImplementationAgainstParsedSpec };
26
+ //# sourceMappingURL=verify-static.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-static.d.mts","names":[],"sources":["../../../src/services/llm/verify-static.ts"],"sourcesContent":[],"mappings":";;;;;;;AAyGA;UA5FiB,mBAAA;;;;;;;;;;iBAWD,qCAAA,OACR,+CAEC,qBACN;;;;iBA6Ea,wBAAA,OACR,oBACE"}
@@ -0,0 +1,82 @@
1
+ //#region src/services/llm/verify-static.ts
2
+ /**
3
+ * Verify implementation against parsed spec.
4
+ * This is a simplified verification that checks for basic patterns.
5
+ */
6
+ function verifyImplementationAgainstParsedSpec(spec, implementationCode, tiers) {
7
+ const issues = [];
8
+ if (tiers.includes("structure")) {
9
+ if (!/export\s+(async\s+)?function|export\s+class|export\s+const/.test(implementationCode)) issues.push({
10
+ severity: "warning",
11
+ message: "No exports found in implementation",
12
+ category: "structure"
13
+ });
14
+ if (spec.meta.key && !implementationCode.includes(spec.meta.key)) issues.push({
15
+ severity: "info",
16
+ message: `Spec name "${spec.meta.key}" not found in implementation`,
17
+ category: "structure"
18
+ });
19
+ }
20
+ if (tiers.includes("behavior")) {
21
+ if (!/try\s*{|catch\s*\(|throw\s+new/.test(implementationCode)) issues.push({
22
+ severity: "warning",
23
+ message: "No error handling patterns found",
24
+ category: "behavior"
25
+ });
26
+ if (spec.specType === "operation") {
27
+ if (!/async\s+|await\s+|Promise/.test(implementationCode)) issues.push({
28
+ severity: "info",
29
+ message: "No async patterns found (operations typically use async)",
30
+ category: "behavior"
31
+ });
32
+ }
33
+ if (spec.emittedEvents && spec.emittedEvents.length > 0) {
34
+ if (!/emit|publish|dispatch|fire/i.test(implementationCode)) issues.push({
35
+ severity: "warning",
36
+ message: `Spec emits ${spec.emittedEvents.length} event(s) but no event emission found`,
37
+ category: "behavior"
38
+ });
39
+ }
40
+ }
41
+ return issues;
42
+ }
43
+ /**
44
+ * Format verification report as markdown.
45
+ */
46
+ function formatVerificationReport(spec, issues) {
47
+ const lines = [];
48
+ lines.push(`# Verification Report: ${spec.meta.key}`);
49
+ lines.push("");
50
+ const errors = issues.filter((i) => i.severity === "error");
51
+ const warnings = issues.filter((i) => i.severity === "warning");
52
+ const infos = issues.filter((i) => i.severity === "info");
53
+ lines.push("## Summary");
54
+ lines.push("");
55
+ lines.push(`- Errors: ${errors.length}`);
56
+ lines.push(`- Warnings: ${warnings.length}`);
57
+ lines.push(`- Info: ${infos.length}`);
58
+ lines.push("");
59
+ if (errors.length > 0) {
60
+ lines.push("## Errors");
61
+ lines.push("");
62
+ for (const issue of errors) lines.push(`- ❌ **${issue.category}**: ${issue.message}`);
63
+ lines.push("");
64
+ }
65
+ if (warnings.length > 0) {
66
+ lines.push("## Warnings");
67
+ lines.push("");
68
+ for (const issue of warnings) lines.push(`- ⚠️ **${issue.category}**: ${issue.message}`);
69
+ lines.push("");
70
+ }
71
+ if (infos.length > 0) {
72
+ lines.push("## Info");
73
+ lines.push("");
74
+ for (const issue of infos) lines.push(`- ℹ️ **${issue.category}**: ${issue.message}`);
75
+ lines.push("");
76
+ }
77
+ return lines.join("\n");
78
+ }
79
+
80
+ //#endregion
81
+ export { formatVerificationReport, verifyImplementationAgainstParsedSpec };
82
+ //# sourceMappingURL=verify-static.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-static.mjs","names":[],"sources":["../../../src/services/llm/verify-static.ts"],"sourcesContent":["/**\n * Static verification of implementation against parsed spec.\n *\n * This performs lightweight checks based on regex and static analysis\n * without requiring a full build or runtime environment.\n */\n\nimport type { VerificationTier } from '@contractspec/lib.contracts/llm';\nimport type { ParsedSpec } from '@contractspec/module.workspace';\n\n/**\n * Verification issue found during static check.\n */\nexport interface VerificationIssue {\n severity: 'error' | 'warning' | 'info';\n message: string;\n category: string;\n line?: number;\n}\n\n/**\n * Verify implementation against parsed spec.\n * This is a simplified verification that checks for basic patterns.\n */\nexport function verifyImplementationAgainstParsedSpec(\n spec: ParsedSpec,\n implementationCode: string,\n tiers: VerificationTier[]\n): VerificationIssue[] {\n const issues: VerificationIssue[] = [];\n\n // Structure checks (Tier 1)\n if (tiers.includes('structure')) {\n // Check for function/class export\n const hasExport =\n /export\\s+(async\\s+)?function|export\\s+class|export\\s+const/.test(\n implementationCode\n );\n if (!hasExport) {\n issues.push({\n severity: 'warning',\n message: 'No exports found in implementation',\n category: 'structure',\n });\n }\n\n // Check for spec name reference\n if (spec.meta.key && !implementationCode.includes(spec.meta.key)) {\n issues.push({\n severity: 'info',\n message: `Spec name \"${spec.meta.key}\" not found in implementation`,\n category: 'structure',\n });\n }\n }\n\n // Behavior checks (Tier 2)\n if (tiers.includes('behavior')) {\n // Check for error handling\n const hasErrorHandling = /try\\s*{|catch\\s*\\(|throw\\s+new/.test(\n implementationCode\n );\n if (!hasErrorHandling) {\n issues.push({\n severity: 'warning',\n message: 'No error handling patterns found',\n category: 'behavior',\n });\n }\n\n // Check for async patterns if needed\n if (spec.specType === 'operation') {\n const hasAsyncPattern = /async\\s+|await\\s+|Promise/.test(\n implementationCode\n );\n if (!hasAsyncPattern) {\n issues.push({\n severity: 'info',\n message: 'No async patterns found (operations typically use async)',\n category: 'behavior',\n });\n }\n }\n\n // Check for event emission if spec defines emitted events\n if (spec.emittedEvents && spec.emittedEvents.length > 0) {\n const hasEventEmit = /emit|publish|dispatch|fire/i.test(\n implementationCode\n );\n if (!hasEventEmit) {\n issues.push({\n severity: 'warning',\n message: `Spec emits ${spec.emittedEvents.length} event(s) but no event emission found`,\n category: 'behavior',\n });\n }\n }\n }\n\n return issues;\n}\n\n/**\n * Format verification report as markdown.\n */\nexport function formatVerificationReport(\n spec: ParsedSpec,\n issues: VerificationIssue[]\n): string {\n const lines: string[] = [];\n\n lines.push(`# Verification Report: ${spec.meta.key}`);\n lines.push('');\n\n const errors = issues.filter((i) => i.severity === 'error');\n const warnings = issues.filter((i) => i.severity === 'warning');\n const infos = issues.filter((i) => i.severity === 'info');\n\n lines.push('## Summary');\n lines.push('');\n lines.push(`- Errors: ${errors.length}`);\n lines.push(`- Warnings: ${warnings.length}`);\n lines.push(`- Info: ${infos.length}`);\n lines.push('');\n\n if (errors.length > 0) {\n lines.push('## Errors');\n lines.push('');\n for (const issue of errors) {\n lines.push(`- ❌ **${issue.category}**: ${issue.message}`);\n }\n lines.push('');\n }\n\n if (warnings.length > 0) {\n lines.push('## Warnings');\n lines.push('');\n for (const issue of warnings) {\n lines.push(`- ⚠️ **${issue.category}**: ${issue.message}`);\n }\n lines.push('');\n }\n\n if (infos.length > 0) {\n lines.push('## Info');\n lines.push('');\n for (const issue of infos) {\n lines.push(`- ℹ️ **${issue.category}**: ${issue.message}`);\n }\n lines.push('');\n }\n\n return lines.join('\\n');\n}\n"],"mappings":";;;;;AAwBA,SAAgB,sCACd,MACA,oBACA,OACqB;CACrB,MAAM,SAA8B,EAAE;AAGtC,KAAI,MAAM,SAAS,YAAY,EAAE;AAM/B,MAAI,CAHF,6DAA6D,KAC3D,mBACD,CAED,QAAO,KAAK;GACV,UAAU;GACV,SAAS;GACT,UAAU;GACX,CAAC;AAIJ,MAAI,KAAK,KAAK,OAAO,CAAC,mBAAmB,SAAS,KAAK,KAAK,IAAI,CAC9D,QAAO,KAAK;GACV,UAAU;GACV,SAAS,cAAc,KAAK,KAAK,IAAI;GACrC,UAAU;GACX,CAAC;;AAKN,KAAI,MAAM,SAAS,WAAW,EAAE;AAK9B,MAAI,CAHqB,iCAAiC,KACxD,mBACD,CAEC,QAAO,KAAK;GACV,UAAU;GACV,SAAS;GACT,UAAU;GACX,CAAC;AAIJ,MAAI,KAAK,aAAa,aAIpB;OAAI,CAHoB,4BAA4B,KAClD,mBACD,CAEC,QAAO,KAAK;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACX,CAAC;;AAKN,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAIpD;OAAI,CAHiB,8BAA8B,KACjD,mBACD,CAEC,QAAO,KAAK;IACV,UAAU;IACV,SAAS,cAAc,KAAK,cAAc,OAAO;IACjD,UAAU;IACX,CAAC;;;AAKR,QAAO;;;;;AAMT,SAAgB,yBACd,MACA,QACQ;CACR,MAAM,QAAkB,EAAE;AAE1B,OAAM,KAAK,0BAA0B,KAAK,KAAK,MAAM;AACrD,OAAM,KAAK,GAAG;CAEd,MAAM,SAAS,OAAO,QAAQ,MAAM,EAAE,aAAa,QAAQ;CAC3D,MAAM,WAAW,OAAO,QAAQ,MAAM,EAAE,aAAa,UAAU;CAC/D,MAAM,QAAQ,OAAO,QAAQ,MAAM,EAAE,aAAa,OAAO;AAEzD,OAAM,KAAK,aAAa;AACxB,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,aAAa,OAAO,SAAS;AACxC,OAAM,KAAK,eAAe,SAAS,SAAS;AAC5C,OAAM,KAAK,WAAW,MAAM,SAAS;AACrC,OAAM,KAAK,GAAG;AAEd,KAAI,OAAO,SAAS,GAAG;AACrB,QAAM,KAAK,YAAY;AACvB,QAAM,KAAK,GAAG;AACd,OAAK,MAAM,SAAS,OAClB,OAAM,KAAK,SAAS,MAAM,SAAS,MAAM,MAAM,UAAU;AAE3D,QAAM,KAAK,GAAG;;AAGhB,KAAI,SAAS,SAAS,GAAG;AACvB,QAAM,KAAK,cAAc;AACzB,QAAM,KAAK,GAAG;AACd,OAAK,MAAM,SAAS,SAClB,OAAM,KAAK,UAAU,MAAM,SAAS,MAAM,MAAM,UAAU;AAE5D,QAAM,KAAK,GAAG;;AAGhB,KAAI,MAAM,SAAS,GAAG;AACpB,QAAM,KAAK,UAAU;AACrB,QAAM,KAAK,GAAG;AACd,OAAK,MAAM,SAAS,MAClB,OAAM,KAAK,UAAU,MAAM,SAAS,MAAM,MAAM,UAAU;AAE5D,QAAM,KAAK,GAAG;;AAGhB,QAAO,MAAM,KAAK,KAAK"}
@@ -0,0 +1,61 @@
1
+ import { dirname, sep } from "path";
2
+
3
+ //#region src/services/modules/module-resolver.ts
4
+ var ModuleResolver = class {
5
+ modules = [];
6
+ initialized = false;
7
+ constructor(adapters) {
8
+ this.adapters = adapters;
9
+ }
10
+ /**
11
+ * Initialize resolver by scanning for module definitions from a list of specs.
12
+ * This is lightweight - it just indexes the specs passed to it.
13
+ */
14
+ initialize(specs) {
15
+ this.modules = [];
16
+ for (const spec of specs) {
17
+ let type;
18
+ if (spec.specType === "app-config") type = "app-config";
19
+ else if (spec.specType === "example") type = "example";
20
+ else if (spec.specType === "feature") type = "feature";
21
+ if (type && spec.key) {
22
+ const dirPath = dirname(spec.filePath);
23
+ this.modules.push({
24
+ type,
25
+ key: spec.key,
26
+ dirPath
27
+ });
28
+ }
29
+ }
30
+ this.initialized = true;
31
+ }
32
+ /**
33
+ * Resolve the owning module for a given file path.
34
+ * Priority: AppConfig > Example > Feature
35
+ */
36
+ resolve(filePath) {
37
+ if (!this.initialized) throw new Error("ModuleResolver must be initialized before use");
38
+ const fileDir = dirname(filePath);
39
+ const candidates = this.modules.filter((mod) => {
40
+ const modDirWithSep = mod.dirPath.endsWith(sep) ? mod.dirPath : mod.dirPath + sep;
41
+ return (fileDir.endsWith(sep) ? fileDir : fileDir + sep).startsWith(modDirWithSep) || fileDir === mod.dirPath;
42
+ });
43
+ if (candidates.length === 0) return;
44
+ candidates.sort((a, b) => {
45
+ const priority = {
46
+ "app-config": 3,
47
+ example: 2,
48
+ feature: 1
49
+ };
50
+ const pA = priority[a.type];
51
+ const pB = priority[b.type];
52
+ if (pA !== pB) return pB - pA;
53
+ return b.dirPath.length - a.dirPath.length;
54
+ });
55
+ return candidates[0];
56
+ }
57
+ };
58
+
59
+ //#endregion
60
+ export { ModuleResolver };
61
+ //# sourceMappingURL=module-resolver.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-resolver.mjs","names":[],"sources":["../../../src/services/modules/module-resolver.ts"],"sourcesContent":["import { dirname, sep } from 'path';\nimport type { SpecScanResult } from '@contractspec/module.workspace';\nimport type { WorkspaceAdapters } from '../../ports/logger';\n\nexport interface ModuleDefinition {\n type: 'app-config' | 'example' | 'feature';\n key: string;\n dirPath: string;\n}\n\nexport class ModuleResolver {\n private modules: ModuleDefinition[] = [];\n private initialized = false;\n\n constructor(private adapters: WorkspaceAdapters) {}\n\n /**\n * Initialize resolver by scanning for module definitions from a list of specs.\n * This is lightweight - it just indexes the specs passed to it.\n */\n public initialize(specs: SpecScanResult[]): void {\n this.modules = [];\n\n for (const spec of specs) {\n // Identify module definitions based on spec type\n let type: ModuleDefinition['type'] | undefined;\n\n if (spec.specType === 'app-config') {\n type = 'app-config';\n } else if (spec.specType === 'example') {\n type = 'example';\n } else if (spec.specType === 'feature') {\n type = 'feature';\n }\n\n if (type && spec.key) {\n // Store absolute directory path for the module\n // We assume spec.filePath is absolute (as per scan logic)\n const dirPath = dirname(spec.filePath);\n this.modules.push({\n type,\n key: spec.key,\n dirPath,\n });\n }\n }\n this.initialized = true;\n }\n\n /**\n * Resolve the owning module for a given file path.\n * Priority: AppConfig > Example > Feature\n */\n public resolve(filePath: string): ModuleDefinition | undefined {\n if (!this.initialized) {\n throw new Error('ModuleResolver must be initialized before use');\n }\n\n const fileDir = dirname(filePath);\n\n // Find all modules that contain this file\n const candidates = this.modules.filter((mod) => {\n // Check if fileDir starts with module dirPath\n // Ensure we match directory boundaries (add trailing separator if needed for prefix check)\n const modDirWithSep = mod.dirPath.endsWith(sep)\n ? mod.dirPath\n : mod.dirPath + sep;\n const fileDirWithSep = fileDir.endsWith(sep) ? fileDir : fileDir + sep;\n\n return (\n fileDirWithSep.startsWith(modDirWithSep) || fileDir === mod.dirPath\n );\n });\n\n if (candidates.length === 0) {\n return undefined;\n }\n\n // Apply priority: AppConfig > Example > Feature\n // If multiple of same type, pick the deepest one (longest path)?\n // The requirement says \"Parent Priority\". Usually \"closest parent\" is desired,\n // but the conflict might be:\n // /apps/myapp (AppConfig)\n // /src/features/myfeat (Feature)\n // /src/ops/op.ts\n //\n // Ancestry: [AppConfig (/apps/myapp), Feature (/apps/myapp/src/features/myfeat)]\n // Requirement priority: AppConfig > Example > Feature.\n // So if both exist in ancestry, we pick AppConfig (even if Feature is closer).\n\n // Sort candidates by priority type\n candidates.sort((a, b) => {\n const priority = { 'app-config': 3, example: 2, feature: 1 };\n const pA = priority[a.type];\n const pB = priority[b.type];\n if (pA !== pB) {\n return pB - pA; // Descending priority (3 > 2 > 1)\n }\n // Same type? Pick closest (longest path)\n return b.dirPath.length - a.dirPath.length;\n });\n\n return candidates[0];\n }\n}\n"],"mappings":";;;AAUA,IAAa,iBAAb,MAA4B;CAC1B,AAAQ,UAA8B,EAAE;CACxC,AAAQ,cAAc;CAEtB,YAAY,AAAQ,UAA6B;EAA7B;;;;;;CAMpB,AAAO,WAAW,OAA+B;AAC/C,OAAK,UAAU,EAAE;AAEjB,OAAK,MAAM,QAAQ,OAAO;GAExB,IAAI;AAEJ,OAAI,KAAK,aAAa,aACpB,QAAO;YACE,KAAK,aAAa,UAC3B,QAAO;YACE,KAAK,aAAa,UAC3B,QAAO;AAGT,OAAI,QAAQ,KAAK,KAAK;IAGpB,MAAM,UAAU,QAAQ,KAAK,SAAS;AACtC,SAAK,QAAQ,KAAK;KAChB;KACA,KAAK,KAAK;KACV;KACD,CAAC;;;AAGN,OAAK,cAAc;;;;;;CAOrB,AAAO,QAAQ,UAAgD;AAC7D,MAAI,CAAC,KAAK,YACR,OAAM,IAAI,MAAM,gDAAgD;EAGlE,MAAM,UAAU,QAAQ,SAAS;EAGjC,MAAM,aAAa,KAAK,QAAQ,QAAQ,QAAQ;GAG9C,MAAM,gBAAgB,IAAI,QAAQ,SAAS,IAAI,GAC3C,IAAI,UACJ,IAAI,UAAU;AAGlB,WAFuB,QAAQ,SAAS,IAAI,GAAG,UAAU,UAAU,KAGlD,WAAW,cAAc,IAAI,YAAY,IAAI;IAE9D;AAEF,MAAI,WAAW,WAAW,EACxB;AAgBF,aAAW,MAAM,GAAG,MAAM;GACxB,MAAM,WAAW;IAAE,cAAc;IAAG,SAAS;IAAG,SAAS;IAAG;GAC5D,MAAM,KAAK,SAAS,EAAE;GACtB,MAAM,KAAK,SAAS,EAAE;AACtB,OAAI,OAAO,GACT,QAAO,KAAK;AAGd,UAAO,EAAE,QAAQ,SAAS,EAAE,QAAQ;IACpC;AAEF,SAAO,WAAW"}
@@ -0,0 +1,53 @@
1
+ import { FsAdapter } from "../../ports/fs.mjs";
2
+ import { LoggerAdapter } from "../../ports/logger.mjs";
3
+ import { OpenApiDocument, OpenApiServer } from "@contractspec/lib.contracts";
4
+
5
+ //#region src/services/openapi/export-service.d.ts
6
+
7
+ /**
8
+ * Options for OpenAPI export.
9
+ */
10
+ interface OpenApiExportOptions {
11
+ /**
12
+ * Path to module exporting OperationSpecRegistry.
13
+ */
14
+ registryPath: string;
15
+ /**
16
+ * Output file path.
17
+ */
18
+ outputPath?: string;
19
+ /**
20
+ * OpenAPI title.
21
+ */
22
+ title?: string;
23
+ /**
24
+ * OpenAPI version.
25
+ */
26
+ version?: string;
27
+ /**
28
+ * OpenAPI description.
29
+ */
30
+ description?: string;
31
+ /**
32
+ * Server URLs to include.
33
+ */
34
+ servers?: OpenApiServer[];
35
+ }
36
+ /**
37
+ * Result of OpenAPI export.
38
+ */
39
+ interface OpenApiExportResult {
40
+ document: OpenApiDocument;
41
+ outputPath: string;
42
+ json: string;
43
+ }
44
+ /**
45
+ * Export OpenAPI document from a OperationSpecRegistry.
46
+ */
47
+ declare function exportOpenApi(options: OpenApiExportOptions, adapters: {
48
+ fs: FsAdapter;
49
+ logger: LoggerAdapter;
50
+ }): Promise<OpenApiExportResult>;
51
+ //#endregion
52
+ export { OpenApiExportOptions, OpenApiExportResult, exportOpenApi };
53
+ //# sourceMappingURL=export-service.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-service.d.mts","names":[],"sources":["../../../src/services/openapi/export-service.ts"],"sourcesContent":[],"mappings":";;;;;;AAmDA;AAkBA;;AAEkB,UAvDD,oBAAA,CAuDC;EAAmB;;;EAC3B,YAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;YA3BE;;;;;UAMK,mBAAA;YACL;;;;;;;iBAiBU,aAAA,UACX;MACO;UAAmB;IAClC,QAAQ"}
@@ -0,0 +1,50 @@
1
+ import { OperationSpecRegistry, openApiForRegistry } from "@contractspec/lib.contracts";
2
+
3
+ //#region src/services/openapi/export-service.ts
4
+ /**
5
+ * OpenAPI export service - generates OpenAPI documents from OperationSpecRegistry.
6
+ */
7
+ /**
8
+ * Export OpenAPI document from a OperationSpecRegistry.
9
+ */
10
+ async function exportOpenApi(options, adapters) {
11
+ const { fs, logger } = adapters;
12
+ const { registryPath, outputPath = "./openapi.json" } = options;
13
+ logger.info("Loading registry...", { registryPath });
14
+ const registry = await loadRegistry(registryPath, fs);
15
+ logger.info("Generating OpenAPI document...");
16
+ const document = openApiForRegistry(registry, {
17
+ title: options.title,
18
+ version: options.version,
19
+ description: options.description,
20
+ servers: options.servers
21
+ });
22
+ const json = JSON.stringify(document, null, 2) + "\n";
23
+ const resolvedPath = fs.resolve(outputPath);
24
+ await fs.mkdir(fs.dirname(resolvedPath));
25
+ await fs.writeFile(resolvedPath, json);
26
+ logger.info(`OpenAPI document written to ${resolvedPath}`);
27
+ return {
28
+ document,
29
+ outputPath: resolvedPath,
30
+ json
31
+ };
32
+ }
33
+ /**
34
+ * Load a OperationSpecRegistry from a module.
35
+ */
36
+ async function loadRegistry(modulePath, fs) {
37
+ const exports = await import(fs.resolve(modulePath));
38
+ if (exports instanceof OperationSpecRegistry) return exports;
39
+ if (exports.registry instanceof OperationSpecRegistry) return exports.registry;
40
+ const factory = typeof exports.createRegistry === "function" ? exports.createRegistry : typeof exports.default === "function" ? exports.default : void 0;
41
+ if (factory) {
42
+ const result = await factory();
43
+ if (result instanceof OperationSpecRegistry) return result;
44
+ }
45
+ throw new Error(`Registry module ${modulePath} must export a OperationSpecRegistry instance or a factory function returning one.`);
46
+ }
47
+
48
+ //#endregion
49
+ export { exportOpenApi };
50
+ //# sourceMappingURL=export-service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-service.mjs","names":[],"sources":["../../../src/services/openapi/export-service.ts"],"sourcesContent":["/**\n * OpenAPI export service - generates OpenAPI documents from OperationSpecRegistry.\n */\n\nimport {\n type OpenApiDocument,\n openApiForRegistry,\n type OpenApiServer,\n OperationSpecRegistry,\n} from '@contractspec/lib.contracts';\nimport type { FsAdapter } from '../../ports/fs';\nimport type { LoggerAdapter } from '../../ports/logger';\n\n/**\n * Options for OpenAPI export.\n */\nexport interface OpenApiExportOptions {\n /**\n * Path to module exporting OperationSpecRegistry.\n */\n registryPath: string;\n\n /**\n * Output file path.\n */\n outputPath?: string;\n\n /**\n * OpenAPI title.\n */\n title?: string;\n\n /**\n * OpenAPI version.\n */\n version?: string;\n\n /**\n * OpenAPI description.\n */\n description?: string;\n\n /**\n * Server URLs to include.\n */\n servers?: OpenApiServer[];\n}\n\n/**\n * Result of OpenAPI export.\n */\nexport interface OpenApiExportResult {\n document: OpenApiDocument;\n outputPath: string;\n json: string;\n}\n\n/**\n * Module that exports a OperationSpecRegistry.\n */\ninterface LoadedRegistryModule {\n default?: unknown;\n createRegistry?: () => Promise<OperationSpecRegistry> | OperationSpecRegistry;\n registry?: OperationSpecRegistry;\n}\n\n/**\n * Export OpenAPI document from a OperationSpecRegistry.\n */\nexport async function exportOpenApi(\n options: OpenApiExportOptions,\n adapters: { fs: FsAdapter; logger: LoggerAdapter }\n): Promise<OpenApiExportResult> {\n const { fs, logger } = adapters;\n const { registryPath, outputPath = './openapi.json' } = options;\n\n logger.info('Loading registry...', { registryPath });\n\n // Load the registry\n const registry = await loadRegistry(registryPath, fs);\n\n logger.info('Generating OpenAPI document...');\n\n // Generate OpenAPI document\n const document = openApiForRegistry(registry, {\n title: options.title,\n version: options.version,\n description: options.description,\n servers: options.servers,\n });\n\n // Serialize to JSON\n const json = JSON.stringify(document, null, 2) + '\\n';\n\n // Resolve output path\n const resolvedPath = fs.resolve(outputPath);\n\n // Ensure directory exists\n await fs.mkdir(fs.dirname(resolvedPath));\n\n // Write file\n await fs.writeFile(resolvedPath, json);\n\n logger.info(`OpenAPI document written to ${resolvedPath}`);\n\n return {\n document,\n outputPath: resolvedPath,\n json,\n };\n}\n\n/**\n * Load a OperationSpecRegistry from a module.\n */\nasync function loadRegistry(\n modulePath: string,\n fs: FsAdapter\n): Promise<OperationSpecRegistry> {\n // Resolve absolute path\n const absPath = fs.resolve(modulePath);\n\n // Dynamic import\n const exports = (await import(absPath)) as LoadedRegistryModule;\n\n // Check if exports is already a registry\n if (exports instanceof OperationSpecRegistry) {\n return exports;\n }\n\n // Check if registry property exists\n if (exports.registry instanceof OperationSpecRegistry) {\n return exports.registry;\n }\n\n // Check for factory function\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":";;;;;;;;;AAqEA,eAAsB,cACpB,SACA,UAC8B;CAC9B,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,EAAE,cAAc,aAAa,qBAAqB;AAExD,QAAO,KAAK,uBAAuB,EAAE,cAAc,CAAC;CAGpD,MAAM,WAAW,MAAM,aAAa,cAAc,GAAG;AAErD,QAAO,KAAK,iCAAiC;CAG7C,MAAM,WAAW,mBAAmB,UAAU;EAC5C,OAAO,QAAQ;EACf,SAAS,QAAQ;EACjB,aAAa,QAAQ;EACrB,SAAS,QAAQ;EAClB,CAAC;CAGF,MAAM,OAAO,KAAK,UAAU,UAAU,MAAM,EAAE,GAAG;CAGjD,MAAM,eAAe,GAAG,QAAQ,WAAW;AAG3C,OAAM,GAAG,MAAM,GAAG,QAAQ,aAAa,CAAC;AAGxC,OAAM,GAAG,UAAU,cAAc,KAAK;AAEtC,QAAO,KAAK,+BAA+B,eAAe;AAE1D,QAAO;EACL;EACA,YAAY;EACZ;EACD;;;;;AAMH,eAAe,aACb,YACA,IACgC;CAKhC,MAAM,UAAW,MAAM,OAHP,GAAG,QAAQ,WAAW;AAMtC,KAAI,mBAAmB,sBACrB,QAAO;AAIT,KAAI,QAAQ,oBAAoB,sBAC9B,QAAO,QAAQ;CAIjB,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,17 @@
1
+ import { FsAdapter } from "../../ports/fs.mjs";
2
+ import { LoggerAdapter } from "../../ports/logger.mjs";
3
+ import { OpenApiImportServiceOptions, OpenApiImportServiceResult } from "./types.mjs";
4
+ import { ResolvedContractsrcConfig } from "@contractspec/lib.contracts";
5
+
6
+ //#region src/services/openapi/import-service.d.ts
7
+
8
+ /**
9
+ * Import ContractSpec specs from an OpenAPI document.
10
+ */
11
+ declare function importFromOpenApiService(contractspecOptions: ResolvedContractsrcConfig, options: OpenApiImportServiceOptions, adapters: {
12
+ fs: FsAdapter;
13
+ logger: LoggerAdapter;
14
+ }): Promise<OpenApiImportServiceResult>;
15
+ //#endregion
16
+ export { importFromOpenApiService };
17
+ //# sourceMappingURL=import-service.d.mts.map