@contractspec/bundle.workspace 0.0.0-canary-20260113162409

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 (703) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +83 -0
  3. package/dist/_virtual/rolldown_runtime.mjs +20 -0
  4. package/dist/adapters/ai.d.mts +12 -0
  5. package/dist/adapters/ai.d.mts.map +1 -0
  6. package/dist/adapters/ai.mjs +83 -0
  7. package/dist/adapters/ai.mjs.map +1 -0
  8. package/dist/adapters/factory.d.mts +29 -0
  9. package/dist/adapters/factory.d.mts.map +1 -0
  10. package/dist/adapters/factory.mjs +37 -0
  11. package/dist/adapters/factory.mjs.map +1 -0
  12. package/dist/adapters/fs.d.mts +12 -0
  13. package/dist/adapters/fs.d.mts.map +1 -0
  14. package/dist/adapters/fs.mjs +133 -0
  15. package/dist/adapters/fs.mjs.map +1 -0
  16. package/dist/adapters/git.d.mts +11 -0
  17. package/dist/adapters/git.d.mts.map +1 -0
  18. package/dist/adapters/git.mjs +84 -0
  19. package/dist/adapters/git.mjs.map +1 -0
  20. package/dist/adapters/index.d.mts +7 -0
  21. package/dist/adapters/index.mjs +9 -0
  22. package/dist/adapters/logger.d.mts +18 -0
  23. package/dist/adapters/logger.d.mts.map +1 -0
  24. package/dist/adapters/logger.mjs +81 -0
  25. package/dist/adapters/logger.mjs.map +1 -0
  26. package/dist/adapters/watcher.d.mts +11 -0
  27. package/dist/adapters/watcher.d.mts.map +1 -0
  28. package/dist/adapters/watcher.mjs +74 -0
  29. package/dist/adapters/watcher.mjs.map +1 -0
  30. package/dist/adapters/workspace.d.mts +148 -0
  31. package/dist/adapters/workspace.d.mts.map +1 -0
  32. package/dist/adapters/workspace.mjs +275 -0
  33. package/dist/adapters/workspace.mjs.map +1 -0
  34. package/dist/ai/agents/claude-code-agent.d.mts +22 -0
  35. package/dist/ai/agents/claude-code-agent.d.mts.map +1 -0
  36. package/dist/ai/agents/claude-code-agent.mjs +182 -0
  37. package/dist/ai/agents/claude-code-agent.mjs.map +1 -0
  38. package/dist/ai/agents/cursor-agent.d.mts +68 -0
  39. package/dist/ai/agents/cursor-agent.d.mts.map +1 -0
  40. package/dist/ai/agents/cursor-agent.mjs +436 -0
  41. package/dist/ai/agents/cursor-agent.mjs.map +1 -0
  42. package/dist/ai/agents/index.mjs +7 -0
  43. package/dist/ai/agents/openai-codex-agent.d.mts +22 -0
  44. package/dist/ai/agents/openai-codex-agent.d.mts.map +1 -0
  45. package/dist/ai/agents/openai-codex-agent.mjs +167 -0
  46. package/dist/ai/agents/openai-codex-agent.mjs.map +1 -0
  47. package/dist/ai/agents/orchestrator.d.mts +50 -0
  48. package/dist/ai/agents/orchestrator.d.mts.map +1 -0
  49. package/dist/ai/agents/orchestrator.mjs +143 -0
  50. package/dist/ai/agents/orchestrator.mjs.map +1 -0
  51. package/dist/ai/agents/simple-agent.d.mts +17 -0
  52. package/dist/ai/agents/simple-agent.d.mts.map +1 -0
  53. package/dist/ai/agents/simple-agent.mjs +92 -0
  54. package/dist/ai/agents/simple-agent.mjs.map +1 -0
  55. package/dist/ai/agents/types.d.mts +36 -0
  56. package/dist/ai/agents/types.d.mts.map +1 -0
  57. package/dist/ai/client.d.mts +97 -0
  58. package/dist/ai/client.d.mts.map +1 -0
  59. package/dist/ai/client.mjs +189 -0
  60. package/dist/ai/client.mjs.map +1 -0
  61. package/dist/ai/index.d.mts +9 -0
  62. package/dist/ai/index.mjs +11 -0
  63. package/dist/ai/prompts/code-generation.d.mts +26 -0
  64. package/dist/ai/prompts/code-generation.d.mts.map +1 -0
  65. package/dist/ai/prompts/code-generation.mjs +143 -0
  66. package/dist/ai/prompts/code-generation.mjs.map +1 -0
  67. package/dist/ai/prompts/index.d.mts +10 -0
  68. package/dist/ai/prompts/index.d.mts.map +1 -0
  69. package/dist/ai/prompts/index.mjs +13 -0
  70. package/dist/ai/prompts/index.mjs.map +1 -0
  71. package/dist/ai/prompts/spec-creation.d.mts +29 -0
  72. package/dist/ai/prompts/spec-creation.d.mts.map +1 -0
  73. package/dist/ai/prompts/spec-creation.mjs +111 -0
  74. package/dist/ai/prompts/spec-creation.mjs.map +1 -0
  75. package/dist/ai/providers.d.mts +29 -0
  76. package/dist/ai/providers.d.mts.map +1 -0
  77. package/dist/ai/providers.mjs +39 -0
  78. package/dist/ai/providers.mjs.map +1 -0
  79. package/dist/formatters/index.d.mts +11 -0
  80. package/dist/formatters/index.d.mts.map +1 -0
  81. package/dist/formatters/index.mjs +17 -0
  82. package/dist/formatters/index.mjs.map +1 -0
  83. package/dist/formatters/json.d.mts +56 -0
  84. package/dist/formatters/json.d.mts.map +1 -0
  85. package/dist/formatters/json.mjs +43 -0
  86. package/dist/formatters/json.mjs.map +1 -0
  87. package/dist/formatters/sarif.d.mts +101 -0
  88. package/dist/formatters/sarif.d.mts.map +1 -0
  89. package/dist/formatters/sarif.mjs +163 -0
  90. package/dist/formatters/sarif.mjs.map +1 -0
  91. package/dist/formatters/text.d.mts +35 -0
  92. package/dist/formatters/text.d.mts.map +1 -0
  93. package/dist/formatters/text.mjs +209 -0
  94. package/dist/formatters/text.mjs.map +1 -0
  95. package/dist/index.d.mts +125 -0
  96. package/dist/index.mjs +110 -0
  97. package/dist/ports/ai.d.mts +59 -0
  98. package/dist/ports/ai.d.mts.map +1 -0
  99. package/dist/ports/fs.d.mts +81 -0
  100. package/dist/ports/fs.d.mts.map +1 -0
  101. package/dist/ports/git.d.mts +46 -0
  102. package/dist/ports/git.d.mts.map +1 -0
  103. package/dist/ports/index.d.mts +6 -0
  104. package/dist/ports/logger.d.mts +88 -0
  105. package/dist/ports/logger.d.mts.map +1 -0
  106. package/dist/ports/rulesync.d.mts +38 -0
  107. package/dist/ports/rulesync.d.mts.map +1 -0
  108. package/dist/ports/watcher.d.mts +52 -0
  109. package/dist/ports/watcher.d.mts.map +1 -0
  110. package/dist/services/agent-guide/adapters/claude-code.d.mts +35 -0
  111. package/dist/services/agent-guide/adapters/claude-code.d.mts.map +1 -0
  112. package/dist/services/agent-guide/adapters/claude-code.mjs +144 -0
  113. package/dist/services/agent-guide/adapters/claude-code.mjs.map +1 -0
  114. package/dist/services/agent-guide/adapters/cursor-cli.d.mts +39 -0
  115. package/dist/services/agent-guide/adapters/cursor-cli.d.mts.map +1 -0
  116. package/dist/services/agent-guide/adapters/cursor-cli.mjs +135 -0
  117. package/dist/services/agent-guide/adapters/cursor-cli.mjs.map +1 -0
  118. package/dist/services/agent-guide/adapters/generic-mcp.d.mts +53 -0
  119. package/dist/services/agent-guide/adapters/generic-mcp.d.mts.map +1 -0
  120. package/dist/services/agent-guide/adapters/generic-mcp.mjs +159 -0
  121. package/dist/services/agent-guide/adapters/generic-mcp.mjs.map +1 -0
  122. package/dist/services/agent-guide/adapters/index.d.mts +23 -0
  123. package/dist/services/agent-guide/adapters/index.d.mts.map +1 -0
  124. package/dist/services/agent-guide/adapters/index.mjs +31 -0
  125. package/dist/services/agent-guide/adapters/index.mjs.map +1 -0
  126. package/dist/services/agent-guide/agent-guide-service.d.mts +56 -0
  127. package/dist/services/agent-guide/agent-guide-service.d.mts.map +1 -0
  128. package/dist/services/agent-guide/agent-guide-service.mjs +147 -0
  129. package/dist/services/agent-guide/agent-guide-service.mjs.map +1 -0
  130. package/dist/services/agent-guide/index.d.mts +6 -0
  131. package/dist/services/agent-guide/index.mjs +7 -0
  132. package/dist/services/agent-guide/types.d.mts +58 -0
  133. package/dist/services/agent-guide/types.d.mts.map +1 -0
  134. package/dist/services/build.d.mts +61 -0
  135. package/dist/services/build.d.mts.map +1 -0
  136. package/dist/services/build.mjs +151 -0
  137. package/dist/services/build.mjs.map +1 -0
  138. package/dist/services/ci-check/checks/coverage.mjs +77 -0
  139. package/dist/services/ci-check/checks/coverage.mjs.map +1 -0
  140. package/dist/services/ci-check/checks/deps.mjs +32 -0
  141. package/dist/services/ci-check/checks/deps.mjs.map +1 -0
  142. package/dist/services/ci-check/checks/doctor.mjs +38 -0
  143. package/dist/services/ci-check/checks/doctor.mjs.map +1 -0
  144. package/dist/services/ci-check/checks/drift.mjs +40 -0
  145. package/dist/services/ci-check/checks/drift.mjs.map +1 -0
  146. package/dist/services/ci-check/checks/handlers.mjs +38 -0
  147. package/dist/services/ci-check/checks/handlers.mjs.map +1 -0
  148. package/dist/services/ci-check/checks/implementation.mjs +73 -0
  149. package/dist/services/ci-check/checks/implementation.mjs.map +1 -0
  150. package/dist/services/ci-check/checks/index.mjs +13 -0
  151. package/dist/services/ci-check/checks/integrity.mjs +31 -0
  152. package/dist/services/ci-check/checks/integrity.mjs.map +1 -0
  153. package/dist/services/ci-check/checks/layers.mjs +66 -0
  154. package/dist/services/ci-check/checks/layers.mjs.map +1 -0
  155. package/dist/services/ci-check/checks/structure.mjs +35 -0
  156. package/dist/services/ci-check/checks/structure.mjs.map +1 -0
  157. package/dist/services/ci-check/checks/test-refs.mjs +63 -0
  158. package/dist/services/ci-check/checks/test-refs.mjs.map +1 -0
  159. package/dist/services/ci-check/checks/tests.mjs +38 -0
  160. package/dist/services/ci-check/checks/tests.mjs.map +1 -0
  161. package/dist/services/ci-check/ci-check-service.d.mts +16 -0
  162. package/dist/services/ci-check/ci-check-service.d.mts.map +1 -0
  163. package/dist/services/ci-check/ci-check-service.mjs +129 -0
  164. package/dist/services/ci-check/ci-check-service.mjs.map +1 -0
  165. package/dist/services/ci-check/index.d.mts +2 -0
  166. package/dist/services/ci-check/index.mjs +4 -0
  167. package/dist/services/ci-check/types.d.mts +147 -0
  168. package/dist/services/ci-check/types.d.mts.map +1 -0
  169. package/dist/services/ci-check/types.mjs +37 -0
  170. package/dist/services/ci-check/types.mjs.map +1 -0
  171. package/dist/services/ci-check/utils.mjs +76 -0
  172. package/dist/services/ci-check/utils.mjs.map +1 -0
  173. package/dist/services/clean.d.mts +41 -0
  174. package/dist/services/clean.d.mts.map +1 -0
  175. package/dist/services/clean.mjs +72 -0
  176. package/dist/services/clean.mjs.map +1 -0
  177. package/dist/services/config.d.mts +16 -0
  178. package/dist/services/config.d.mts.map +1 -0
  179. package/dist/services/config.mjs +63 -0
  180. package/dist/services/config.mjs.map +1 -0
  181. package/dist/services/coverage/parsers/index.mjs +34 -0
  182. package/dist/services/coverage/parsers/index.mjs.map +1 -0
  183. package/dist/services/coverage/parsers/istanbul-parser.mjs +108 -0
  184. package/dist/services/coverage/parsers/istanbul-parser.mjs.map +1 -0
  185. package/dist/services/coverage/validator.mjs +55 -0
  186. package/dist/services/coverage/validator.mjs.map +1 -0
  187. package/dist/services/create/ai-generator.d.mts +84 -0
  188. package/dist/services/create/ai-generator.d.mts.map +1 -0
  189. package/dist/services/create/ai-generator.mjs +178 -0
  190. package/dist/services/create/ai-generator.mjs.map +1 -0
  191. package/dist/services/create/index.d.mts +28 -0
  192. package/dist/services/create/index.d.mts.map +1 -0
  193. package/dist/services/create/index.mjs +37 -0
  194. package/dist/services/create/index.mjs.map +1 -0
  195. package/dist/services/create/templates.d.mts +22 -0
  196. package/dist/services/create/templates.d.mts.map +1 -0
  197. package/dist/services/create/templates.mjs +39 -0
  198. package/dist/services/create/templates.mjs.map +1 -0
  199. package/dist/services/deps.d.mts +53 -0
  200. package/dist/services/deps.d.mts.map +1 -0
  201. package/dist/services/deps.mjs +62 -0
  202. package/dist/services/deps.mjs.map +1 -0
  203. package/dist/services/diff.d.mts +34 -0
  204. package/dist/services/diff.d.mts.map +1 -0
  205. package/dist/services/diff.mjs +34 -0
  206. package/dist/services/diff.mjs.map +1 -0
  207. package/dist/services/docs/docs-service.d.mts +20 -0
  208. package/dist/services/docs/docs-service.d.mts.map +1 -0
  209. package/dist/services/docs/docs-service.mjs +59 -0
  210. package/dist/services/docs/docs-service.mjs.map +1 -0
  211. package/dist/services/docs/index.d.mts +1 -0
  212. package/dist/services/docs/index.mjs +3 -0
  213. package/dist/services/doctor/checks/ai.mjs +119 -0
  214. package/dist/services/doctor/checks/ai.mjs.map +1 -0
  215. package/dist/services/doctor/checks/cli.mjs +156 -0
  216. package/dist/services/doctor/checks/cli.mjs.map +1 -0
  217. package/dist/services/doctor/checks/config.mjs +303 -0
  218. package/dist/services/doctor/checks/config.mjs.map +1 -0
  219. package/dist/services/doctor/checks/deps.mjs +267 -0
  220. package/dist/services/doctor/checks/deps.mjs.map +1 -0
  221. package/dist/services/doctor/checks/index.mjs +9 -0
  222. package/dist/services/doctor/checks/layers.mjs +139 -0
  223. package/dist/services/doctor/checks/layers.mjs.map +1 -0
  224. package/dist/services/doctor/checks/mcp.mjs +145 -0
  225. package/dist/services/doctor/checks/mcp.mjs.map +1 -0
  226. package/dist/services/doctor/checks/workspace.mjs +263 -0
  227. package/dist/services/doctor/checks/workspace.mjs.map +1 -0
  228. package/dist/services/doctor/doctor-service.d.mts +24 -0
  229. package/dist/services/doctor/doctor-service.d.mts.map +1 -0
  230. package/dist/services/doctor/doctor-service.mjs +118 -0
  231. package/dist/services/doctor/doctor-service.mjs.map +1 -0
  232. package/dist/services/doctor/index.d.mts +2 -0
  233. package/dist/services/doctor/index.mjs +4 -0
  234. package/dist/services/doctor/types.d.mts +118 -0
  235. package/dist/services/doctor/types.d.mts.map +1 -0
  236. package/dist/services/doctor/types.mjs +29 -0
  237. package/dist/services/doctor/types.mjs.map +1 -0
  238. package/dist/services/drift.mjs +73 -0
  239. package/dist/services/drift.mjs.map +1 -0
  240. package/dist/services/extract.d.mts +12 -0
  241. package/dist/services/extract.d.mts.map +1 -0
  242. package/dist/services/extract.mjs +33 -0
  243. package/dist/services/extract.mjs.map +1 -0
  244. package/dist/services/features/completion.d.mts +21 -0
  245. package/dist/services/features/completion.d.mts.map +1 -0
  246. package/dist/services/features/completion.mjs +70 -0
  247. package/dist/services/features/completion.mjs.map +1 -0
  248. package/dist/services/features/feature-editor.d.mts +27 -0
  249. package/dist/services/features/feature-editor.d.mts.map +1 -0
  250. package/dist/services/features/feature-editor.mjs +37 -0
  251. package/dist/services/features/feature-editor.mjs.map +1 -0
  252. package/dist/services/features/index.d.mts +11 -0
  253. package/dist/services/features/index.d.mts.map +1 -0
  254. package/dist/services/features/index.mjs +16 -0
  255. package/dist/services/features/index.mjs.map +1 -0
  256. package/dist/services/features/validation.d.mts +21 -0
  257. package/dist/services/features/validation.d.mts.map +1 -0
  258. package/dist/services/features/validation.mjs +27 -0
  259. package/dist/services/features/validation.mjs.map +1 -0
  260. package/dist/services/fix/fix-link-formatter.d.mts +12 -0
  261. package/dist/services/fix/fix-link-formatter.d.mts.map +1 -0
  262. package/dist/services/fix/fix-link-formatter.mjs +38 -0
  263. package/dist/services/fix/fix-link-formatter.mjs.map +1 -0
  264. package/dist/services/fix/fix-service.d.mts +74 -0
  265. package/dist/services/fix/fix-service.d.mts.map +1 -0
  266. package/dist/services/fix/fix-service.mjs +169 -0
  267. package/dist/services/fix/fix-service.mjs.map +1 -0
  268. package/dist/services/fix/index.d.mts +16 -0
  269. package/dist/services/fix/index.d.mts.map +1 -0
  270. package/dist/services/fix/index.mjs +24 -0
  271. package/dist/services/fix/index.mjs.map +1 -0
  272. package/dist/services/fix/path-resolver.mjs +83 -0
  273. package/dist/services/fix/path-resolver.mjs.map +1 -0
  274. package/dist/services/fix/schemas.d.mts +17 -0
  275. package/dist/services/fix/schemas.d.mts.map +1 -0
  276. package/dist/services/fix/schemas.mjs +12 -0
  277. package/dist/services/fix/schemas.mjs.map +1 -0
  278. package/dist/services/fix/strategies/implement-ai.d.mts +18 -0
  279. package/dist/services/fix/strategies/implement-ai.d.mts.map +1 -0
  280. package/dist/services/fix/strategies/implement-ai.mjs +139 -0
  281. package/dist/services/fix/strategies/implement-ai.mjs.map +1 -0
  282. package/dist/services/fix/strategies/implement-skeleton.d.mts +14 -0
  283. package/dist/services/fix/strategies/implement-skeleton.d.mts.map +1 -0
  284. package/dist/services/fix/strategies/implement-skeleton.mjs +77 -0
  285. package/dist/services/fix/strategies/implement-skeleton.mjs.map +1 -0
  286. package/dist/services/fix/strategies/index.d.mts +3 -0
  287. package/dist/services/fix/strategies/remove-reference.d.mts +17 -0
  288. package/dist/services/fix/strategies/remove-reference.d.mts.map +1 -0
  289. package/dist/services/fix/strategies/remove-reference.mjs +98 -0
  290. package/dist/services/fix/strategies/remove-reference.mjs.map +1 -0
  291. package/dist/services/fix/types.d.mts +207 -0
  292. package/dist/services/fix/types.d.mts.map +1 -0
  293. package/dist/services/fix/types.mjs +20 -0
  294. package/dist/services/fix/types.mjs.map +1 -0
  295. package/dist/services/formatter.d.mts +15 -0
  296. package/dist/services/formatter.d.mts.map +1 -0
  297. package/dist/services/formatter.mjs +26 -0
  298. package/dist/services/formatter.mjs.map +1 -0
  299. package/dist/services/gap.d.mts +18 -0
  300. package/dist/services/gap.d.mts.map +1 -0
  301. package/dist/services/gap.mjs +44 -0
  302. package/dist/services/gap.mjs.map +1 -0
  303. package/dist/services/generate-artifacts.d.mts +11 -0
  304. package/dist/services/generate-artifacts.d.mts.map +1 -0
  305. package/dist/services/generate-artifacts.mjs +27 -0
  306. package/dist/services/generate-artifacts.mjs.map +1 -0
  307. package/dist/services/hooks/hooks-service.d.mts +24 -0
  308. package/dist/services/hooks/hooks-service.d.mts.map +1 -0
  309. package/dist/services/hooks/hooks-service.mjs +126 -0
  310. package/dist/services/hooks/hooks-service.mjs.map +1 -0
  311. package/dist/services/hooks/index.d.mts +10 -0
  312. package/dist/services/hooks/index.d.mts.map +1 -0
  313. package/dist/services/hooks/index.mjs +12 -0
  314. package/dist/services/hooks/index.mjs.map +1 -0
  315. package/dist/services/hooks/types.d.mts +56 -0
  316. package/dist/services/hooks/types.d.mts.map +1 -0
  317. package/dist/services/impact/formatters.d.mts +27 -0
  318. package/dist/services/impact/formatters.d.mts.map +1 -0
  319. package/dist/services/impact/formatters.mjs +139 -0
  320. package/dist/services/impact/formatters.mjs.map +1 -0
  321. package/dist/services/impact/impact-detection-service.d.mts +22 -0
  322. package/dist/services/impact/impact-detection-service.d.mts.map +1 -0
  323. package/dist/services/impact/impact-detection-service.mjs +96 -0
  324. package/dist/services/impact/impact-detection-service.mjs.map +1 -0
  325. package/dist/services/impact/index.d.mts +11 -0
  326. package/dist/services/impact/index.d.mts.map +1 -0
  327. package/dist/services/impact/index.mjs +16 -0
  328. package/dist/services/impact/index.mjs.map +1 -0
  329. package/dist/services/impact/types.d.mts +63 -0
  330. package/dist/services/impact/types.d.mts.map +1 -0
  331. package/dist/services/implementation/discovery.d.mts +30 -0
  332. package/dist/services/implementation/discovery.d.mts.map +1 -0
  333. package/dist/services/implementation/discovery.mjs +144 -0
  334. package/dist/services/implementation/discovery.mjs.map +1 -0
  335. package/dist/services/implementation/index.d.mts +6 -0
  336. package/dist/services/implementation/index.mjs +7 -0
  337. package/dist/services/implementation/resolver/conventions.d.mts +18 -0
  338. package/dist/services/implementation/resolver/conventions.d.mts.map +1 -0
  339. package/dist/services/implementation/resolver/conventions.mjs +59 -0
  340. package/dist/services/implementation/resolver/conventions.mjs.map +1 -0
  341. package/dist/services/implementation/resolver/index.d.mts +24 -0
  342. package/dist/services/implementation/resolver/index.d.mts.map +1 -0
  343. package/dist/services/implementation/resolver/index.mjs +111 -0
  344. package/dist/services/implementation/resolver/index.mjs.map +1 -0
  345. package/dist/services/implementation/resolver/parsers.d.mts +16 -0
  346. package/dist/services/implementation/resolver/parsers.d.mts.map +1 -0
  347. package/dist/services/implementation/resolver/parsers.mjs +100 -0
  348. package/dist/services/implementation/resolver/parsers.mjs.map +1 -0
  349. package/dist/services/implementation/resolver/status.d.mts +21 -0
  350. package/dist/services/implementation/resolver/status.d.mts.map +1 -0
  351. package/dist/services/implementation/resolver/status.mjs +31 -0
  352. package/dist/services/implementation/resolver/status.mjs.map +1 -0
  353. package/dist/services/implementation/types.d.mts +89 -0
  354. package/dist/services/implementation/types.d.mts.map +1 -0
  355. package/dist/services/index.d.mts +103 -0
  356. package/dist/services/index.mjs +100 -0
  357. package/dist/services/integrity-diagram.d.mts +36 -0
  358. package/dist/services/integrity-diagram.d.mts.map +1 -0
  359. package/dist/services/integrity-diagram.mjs +275 -0
  360. package/dist/services/integrity-diagram.mjs.map +1 -0
  361. package/dist/services/integrity.d.mts +152 -0
  362. package/dist/services/integrity.d.mts.map +1 -0
  363. package/dist/services/integrity.mjs +361 -0
  364. package/dist/services/integrity.mjs.map +1 -0
  365. package/dist/services/layer-discovery.d.mts +77 -0
  366. package/dist/services/layer-discovery.d.mts.map +1 -0
  367. package/dist/services/layer-discovery.mjs +121 -0
  368. package/dist/services/layer-discovery.mjs.map +1 -0
  369. package/dist/services/list.d.mts +37 -0
  370. package/dist/services/list.d.mts.map +1 -0
  371. package/dist/services/list.mjs +46 -0
  372. package/dist/services/list.mjs.map +1 -0
  373. package/dist/services/llm/index.d.mts +28 -0
  374. package/dist/services/llm/index.d.mts.map +1 -0
  375. package/dist/services/llm/index.mjs +187 -0
  376. package/dist/services/llm/index.mjs.map +1 -0
  377. package/dist/services/llm/verify-static.d.mts +26 -0
  378. package/dist/services/llm/verify-static.d.mts.map +1 -0
  379. package/dist/services/llm/verify-static.mjs +82 -0
  380. package/dist/services/llm/verify-static.mjs.map +1 -0
  381. package/dist/services/modules/module-resolver.mjs +61 -0
  382. package/dist/services/modules/module-resolver.mjs.map +1 -0
  383. package/dist/services/openapi/export-service.d.mts +53 -0
  384. package/dist/services/openapi/export-service.d.mts.map +1 -0
  385. package/dist/services/openapi/export-service.mjs +50 -0
  386. package/dist/services/openapi/export-service.mjs.map +1 -0
  387. package/dist/services/openapi/import-service.d.mts +17 -0
  388. package/dist/services/openapi/import-service.d.mts.map +1 -0
  389. package/dist/services/openapi/import-service.mjs +168 -0
  390. package/dist/services/openapi/import-service.mjs.map +1 -0
  391. package/dist/services/openapi/index.d.mts +5 -0
  392. package/dist/services/openapi/index.mjs +6 -0
  393. package/dist/services/openapi/sync-service.d.mts +17 -0
  394. package/dist/services/openapi/sync-service.d.mts.map +1 -0
  395. package/dist/services/openapi/sync-service.mjs +120 -0
  396. package/dist/services/openapi/sync-service.mjs.map +1 -0
  397. package/dist/services/openapi/types.d.mts +162 -0
  398. package/dist/services/openapi/types.d.mts.map +1 -0
  399. package/dist/services/openapi/validate-service.d.mts +16 -0
  400. package/dist/services/openapi/validate-service.d.mts.map +1 -0
  401. package/dist/services/openapi/validate-service.mjs +130 -0
  402. package/dist/services/openapi/validate-service.mjs.map +1 -0
  403. package/dist/services/quickstart/dependencies.d.mts +31 -0
  404. package/dist/services/quickstart/dependencies.d.mts.map +1 -0
  405. package/dist/services/quickstart/dependencies.mjs +57 -0
  406. package/dist/services/quickstart/dependencies.mjs.map +1 -0
  407. package/dist/services/quickstart/index.mjs +4 -0
  408. package/dist/services/quickstart/quickstart-service.d.mts +20 -0
  409. package/dist/services/quickstart/quickstart-service.d.mts.map +1 -0
  410. package/dist/services/quickstart/quickstart-service.mjs +196 -0
  411. package/dist/services/quickstart/quickstart-service.mjs.map +1 -0
  412. package/dist/services/quickstart/types.d.mts +81 -0
  413. package/dist/services/quickstart/types.d.mts.map +1 -0
  414. package/dist/services/regenerator.d.mts +18 -0
  415. package/dist/services/regenerator.d.mts.map +1 -0
  416. package/dist/services/regenerator.mjs +23 -0
  417. package/dist/services/regenerator.mjs.map +1 -0
  418. package/dist/services/registry.d.mts +53 -0
  419. package/dist/services/registry.d.mts.map +1 -0
  420. package/dist/services/registry.mjs +74 -0
  421. package/dist/services/registry.mjs.map +1 -0
  422. package/dist/services/rulesync.d.mts +17 -0
  423. package/dist/services/rulesync.d.mts.map +1 -0
  424. package/dist/services/rulesync.mjs +71 -0
  425. package/dist/services/rulesync.mjs.map +1 -0
  426. package/dist/services/setup/config-generators.d.mts +42 -0
  427. package/dist/services/setup/config-generators.d.mts.map +1 -0
  428. package/dist/services/setup/config-generators.mjs +252 -0
  429. package/dist/services/setup/config-generators.mjs.map +1 -0
  430. package/dist/services/setup/file-merger.d.mts +27 -0
  431. package/dist/services/setup/file-merger.d.mts.map +1 -0
  432. package/dist/services/setup/file-merger.mjs +61 -0
  433. package/dist/services/setup/file-merger.mjs.map +1 -0
  434. package/dist/services/setup/setup-service.d.mts +12 -0
  435. package/dist/services/setup/setup-service.d.mts.map +1 -0
  436. package/dist/services/setup/setup-service.mjs +96 -0
  437. package/dist/services/setup/setup-service.mjs.map +1 -0
  438. package/dist/services/setup/targets/agents-md.mjs +47 -0
  439. package/dist/services/setup/targets/agents-md.mjs.map +1 -0
  440. package/dist/services/setup/targets/cli-config.mjs +60 -0
  441. package/dist/services/setup/targets/cli-config.mjs.map +1 -0
  442. package/dist/services/setup/targets/cursor-rules.mjs +48 -0
  443. package/dist/services/setup/targets/cursor-rules.mjs.map +1 -0
  444. package/dist/services/setup/targets/mcp-claude.mjs +60 -0
  445. package/dist/services/setup/targets/mcp-claude.mjs.map +1 -0
  446. package/dist/services/setup/targets/mcp-cursor.mjs +59 -0
  447. package/dist/services/setup/targets/mcp-cursor.mjs.map +1 -0
  448. package/dist/services/setup/targets/vscode-settings.mjs +63 -0
  449. package/dist/services/setup/targets/vscode-settings.mjs.map +1 -0
  450. package/dist/services/setup/types.d.mts +85 -0
  451. package/dist/services/setup/types.d.mts.map +1 -0
  452. package/dist/services/setup/types.mjs +27 -0
  453. package/dist/services/setup/types.mjs.map +1 -0
  454. package/dist/services/sync.d.mts +42 -0
  455. package/dist/services/sync.d.mts.map +1 -0
  456. package/dist/services/sync.mjs +64 -0
  457. package/dist/services/sync.mjs.map +1 -0
  458. package/dist/services/test/index.d.mts +2 -0
  459. package/dist/services/test/index.mjs +4 -0
  460. package/dist/services/test/test-generator-service.d.mts +24 -0
  461. package/dist/services/test/test-generator-service.d.mts.map +1 -0
  462. package/dist/services/test/test-generator-service.mjs +92 -0
  463. package/dist/services/test/test-generator-service.mjs.map +1 -0
  464. package/dist/services/test/test-service.d.mts +27 -0
  465. package/dist/services/test/test-service.d.mts.map +1 -0
  466. package/dist/services/test/test-service.mjs +94 -0
  467. package/dist/services/test/test-service.mjs.map +1 -0
  468. package/dist/services/test-link/index.d.mts +18 -0
  469. package/dist/services/test-link/index.d.mts.map +1 -0
  470. package/dist/services/test-link/index.mjs +60 -0
  471. package/dist/services/test-link/index.mjs.map +1 -0
  472. package/dist/services/test-link/test-ref-validator.d.mts +2 -0
  473. package/dist/services/test-link/test-ref-validator.mjs +50 -0
  474. package/dist/services/test-link/test-ref-validator.mjs.map +1 -0
  475. package/dist/services/upgrade/index.d.mts +10 -0
  476. package/dist/services/upgrade/index.d.mts.map +1 -0
  477. package/dist/services/upgrade/index.mjs +15 -0
  478. package/dist/services/upgrade/index.mjs.map +1 -0
  479. package/dist/services/upgrade/types.d.mts +78 -0
  480. package/dist/services/upgrade/types.d.mts.map +1 -0
  481. package/dist/services/upgrade/upgrade-service.d.mts +38 -0
  482. package/dist/services/upgrade/upgrade-service.d.mts.map +1 -0
  483. package/dist/services/upgrade/upgrade-service.mjs +201 -0
  484. package/dist/services/upgrade/upgrade-service.mjs.map +1 -0
  485. package/dist/services/validate/blueprint-validator.d.mts +23 -0
  486. package/dist/services/validate/blueprint-validator.d.mts.map +1 -0
  487. package/dist/services/validate/blueprint-validator.mjs +50 -0
  488. package/dist/services/validate/blueprint-validator.mjs.map +1 -0
  489. package/dist/services/validate/implementation-agent-validator.d.mts +20 -0
  490. package/dist/services/validate/implementation-agent-validator.d.mts.map +1 -0
  491. package/dist/services/validate/implementation-agent-validator.mjs +42 -0
  492. package/dist/services/validate/implementation-agent-validator.mjs.map +1 -0
  493. package/dist/services/validate/implementation-validator.d.mts +32 -0
  494. package/dist/services/validate/implementation-validator.d.mts.map +1 -0
  495. package/dist/services/validate/implementation-validator.mjs +64 -0
  496. package/dist/services/validate/implementation-validator.mjs.map +1 -0
  497. package/dist/services/validate/index.d.mts +5 -0
  498. package/dist/services/validate/index.mjs +7 -0
  499. package/dist/services/validate/spec-validator.d.mts +42 -0
  500. package/dist/services/validate/spec-validator.d.mts.map +1 -0
  501. package/dist/services/validate/spec-validator.mjs +49 -0
  502. package/dist/services/validate/spec-validator.mjs.map +1 -0
  503. package/dist/services/validate/tenant-validator.d.mts +21 -0
  504. package/dist/services/validate/tenant-validator.d.mts.map +1 -0
  505. package/dist/services/validate/tenant-validator.mjs +165 -0
  506. package/dist/services/validate/tenant-validator.mjs.map +1 -0
  507. package/dist/services/verification-cache/adapters/filesystem.d.mts +46 -0
  508. package/dist/services/verification-cache/adapters/filesystem.d.mts.map +1 -0
  509. package/dist/services/verification-cache/adapters/filesystem.mjs +120 -0
  510. package/dist/services/verification-cache/adapters/filesystem.mjs.map +1 -0
  511. package/dist/services/verification-cache/adapters/in-memory.d.mts +27 -0
  512. package/dist/services/verification-cache/adapters/in-memory.d.mts.map +1 -0
  513. package/dist/services/verification-cache/adapters/in-memory.mjs +46 -0
  514. package/dist/services/verification-cache/adapters/in-memory.mjs.map +1 -0
  515. package/dist/services/verification-cache/adapters/index.d.mts +3 -0
  516. package/dist/services/verification-cache/adapters/index.mjs +5 -0
  517. package/dist/services/verification-cache/adapters/workspace-state.d.mts +49 -0
  518. package/dist/services/verification-cache/adapters/workspace-state.d.mts.map +1 -0
  519. package/dist/services/verification-cache/adapters/workspace-state.mjs +91 -0
  520. package/dist/services/verification-cache/adapters/workspace-state.mjs.map +1 -0
  521. package/dist/services/verification-cache/cache-service.d.mts +70 -0
  522. package/dist/services/verification-cache/cache-service.d.mts.map +1 -0
  523. package/dist/services/verification-cache/cache-service.mjs +256 -0
  524. package/dist/services/verification-cache/cache-service.mjs.map +1 -0
  525. package/dist/services/verification-cache/index.d.mts +6 -0
  526. package/dist/services/verification-cache/index.mjs +8 -0
  527. package/dist/services/verification-cache/types.d.mts +124 -0
  528. package/dist/services/verification-cache/types.d.mts.map +1 -0
  529. package/dist/services/verification-cache/types.mjs +16 -0
  530. package/dist/services/verification-cache/types.mjs.map +1 -0
  531. package/dist/services/verify/ai-verifier.d.mts +25 -0
  532. package/dist/services/verify/ai-verifier.d.mts.map +1 -0
  533. package/dist/services/verify/ai-verifier.mjs +403 -0
  534. package/dist/services/verify/ai-verifier.mjs.map +1 -0
  535. package/dist/services/verify/behavior-verifier.d.mts +12 -0
  536. package/dist/services/verify/behavior-verifier.d.mts.map +1 -0
  537. package/dist/services/verify/behavior-verifier.mjs +186 -0
  538. package/dist/services/verify/behavior-verifier.mjs.map +1 -0
  539. package/dist/services/verify/index.d.mts +5 -0
  540. package/dist/services/verify/index.mjs +6 -0
  541. package/dist/services/verify/structure-verifier.d.mts +12 -0
  542. package/dist/services/verify/structure-verifier.d.mts.map +1 -0
  543. package/dist/services/verify/structure-verifier.mjs +196 -0
  544. package/dist/services/verify/structure-verifier.mjs.map +1 -0
  545. package/dist/services/verify/types.d.mts +137 -0
  546. package/dist/services/verify/types.d.mts.map +1 -0
  547. package/dist/services/verify/verify-service.d.mts +60 -0
  548. package/dist/services/verify/verify-service.d.mts.map +1 -0
  549. package/dist/services/verify/verify-service.mjs +204 -0
  550. package/dist/services/verify/verify-service.mjs.map +1 -0
  551. package/dist/services/versioning/changelog-formatter.d.mts +24 -0
  552. package/dist/services/versioning/changelog-formatter.d.mts.map +1 -0
  553. package/dist/services/versioning/changelog-formatter.mjs +155 -0
  554. package/dist/services/versioning/changelog-formatter.mjs.map +1 -0
  555. package/dist/services/versioning/conventional-commits.d.mts +95 -0
  556. package/dist/services/versioning/conventional-commits.d.mts.map +1 -0
  557. package/dist/services/versioning/conventional-commits.mjs +184 -0
  558. package/dist/services/versioning/conventional-commits.mjs.map +1 -0
  559. package/dist/services/versioning/index.d.mts +12 -0
  560. package/dist/services/versioning/index.d.mts.map +1 -0
  561. package/dist/services/versioning/index.mjs +28 -0
  562. package/dist/services/versioning/index.mjs.map +1 -0
  563. package/dist/services/versioning/types.d.mts +135 -0
  564. package/dist/services/versioning/types.d.mts.map +1 -0
  565. package/dist/services/versioning/versioning-service.d.mts +74 -0
  566. package/dist/services/versioning/versioning-service.d.mts.map +1 -0
  567. package/dist/services/versioning/versioning-service.mjs +501 -0
  568. package/dist/services/versioning/versioning-service.mjs.map +1 -0
  569. package/dist/services/vibe/config.d.mts +12 -0
  570. package/dist/services/vibe/config.d.mts.map +1 -0
  571. package/dist/services/vibe/config.mjs +43 -0
  572. package/dist/services/vibe/config.mjs.map +1 -0
  573. package/dist/services/vibe/context.d.mts +19 -0
  574. package/dist/services/vibe/context.d.mts.map +1 -0
  575. package/dist/services/vibe/context.mjs +92 -0
  576. package/dist/services/vibe/context.mjs.map +1 -0
  577. package/dist/services/vibe/definitions.d.mts +8 -0
  578. package/dist/services/vibe/definitions.d.mts.map +1 -0
  579. package/dist/services/vibe/definitions.mjs +129 -0
  580. package/dist/services/vibe/definitions.mjs.map +1 -0
  581. package/dist/services/vibe/engine.d.mts +44 -0
  582. package/dist/services/vibe/engine.d.mts.map +1 -0
  583. package/dist/services/vibe/engine.mjs +147 -0
  584. package/dist/services/vibe/engine.mjs.map +1 -0
  585. package/dist/services/vibe/index.d.mts +15 -0
  586. package/dist/services/vibe/index.d.mts.map +1 -0
  587. package/dist/services/vibe/index.mjs +26 -0
  588. package/dist/services/vibe/index.mjs.map +1 -0
  589. package/dist/services/vibe/loader.d.mts +15 -0
  590. package/dist/services/vibe/loader.d.mts.map +1 -0
  591. package/dist/services/vibe/loader.mjs +48 -0
  592. package/dist/services/vibe/loader.mjs.map +1 -0
  593. package/dist/services/vibe/pack.d.mts +19 -0
  594. package/dist/services/vibe/pack.d.mts.map +1 -0
  595. package/dist/services/vibe/pack.mjs +66 -0
  596. package/dist/services/vibe/pack.mjs.map +1 -0
  597. package/dist/services/vibe/types.d.mts +59 -0
  598. package/dist/services/vibe/types.d.mts.map +1 -0
  599. package/dist/services/vibe/types.mjs +12 -0
  600. package/dist/services/vibe/types.mjs.map +1 -0
  601. package/dist/services/view/index.d.mts +11 -0
  602. package/dist/services/view/index.d.mts.map +1 -0
  603. package/dist/services/view/index.mjs +119 -0
  604. package/dist/services/view/index.mjs.map +1 -0
  605. package/dist/services/watch.d.mts +25 -0
  606. package/dist/services/watch.d.mts.map +1 -0
  607. package/dist/services/watch.mjs +33 -0
  608. package/dist/services/watch.mjs.map +1 -0
  609. package/dist/services/workspace-info.d.mts +62 -0
  610. package/dist/services/workspace-info.d.mts.map +1 -0
  611. package/dist/services/workspace-info.mjs +103 -0
  612. package/dist/services/workspace-info.mjs.map +1 -0
  613. package/dist/templates/app-config.template.d.mts +7 -0
  614. package/dist/templates/app-config.template.d.mts.map +1 -0
  615. package/dist/templates/app-config.template.mjs +107 -0
  616. package/dist/templates/app-config.template.mjs.map +1 -0
  617. package/dist/templates/data-view.template.d.mts +7 -0
  618. package/dist/templates/data-view.template.d.mts.map +1 -0
  619. package/dist/templates/data-view.template.mjs +70 -0
  620. package/dist/templates/data-view.template.mjs.map +1 -0
  621. package/dist/templates/event.template.d.mts +11 -0
  622. package/dist/templates/event.template.d.mts.map +1 -0
  623. package/dist/templates/event.template.mjs +42 -0
  624. package/dist/templates/event.template.mjs.map +1 -0
  625. package/dist/templates/experiment.template.d.mts +7 -0
  626. package/dist/templates/experiment.template.d.mts.map +1 -0
  627. package/dist/templates/experiment.template.mjs +89 -0
  628. package/dist/templates/experiment.template.mjs.map +1 -0
  629. package/dist/templates/feature.template.d.mts +33 -0
  630. package/dist/templates/feature.template.d.mts.map +1 -0
  631. package/dist/templates/feature.template.mjs +52 -0
  632. package/dist/templates/feature.template.mjs.map +1 -0
  633. package/dist/templates/fix/skeleton-capability.mjs +49 -0
  634. package/dist/templates/fix/skeleton-capability.mjs.map +1 -0
  635. package/dist/templates/fix/skeleton-event.mjs +56 -0
  636. package/dist/templates/fix/skeleton-event.mjs.map +1 -0
  637. package/dist/templates/fix/skeleton-operation.mjs +122 -0
  638. package/dist/templates/fix/skeleton-operation.mjs.map +1 -0
  639. package/dist/templates/fix/skeleton-presentation.mjs +65 -0
  640. package/dist/templates/fix/skeleton-presentation.mjs.map +1 -0
  641. package/dist/templates/fix/utils.mjs +34 -0
  642. package/dist/templates/fix/utils.mjs.map +1 -0
  643. package/dist/templates/handler.template.d.mts +16 -0
  644. package/dist/templates/handler.template.d.mts.map +1 -0
  645. package/dist/templates/handler.template.mjs +100 -0
  646. package/dist/templates/handler.template.mjs.map +1 -0
  647. package/dist/templates/index.d.mts +22 -0
  648. package/dist/templates/index.d.mts.map +1 -0
  649. package/dist/templates/index.mjs +39 -0
  650. package/dist/templates/index.mjs.map +1 -0
  651. package/dist/templates/integration.template.d.mts +7 -0
  652. package/dist/templates/integration.template.d.mts.map +1 -0
  653. package/dist/templates/integration.template.mjs +160 -0
  654. package/dist/templates/integration.template.mjs.map +1 -0
  655. package/dist/templates/knowledge.template.d.mts +7 -0
  656. package/dist/templates/knowledge.template.d.mts.map +1 -0
  657. package/dist/templates/knowledge.template.mjs +75 -0
  658. package/dist/templates/knowledge.template.mjs.map +1 -0
  659. package/dist/templates/migration.template.d.mts +7 -0
  660. package/dist/templates/migration.template.d.mts.map +1 -0
  661. package/dist/templates/migration.template.mjs +62 -0
  662. package/dist/templates/migration.template.mjs.map +1 -0
  663. package/dist/templates/operation.template.d.mts +11 -0
  664. package/dist/templates/operation.template.d.mts.map +1 -0
  665. package/dist/templates/operation.template.mjs +107 -0
  666. package/dist/templates/operation.template.mjs.map +1 -0
  667. package/dist/templates/presentation.template.d.mts +11 -0
  668. package/dist/templates/presentation.template.d.mts.map +1 -0
  669. package/dist/templates/presentation.template.mjs +80 -0
  670. package/dist/templates/presentation.template.mjs.map +1 -0
  671. package/dist/templates/telemetry.template.d.mts +7 -0
  672. package/dist/templates/telemetry.template.d.mts.map +1 -0
  673. package/dist/templates/telemetry.template.mjs +91 -0
  674. package/dist/templates/telemetry.template.mjs.map +1 -0
  675. package/dist/templates/workflow-runner.template.d.mts +16 -0
  676. package/dist/templates/workflow-runner.template.d.mts.map +1 -0
  677. package/dist/templates/workflow-runner.template.mjs +50 -0
  678. package/dist/templates/workflow-runner.template.mjs.map +1 -0
  679. package/dist/templates/workflow.template.d.mts +7 -0
  680. package/dist/templates/workflow.template.d.mts.map +1 -0
  681. package/dist/templates/workflow.template.mjs +69 -0
  682. package/dist/templates/workflow.template.mjs.map +1 -0
  683. package/dist/types/config.d.mts +34 -0
  684. package/dist/types/config.d.mts.map +1 -0
  685. package/dist/types.d.mts +324 -0
  686. package/dist/types.d.mts.map +1 -0
  687. package/dist/utils/filter.d.mts +16 -0
  688. package/dist/utils/filter.d.mts.map +1 -0
  689. package/dist/utils/filter.mjs +22 -0
  690. package/dist/utils/filter.mjs.map +1 -0
  691. package/dist/utils/index.d.mts +11 -0
  692. package/dist/utils/index.d.mts.map +1 -0
  693. package/dist/utils/index.mjs +20 -0
  694. package/dist/utils/index.mjs.map +1 -0
  695. package/dist/utils/module-loader.d.mts +5 -0
  696. package/dist/utils/module-loader.d.mts.map +1 -0
  697. package/dist/utils/module-loader.mjs +41 -0
  698. package/dist/utils/module-loader.mjs.map +1 -0
  699. package/dist/utils/validation.d.mts +37 -0
  700. package/dist/utils/validation.d.mts.map +1 -0
  701. package/dist/utils/validation.mjs +43 -0
  702. package/dist/utils/validation.mjs.map +1 -0
  703. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-codex-agent.mjs","names":[],"sources":["../../../src/ai/agents/openai-codex-agent.ts"],"sourcesContent":["/**\n * OpenAI Codex Agent - Uses OpenAI's code-optimized models\n * Supports GPT-4o and o1 reasoning models for complex code generation\n */\n\nimport { openai } from '@ai-sdk/openai';\nimport { generateText } from 'ai';\nimport type { AgentProvider, AgentResult, AgentTask } from './types';\n\nexport class OpenAICodexAgent implements AgentProvider {\n name = 'openai-codex' as const;\n private apiKey: string | undefined;\n\n constructor() {\n this.apiKey = process.env.OPENAI_API_KEY;\n }\n\n canHandle(_task: AgentTask): boolean {\n return !!this.apiKey;\n }\n\n async generate(task: AgentTask): Promise<AgentResult> {\n if (!this.apiKey) {\n return {\n success: false,\n errors: [\n 'OPENAI_API_KEY not set. OpenAI Codex agent requires API access.',\n ],\n };\n }\n\n try {\n // Use o1 for complex generation, gpt-4o for standard\n const isComplex = this.isComplexTask(task);\n const modelName = isComplex ? 'o1' : 'gpt-4o';\n const model = openai(modelName);\n\n const systemPrompt = this.buildSystemPrompt(task);\n const userPrompt = this.buildUserPrompt(task);\n\n const result = await generateText({\n model,\n prompt: userPrompt,\n system: systemPrompt,\n temperature: 0.2,\n });\n\n const code = this.extractCode(result.text);\n\n return {\n success: true,\n code,\n metadata: {\n model: modelName,\n agentMode: 'openai-codex',\n usage: result.usage,\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n async validate(task: AgentTask): Promise<AgentResult> {\n if (!this.apiKey) {\n return {\n success: false,\n errors: ['OPENAI_API_KEY not set'],\n };\n }\n\n try {\n const model = openai('gpt-4o');\n\n const prompt = `\nReview this code implementation against its specification.\n\nSPECIFICATION:\n\\`\\`\\`typescript\n${task.specCode}\n\\`\\`\\`\n\nIMPLEMENTATION:\n\\`\\`\\`typescript\n${task.existingCode || '// No implementation'}\n\\`\\`\\`\n\nProvide a detailed validation report including:\n1. Specification compliance\n2. Code quality assessment\n3. Potential bugs or issues\n4. Recommendations for improvement\n\nFormat as a structured report.\n`;\n\n const result = await generateText({\n model,\n prompt,\n system:\n 'You are a senior software engineer performing thorough code review.',\n temperature: 0.3,\n });\n\n const hasIssues = this.detectIssues(result.text);\n\n return {\n success: !hasIssues,\n code: result.text,\n errors: hasIssues ? this.extractErrors(result.text) : [],\n warnings: this.extractWarnings(result.text),\n metadata: {\n agentMode: 'openai-codex',\n validationType: 'ai-review',\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n private isComplexTask(task: AgentTask): boolean {\n // Use o1 reasoning model for complex tasks\n const complexIndicators = [\n 'algorithm',\n 'optimization',\n 'complex logic',\n 'state management',\n 'concurrent',\n 'distributed',\n ];\n\n const taskStr = (task.specCode + (task.existingCode || '')).toLowerCase();\n return complexIndicators.some((indicator) => taskStr.includes(indicator));\n }\n\n private buildSystemPrompt(task: AgentTask): string {\n const basePrompt = `You are an expert TypeScript/JavaScript developer.\n\nGenerate production-quality code that is:\n- Type-safe and well-typed\n- Documented with clear comments\n- Following best practices and SOLID principles\n- Properly handling errors and edge cases\n- Testable and maintainable\n\nOutput only the code without explanations unless specifically asked.`;\n\n if (task.type === 'test') {\n return (\n basePrompt + '\\n\\nGenerate comprehensive test suites using Vitest.'\n );\n }\n\n return basePrompt;\n }\n\n private buildUserPrompt(task: AgentTask): string {\n switch (task.type) {\n case 'generate':\n return `Implement this specification:\\n\\n${task.specCode}\\n\\nProvide complete, production-ready TypeScript code.`;\n\n case 'test':\n return `Create comprehensive tests:\\n\\nSpec:\\n${task.specCode}\\n\\nImplementation:\\n${task.existingCode}\\n\\nGenerate complete Vitest test suite.`;\n\n case 'refactor':\n return `Refactor this code while maintaining functionality:\\n\\n${task.existingCode}\\n\\nSpec:\\n${task.specCode}`;\n\n default:\n return task.specCode;\n }\n }\n\n private extractCode(text: string): string {\n // Extract from markdown code blocks\n const match = text.match(\n /```(?:typescript|ts|tsx|javascript|js)?\\n([\\s\\S]*?)\\n```/\n );\n return match && match[1] ? match[1] : text;\n }\n\n private detectIssues(text: string): boolean {\n const issueKeywords = [\n 'issue',\n 'problem',\n 'bug',\n 'error',\n 'incorrect',\n 'missing',\n 'fails',\n 'violation',\n ];\n\n const lower = text.toLowerCase();\n return issueKeywords.some((keyword) => lower.includes(keyword));\n }\n\n private extractErrors(text: string): string[] {\n const errors: string[] = [];\n const lines = text.split('\\n');\n\n for (const line of lines) {\n if (\n line.toLowerCase().includes('error') ||\n line.toLowerCase().includes('bug') ||\n line.toLowerCase().includes('fails')\n ) {\n errors.push(line.trim());\n }\n }\n\n return errors;\n }\n\n private extractWarnings(text: string): string[] {\n const warnings: string[] = [];\n const lines = text.split('\\n');\n\n for (const line of lines) {\n if (\n line.toLowerCase().includes('warning') ||\n line.toLowerCase().includes('should') ||\n line.toLowerCase().includes('consider')\n ) {\n warnings.push(line.trim());\n }\n }\n\n return warnings;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { Config } from "../../types/config.mjs";
2
+ import { AgentMode, AgentResult, AgentTask } from "./types.mjs";
3
+
4
+ //#region src/ai/agents/orchestrator.d.ts
5
+
6
+ declare class AgentOrchestrator {
7
+ private config;
8
+ private agents;
9
+ private defaultAgent;
10
+ constructor(config: Config);
11
+ /**
12
+ * Execute a task using the configured agent with fallback support
13
+ */
14
+ executeTask(task: AgentTask): Promise<AgentResult>;
15
+ /**
16
+ * Generate code from specification
17
+ */
18
+ generate(specCode: string, targetPath?: string): Promise<AgentResult>;
19
+ /**
20
+ * Generate tests for implementation
21
+ */
22
+ generateTests(specCode: string, implementationCode: string): Promise<AgentResult>;
23
+ /**
24
+ * Validate implementation against specification
25
+ */
26
+ validate(specCode: string, implementationCode: string): Promise<AgentResult>;
27
+ /**
28
+ * Refactor existing code
29
+ */
30
+ refactor(specCode: string, existingCode: string): Promise<AgentResult>;
31
+ /**
32
+ * List available agents and their status
33
+ */
34
+ getAvailableAgents(): Promise<{
35
+ mode: AgentMode;
36
+ available: boolean;
37
+ reason?: string;
38
+ }[]>;
39
+ /**
40
+ * Get the configured agent mode
41
+ */
42
+ private getAgentMode;
43
+ /**
44
+ * Get fallback mode for an agent
45
+ */
46
+ private getFallbackMode;
47
+ }
48
+ //#endregion
49
+ export { AgentOrchestrator };
50
+ //# sourceMappingURL=orchestrator.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.mts","names":[],"sources":["../../../src/ai/agents/orchestrator.ts"],"sourcesContent":[],"mappings":";;;;;AAsC0B,cAxBb,iBAAA,CAwBa;EAAoB,QAAA,MAAA;EAAR,QAAA,MAAA;EAuE2B,QAAA,YAAA;EAAR,WAAA,CAAA,MAAA,EA3F3B,MA2F2B;EAc5C;;;EAcR,WAAA,CAAA,IAAA,EAnGqB,SAmGrB,CAAA,EAnGiC,OAmGjC,CAnGyC,WAmGzC,CAAA;EAW6D;;;EAWpC,QAAA,CAAA,QAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,CAAA,EAlD2B,OAkD3B,CAlDmC,WAkDnC,CAAA;EAAO;;;+DApChC,QAAQ;;;;0DAcR,QAAQ;;;;oDAW6C,QAAQ;;;;wBAWpC;UAClB"}
@@ -0,0 +1,143 @@
1
+ import { SimpleAgent } from "./simple-agent.mjs";
2
+ import { CursorAgent } from "./cursor-agent.mjs";
3
+ import { ClaudeCodeAgent } from "./claude-code-agent.mjs";
4
+ import { OpenAICodexAgent } from "./openai-codex-agent.mjs";
5
+ import chalk from "chalk";
6
+ import ora from "ora";
7
+
8
+ //#region src/ai/agents/orchestrator.ts
9
+ /**
10
+ * Agent Orchestrator - Coordinates between different AI agents
11
+ * Selects the appropriate agent based on config and task requirements
12
+ */
13
+ var AgentOrchestrator = class {
14
+ agents;
15
+ defaultAgent;
16
+ constructor(config) {
17
+ this.config = config;
18
+ this.agents = /* @__PURE__ */ new Map();
19
+ const simpleAgent = new SimpleAgent(config);
20
+ const cursorAgent = new CursorAgent();
21
+ const claudeAgent = new ClaudeCodeAgent();
22
+ const openaiAgent = new OpenAICodexAgent();
23
+ this.agents.set("simple", simpleAgent);
24
+ this.agents.set("cursor", cursorAgent);
25
+ this.agents.set("claude-code", claudeAgent);
26
+ this.agents.set("openai-codex", openaiAgent);
27
+ this.defaultAgent = simpleAgent;
28
+ }
29
+ /**
30
+ * Execute a task using the configured agent with fallback support
31
+ */
32
+ async executeTask(task) {
33
+ const agentMode = this.getAgentMode();
34
+ const agent = this.agents.get(agentMode);
35
+ if (!agent) {
36
+ console.log(chalk.yellow(`⚠️ Agent '${agentMode}' not found, using simple agent`));
37
+ return this.defaultAgent.generate(task);
38
+ }
39
+ if (!agent.canHandle(task)) {
40
+ console.log(chalk.yellow(`⚠️ Agent '${agentMode}' cannot handle this task, falling back to simple agent`));
41
+ return this.defaultAgent.generate(task);
42
+ }
43
+ const spinner = ora(`Executing with ${agentMode} agent...`).start();
44
+ try {
45
+ const result = task.type === "validate" ? await agent.validate(task) : await agent.generate(task);
46
+ if (result.success) {
47
+ spinner.succeed(chalk.green(`${agentMode} agent completed successfully`));
48
+ return result;
49
+ }
50
+ spinner.warn(chalk.yellow(`${agentMode} agent failed, trying fallback...`));
51
+ const fallbackMode = this.getFallbackMode(agentMode);
52
+ if (fallbackMode && fallbackMode !== agentMode) {
53
+ const fallbackAgent = this.agents.get(fallbackMode);
54
+ if (fallbackAgent && fallbackAgent.canHandle(task)) return task.type === "validate" ? await fallbackAgent.validate(task) : await fallbackAgent.generate(task);
55
+ }
56
+ spinner.info(chalk.gray("Using simple agent as ultimate fallback"));
57
+ return task.type === "validate" ? await this.defaultAgent.validate(task) : await this.defaultAgent.generate(task);
58
+ } catch (_error) {
59
+ spinner.fail(chalk.red("Agent execution failed"));
60
+ console.log(chalk.gray("Falling back to simple agent..."));
61
+ return task.type === "validate" ? await this.defaultAgent.validate(task) : await this.defaultAgent.generate(task);
62
+ }
63
+ }
64
+ /**
65
+ * Generate code from specification
66
+ */
67
+ async generate(specCode, targetPath) {
68
+ return this.executeTask({
69
+ type: "generate",
70
+ specCode,
71
+ targetPath
72
+ });
73
+ }
74
+ /**
75
+ * Generate tests for implementation
76
+ */
77
+ async generateTests(specCode, implementationCode) {
78
+ return this.executeTask({
79
+ type: "test",
80
+ specCode,
81
+ existingCode: implementationCode
82
+ });
83
+ }
84
+ /**
85
+ * Validate implementation against specification
86
+ */
87
+ async validate(specCode, implementationCode) {
88
+ return this.executeTask({
89
+ type: "validate",
90
+ specCode,
91
+ existingCode: implementationCode
92
+ });
93
+ }
94
+ /**
95
+ * Refactor existing code
96
+ */
97
+ async refactor(specCode, existingCode) {
98
+ return this.executeTask({
99
+ type: "refactor",
100
+ specCode,
101
+ existingCode
102
+ });
103
+ }
104
+ /**
105
+ * List available agents and their status
106
+ */
107
+ async getAvailableAgents() {
108
+ const results = [];
109
+ for (const [mode, agent] of this.agents) {
110
+ const canHandle = agent.canHandle({
111
+ type: "generate",
112
+ specCode: "test"
113
+ });
114
+ results.push({
115
+ mode,
116
+ available: canHandle,
117
+ reason: canHandle ? void 0 : "Not configured or dependencies missing"
118
+ });
119
+ }
120
+ return results;
121
+ }
122
+ /**
123
+ * Get the configured agent mode
124
+ */
125
+ getAgentMode() {
126
+ return this.config.agentMode || "simple";
127
+ }
128
+ /**
129
+ * Get fallback mode for an agent
130
+ */
131
+ getFallbackMode(mode) {
132
+ return {
133
+ cursor: "claude-code",
134
+ "claude-code": "openai-codex",
135
+ "openai-codex": "simple",
136
+ simple: "simple"
137
+ }[mode];
138
+ }
139
+ };
140
+
141
+ //#endregion
142
+ export { AgentOrchestrator };
143
+ //# sourceMappingURL=orchestrator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.mjs","names":[],"sources":["../../../src/ai/agents/orchestrator.ts"],"sourcesContent":["/**\n * Agent Orchestrator - Coordinates between different AI agents\n * Selects the appropriate agent based on config and task requirements\n */\n\nimport { SimpleAgent } from './simple-agent';\nimport { CursorAgent } from './cursor-agent';\nimport { ClaudeCodeAgent } from './claude-code-agent';\nimport { OpenAICodexAgent } from './openai-codex-agent';\nimport type { Config } from '../../types/config';\nimport type { AgentMode, AgentProvider, AgentResult, AgentTask } from './types';\nimport chalk from 'chalk';\nimport ora from 'ora';\n\nexport class AgentOrchestrator {\n private agents: Map<AgentMode, AgentProvider>;\n private defaultAgent: AgentProvider;\n\n constructor(private config: Config) {\n // Initialize all available agents\n this.agents = new Map();\n\n const simpleAgent = new SimpleAgent(config);\n const cursorAgent = new CursorAgent();\n const claudeAgent = new ClaudeCodeAgent();\n const openaiAgent = new OpenAICodexAgent();\n\n this.agents.set('simple', simpleAgent);\n this.agents.set('cursor', cursorAgent);\n this.agents.set('claude-code', claudeAgent);\n this.agents.set('openai-codex', openaiAgent);\n\n this.defaultAgent = simpleAgent;\n }\n\n /**\n * Execute a task using the configured agent with fallback support\n */\n async executeTask(task: AgentTask): Promise<AgentResult> {\n const agentMode = this.getAgentMode();\n const agent = this.agents.get(agentMode);\n\n if (!agent) {\n console.log(\n chalk.yellow(`⚠️ Agent '${agentMode}' not found, using simple agent`)\n );\n return this.defaultAgent.generate(task);\n }\n\n // Check if agent can handle the task\n if (!agent.canHandle(task)) {\n console.log(\n chalk.yellow(\n `⚠️ Agent '${agentMode}' cannot handle this task, falling back to simple agent`\n )\n );\n return this.defaultAgent.generate(task);\n }\n\n // Try primary agent\n const spinner = ora(`Executing with ${agentMode} agent...`).start();\n\n try {\n const result =\n task.type === 'validate'\n ? await agent.validate(task)\n : await agent.generate(task);\n\n if (result.success) {\n spinner.succeed(\n chalk.green(`${agentMode} agent completed successfully`)\n );\n return result;\n }\n\n // If primary agent failed, try fallback\n spinner.warn(\n chalk.yellow(`${agentMode} agent failed, trying fallback...`)\n );\n\n const fallbackMode = this.getFallbackMode(agentMode);\n if (fallbackMode && fallbackMode !== agentMode) {\n const fallbackAgent = this.agents.get(fallbackMode);\n if (fallbackAgent && fallbackAgent.canHandle(task)) {\n return task.type === 'validate'\n ? await fallbackAgent.validate(task)\n : await fallbackAgent.generate(task);\n }\n }\n\n // Ultimate fallback to simple agent\n spinner.info(chalk.gray('Using simple agent as ultimate fallback'));\n return task.type === 'validate'\n ? await this.defaultAgent.validate(task)\n : await this.defaultAgent.generate(task);\n } catch (_error) {\n spinner.fail(chalk.red('Agent execution failed'));\n\n // Fallback on error\n console.log(chalk.gray('Falling back to simple agent...'));\n return task.type === 'validate'\n ? await this.defaultAgent.validate(task)\n : await this.defaultAgent.generate(task);\n }\n }\n\n /**\n * Generate code from specification\n */\n async generate(specCode: string, targetPath?: string): Promise<AgentResult> {\n return this.executeTask({\n type: 'generate',\n specCode,\n targetPath,\n });\n }\n\n /**\n * Generate tests for implementation\n */\n async generateTests(\n specCode: string,\n implementationCode: string\n ): Promise<AgentResult> {\n return this.executeTask({\n type: 'test',\n specCode,\n existingCode: implementationCode,\n });\n }\n\n /**\n * Validate implementation against specification\n */\n async validate(\n specCode: string,\n implementationCode: string\n ): Promise<AgentResult> {\n return this.executeTask({\n type: 'validate',\n specCode,\n existingCode: implementationCode,\n });\n }\n\n /**\n * Refactor existing code\n */\n async refactor(specCode: string, existingCode: string): Promise<AgentResult> {\n return this.executeTask({\n type: 'refactor',\n specCode,\n existingCode,\n });\n }\n\n /**\n * List available agents and their status\n */\n async getAvailableAgents(): Promise<\n { mode: AgentMode; available: boolean; reason?: string }[]\n > {\n const results = [];\n\n for (const [mode, agent] of this.agents) {\n const testTask: AgentTask = {\n type: 'generate',\n specCode: 'test',\n };\n\n const canHandle = agent.canHandle(testTask);\n\n results.push({\n mode,\n available: canHandle,\n reason: canHandle\n ? undefined\n : 'Not configured or dependencies missing',\n });\n }\n\n return results;\n }\n\n /**\n * Get the configured agent mode\n */\n private getAgentMode(): AgentMode {\n // Check config for agent mode\n const mode = this.config.agentMode || 'simple';\n return mode;\n }\n\n /**\n * Get fallback mode for an agent\n */\n private getFallbackMode(mode: AgentMode): AgentMode {\n const fallbacks: Record<AgentMode, AgentMode> = {\n cursor: 'claude-code',\n 'claude-code': 'openai-codex',\n 'openai-codex': 'simple',\n simple: 'simple',\n };\n\n return fallbacks[mode];\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Config } from "../../types/config.mjs";
2
+ import { AgentProvider, AgentResult, AgentTask } from "./types.mjs";
3
+
4
+ //#region src/ai/agents/simple-agent.d.ts
5
+
6
+ declare class SimpleAgent implements AgentProvider {
7
+ private config;
8
+ name: "simple";
9
+ constructor(config: Config);
10
+ canHandle(_task: AgentTask): boolean;
11
+ generate(task: AgentTask): Promise<AgentResult>;
12
+ validate(task: AgentTask): Promise<AgentResult>;
13
+ private buildPrompt;
14
+ }
15
+ //#endregion
16
+ export { SimpleAgent };
17
+ //# sourceMappingURL=simple-agent.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-agent.d.mts","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":[],"mappings":";;;;;AAsBmB,cALN,WAAA,YAAuB,aAKjB,CAAA;EAKI,QAAA,MAAA;EAAoB,IAAA,EAAA,QAAA;EAAR,WAAA,CAAA,MAAA,EAPL,MAOK;EA4BZ,SAAA,CAAA,KAAA,EAjCJ,SAiCI,CAAA,EAAA,OAAA;EAAoB,QAAA,CAAA,IAAA,EA5BpB,SA4BoB,CAAA,EA5BR,OA4BQ,CA5BA,WA4BA,CAAA;EAAR,QAAA,CAAA,IAAA,EAAZ,SAAY,CAAA,EAAA,OAAA,CAAQ,WAAR,CAAA;EAtCC,QAAA,WAAA"}
@@ -0,0 +1,92 @@
1
+ import { getAIProvider } from "../providers.mjs";
2
+ import { buildComponentPrompt, buildFormPrompt, buildHandlerPrompt, buildTestPrompt, getCodeGenSystemPrompt } from "../prompts/code-generation.mjs";
3
+ import { generateText } from "ai";
4
+
5
+ //#region src/ai/agents/simple-agent.ts
6
+ /**
7
+ * Simple LLM-based agent using direct API calls
8
+ * This is the default fallback for basic code generation
9
+ */
10
+ var SimpleAgent = class {
11
+ name = "simple";
12
+ constructor(config) {
13
+ this.config = config;
14
+ }
15
+ canHandle(_task) {
16
+ return true;
17
+ }
18
+ async generate(task) {
19
+ try {
20
+ const result = await generateText({
21
+ model: getAIProvider(this.config),
22
+ prompt: this.buildPrompt(task),
23
+ system: getCodeGenSystemPrompt()
24
+ });
25
+ return {
26
+ success: true,
27
+ code: result.text,
28
+ metadata: {
29
+ model: this.config.aiModel,
30
+ provider: this.config.aiProvider,
31
+ tokens: result.usage
32
+ }
33
+ };
34
+ } catch (error) {
35
+ return {
36
+ success: false,
37
+ errors: [error instanceof Error ? error.message : String(error)]
38
+ };
39
+ }
40
+ }
41
+ async validate(task) {
42
+ try {
43
+ const result = await generateText({
44
+ model: getAIProvider(this.config),
45
+ prompt: `
46
+ Review the following implementation against its specification.
47
+
48
+ Specification:
49
+ ${task.specCode}
50
+
51
+ Implementation:
52
+ ${task.existingCode || "// No implementation provided"}
53
+
54
+ Provide a detailed validation report:
55
+ 1. Does the implementation match the spec?
56
+ 2. Are there any missing features?
57
+ 3. Are there any bugs or issues?
58
+ 4. Suggestions for improvement
59
+ `,
60
+ system: "You are a code review expert. Provide thorough, constructive feedback."
61
+ });
62
+ const hasErrors = result.text.toLowerCase().includes("error") || result.text.toLowerCase().includes("missing") || result.text.toLowerCase().includes("incorrect");
63
+ return {
64
+ success: !hasErrors,
65
+ code: result.text,
66
+ warnings: hasErrors ? ["Implementation may not match specification"] : [],
67
+ metadata: { validationType: "simple-llm" }
68
+ };
69
+ } catch (error) {
70
+ return {
71
+ success: false,
72
+ errors: [error instanceof Error ? error.message : String(error)]
73
+ };
74
+ }
75
+ }
76
+ buildPrompt(task) {
77
+ switch (task.type) {
78
+ case "generate":
79
+ if (task.specCode.includes(".operation.") || task.specCode.includes("kind:")) return buildHandlerPrompt(task.specCode);
80
+ else if (task.specCode.includes(".presentation.")) return buildComponentPrompt(task.specCode);
81
+ else if (task.specCode.includes(".form.")) return buildFormPrompt(task.specCode);
82
+ return `Generate implementation for:\n${task.specCode}`;
83
+ case "test": return buildTestPrompt(task.specCode, task.existingCode || "", "handler");
84
+ case "validate": return `Validate this implementation:\n${task.existingCode}`;
85
+ default: return task.specCode;
86
+ }
87
+ }
88
+ };
89
+
90
+ //#endregion
91
+ export { SimpleAgent };
92
+ //# sourceMappingURL=simple-agent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-agent.mjs","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":["/**\n * Simple LLM-based agent using direct API calls\n * This is the default fallback for basic code generation\n */\n\nimport { generateText } from 'ai';\nimport { getAIProvider } from '../providers';\nimport type { Config } from '../../types/config';\nimport type { AgentProvider, AgentResult, AgentTask } from './types';\nimport {\n buildComponentPrompt,\n buildFormPrompt,\n buildHandlerPrompt,\n buildTestPrompt,\n getCodeGenSystemPrompt,\n} from '../prompts/code-generation';\n\nexport class SimpleAgent implements AgentProvider {\n name = 'simple' as const;\n\n constructor(private config: Config) {}\n\n canHandle(_task: AgentTask): boolean {\n // Simple agent can handle all tasks as a fallback\n return true;\n }\n\n async generate(task: AgentTask): Promise<AgentResult> {\n try {\n const model = getAIProvider(this.config);\n const prompt = this.buildPrompt(task);\n\n const result = await generateText({\n model,\n prompt,\n system: getCodeGenSystemPrompt(),\n });\n\n return {\n success: true,\n code: result.text,\n metadata: {\n model: this.config.aiModel,\n provider: this.config.aiProvider,\n tokens: result.usage,\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n async validate(task: AgentTask): Promise<AgentResult> {\n try {\n const model = getAIProvider(this.config);\n\n const prompt = `\nReview the following implementation against its specification.\n\nSpecification:\n${task.specCode}\n\nImplementation:\n${task.existingCode || '// No implementation provided'}\n\nProvide a detailed validation report:\n1. Does the implementation match the spec?\n2. Are there any missing features?\n3. Are there any bugs or issues?\n4. Suggestions for improvement\n`;\n\n const result = await generateText({\n model,\n prompt,\n system:\n 'You are a code review expert. Provide thorough, constructive feedback.',\n });\n\n // Parse validation result\n const hasErrors =\n result.text.toLowerCase().includes('error') ||\n result.text.toLowerCase().includes('missing') ||\n result.text.toLowerCase().includes('incorrect');\n\n return {\n success: !hasErrors,\n code: result.text,\n warnings: hasErrors\n ? ['Implementation may not match specification']\n : [],\n metadata: {\n validationType: 'simple-llm',\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n private buildPrompt(task: AgentTask): string {\n switch (task.type) {\n case 'generate':\n // Infer what to generate from spec\n if (\n task.specCode.includes('.operation.') ||\n task.specCode.includes('kind:')\n ) {\n return buildHandlerPrompt(task.specCode);\n } else if (task.specCode.includes('.presentation.')) {\n return buildComponentPrompt(task.specCode);\n } else if (task.specCode.includes('.form.')) {\n return buildFormPrompt(task.specCode);\n }\n return `Generate implementation for:\\n${task.specCode}`;\n\n case 'test':\n return buildTestPrompt(\n task.specCode,\n task.existingCode || '',\n 'handler'\n );\n\n case 'validate':\n return `Validate this implementation:\\n${task.existingCode}`;\n\n default:\n return task.specCode;\n }\n }\n}\n"],"mappings":";;;;;;;;;AAiBA,IAAa,cAAb,MAAkD;CAChD,OAAO;CAEP,YAAY,AAAQ,QAAgB;EAAhB;;CAEpB,UAAU,OAA2B;AAEnC,SAAO;;CAGT,MAAM,SAAS,MAAuC;AACpD,MAAI;GAIF,MAAM,SAAS,MAAM,aAAa;IAChC,OAJY,cAAc,KAAK,OAAO;IAKtC,QAJa,KAAK,YAAY,KAAK;IAKnC,QAAQ,wBAAwB;IACjC,CAAC;AAEF,UAAO;IACL,SAAS;IACT,MAAM,OAAO;IACb,UAAU;KACR,OAAO,KAAK,OAAO;KACnB,UAAU,KAAK,OAAO;KACtB,QAAQ,OAAO;KAChB;IACF;WACM,OAAO;AACd,UAAO;IACL,SAAS;IACT,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;IACjE;;;CAIL,MAAM,SAAS,MAAuC;AACpD,MAAI;GAmBF,MAAM,SAAS,MAAM,aAAa;IAChC,OAnBY,cAAc,KAAK,OAAO;IAoBtC,QAlBa;;;;EAInB,KAAK,SAAS;;;EAGd,KAAK,gBAAgB,gCAAgC;;;;;;;;IAY/C,QACE;IACH,CAAC;GAGF,MAAM,YACJ,OAAO,KAAK,aAAa,CAAC,SAAS,QAAQ,IAC3C,OAAO,KAAK,aAAa,CAAC,SAAS,UAAU,IAC7C,OAAO,KAAK,aAAa,CAAC,SAAS,YAAY;AAEjD,UAAO;IACL,SAAS,CAAC;IACV,MAAM,OAAO;IACb,UAAU,YACN,CAAC,6CAA6C,GAC9C,EAAE;IACN,UAAU,EACR,gBAAgB,cACjB;IACF;WACM,OAAO;AACd,UAAO;IACL,SAAS;IACT,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;IACjE;;;CAIL,AAAQ,YAAY,MAAyB;AAC3C,UAAQ,KAAK,MAAb;GACE,KAAK;AAEH,QACE,KAAK,SAAS,SAAS,cAAc,IACrC,KAAK,SAAS,SAAS,QAAQ,CAE/B,QAAO,mBAAmB,KAAK,SAAS;aAC/B,KAAK,SAAS,SAAS,iBAAiB,CACjD,QAAO,qBAAqB,KAAK,SAAS;aACjC,KAAK,SAAS,SAAS,SAAS,CACzC,QAAO,gBAAgB,KAAK,SAAS;AAEvC,WAAO,iCAAiC,KAAK;GAE/C,KAAK,OACH,QAAO,gBACL,KAAK,UACL,KAAK,gBAAgB,IACrB,UACD;GAEH,KAAK,WACH,QAAO,kCAAkC,KAAK;GAEhD,QACE,QAAO,KAAK"}
@@ -0,0 +1,36 @@
1
+ //#region src/ai/agents/types.d.ts
2
+ /**
3
+ * Agent types and interfaces for code generation and validation
4
+ */
5
+ type AgentMode = 'simple' | 'cursor' | 'claude-code' | 'openai-codex';
6
+ interface AgentTask {
7
+ type: 'generate' | 'validate' | 'refactor' | 'test';
8
+ specCode: string;
9
+ existingCode?: string;
10
+ targetPath?: string;
11
+ options?: Record<string, unknown>;
12
+ }
13
+ interface AgentResult {
14
+ success: boolean;
15
+ code?: string;
16
+ errors?: string[];
17
+ warnings?: string[];
18
+ suggestions?: string[];
19
+ metadata?: Record<string, unknown>;
20
+ }
21
+ interface AgentProvider {
22
+ name: AgentMode;
23
+ generate(task: AgentTask): Promise<AgentResult>;
24
+ validate(task: AgentTask): Promise<AgentResult>;
25
+ canHandle(task: AgentTask): boolean;
26
+ }
27
+ interface AgentConfig {
28
+ mode: AgentMode;
29
+ fallbackMode?: AgentMode;
30
+ timeout?: number;
31
+ retries?: number;
32
+ options?: Record<string, unknown>;
33
+ }
34
+ //#endregion
35
+ export { AgentConfig, AgentMode, AgentProvider, AgentResult, AgentTask };
36
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/ai/agents/types.ts"],"sourcesContent":[],"mappings":";;AAIA;AAEA;AAQiB,KAVL,SAAA,GAUgB,QAMf,GAAA,QAAM,GAAA,aAAA,GAAA,cAAA;AAGF,UAjBA,SAAA,CAiBa;EACtB,IAAA,EAAA,UAAA,GAAA,UAAA,GAAA,UAAA,GAAA,MAAA;EACS,QAAA,EAAA,MAAA;EAAoB,YAAA,CAAA,EAAA,MAAA;EAAR,UAAA,CAAA,EAAA,MAAA;EACZ,OAAA,CAAA,EAfL,MAeK,CAAA,MAAA,EAAA,OAAA,CAAA;;AAAY,UAZZ,WAAA,CAYY;EACX,OAAA,EAAA,OAAA;EAAS,IAAA,CAAA,EAAA,MAAA;EAGV,MAAA,CAAA,EAAA,MAAW,EAAA;EACpB,QAAA,CAAA,EAAA,MAAA,EAAA;EACS,WAAA,CAAA,EAAA,MAAA,EAAA;EAGL,QAAA,CAAA,EAfC,MAeD,CAAA,MAAA,EAAA,OAAA,CAAA;;UAZK,aAAA;QACT;iBACS,YAAY,QAAQ;iBACpB,YAAY,QAAQ;kBACnB;;UAGD,WAAA;QACT;iBACS;;;YAGL"}
@@ -0,0 +1,97 @@
1
+ import { Config } from "../types/config.mjs";
2
+ import { OpKind, PresentationKind } from "../types.mjs";
3
+
4
+ //#region src/ai/client.d.ts
5
+
6
+ /**
7
+ * AI Client for spec creation and code generation
8
+ */
9
+ declare class AIClient {
10
+ private config;
11
+ constructor(config: Config);
12
+ /**
13
+ * Generate operation spec from natural language description
14
+ */
15
+ generateOperationSpec(description: string, kind: OpKind): Promise<{
16
+ name: string;
17
+ version: number;
18
+ description: string;
19
+ goal: string;
20
+ context: string;
21
+ stability: "experimental" | "beta" | "stable" | "deprecated";
22
+ owners: string[];
23
+ tags: string[];
24
+ auth: "anonymous" | "user" | "admin";
25
+ inputShape: string;
26
+ outputShape: string;
27
+ flags: string[];
28
+ possibleEvents: string[];
29
+ analytics: string[];
30
+ }>;
31
+ /**
32
+ * Generate event spec from description
33
+ */
34
+ generateEventSpec(description: string): Promise<{
35
+ name: string;
36
+ version: number;
37
+ description: string;
38
+ stability: "experimental" | "beta" | "stable" | "deprecated";
39
+ owners: string[];
40
+ tags: string[];
41
+ payloadShape: string;
42
+ piiFields: string[];
43
+ }>;
44
+ /**
45
+ * Generate presentation spec from description
46
+ */
47
+ generatePresentationSpec(description: string, kind: PresentationKind): Promise<{
48
+ name: string;
49
+ version: number;
50
+ description: string;
51
+ stability: "experimental" | "beta" | "stable" | "deprecated";
52
+ owners: string[];
53
+ tags: string[];
54
+ componentKey?: string | undefined;
55
+ propsShape?: string | undefined;
56
+ content?: string | undefined;
57
+ mimeType?: string | undefined;
58
+ dataShape?: string | undefined;
59
+ }>;
60
+ /**
61
+ * Generate handler implementation from spec
62
+ */
63
+ generateHandler(specCode: string): Promise<string>;
64
+ /**
65
+ * Generate React component from presentation spec
66
+ */
67
+ generateComponent(specCode: string): Promise<string>;
68
+ /**
69
+ * Generate form component from form spec
70
+ */
71
+ generateForm(specCode: string): Promise<string>;
72
+ /**
73
+ * Generate tests for implementation
74
+ */
75
+ generateTests(specCode: string, implementationCode: string, testType: 'handler' | 'component'): Promise<string>;
76
+ /**
77
+ * Stream code generation for better UX
78
+ */
79
+ streamCodeGeneration(prompt: string, onChunk: (text: string) => void): Promise<string>;
80
+ /**
81
+ * Chat with the AI model
82
+ */
83
+ chat(messages: {
84
+ role: 'system' | 'user' | 'assistant';
85
+ content: string;
86
+ }[], system?: string): Promise<string>;
87
+ /**
88
+ * Stream chat with the AI model
89
+ */
90
+ streamChat(messages: {
91
+ role: 'system' | 'user' | 'assistant';
92
+ content: string;
93
+ }[], onChunk: (text: string) => void, system?: string): Promise<string>;
94
+ }
95
+ //#endregion
96
+ export { AIClient };
97
+ //# sourceMappingURL=client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.mts","names":[],"sources":["../../src/ai/client.ts"],"sourcesContent":[],"mappings":";;;;;;;AAsBA;AAC8B,cADjB,QAAA,CACiB;EAK2B,QAAA,MAAA;EAAM,WAAA,CAAA,MAAA,EALjC,MAKiC;EA6ClB;;;EAiEF,qBAAA,CAAA,WAAA,EAAA,MAAA,EAAA,IAAA,EA9Gc,MA8Gd,CAAA,EA9GoB,OA8GpB,CAAA;IAeE,IAAA,EAAA,MAAA;IAeL,OAAA,EAAA,MAAA;IAmBnC,WAAA,EAAA,MAAA;IAkBA,IAAA,EAAA,MAAA;IAyBA,OAAA,EAAA,MAAA;IAmBA,SAAA,EAAA,cAAA,GAAA,MAAA,GAAA,QAAA,GAAA,YAAA;IAAO,MAAA,EAAA,MAAA,EAAA;;;;;;;;;;;;0CAhLiC;;;;;;;;;;;;;sDA+Be,mBAAgB;;;;;;;;;;;;;;;;qCAkCjC;;;;uCAeE;;;;kCAeL;;;;kGAmBnC;;;;yEAkBA;;;;;;;yBAyBA;;;;;;;0DAmBA"}