@lssm/bundle.contractspec-workspace 0.0.0-canary-20251217080011 → 1.41.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 (378) hide show
  1. package/dist/_virtual/rolldown_runtime.js +1 -22
  2. package/dist/adapters/ai.js +1 -82
  3. package/dist/adapters/factory.js +1 -36
  4. package/dist/adapters/fs.js +1 -118
  5. package/dist/adapters/git.js +1 -54
  6. package/dist/adapters/index.js +1 -7
  7. package/dist/adapters/logger.js +1 -80
  8. package/dist/adapters/watcher.js +1 -69
  9. package/dist/adapters/workspace.js +2 -190
  10. package/dist/ai/agents/claude-code-agent.js +9 -146
  11. package/dist/ai/agents/cursor-agent.js +17 -286
  12. package/dist/ai/agents/index.js +1 -5
  13. package/dist/ai/agents/openai-codex-agent.js +8 -140
  14. package/dist/ai/agents/orchestrator.js +1 -142
  15. package/dist/ai/agents/simple-agent.js +4 -80
  16. package/dist/ai/client.js +1 -162
  17. package/dist/ai/index.js +1 -27
  18. package/dist/ai/prompts/code-generation.js +13 -55
  19. package/dist/ai/prompts/index.js +1 -12
  20. package/dist/ai/prompts/spec-creation.js +20 -61
  21. package/dist/ai/providers.js +1 -40
  22. package/dist/formatters/index.js +1 -18
  23. package/dist/formatters/json.js +1 -71
  24. package/dist/formatters/sarif.js +1 -163
  25. package/dist/formatters/text.js +2 -208
  26. package/dist/index.js +1 -81
  27. package/dist/node_modules/@ai-sdk/anthropic/dist/index.js +1 -0
  28. package/dist/node_modules/@ai-sdk/openai/dist/index.js +11 -0
  29. package/dist/node_modules/@ai-sdk/provider/dist/index.js +3 -0
  30. package/dist/node_modules/@ai-sdk/provider-utils/dist/index.js +5 -0
  31. package/dist/node_modules/chalk/source/index.js +2 -0
  32. package/dist/node_modules/chalk/source/utilities.js +4 -0
  33. package/dist/node_modules/chalk/source/vendor/ansi-styles/index.js +1 -0
  34. package/dist/node_modules/chalk/source/vendor/supports-color/browser.js +1 -0
  35. package/dist/node_modules/cli-cursor/index.js +1 -0
  36. package/dist/node_modules/cli-spinners/index.js +1 -0
  37. package/dist/node_modules/cli-spinners/spinners.js +1 -0
  38. package/dist/node_modules/eventsource-parser/dist/index.js +5 -0
  39. package/dist/node_modules/eventsource-parser/dist/stream.js +1 -0
  40. package/dist/node_modules/get-east-asian-width/index.js +1 -0
  41. package/dist/node_modules/get-east-asian-width/lookup.js +1 -0
  42. package/dist/node_modules/is-interactive/index.js +1 -0
  43. package/dist/node_modules/is-unicode-supported/index.js +1 -0
  44. package/dist/node_modules/log-symbols/browser-symbols.js +1 -0
  45. package/dist/node_modules/mimic-function/index.js +1 -0
  46. package/dist/node_modules/onetime/index.js +1 -0
  47. package/dist/node_modules/ora/index.js +6 -0
  48. package/dist/node_modules/restore-cursor/index.js +1 -0
  49. package/dist/node_modules/signal-exit/dist/mjs/index.js +1 -0
  50. package/dist/node_modules/signal-exit/dist/mjs/signals.js +1 -0
  51. package/dist/node_modules/stdin-discarder/index.js +1 -0
  52. package/dist/node_modules/string-width/index.js +1 -0
  53. package/dist/node_modules/strip-ansi/index.js +1 -0
  54. package/dist/node_modules/strip-ansi/node_modules/ansi-regex/index.js +1 -0
  55. package/dist/services/agent-guide/adapters/claude-code.js +3 -144
  56. package/dist/services/agent-guide/adapters/cursor-cli.js +3 -135
  57. package/dist/services/agent-guide/adapters/generic-mcp.js +3 -159
  58. package/dist/services/agent-guide/adapters/index.js +1 -30
  59. package/dist/services/agent-guide/agent-guide-service.js +1 -148
  60. package/dist/services/agent-guide/index.js +1 -5
  61. package/dist/services/build.js +1 -140
  62. package/dist/services/ci-check/ci-check-service.js +1 -393
  63. package/dist/services/ci-check/index.js +1 -2
  64. package/dist/services/ci-check/types.js +1 -28
  65. package/dist/services/clean.js +1 -71
  66. package/dist/services/config.js +1 -76
  67. package/dist/services/deps.js +1 -62
  68. package/dist/services/diff.js +1 -33
  69. package/dist/services/doctor/checks/ai.js +2 -118
  70. package/dist/services/doctor/checks/cli.js +1 -146
  71. package/dist/services/doctor/checks/config.js +1 -170
  72. package/dist/services/doctor/checks/deps.js +1 -180
  73. package/dist/services/doctor/checks/index.js +1 -6
  74. package/dist/services/doctor/checks/mcp.js +1 -144
  75. package/dist/services/doctor/checks/workspace.js +1 -243
  76. package/dist/services/doctor/doctor-service.js +2 -115
  77. package/dist/services/doctor/index.js +1 -2
  78. package/dist/services/doctor/types.js +1 -26
  79. package/dist/services/implementation/discovery.js +2 -143
  80. package/dist/services/implementation/index.js +1 -2
  81. package/dist/services/implementation/resolver.js +1 -223
  82. package/dist/services/index.js +1 -53
  83. package/dist/services/integrity-diagram.js +6 -274
  84. package/dist/services/integrity.js +1 -272
  85. package/dist/services/list.js +1 -35
  86. package/dist/services/openapi/export-service.js +2 -51
  87. package/dist/services/openapi/import-service.js +1 -75
  88. package/dist/services/openapi/index.js +1 -4
  89. package/dist/services/openapi/sync-service.js +1 -121
  90. package/dist/services/openapi/validate-service.js +1 -130
  91. package/dist/services/regenerator.js +1 -23
  92. package/dist/services/registry.js +1 -73
  93. package/dist/services/setup/config-generators.js +26 -113
  94. package/dist/services/setup/file-merger.js +2 -60
  95. package/dist/services/setup/index.js +1 -4
  96. package/dist/services/setup/setup-service.js +1 -95
  97. package/dist/services/setup/targets/agents-md.js +1 -46
  98. package/dist/services/setup/targets/cli-config.js +1 -59
  99. package/dist/services/setup/targets/cursor-rules.js +1 -47
  100. package/dist/services/setup/targets/mcp-claude.js +1 -59
  101. package/dist/services/setup/targets/mcp-cursor.js +1 -58
  102. package/dist/services/setup/targets/vscode-settings.js +1 -62
  103. package/dist/services/setup/types.js +1 -26
  104. package/dist/services/sync.js +1 -62
  105. package/dist/services/test.js +1 -30
  106. package/dist/services/validate-implementation.js +1 -69
  107. package/dist/services/validate.js +1 -47
  108. package/dist/services/verification-cache/adapters/filesystem.js +1 -121
  109. package/dist/services/verification-cache/adapters/in-memory.js +1 -45
  110. package/dist/services/verification-cache/adapters/index.js +1 -3
  111. package/dist/services/verification-cache/adapters/workspace-state.js +1 -90
  112. package/dist/services/verification-cache/cache-service.js +1 -255
  113. package/dist/services/verification-cache/index.js +1 -6
  114. package/dist/services/verification-cache/types.js +1 -15
  115. package/dist/services/verify/ai-verifier.js +9 -336
  116. package/dist/services/verify/behavior-verifier.js +1 -185
  117. package/dist/services/verify/index.js +1 -4
  118. package/dist/services/verify/structure-verifier.js +2 -195
  119. package/dist/services/verify/verify-service.js +3 -203
  120. package/dist/services/watch.js +1 -31
  121. package/dist/services/workspace-info.js +2 -102
  122. package/dist/templates/app-config.template.js +28 -101
  123. package/dist/templates/data-view.template.js +27 -42
  124. package/dist/templates/event.template.js +14 -29
  125. package/dist/templates/experiment.template.js +51 -77
  126. package/dist/templates/handler.template.js +17 -53
  127. package/dist/templates/index.js +1 -36
  128. package/dist/templates/integration.template.js +50 -134
  129. package/dist/templates/knowledge.template.js +21 -62
  130. package/dist/templates/migration.template.js +26 -50
  131. package/dist/templates/operation.template.js +28 -44
  132. package/dist/templates/presentation.template.js +20 -46
  133. package/dist/templates/telemetry.template.js +53 -74
  134. package/dist/templates/workflow-runner.template.js +6 -12
  135. package/dist/templates/workflow.template.js +24 -51
  136. package/package.json +10 -16
  137. package/dist/adapters/ai.d.ts +0 -11
  138. package/dist/adapters/factory.d.ts +0 -28
  139. package/dist/adapters/fs.d.ts +0 -10
  140. package/dist/adapters/git.d.ts +0 -10
  141. package/dist/adapters/logger.d.ts +0 -17
  142. package/dist/adapters/watcher.d.ts +0 -10
  143. package/dist/adapters/workspace.d.ts +0 -93
  144. package/dist/ai/agents/claude-code-agent.d.ts +0 -21
  145. package/dist/ai/agents/cursor-agent.d.ts +0 -67
  146. package/dist/ai/agents/openai-codex-agent.d.ts +0 -21
  147. package/dist/ai/agents/orchestrator.d.ts +0 -49
  148. package/dist/ai/agents/simple-agent.d.ts +0 -16
  149. package/dist/ai/agents/types.d.ts +0 -35
  150. package/dist/ai/client.d.ts +0 -82
  151. package/dist/ai/index.d.ts +0 -16
  152. package/dist/ai/prompts/code-generation.d.ts +0 -25
  153. package/dist/ai/prompts/index.d.ts +0 -9
  154. package/dist/ai/prompts/spec-creation.d.ts +0 -28
  155. package/dist/ai/providers.d.ts +0 -28
  156. package/dist/formatters/index.d.ts +0 -10
  157. package/dist/formatters/json.d.ts +0 -88
  158. package/dist/formatters/sarif.d.ts +0 -100
  159. package/dist/formatters/text.d.ts +0 -34
  160. package/dist/index.d.ts +0 -66
  161. package/dist/libs/ai-providers/dist/factory.js +0 -154
  162. package/dist/libs/ai-providers/dist/index.js +0 -4
  163. package/dist/libs/ai-providers/dist/legacy.js +0 -72
  164. package/dist/libs/ai-providers/dist/models.js +0 -287
  165. package/dist/libs/ai-providers/dist/validation.js +0 -1
  166. package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
  167. package/dist/libs/contracts/dist/client/index.js +0 -5
  168. package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
  169. package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
  170. package/dist/libs/contracts/dist/client/react/index.js +0 -4
  171. package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
  172. package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
  173. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
  174. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
  175. package/dist/libs/contracts/dist/docs/index.js +0 -29
  176. package/dist/libs/contracts/dist/docs/presentations.js +0 -71
  177. package/dist/libs/contracts/dist/docs/registry.js +0 -44
  178. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
  179. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
  180. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
  181. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
  182. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
  183. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
  184. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
  185. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
  186. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
  187. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
  188. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
  189. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
  190. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
  191. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
  192. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
  193. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
  194. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
  195. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
  196. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
  197. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
  198. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
  199. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
  200. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
  201. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
  202. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
  203. package/dist/libs/contracts/dist/events.js +0 -8
  204. package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
  205. package/dist/libs/contracts/dist/index.js +0 -72
  206. package/dist/libs/contracts/dist/install.js +0 -2
  207. package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
  208. package/dist/libs/contracts/dist/integrations/index.js +0 -18
  209. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
  210. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
  211. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
  212. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
  213. package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
  214. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
  215. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
  216. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
  217. package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
  218. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
  219. package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
  220. package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
  221. package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
  222. package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
  223. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
  224. package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
  225. package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
  226. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
  227. package/dist/libs/contracts/dist/jsonschema.js +0 -24
  228. package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
  229. package/dist/libs/contracts/dist/knowledge/index.js +0 -7
  230. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
  231. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
  232. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
  233. package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
  234. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
  235. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
  236. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
  237. package/dist/libs/contracts/dist/llm/exporters.js +0 -352
  238. package/dist/libs/contracts/dist/llm/index.js +0 -2
  239. package/dist/libs/contracts/dist/llm/prompts.js +0 -211
  240. package/dist/libs/contracts/dist/onboarding-base.js +0 -196
  241. package/dist/libs/contracts/dist/openapi.js +0 -75
  242. package/dist/libs/contracts/dist/ownership.js +0 -21
  243. package/dist/libs/contracts/dist/presentations.js +0 -1
  244. package/dist/libs/contracts/dist/presentations.v2.js +0 -11
  245. package/dist/libs/contracts/dist/prompt.js +0 -1
  246. package/dist/libs/contracts/dist/promptRegistry.js +0 -1
  247. package/dist/libs/contracts/dist/regenerator/index.js +0 -2
  248. package/dist/libs/contracts/dist/regenerator/service.js +0 -92
  249. package/dist/libs/contracts/dist/regenerator/utils.js +0 -51
  250. package/dist/libs/contracts/dist/registry.js +0 -208
  251. package/dist/libs/contracts/dist/resources.js +0 -1
  252. package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
  253. package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
  254. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
  255. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
  256. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
  257. package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
  258. package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
  259. package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
  260. package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
  261. package/dist/libs/contracts/dist/server/index.js +0 -8
  262. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
  263. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
  264. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
  265. package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
  266. package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
  267. package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
  268. package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
  269. package/dist/libs/contracts/dist/server/rest-express.js +0 -1
  270. package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
  271. package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
  272. package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
  273. package/dist/libs/contracts/dist/spec.js +0 -35
  274. package/dist/libs/contracts/dist/telemetry/index.js +0 -1
  275. package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
  276. package/dist/libs/contracts/dist/tests/index.js +0 -1
  277. package/dist/libs/contracts/dist/tests/runner.js +0 -150
  278. package/dist/libs/contracts/dist/workflow/index.js +0 -1
  279. package/dist/libs/contracts/dist/workflow/runner.js +0 -1
  280. package/dist/libs/contracts-transformers/dist/common/utils.js +0 -47
  281. package/dist/libs/contracts-transformers/dist/openapi/exporter.js +0 -1
  282. package/dist/libs/contracts-transformers/dist/openapi/importer.js +0 -255
  283. package/dist/libs/contracts-transformers/dist/openapi/index.js +0 -4
  284. package/dist/libs/contracts-transformers/dist/openapi/parser.js +0 -231
  285. package/dist/libs/contracts-transformers/dist/openapi/schema-converter.js +0 -201
  286. package/dist/modules/contractspec-workspace/dist/ai/code-generation.js +0 -137
  287. package/dist/modules/contractspec-workspace/dist/ai/spec-creation.js +0 -101
  288. package/dist/modules/contractspec-workspace/dist/analysis/deps/graph.js +0 -84
  289. package/dist/modules/contractspec-workspace/dist/analysis/deps/parse-imports.js +0 -30
  290. package/dist/modules/contractspec-workspace/dist/analysis/diff/semantic.js +0 -96
  291. package/dist/modules/contractspec-workspace/dist/analysis/feature-scan.js +0 -151
  292. package/dist/modules/contractspec-workspace/dist/analysis/spec-scan.js +0 -344
  293. package/dist/modules/contractspec-workspace/dist/analysis/validate/spec-structure.js +0 -122
  294. package/dist/modules/contractspec-workspace/dist/templates/app-config.js +0 -105
  295. package/dist/modules/contractspec-workspace/dist/templates/data-view.js +0 -68
  296. package/dist/modules/contractspec-workspace/dist/templates/event.js +0 -38
  297. package/dist/modules/contractspec-workspace/dist/templates/experiment.js +0 -87
  298. package/dist/modules/contractspec-workspace/dist/templates/handler.js +0 -95
  299. package/dist/modules/contractspec-workspace/dist/templates/integration-utils.js +0 -104
  300. package/dist/modules/contractspec-workspace/dist/templates/integration.js +0 -62
  301. package/dist/modules/contractspec-workspace/dist/templates/knowledge.js +0 -68
  302. package/dist/modules/contractspec-workspace/dist/templates/migration.js +0 -60
  303. package/dist/modules/contractspec-workspace/dist/templates/operation.js +0 -100
  304. package/dist/modules/contractspec-workspace/dist/templates/presentation.js +0 -78
  305. package/dist/modules/contractspec-workspace/dist/templates/telemetry.js +0 -89
  306. package/dist/modules/contractspec-workspace/dist/templates/utils.js +0 -38
  307. package/dist/modules/contractspec-workspace/dist/templates/workflow-runner.js +0 -48
  308. package/dist/modules/contractspec-workspace/dist/templates/workflow.js +0 -67
  309. package/dist/modules/contractspec-workspace/dist/types/generation-types.js +0 -20
  310. package/dist/ports/ai.d.ts +0 -58
  311. package/dist/ports/fs.d.ts +0 -80
  312. package/dist/ports/git.d.ts +0 -32
  313. package/dist/ports/logger.d.ts +0 -87
  314. package/dist/ports/watcher.d.ts +0 -51
  315. package/dist/services/agent-guide/adapters/claude-code.d.ts +0 -34
  316. package/dist/services/agent-guide/adapters/cursor-cli.d.ts +0 -38
  317. package/dist/services/agent-guide/adapters/generic-mcp.d.ts +0 -52
  318. package/dist/services/agent-guide/adapters/index.d.ts +0 -22
  319. package/dist/services/agent-guide/agent-guide-service.d.ts +0 -55
  320. package/dist/services/agent-guide/types.d.ts +0 -57
  321. package/dist/services/build.d.ts +0 -58
  322. package/dist/services/ci-check/ci-check-service.d.ts +0 -15
  323. package/dist/services/ci-check/types.d.ts +0 -142
  324. package/dist/services/clean.d.ts +0 -40
  325. package/dist/services/config.d.ts +0 -25
  326. package/dist/services/deps.d.ts +0 -52
  327. package/dist/services/diff.d.ts +0 -33
  328. package/dist/services/doctor/doctor-service.d.ts +0 -23
  329. package/dist/services/doctor/types.d.ts +0 -117
  330. package/dist/services/implementation/discovery.d.ts +0 -29
  331. package/dist/services/implementation/resolver.d.ts +0 -43
  332. package/dist/services/implementation/types.d.ts +0 -78
  333. package/dist/services/integrity-diagram.d.ts +0 -35
  334. package/dist/services/integrity.d.ts +0 -133
  335. package/dist/services/list.d.ts +0 -30
  336. package/dist/services/openapi/export-service.d.ts +0 -52
  337. package/dist/services/openapi/import-service.d.ts +0 -15
  338. package/dist/services/openapi/sync-service.d.ts +0 -18
  339. package/dist/services/openapi/types.d.ts +0 -184
  340. package/dist/services/openapi/validate-service.d.ts +0 -15
  341. package/dist/services/regenerator.d.ts +0 -17
  342. package/dist/services/registry.d.ts +0 -52
  343. package/dist/services/setup/config-generators.d.ts +0 -41
  344. package/dist/services/setup/file-merger.d.ts +0 -26
  345. package/dist/services/setup/setup-service.d.ts +0 -11
  346. package/dist/services/setup/types.d.ts +0 -84
  347. package/dist/services/sync.d.ts +0 -40
  348. package/dist/services/test.d.ts +0 -14
  349. package/dist/services/validate-implementation.d.ts +0 -31
  350. package/dist/services/validate.d.ts +0 -40
  351. package/dist/services/verification-cache/adapters/filesystem.d.ts +0 -45
  352. package/dist/services/verification-cache/adapters/in-memory.d.ts +0 -26
  353. package/dist/services/verification-cache/adapters/workspace-state.d.ts +0 -48
  354. package/dist/services/verification-cache/cache-service.d.ts +0 -69
  355. package/dist/services/verification-cache/types.d.ts +0 -123
  356. package/dist/services/verify/ai-verifier.d.ts +0 -24
  357. package/dist/services/verify/behavior-verifier.d.ts +0 -11
  358. package/dist/services/verify/structure-verifier.d.ts +0 -11
  359. package/dist/services/verify/types.d.ts +0 -136
  360. package/dist/services/verify/verify-service.d.ts +0 -59
  361. package/dist/services/watch.d.ts +0 -24
  362. package/dist/services/workspace-info.d.ts +0 -61
  363. package/dist/templates/app-config.template.d.ts +0 -6
  364. package/dist/templates/data-view.template.d.ts +0 -6
  365. package/dist/templates/event.template.d.ts +0 -10
  366. package/dist/templates/experiment.template.d.ts +0 -6
  367. package/dist/templates/handler.template.d.ts +0 -15
  368. package/dist/templates/index.d.ts +0 -20
  369. package/dist/templates/integration.template.d.ts +0 -6
  370. package/dist/templates/knowledge.template.d.ts +0 -6
  371. package/dist/templates/migration.template.d.ts +0 -6
  372. package/dist/templates/operation.template.d.ts +0 -10
  373. package/dist/templates/presentation.template.d.ts +0 -10
  374. package/dist/templates/telemetry.template.d.ts +0 -6
  375. package/dist/templates/workflow-runner.template.d.ts +0 -15
  376. package/dist/templates/workflow.template.d.ts +0 -6
  377. package/dist/types/config.d.ts +0 -33
  378. package/dist/types.d.ts +0 -323
@@ -1,144 +1,3 @@
1
- import { AGENT_SYSTEM_PROMPTS } from "../../../libs/contracts/dist/llm/prompts.js";
2
- import "../../../libs/contracts/dist/llm/index.js";
3
-
4
- //#region src/services/agent-guide/adapters/claude-code.ts
5
- /**
6
- * Claude Code adapter implementation.
7
- * Optimized for Claude's extended thinking and code generation capabilities.
8
- */
9
- var ClaudeCodeAdapter = class {
10
- agentType = "claude-code";
11
- /**
12
- * Format an implementation plan for Claude Code.
13
- * Uses structured markdown with clear sections and checklists.
14
- */
15
- formatPlan(plan) {
16
- const lines = [];
17
- lines.push(`# Implement: ${plan.target.name}.v${plan.target.version}`);
18
- lines.push("");
19
- lines.push("## Context");
20
- lines.push("");
21
- lines.push(`**Goal:** ${plan.context.goal}`);
22
- lines.push("");
23
- lines.push(`**Description:** ${plan.context.description}`);
24
- lines.push("");
25
- if (plan.context.background) {
26
- lines.push(`**Background:**`);
27
- lines.push(plan.context.background);
28
- lines.push("");
29
- }
30
- lines.push("## Specification");
31
- lines.push("");
32
- lines.push(plan.specMarkdown);
33
- lines.push("");
34
- if (plan.fileStructure.length > 0) {
35
- lines.push("## Files to Create/Modify");
36
- lines.push("");
37
- for (const file of plan.fileStructure) {
38
- const icon = file.type === "create" ? "📝" : "✏️";
39
- lines.push(`${icon} \`${file.path}\``);
40
- lines.push(` ${file.purpose}`);
41
- lines.push("");
42
- }
43
- }
44
- lines.push("## Implementation Steps");
45
- lines.push("");
46
- for (const step of plan.steps) {
47
- lines.push(`### ${step.order}. ${step.title}`);
48
- lines.push("");
49
- lines.push(step.description);
50
- lines.push("");
51
- lines.push("**Acceptance Criteria:**");
52
- for (const criteria of step.acceptanceCriteria) lines.push(`- [ ] ${criteria}`);
53
- lines.push("");
54
- }
55
- if (plan.constraints.policy.length > 0 || plan.constraints.security.length > 0 || plan.constraints.pii.length > 0) {
56
- lines.push("## Constraints");
57
- lines.push("");
58
- if (plan.constraints.policy.length > 0) {
59
- lines.push("### Policy");
60
- for (const p of plan.constraints.policy) lines.push(`- ${p}`);
61
- lines.push("");
62
- }
63
- if (plan.constraints.security.length > 0) {
64
- lines.push("### Security");
65
- for (const s of plan.constraints.security) lines.push(`- ⚠️ ${s}`);
66
- lines.push("");
67
- }
68
- if (plan.constraints.pii.length > 0) {
69
- lines.push("### PII Handling");
70
- lines.push("The following fields contain personally identifiable information:");
71
- for (const pii of plan.constraints.pii) lines.push(`- \`${pii}\``);
72
- lines.push("");
73
- }
74
- }
75
- lines.push("## Verification Checklist");
76
- lines.push("");
77
- lines.push("Before submitting, verify:");
78
- for (const check of plan.verificationChecklist) lines.push(`- [ ] ${check}`);
79
- lines.push("");
80
- lines.push("## Instructions");
81
- lines.push("");
82
- lines.push("1. Implement each step in order");
83
- lines.push("2. Use TypeScript with strict typing (no `any`)");
84
- lines.push("3. Include JSDoc comments for public APIs");
85
- lines.push("4. Handle all error cases defined in the spec");
86
- lines.push("5. Emit events as specified");
87
- lines.push("6. Mark checklist items as you complete them");
88
- lines.push("");
89
- return {
90
- agent: "claude-code",
91
- systemPrompt: AGENT_SYSTEM_PROMPTS["claude-code"],
92
- taskPrompt: lines.join("\n")
93
- };
94
- }
95
- /**
96
- * Generate agent-specific configuration.
97
- * For Claude Code, this generates a prompt that can be used as context.
98
- */
99
- generateConfig(spec) {
100
- const lines = [];
101
- lines.push("# ContractSpec Implementation Context");
102
- lines.push("");
103
- lines.push("This codebase uses ContractSpec for spec-first development.");
104
- lines.push("");
105
- lines.push("## Spec Details");
106
- lines.push("");
107
- lines.push(`- **Name:** ${spec.meta.name}`);
108
- lines.push(`- **Version:** ${spec.meta.version}`);
109
- lines.push(`- **Kind:** ${spec.meta.kind}`);
110
- lines.push(`- **Stability:** ${spec.meta.stability}`);
111
- lines.push("");
112
- lines.push("## Implementation Requirements");
113
- lines.push("");
114
- lines.push("1. Match input/output types exactly");
115
- lines.push("2. Handle all defined error cases");
116
- lines.push("3. Emit events as specified");
117
- lines.push("4. Respect policy constraints");
118
- lines.push("");
119
- return lines.join("\n");
120
- }
121
- /**
122
- * Parse Claude Code output to extract generated code.
123
- */
124
- parseOutput(output) {
125
- const codeBlockMatch = output.match(/```(?:typescript|ts|tsx)?\n([\s\S]*?)\n```/);
126
- if (codeBlockMatch?.[1]) return { code: codeBlockMatch[1] };
127
- const errors = [];
128
- for (const pattern of [
129
- /error:\s*(.+)/gi,
130
- /failed:\s*(.+)/gi,
131
- /cannot\s+(.+)/gi
132
- ]) {
133
- const matches = output.matchAll(pattern);
134
- for (const match of matches) if (match[1]) errors.push(match[1]);
135
- }
136
- if (errors.length > 0) return { errors };
137
- return { code: output };
138
- }
139
- };
140
- /** Singleton instance */
141
- const claudeCodeAdapter = new ClaudeCodeAdapter();
142
-
143
- //#endregion
144
- export { ClaudeCodeAdapter, claudeCodeAdapter };
1
+ import{AGENT_SYSTEM_PROMPTS as e}from"@lssm/lib.contracts/llm";var t=class{agentType=`claude-code`;formatPlan(t){let n=[];if(n.push(`# Implement: ${t.target.name}.v${t.target.version}`),n.push(``),n.push(`## Context`),n.push(``),n.push(`**Goal:** ${t.context.goal}`),n.push(``),n.push(`**Description:** ${t.context.description}`),n.push(``),t.context.background&&(n.push(`**Background:**`),n.push(t.context.background),n.push(``)),n.push(`## Specification`),n.push(``),n.push(t.specMarkdown),n.push(``),t.fileStructure.length>0){n.push(`## Files to Create/Modify`),n.push(``);for(let e of t.fileStructure){let t=e.type===`create`?`📝`:`✏️`;n.push(`${t} \`${e.path}\``),n.push(` ${e.purpose}`),n.push(``)}}n.push(`## Implementation Steps`),n.push(``);for(let e of t.steps){n.push(`### ${e.order}. ${e.title}`),n.push(``),n.push(e.description),n.push(``),n.push(`**Acceptance Criteria:**`);for(let t of e.acceptanceCriteria)n.push(`- [ ] ${t}`);n.push(``)}if(t.constraints.policy.length>0||t.constraints.security.length>0||t.constraints.pii.length>0){if(n.push(`## Constraints`),n.push(``),t.constraints.policy.length>0){n.push(`### Policy`);for(let e of t.constraints.policy)n.push(`- ${e}`);n.push(``)}if(t.constraints.security.length>0){n.push(`### Security`);for(let e of t.constraints.security)n.push(`- ⚠️ ${e}`);n.push(``)}if(t.constraints.pii.length>0){n.push(`### PII Handling`),n.push(`The following fields contain personally identifiable information:`);for(let e of t.constraints.pii)n.push(`- \`${e}\``);n.push(``)}}n.push(`## Verification Checklist`),n.push(``),n.push(`Before submitting, verify:`);for(let e of t.verificationChecklist)n.push(`- [ ] ${e}`);return n.push(``),n.push(`## Instructions`),n.push(``),n.push(`1. Implement each step in order`),n.push("2. Use TypeScript with strict typing (no `any`)"),n.push(`3. Include JSDoc comments for public APIs`),n.push(`4. Handle all error cases defined in the spec`),n.push(`5. Emit events as specified`),n.push(`6. Mark checklist items as you complete them`),n.push(``),{agent:`claude-code`,systemPrompt:e[`claude-code`],taskPrompt:n.join(`
2
+ `)}}generateConfig(e){let t=[];return t.push(`# ContractSpec Implementation Context`),t.push(``),t.push(`This codebase uses ContractSpec for spec-first development.`),t.push(``),t.push(`## Spec Details`),t.push(``),t.push(`- **Name:** ${e.meta.name}`),t.push(`- **Version:** ${e.meta.version}`),t.push(`- **Kind:** ${e.meta.kind}`),t.push(`- **Stability:** ${e.meta.stability}`),t.push(``),t.push(`## Implementation Requirements`),t.push(``),t.push(`1. Match input/output types exactly`),t.push(`2. Handle all defined error cases`),t.push(`3. Emit events as specified`),t.push(`4. Respect policy constraints`),t.push(``),t.join(`
3
+ `)}parseOutput(e){let t=e.match(/```(?:typescript|ts|tsx)?\n([\s\S]*?)\n```/);if(t?.[1])return{code:t[1]};let n=[];for(let t of[/error:\s*(.+)/gi,/failed:\s*(.+)/gi,/cannot\s+(.+)/gi]){let r=e.matchAll(t);for(let e of r)e[1]&&n.push(e[1])}return n.length>0?{errors:n}:{code:e}}};const n=new t;export{t as ClaudeCodeAdapter,n as claudeCodeAdapter};
@@ -1,135 +1,3 @@
1
- import { AGENT_SYSTEM_PROMPTS } from "../../../libs/contracts/dist/llm/prompts.js";
2
- import "../../../libs/contracts/dist/llm/index.js";
3
-
4
- //#region src/services/agent-guide/adapters/cursor-cli.ts
5
- /**
6
- * Cursor CLI adapter implementation.
7
- * Optimized for Cursor's background/composer mode.
8
- */
9
- var CursorCLIAdapter = class {
10
- agentType = "cursor-cli";
11
- /**
12
- * Format an implementation plan for Cursor CLI.
13
- * Uses concise format optimized for Cursor's context window.
14
- */
15
- formatPlan(plan) {
16
- const lines = [];
17
- lines.push(`# ${plan.target.name}.v${plan.target.version}`);
18
- lines.push("");
19
- lines.push(`> ${plan.context.goal}`);
20
- lines.push("");
21
- if (plan.fileStructure.length > 0) {
22
- lines.push("## Files");
23
- lines.push("");
24
- for (const file of plan.fileStructure) lines.push(`- ${file.type}: \`${file.path}\` - ${file.purpose}`);
25
- lines.push("");
26
- }
27
- lines.push("## Spec");
28
- lines.push("");
29
- lines.push(plan.specMarkdown);
30
- lines.push("");
31
- lines.push("## Steps");
32
- lines.push("");
33
- for (const step of plan.steps) lines.push(`${step.order}. **${step.title}**: ${step.description}`);
34
- lines.push("");
35
- const constraints = [...plan.constraints.policy, ...plan.constraints.security.map((s) => `⚠️ ${s}`)];
36
- if (constraints.length > 0) {
37
- lines.push("## Constraints");
38
- lines.push("");
39
- for (const c of constraints) lines.push(`- ${c}`);
40
- lines.push("");
41
- }
42
- if (plan.constraints.pii.length > 0) {
43
- lines.push("## PII Fields");
44
- lines.push("");
45
- lines.push(`Handle carefully: ${plan.constraints.pii.map((p) => `\`${p}\``).join(", ")}`);
46
- lines.push("");
47
- }
48
- return {
49
- agent: "cursor-cli",
50
- systemPrompt: AGENT_SYSTEM_PROMPTS["cursor-cli"],
51
- taskPrompt: lines.join("\n")
52
- };
53
- }
54
- /**
55
- * Generate Cursor rules (.mdc format) for a spec.
56
- * Can be saved to .cursor/rules/ to provide persistent context.
57
- */
58
- generateConfig(spec) {
59
- const m = spec.meta;
60
- const lines = [];
61
- lines.push("---");
62
- lines.push(`description: Implementation rules for ${m.name}.v${m.version}`);
63
- lines.push(`globs: ["**/${m.name.replace(/\./g, "/")}/**"]`);
64
- lines.push("alwaysApply: false");
65
- lines.push("---");
66
- lines.push("");
67
- lines.push(`# ${m.name} Implementation Rules`);
68
- lines.push("");
69
- lines.push(`This ${m.kind} operation must follow the ContractSpec specification.`);
70
- lines.push("");
71
- lines.push("## Goal");
72
- lines.push("");
73
- lines.push(m.goal);
74
- lines.push("");
75
- lines.push("## Requirements");
76
- lines.push("");
77
- lines.push("1. Input/output types MUST match the spec schema exactly");
78
- lines.push("2. All error cases MUST be handled");
79
- if (spec.sideEffects?.emits?.length) lines.push("3. Events MUST be emitted as specified");
80
- lines.push(`4. Auth level: ${spec.policy.auth}`);
81
- if (spec.policy.idempotent !== void 0) lines.push(`5. Idempotency: ${spec.policy.idempotent}`);
82
- lines.push("");
83
- if (spec.io.errors && Object.keys(spec.io.errors).length > 0) {
84
- lines.push("## Error Cases");
85
- lines.push("");
86
- for (const [code, err] of Object.entries(spec.io.errors)) lines.push(`- \`${code}\` (HTTP ${err.http ?? 400}): ${err.when}`);
87
- lines.push("");
88
- }
89
- if (spec.sideEffects?.emits?.length) {
90
- lines.push("## Events to Emit");
91
- lines.push("");
92
- for (const e of spec.sideEffects.emits) if ("ref" in e) lines.push(`- \`${e.ref.name}.v${e.ref.version}\`: ${e.when}`);
93
- else lines.push(`- \`${e.name}.v${e.version}\`: ${e.when}`);
94
- lines.push("");
95
- }
96
- if (spec.policy.pii?.length) {
97
- lines.push("## PII Handling");
98
- lines.push("");
99
- lines.push("These fields contain PII and must be handled with care:");
100
- for (const field of spec.policy.pii) lines.push(`- \`${field}\``);
101
- lines.push("");
102
- }
103
- if (spec.acceptance?.scenarios?.length) {
104
- lines.push("## Acceptance Scenarios");
105
- lines.push("");
106
- for (const s of spec.acceptance.scenarios) {
107
- lines.push(`### ${s.name}`);
108
- lines.push(`- Given: ${s.given.join("; ")}`);
109
- lines.push(`- When: ${s.when.join("; ")}`);
110
- lines.push(`- Then: ${s.then.join("; ")}`);
111
- lines.push("");
112
- }
113
- }
114
- return lines.join("\n");
115
- }
116
- /**
117
- * Generate a cursor rules file path for a spec.
118
- */
119
- getCursorRulesPath(spec) {
120
- return `.cursor/rules/${spec.meta.name.replace(/\./g, "-")}.mdc`;
121
- }
122
- /**
123
- * Parse Cursor output to extract generated code.
124
- */
125
- parseOutput(output) {
126
- const codeBlockMatch = output.match(/```(?:typescript|ts|tsx|javascript|js)?\n([\s\S]*?)\n```/);
127
- if (codeBlockMatch?.[1]) return { code: codeBlockMatch[1] };
128
- return { code: output };
129
- }
130
- };
131
- /** Singleton instance */
132
- const cursorCLIAdapter = new CursorCLIAdapter();
133
-
134
- //#endregion
135
- export { CursorCLIAdapter, cursorCLIAdapter };
1
+ import{AGENT_SYSTEM_PROMPTS as e,specToFullMarkdown as t}from"@lssm/lib.contracts/llm";var n=class{agentType=`cursor-cli`;formatPlan(t){let n=[];if(n.push(`# ${t.target.name}.v${t.target.version}`),n.push(``),n.push(`> ${t.context.goal}`),n.push(``),t.fileStructure.length>0){n.push(`## Files`),n.push(``);for(let e of t.fileStructure)n.push(`- ${e.type}: \`${e.path}\` - ${e.purpose}`);n.push(``)}n.push(`## Spec`),n.push(``),n.push(t.specMarkdown),n.push(``),n.push(`## Steps`),n.push(``);for(let e of t.steps)n.push(`${e.order}. **${e.title}**: ${e.description}`);n.push(``);let r=[...t.constraints.policy,...t.constraints.security.map(e=>`⚠️ ${e}`)];if(r.length>0){n.push(`## Constraints`),n.push(``);for(let e of r)n.push(`- ${e}`);n.push(``)}return t.constraints.pii.length>0&&(n.push(`## PII Fields`),n.push(``),n.push(`Handle carefully: ${t.constraints.pii.map(e=>`\`${e}\``).join(`, `)}`),n.push(``)),{agent:`cursor-cli`,systemPrompt:e[`cursor-cli`],taskPrompt:n.join(`
2
+ `)}}generateConfig(e){let t=e.meta,n=[];if(n.push(`---`),n.push(`description: Implementation rules for ${t.name}.v${t.version}`),n.push(`globs: ["**/${t.name.replace(/\./g,`/`)}/**"]`),n.push(`alwaysApply: false`),n.push(`---`),n.push(``),n.push(`# ${t.name} Implementation Rules`),n.push(``),n.push(`This ${t.kind} operation must follow the ContractSpec specification.`),n.push(``),n.push(`## Goal`),n.push(``),n.push(t.goal),n.push(``),n.push(`## Requirements`),n.push(``),n.push(`1. Input/output types MUST match the spec schema exactly`),n.push(`2. All error cases MUST be handled`),e.sideEffects?.emits?.length&&n.push(`3. Events MUST be emitted as specified`),n.push(`4. Auth level: ${e.policy.auth}`),e.policy.idempotent!==void 0&&n.push(`5. Idempotency: ${e.policy.idempotent}`),n.push(``),e.io.errors&&Object.keys(e.io.errors).length>0){n.push(`## Error Cases`),n.push(``);for(let[t,r]of Object.entries(e.io.errors))n.push(`- \`${t}\` (HTTP ${r.http??400}): ${r.when}`);n.push(``)}if(e.sideEffects?.emits?.length){n.push(`## Events to Emit`),n.push(``);for(let t of e.sideEffects.emits)`ref`in t?n.push(`- \`${t.ref.name}.v${t.ref.version}\`: ${t.when}`):n.push(`- \`${t.name}.v${t.version}\`: ${t.when}`);n.push(``)}if(e.policy.pii?.length){n.push(`## PII Handling`),n.push(``),n.push(`These fields contain PII and must be handled with care:`);for(let t of e.policy.pii)n.push(`- \`${t}\``);n.push(``)}if(e.acceptance?.scenarios?.length){n.push(`## Acceptance Scenarios`),n.push(``);for(let t of e.acceptance.scenarios)n.push(`### ${t.name}`),n.push(`- Given: ${t.given.join(`; `)}`),n.push(`- When: ${t.when.join(`; `)}`),n.push(`- Then: ${t.then.join(`; `)}`),n.push(``)}return n.join(`
3
+ `)}getCursorRulesPath(e){return`.cursor/rules/${e.meta.name.replace(/\./g,`-`)}.mdc`}parseOutput(e){let t=e.match(/```(?:typescript|ts|tsx|javascript|js)?\n([\s\S]*?)\n```/);return t?.[1]?{code:t[1]}:{code:e}}};const r=new n;export{n as CursorCLIAdapter,r as cursorCLIAdapter};
@@ -1,159 +1,3 @@
1
- import { AGENT_SYSTEM_PROMPTS } from "../../../libs/contracts/dist/llm/prompts.js";
2
- import "../../../libs/contracts/dist/llm/index.js";
3
-
4
- //#region src/services/agent-guide/adapters/generic-mcp.ts
5
- /**
6
- * Generic MCP adapter implementation.
7
- * Works with any MCP-compatible agent (Cline, Aider, etc.).
8
- */
9
- var GenericMCPAdapter = class {
10
- agentType = "generic-mcp";
11
- /**
12
- * Format an implementation plan for generic MCP agents.
13
- * Uses a standard markdown format that works across different agents.
14
- */
15
- formatPlan(plan) {
16
- const lines = [];
17
- lines.push(`# Implementation Task: ${plan.target.name}.v${plan.target.version}`);
18
- lines.push("");
19
- lines.push("## Task");
20
- lines.push("");
21
- lines.push(`Implement the ${plan.target.type} \`${plan.target.name}\` version ${plan.target.version}.`);
22
- lines.push("");
23
- lines.push("## Context");
24
- lines.push("");
25
- lines.push(`**Goal:** ${plan.context.goal}`);
26
- lines.push("");
27
- lines.push(`**Description:** ${plan.context.description}`);
28
- lines.push("");
29
- if (plan.context.background) {
30
- lines.push("**Background:**");
31
- lines.push("");
32
- lines.push(plan.context.background);
33
- lines.push("");
34
- }
35
- lines.push("## Specification");
36
- lines.push("");
37
- lines.push(plan.specMarkdown);
38
- lines.push("");
39
- if (plan.fileStructure.length > 0) {
40
- lines.push("## Files");
41
- lines.push("");
42
- lines.push("| Path | Action | Purpose |");
43
- lines.push("|------|--------|---------|");
44
- for (const file of plan.fileStructure) lines.push(`| \`${file.path}\` | ${file.type} | ${file.purpose} |`);
45
- lines.push("");
46
- }
47
- lines.push("## Implementation Steps");
48
- lines.push("");
49
- for (const step of plan.steps) {
50
- lines.push(`### Step ${step.order}: ${step.title}`);
51
- lines.push("");
52
- lines.push(step.description);
53
- lines.push("");
54
- if (step.acceptanceCriteria.length > 0) {
55
- lines.push("**Acceptance Criteria:**");
56
- lines.push("");
57
- for (const criteria of step.acceptanceCriteria) lines.push(`- ${criteria}`);
58
- lines.push("");
59
- }
60
- }
61
- lines.push("## Constraints");
62
- lines.push("");
63
- if (plan.constraints.policy.length > 0) {
64
- lines.push("**Policy:**");
65
- for (const p of plan.constraints.policy) lines.push(`- ${p}`);
66
- lines.push("");
67
- }
68
- if (plan.constraints.security.length > 0) {
69
- lines.push("**Security:**");
70
- for (const s of plan.constraints.security) lines.push(`- ${s}`);
71
- lines.push("");
72
- }
73
- if (plan.constraints.pii.length > 0) {
74
- lines.push("**PII Fields (handle with care):**");
75
- for (const pii of plan.constraints.pii) lines.push(`- \`${pii}\``);
76
- lines.push("");
77
- }
78
- lines.push("## Verification");
79
- lines.push("");
80
- lines.push("After implementation, verify:");
81
- lines.push("");
82
- for (const check of plan.verificationChecklist) lines.push(`- [ ] ${check}`);
83
- lines.push("");
84
- return {
85
- agent: "generic-mcp",
86
- systemPrompt: AGENT_SYSTEM_PROMPTS["generic-mcp"],
87
- taskPrompt: lines.join("\n")
88
- };
89
- }
90
- /**
91
- * Format the plan as an MCP resource.
92
- * Returns JSON that can be served as an MCP resource.
93
- */
94
- formatAsResource(plan) {
95
- return {
96
- uri: `spec://${plan.target.name}/v${plan.target.version}/plan`,
97
- mimeType: "application/json",
98
- data: JSON.stringify({
99
- target: plan.target,
100
- context: plan.context,
101
- fileStructure: plan.fileStructure,
102
- steps: plan.steps,
103
- constraints: plan.constraints,
104
- verificationChecklist: plan.verificationChecklist
105
- }, null, 2)
106
- };
107
- }
108
- /**
109
- * Format the plan as an MCP prompt message.
110
- */
111
- formatAsPromptMessage(plan) {
112
- return {
113
- role: "user",
114
- content: {
115
- type: "text",
116
- text: this.formatPlan(plan).taskPrompt
117
- }
118
- };
119
- }
120
- /**
121
- * Generate configuration (generic markdown for any agent).
122
- */
123
- generateConfig(spec) {
124
- const m = spec.meta;
125
- const lines = [];
126
- lines.push(`# ${m.name} v${m.version}`);
127
- lines.push("");
128
- lines.push(`**Type:** ${m.kind}`);
129
- lines.push(`**Stability:** ${m.stability}`);
130
- lines.push("");
131
- lines.push("## Goal");
132
- lines.push("");
133
- lines.push(m.goal);
134
- lines.push("");
135
- lines.push("## Description");
136
- lines.push("");
137
- lines.push(m.description);
138
- lines.push("");
139
- return lines.join("\n");
140
- }
141
- /**
142
- * Parse agent output - generic implementation.
143
- */
144
- parseOutput(output) {
145
- const codeBlockMatch = output.match(/```(?:typescript|ts|tsx|javascript|js|python|go|rust)?\n([\s\S]*?)\n```/);
146
- if (codeBlockMatch?.[1]) return { code: codeBlockMatch[1] };
147
- try {
148
- const parsed = JSON.parse(output);
149
- if (typeof parsed.code === "string") return { code: parsed.code };
150
- if (typeof parsed.errors === "object") return { errors: Array.isArray(parsed.errors) ? parsed.errors : [String(parsed.errors)] };
151
- } catch {}
152
- return { code: output };
153
- }
154
- };
155
- /** Singleton instance */
156
- const genericMCPAdapter = new GenericMCPAdapter();
157
-
158
- //#endregion
159
- export { GenericMCPAdapter, genericMCPAdapter };
1
+ import{AGENT_SYSTEM_PROMPTS as e}from"@lssm/lib.contracts/llm";var t=class{agentType=`generic-mcp`;formatPlan(t){let n=[];if(n.push(`# Implementation Task: ${t.target.name}.v${t.target.version}`),n.push(``),n.push(`## Task`),n.push(``),n.push(`Implement the ${t.target.type} \`${t.target.name}\` version ${t.target.version}.`),n.push(``),n.push(`## Context`),n.push(``),n.push(`**Goal:** ${t.context.goal}`),n.push(``),n.push(`**Description:** ${t.context.description}`),n.push(``),t.context.background&&(n.push(`**Background:**`),n.push(``),n.push(t.context.background),n.push(``)),n.push(`## Specification`),n.push(``),n.push(t.specMarkdown),n.push(``),t.fileStructure.length>0){n.push(`## Files`),n.push(``),n.push(`| Path | Action | Purpose |`),n.push(`|------|--------|---------|`);for(let e of t.fileStructure)n.push(`| \`${e.path}\` | ${e.type} | ${e.purpose} |`);n.push(``)}n.push(`## Implementation Steps`),n.push(``);for(let e of t.steps)if(n.push(`### Step ${e.order}: ${e.title}`),n.push(``),n.push(e.description),n.push(``),e.acceptanceCriteria.length>0){n.push(`**Acceptance Criteria:**`),n.push(``);for(let t of e.acceptanceCriteria)n.push(`- ${t}`);n.push(``)}if(n.push(`## Constraints`),n.push(``),t.constraints.policy.length>0){n.push(`**Policy:**`);for(let e of t.constraints.policy)n.push(`- ${e}`);n.push(``)}if(t.constraints.security.length>0){n.push(`**Security:**`);for(let e of t.constraints.security)n.push(`- ${e}`);n.push(``)}if(t.constraints.pii.length>0){n.push(`**PII Fields (handle with care):**`);for(let e of t.constraints.pii)n.push(`- \`${e}\``);n.push(``)}n.push(`## Verification`),n.push(``),n.push(`After implementation, verify:`),n.push(``);for(let e of t.verificationChecklist)n.push(`- [ ] ${e}`);return n.push(``),{agent:`generic-mcp`,systemPrompt:e[`generic-mcp`],taskPrompt:n.join(`
2
+ `)}}formatAsResource(e){return{uri:`spec://${e.target.name}/v${e.target.version}/plan`,mimeType:`application/json`,data:JSON.stringify({target:e.target,context:e.context,fileStructure:e.fileStructure,steps:e.steps,constraints:e.constraints,verificationChecklist:e.verificationChecklist},null,2)}}formatAsPromptMessage(e){return{role:`user`,content:{type:`text`,text:this.formatPlan(e).taskPrompt}}}generateConfig(e){let t=e.meta,n=[];return n.push(`# ${t.name} v${t.version}`),n.push(``),n.push(`**Type:** ${t.kind}`),n.push(`**Stability:** ${t.stability}`),n.push(``),n.push(`## Goal`),n.push(``),n.push(t.goal),n.push(``),n.push(`## Description`),n.push(``),n.push(t.description),n.push(``),n.join(`
3
+ `)}parseOutput(e){let t=e.match(/```(?:typescript|ts|tsx|javascript|js|python|go|rust)?\n([\s\S]*?)\n```/);if(t?.[1])return{code:t[1]};try{let t=JSON.parse(e);if(typeof t.code==`string`)return{code:t.code};if(typeof t.errors==`object`)return{errors:Array.isArray(t.errors)?t.errors:[String(t.errors)]}}catch{}return{code:e}}};const n=new t;export{t as GenericMCPAdapter,n as genericMCPAdapter};
@@ -1,30 +1 @@
1
- import { ClaudeCodeAdapter, claudeCodeAdapter } from "./claude-code.js";
2
- import { CursorCLIAdapter, cursorCLIAdapter } from "./cursor-cli.js";
3
- import { GenericMCPAdapter, genericMCPAdapter } from "./generic-mcp.js";
4
-
5
- //#region src/services/agent-guide/adapters/index.ts
6
- /**
7
- * Registry of all available agent adapters.
8
- */
9
- const agentAdapters = {
10
- "claude-code": claudeCodeAdapter,
11
- "cursor-cli": cursorCLIAdapter,
12
- "generic-mcp": genericMCPAdapter
13
- };
14
- /**
15
- * Get an adapter for a specific agent type.
16
- */
17
- function getAgentAdapter(agent) {
18
- const adapter = agentAdapters[agent];
19
- if (!adapter) throw new Error(`Unknown agent type: ${agent}`);
20
- return adapter;
21
- }
22
- /**
23
- * List all available agent types.
24
- */
25
- function listAgentTypes() {
26
- return Object.keys(agentAdapters);
27
- }
28
-
29
- //#endregion
30
- export { agentAdapters, getAgentAdapter, listAgentTypes };
1
+ import{ClaudeCodeAdapter as e,claudeCodeAdapter as t}from"./claude-code.js";import{CursorCLIAdapter as n,cursorCLIAdapter as r}from"./cursor-cli.js";import{GenericMCPAdapter as i,genericMCPAdapter as a}from"./generic-mcp.js";const o={"claude-code":t,"cursor-cli":r,"generic-mcp":a};function s(e){let t=o[e];if(!t)throw Error(`Unknown agent type: ${e}`);return t}function c(){return Object.keys(o)}export{o as agentAdapters,s as getAgentAdapter,c as listAgentTypes};
@@ -1,148 +1 @@
1
- import { featureToMarkdown, specToAgentPrompt, specToFullMarkdown } from "../../libs/contracts/dist/llm/exporters.js";
2
- import { generateImplementationPlan } from "../../libs/contracts/dist/llm/prompts.js";
3
- import "../../libs/contracts/dist/llm/index.js";
4
- import { getAgentAdapter, listAgentTypes } from "./adapters/index.js";
5
-
6
- //#region src/services/agent-guide/agent-guide-service.ts
7
- const DEFAULT_CONFIG = {
8
- defaultAgent: "generic-mcp",
9
- verbose: false
10
- };
11
- /**
12
- * Agent Guide Service
13
- *
14
- * Main service for generating implementation guidance for AI coding agents.
15
- */
16
- var AgentGuideService = class {
17
- config;
18
- constructor(config = {}) {
19
- this.config = {
20
- ...DEFAULT_CONFIG,
21
- ...config
22
- };
23
- }
24
- /**
25
- * Generate an implementation guide for a spec.
26
- */
27
- generateGuide(spec, options = {}) {
28
- const adapter = getAgentAdapter(options.agent ?? this.config.defaultAgent);
29
- const plan = generateImplementationPlan(spec, {
30
- projectRoot: this.config.projectRoot,
31
- existingFiles: options.targetPath ? [options.targetPath] : void 0
32
- });
33
- return {
34
- plan,
35
- prompt: adapter.formatPlan(plan),
36
- markdown: specToFullMarkdown(spec)
37
- };
38
- }
39
- /**
40
- * Generate a guide for a feature (includes all related specs).
41
- */
42
- generateFeatureGuide(feature, deps, options = {}) {
43
- const adapter = getAgentAdapter(options.agent ?? this.config.defaultAgent);
44
- const firstOp = feature.operations?.[0];
45
- const spec = firstOp ? deps.specs?.getSpec(firstOp.name, firstOp.version) : void 0;
46
- let plan;
47
- if (spec) {
48
- plan = generateImplementationPlan(spec, { projectRoot: this.config.projectRoot });
49
- plan.target = {
50
- type: "feature",
51
- name: feature.meta.key,
52
- version: 1
53
- };
54
- plan.context.goal = feature.meta.description ?? plan.context.goal;
55
- } else plan = {
56
- target: {
57
- type: "feature",
58
- name: feature.meta.key,
59
- version: 1
60
- },
61
- context: {
62
- goal: feature.meta.description ?? `Implement feature ${feature.meta.key}`,
63
- description: feature.meta.title ?? feature.meta.key,
64
- background: ""
65
- },
66
- specMarkdown: featureToMarkdown(feature, deps),
67
- fileStructure: [],
68
- steps: [{
69
- order: 1,
70
- title: "Implement Feature",
71
- description: `Implement the ${feature.meta.key} feature`,
72
- acceptanceCriteria: []
73
- }],
74
- constraints: {
75
- policy: [],
76
- security: [],
77
- pii: []
78
- },
79
- verificationChecklist: []
80
- };
81
- plan.specMarkdown = featureToMarkdown(feature, deps, {
82
- format: "full",
83
- includeRelatedSpecs: true,
84
- includeRelatedEvents: true,
85
- includeRelatedPresentations: true
86
- });
87
- if (feature.operations?.length) plan.steps = feature.operations.map((op, idx) => ({
88
- order: idx + 1,
89
- title: `Implement ${op.name}`,
90
- description: `Implement operation ${op.name}.v${op.version}`,
91
- acceptanceCriteria: [`Operation ${op.name} works as specified`]
92
- }));
93
- const prompt = adapter.formatPlan(plan);
94
- const markdown = featureToMarkdown(feature, deps);
95
- return {
96
- plan,
97
- prompt,
98
- markdown
99
- };
100
- }
101
- /**
102
- * Generate agent-specific configuration (e.g., cursor rules).
103
- */
104
- generateAgentConfig(spec, agent) {
105
- return getAgentAdapter(agent ?? this.config.defaultAgent).generateConfig?.(spec);
106
- }
107
- /**
108
- * Export a spec in a specific format for an agent.
109
- */
110
- exportForAgent(spec, agent, taskType = "implement", existingCode) {
111
- return specToAgentPrompt(spec, {
112
- taskType,
113
- existingCode
114
- });
115
- }
116
- /**
117
- * List available agent types.
118
- */
119
- listAgentTypes() {
120
- return listAgentTypes();
121
- }
122
- /**
123
- * Get the default agent type.
124
- */
125
- getDefaultAgent() {
126
- return this.config.defaultAgent;
127
- }
128
- /**
129
- * Update configuration.
130
- */
131
- configure(config) {
132
- this.config = {
133
- ...this.config,
134
- ...config
135
- };
136
- }
137
- };
138
- /**
139
- * Create a new AgentGuideService instance.
140
- */
141
- function createAgentGuideService(config) {
142
- return new AgentGuideService(config);
143
- }
144
- /** Default singleton instance */
145
- const agentGuideService = new AgentGuideService();
146
-
147
- //#endregion
148
- export { AgentGuideService, agentGuideService, createAgentGuideService };
1
+ import{getAgentAdapter as e,listAgentTypes as t}from"./adapters/index.js";import{featureToMarkdown as n,generateImplementationPlan as r,specToAgentPrompt as i,specToFullMarkdown as a}from"@lssm/lib.contracts/llm";const o={defaultAgent:`generic-mcp`,verbose:!1};var s=class{config;constructor(e={}){this.config={...o,...e}}generateGuide(t,n={}){let i=e(n.agent??this.config.defaultAgent),o=r(t,{projectRoot:this.config.projectRoot,existingFiles:n.targetPath?[n.targetPath]:void 0});return{plan:o,prompt:i.formatPlan(o),markdown:a(t)}}generateFeatureGuide(t,i,a={}){let o=e(a.agent??this.config.defaultAgent),s=t.operations?.[0],c=s?i.specs?.getSpec(s.name,s.version):void 0,l;c?(l=r(c,{projectRoot:this.config.projectRoot}),l.target={type:`feature`,name:t.meta.key,version:1},l.context.goal=t.meta.description??l.context.goal):l={target:{type:`feature`,name:t.meta.key,version:1},context:{goal:t.meta.description??`Implement feature ${t.meta.key}`,description:t.meta.title??t.meta.key,background:``},specMarkdown:n(t,i),fileStructure:[],steps:[{order:1,title:`Implement Feature`,description:`Implement the ${t.meta.key} feature`,acceptanceCriteria:[]}],constraints:{policy:[],security:[],pii:[]},verificationChecklist:[]},l.specMarkdown=n(t,i,{format:`full`,includeRelatedSpecs:!0,includeRelatedEvents:!0,includeRelatedPresentations:!0}),t.operations?.length&&(l.steps=t.operations.map((e,t)=>({order:t+1,title:`Implement ${e.name}`,description:`Implement operation ${e.name}.v${e.version}`,acceptanceCriteria:[`Operation ${e.name} works as specified`]})));let u=o.formatPlan(l),d=n(t,i);return{plan:l,prompt:u,markdown:d}}generateAgentConfig(t,n){return e(n??this.config.defaultAgent).generateConfig?.(t)}exportForAgent(e,t,n=`implement`,r){return i(e,{taskType:n,existingCode:r})}listAgentTypes(){return t()}getDefaultAgent(){return this.config.defaultAgent}configure(e){this.config={...this.config,...e}}};function c(e){return new s(e)}const l=new s;export{s as AgentGuideService,l as agentGuideService,c as createAgentGuideService};
@@ -1,5 +1 @@
1
- import { ClaudeCodeAdapter, claudeCodeAdapter } from "./adapters/claude-code.js";
2
- import { CursorCLIAdapter, cursorCLIAdapter } from "./adapters/cursor-cli.js";
3
- import { GenericMCPAdapter, genericMCPAdapter } from "./adapters/generic-mcp.js";
4
- import { agentAdapters, getAgentAdapter, listAgentTypes } from "./adapters/index.js";
5
- import { AgentGuideService, agentGuideService, createAgentGuideService } from "./agent-guide-service.js";
1
+ import{ClaudeCodeAdapter as e,claudeCodeAdapter as t}from"./adapters/claude-code.js";import{CursorCLIAdapter as n,cursorCLIAdapter as r}from"./adapters/cursor-cli.js";import{GenericMCPAdapter as i,genericMCPAdapter as a}from"./adapters/generic-mcp.js";import{agentAdapters as o,getAgentAdapter as s,listAgentTypes as c}from"./adapters/index.js";import{AgentGuideService as l,agentGuideService as u,createAgentGuideService as d}from"./agent-guide-service.js";