@lssm/bundle.contractspec-workspace 0.0.0-canary-20251217083314 → 0.0.0-canary-20251219202229

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 (502) hide show
  1. package/LICENSE +21 -0
  2. package/dist/adapters/ai.d.ts +7 -8
  3. package/dist/adapters/ai.d.ts.map +1 -0
  4. package/dist/adapters/factory.d.ts +20 -21
  5. package/dist/adapters/factory.d.ts.map +1 -0
  6. package/dist/adapters/fs.d.ts +6 -7
  7. package/dist/adapters/fs.d.ts.map +1 -0
  8. package/dist/adapters/git.d.ts +6 -7
  9. package/dist/adapters/git.d.ts.map +1 -0
  10. package/dist/adapters/index.d.ts +11 -0
  11. package/dist/adapters/index.d.ts.map +1 -0
  12. package/dist/adapters/logger.d.ts +9 -8
  13. package/dist/adapters/logger.d.ts.map +1 -0
  14. package/dist/adapters/watcher.d.ts +6 -7
  15. package/dist/adapters/watcher.d.ts.map +1 -0
  16. package/dist/adapters/workspace.d.ts +37 -39
  17. package/dist/adapters/workspace.d.ts.map +1 -0
  18. package/dist/ai/agents/claude-code-agent.d.ts +20 -20
  19. package/dist/ai/agents/claude-code-agent.d.ts.map +1 -0
  20. package/dist/ai/agents/cursor-agent.d.ts +66 -66
  21. package/dist/ai/agents/cursor-agent.d.ts.map +1 -0
  22. package/dist/ai/agents/index.d.ts +10 -0
  23. package/dist/ai/agents/index.d.ts.map +1 -0
  24. package/dist/ai/agents/openai-codex-agent.d.ts +20 -20
  25. package/dist/ai/agents/openai-codex-agent.d.ts.map +1 -0
  26. package/dist/ai/agents/orchestrator.d.ts +48 -48
  27. package/dist/ai/agents/orchestrator.d.ts.map +1 -0
  28. package/dist/ai/agents/simple-agent.d.ts +15 -15
  29. package/dist/ai/agents/simple-agent.d.ts.map +1 -0
  30. package/dist/ai/agents/types.d.ts +26 -28
  31. package/dist/ai/agents/types.d.ts.map +1 -0
  32. package/dist/ai/client.d.ts +74 -78
  33. package/dist/ai/client.d.ts.map +1 -0
  34. package/dist/ai/index.d.ts +8 -16
  35. package/dist/ai/index.d.ts.map +1 -0
  36. package/dist/ai/prompts/code-generation.d.ts +6 -10
  37. package/dist/ai/prompts/code-generation.d.ts.map +1 -0
  38. package/dist/ai/prompts/index.d.ts +6 -9
  39. package/dist/ai/prompts/index.d.ts.map +1 -0
  40. package/dist/ai/prompts/spec-creation.d.ts +7 -13
  41. package/dist/ai/prompts/spec-creation.d.ts.map +1 -0
  42. package/dist/ai/providers.d.ts +13 -12
  43. package/dist/ai/providers.d.ts.map +1 -0
  44. package/dist/formatters/index.d.ts +7 -10
  45. package/dist/formatters/index.d.ts.map +1 -0
  46. package/dist/formatters/json.d.ts +65 -63
  47. package/dist/formatters/json.d.ts.map +1 -0
  48. package/dist/formatters/sarif.d.ts +77 -72
  49. package/dist/formatters/sarif.d.ts.map +1 -0
  50. package/dist/formatters/text.d.ts +21 -19
  51. package/dist/formatters/text.d.ts.map +1 -0
  52. package/dist/index.d.ts +14 -66
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +4531 -81
  55. package/dist/ports/ai.d.ts +41 -38
  56. package/dist/ports/ai.d.ts.map +1 -0
  57. package/dist/ports/fs.d.ts +63 -65
  58. package/dist/ports/fs.d.ts.map +1 -0
  59. package/dist/ports/git.d.ts +19 -21
  60. package/dist/ports/git.d.ts.map +1 -0
  61. package/dist/ports/index.d.ts +10 -0
  62. package/dist/ports/index.d.ts.map +1 -0
  63. package/dist/ports/logger.d.ts +58 -65
  64. package/dist/ports/logger.d.ts.map +1 -0
  65. package/dist/ports/watcher.d.ts +24 -26
  66. package/dist/ports/watcher.d.ts.map +1 -0
  67. package/dist/services/agent-guide/adapters/claude-code.d.ts +30 -28
  68. package/dist/services/agent-guide/adapters/claude-code.d.ts.map +1 -0
  69. package/dist/services/agent-guide/adapters/cursor-cli.d.ts +34 -32
  70. package/dist/services/agent-guide/adapters/cursor-cli.d.ts.map +1 -0
  71. package/dist/services/agent-guide/adapters/generic-mcp.d.ts +47 -45
  72. package/dist/services/agent-guide/adapters/generic-mcp.d.ts.map +1 -0
  73. package/dist/services/agent-guide/adapters/index.d.ts +15 -13
  74. package/dist/services/agent-guide/adapters/index.d.ts.map +1 -0
  75. package/dist/services/agent-guide/agent-guide-service.d.ts +48 -45
  76. package/dist/services/agent-guide/agent-guide-service.d.ts.map +1 -0
  77. package/dist/services/agent-guide/index.d.ts +12 -0
  78. package/dist/services/agent-guide/index.d.ts.map +1 -0
  79. package/dist/services/agent-guide/types.d.ts +46 -47
  80. package/dist/services/agent-guide/types.d.ts.map +1 -0
  81. package/dist/services/build.d.ts +41 -39
  82. package/dist/services/build.d.ts.map +1 -0
  83. package/dist/services/ci-check/ci-check-service.d.ts +13 -11
  84. package/dist/services/ci-check/ci-check-service.d.ts.map +1 -0
  85. package/dist/services/ci-check/index.d.ts +6 -0
  86. package/dist/services/ci-check/index.d.ts.map +1 -0
  87. package/dist/services/ci-check/types.d.ts +100 -102
  88. package/dist/services/ci-check/types.d.ts.map +1 -0
  89. package/dist/services/clean.d.ts +38 -37
  90. package/dist/services/clean.d.ts.map +1 -0
  91. package/dist/services/config.d.ts +14 -15
  92. package/dist/services/config.d.ts.map +1 -0
  93. package/dist/services/deps.d.ts +29 -30
  94. package/dist/services/deps.d.ts.map +1 -0
  95. package/dist/services/diff.d.ts +20 -21
  96. package/dist/services/diff.d.ts.map +1 -0
  97. package/dist/services/doctor/checks/ai.d.ts +10 -0
  98. package/dist/services/doctor/checks/ai.d.ts.map +1 -0
  99. package/dist/services/doctor/checks/cli.d.ts +10 -0
  100. package/dist/services/doctor/checks/cli.d.ts.map +1 -0
  101. package/dist/services/doctor/checks/config.d.ts +10 -0
  102. package/dist/services/doctor/checks/config.d.ts.map +1 -0
  103. package/dist/services/doctor/checks/deps.d.ts +10 -0
  104. package/dist/services/doctor/checks/deps.d.ts.map +1 -0
  105. package/dist/services/doctor/checks/index.d.ts +10 -0
  106. package/dist/services/doctor/checks/index.d.ts.map +1 -0
  107. package/dist/services/doctor/checks/mcp.d.ts +10 -0
  108. package/dist/services/doctor/checks/mcp.d.ts.map +1 -0
  109. package/dist/services/doctor/checks/workspace.d.ts +12 -0
  110. package/dist/services/doctor/checks/workspace.d.ts.map +1 -0
  111. package/dist/services/doctor/doctor-service.d.ts +14 -13
  112. package/dist/services/doctor/doctor-service.d.ts.map +1 -0
  113. package/dist/services/doctor/index.d.ts +8 -0
  114. package/dist/services/doctor/index.d.ts.map +1 -0
  115. package/dist/services/doctor/types.d.ts +70 -72
  116. package/dist/services/doctor/types.d.ts.map +1 -0
  117. package/dist/services/implementation/discovery.d.ts +16 -14
  118. package/dist/services/implementation/discovery.d.ts.map +1 -0
  119. package/dist/services/implementation/index.d.ts +7 -0
  120. package/dist/services/implementation/index.d.ts.map +1 -0
  121. package/dist/services/implementation/resolver.d.ts +31 -27
  122. package/dist/services/implementation/resolver.d.ts.map +1 -0
  123. package/dist/services/implementation/types.d.ts +55 -56
  124. package/dist/services/implementation/types.d.ts.map +1 -0
  125. package/dist/services/index.d.ts +28 -0
  126. package/dist/services/index.d.ts.map +1 -0
  127. package/dist/services/integrity-diagram.d.ts +29 -25
  128. package/dist/services/integrity-diagram.d.ts.map +1 -0
  129. package/dist/services/integrity.d.ts +100 -96
  130. package/dist/services/integrity.d.ts.map +1 -0
  131. package/dist/services/list.d.ts +18 -19
  132. package/dist/services/list.d.ts.map +1 -0
  133. package/dist/services/openapi/export-service.d.ts +39 -40
  134. package/dist/services/openapi/export-service.d.ts.map +1 -0
  135. package/dist/services/openapi/import-service.d.ts +10 -11
  136. package/dist/services/openapi/import-service.d.ts.map +1 -0
  137. package/dist/services/openapi/index.d.ts +10 -0
  138. package/dist/services/openapi/index.d.ts.map +1 -0
  139. package/dist/services/openapi/sync-service.d.ts +12 -13
  140. package/dist/services/openapi/sync-service.d.ts.map +1 -0
  141. package/dist/services/openapi/types.d.ts +141 -143
  142. package/dist/services/openapi/types.d.ts.map +1 -0
  143. package/dist/services/openapi/validate-service.d.ts +10 -11
  144. package/dist/services/openapi/validate-service.d.ts.map +1 -0
  145. package/dist/services/regenerator.d.ts +18 -16
  146. package/dist/services/regenerator.d.ts.map +1 -0
  147. package/dist/services/registry.d.ts +25 -26
  148. package/dist/services/registry.d.ts.map +1 -0
  149. package/dist/services/setup/config-generators.d.ts +14 -13
  150. package/dist/services/setup/config-generators.d.ts.map +1 -0
  151. package/dist/services/setup/file-merger.d.ts +5 -7
  152. package/dist/services/setup/file-merger.d.ts.map +1 -0
  153. package/dist/services/setup/index.d.ts +10 -0
  154. package/dist/services/setup/index.d.ts.map +1 -0
  155. package/dist/services/setup/setup-service.d.ts +10 -8
  156. package/dist/services/setup/setup-service.d.ts.map +1 -0
  157. package/dist/services/setup/targets/agents-md.d.ts +12 -0
  158. package/dist/services/setup/targets/agents-md.d.ts.map +1 -0
  159. package/dist/services/setup/targets/cli-config.d.ts +12 -0
  160. package/dist/services/setup/targets/cli-config.d.ts.map +1 -0
  161. package/dist/services/setup/targets/cursor-rules.d.ts +10 -0
  162. package/dist/services/setup/targets/cursor-rules.d.ts.map +1 -0
  163. package/dist/services/setup/targets/index.d.ts +10 -0
  164. package/dist/services/setup/targets/index.d.ts.map +1 -0
  165. package/dist/services/setup/targets/mcp-claude.d.ts +11 -0
  166. package/dist/services/setup/targets/mcp-claude.d.ts.map +1 -0
  167. package/dist/services/setup/targets/mcp-cursor.d.ts +10 -0
  168. package/dist/services/setup/targets/mcp-cursor.d.ts.map +1 -0
  169. package/dist/services/setup/targets/vscode-settings.d.ts +13 -0
  170. package/dist/services/setup/targets/vscode-settings.d.ts.map +1 -0
  171. package/dist/services/setup/types.d.ts +51 -53
  172. package/dist/services/setup/types.d.ts.map +1 -0
  173. package/dist/services/sync.d.ts +37 -35
  174. package/dist/services/sync.d.ts.map +1 -0
  175. package/dist/services/test.d.ts +15 -13
  176. package/dist/services/test.d.ts.map +1 -0
  177. package/dist/services/validate-implementation.d.ts +30 -28
  178. package/dist/services/validate-implementation.d.ts.map +1 -0
  179. package/dist/services/validate.d.ts +23 -24
  180. package/dist/services/validate.d.ts.map +1 -0
  181. package/dist/services/verification-cache/adapters/filesystem.d.ts +40 -38
  182. package/dist/services/verification-cache/adapters/filesystem.d.ts.map +1 -0
  183. package/dist/services/verification-cache/adapters/in-memory.d.ts +21 -19
  184. package/dist/services/verification-cache/adapters/in-memory.d.ts.map +1 -0
  185. package/dist/services/verification-cache/adapters/index.d.ts +7 -0
  186. package/dist/services/verification-cache/adapters/index.d.ts.map +1 -0
  187. package/dist/services/verification-cache/adapters/workspace-state.d.ts +39 -37
  188. package/dist/services/verification-cache/adapters/workspace-state.d.ts.map +1 -0
  189. package/dist/services/verification-cache/cache-service.d.ts +55 -53
  190. package/dist/services/verification-cache/cache-service.d.ts.map +1 -0
  191. package/dist/services/verification-cache/index.d.ts +7 -0
  192. package/dist/services/verification-cache/index.d.ts.map +1 -0
  193. package/dist/services/verification-cache/types.d.ts +84 -85
  194. package/dist/services/verification-cache/types.d.ts.map +1 -0
  195. package/dist/services/verify/ai-verifier.d.ts +13 -11
  196. package/dist/services/verify/ai-verifier.d.ts.map +1 -0
  197. package/dist/services/verify/behavior-verifier.d.ts +10 -8
  198. package/dist/services/verify/behavior-verifier.d.ts.map +1 -0
  199. package/dist/services/verify/index.d.ts +18 -0
  200. package/dist/services/verify/index.d.ts.map +1 -0
  201. package/dist/services/verify/structure-verifier.d.ts +12 -8
  202. package/dist/services/verify/structure-verifier.d.ts.map +1 -0
  203. package/dist/services/verify/types.d.ts +114 -115
  204. package/dist/services/verify/types.d.ts.map +1 -0
  205. package/dist/services/verify/verify-service.d.ts +51 -49
  206. package/dist/services/verify/verify-service.d.ts.map +1 -0
  207. package/dist/services/watch.d.ts +22 -21
  208. package/dist/services/watch.d.ts.map +1 -0
  209. package/dist/services/workspace-info.d.ts +40 -37
  210. package/dist/services/workspace-info.d.ts.map +1 -0
  211. package/dist/templates/app-config.template.d.ts +3 -6
  212. package/dist/templates/app-config.template.d.ts.map +1 -0
  213. package/dist/templates/data-view.template.d.ts +3 -6
  214. package/dist/templates/data-view.template.d.ts.map +1 -0
  215. package/dist/templates/event.template.d.ts +3 -7
  216. package/dist/templates/event.template.d.ts.map +1 -0
  217. package/dist/templates/experiment.template.d.ts +3 -6
  218. package/dist/templates/experiment.template.d.ts.map +1 -0
  219. package/dist/templates/handler.template.d.ts +4 -6
  220. package/dist/templates/handler.template.d.ts.map +1 -0
  221. package/dist/templates/index.d.ts +17 -20
  222. package/dist/templates/index.d.ts.map +1 -0
  223. package/dist/templates/integration.template.d.ts +3 -6
  224. package/dist/templates/integration.template.d.ts.map +1 -0
  225. package/dist/templates/knowledge.template.d.ts +3 -6
  226. package/dist/templates/knowledge.template.d.ts.map +1 -0
  227. package/dist/templates/migration.template.d.ts +3 -6
  228. package/dist/templates/migration.template.d.ts.map +1 -0
  229. package/dist/templates/operation.template.d.ts +3 -7
  230. package/dist/templates/operation.template.d.ts.map +1 -0
  231. package/dist/templates/operation.template.test.d.ts +2 -0
  232. package/dist/templates/operation.template.test.d.ts.map +1 -0
  233. package/dist/templates/presentation.template.d.ts +3 -7
  234. package/dist/templates/presentation.template.d.ts.map +1 -0
  235. package/dist/templates/telemetry.template.d.ts +3 -6
  236. package/dist/templates/telemetry.template.d.ts.map +1 -0
  237. package/dist/templates/workflow-runner.template.d.ts +7 -13
  238. package/dist/templates/workflow-runner.template.d.ts.map +1 -0
  239. package/dist/templates/workflow.template.d.ts +3 -6
  240. package/dist/templates/workflow.template.d.ts.map +1 -0
  241. package/dist/types/config.d.ts +18 -20
  242. package/dist/types/config.d.ts.map +1 -0
  243. package/dist/types/index.d.ts +5 -0
  244. package/dist/types/index.d.ts.map +1 -0
  245. package/dist/types.d.ts +338 -311
  246. package/dist/types.d.ts.map +1 -0
  247. package/package.json +16 -15
  248. package/dist/_virtual/rolldown_runtime.js +0 -22
  249. package/dist/adapters/ai.js +0 -82
  250. package/dist/adapters/factory.js +0 -36
  251. package/dist/adapters/fs.js +0 -118
  252. package/dist/adapters/git.js +0 -54
  253. package/dist/adapters/index.js +0 -7
  254. package/dist/adapters/logger.js +0 -80
  255. package/dist/adapters/watcher.js +0 -69
  256. package/dist/adapters/workspace.js +0 -190
  257. package/dist/ai/agents/claude-code-agent.js +0 -181
  258. package/dist/ai/agents/cursor-agent.js +0 -437
  259. package/dist/ai/agents/index.js +0 -5
  260. package/dist/ai/agents/openai-codex-agent.js +0 -166
  261. package/dist/ai/agents/orchestrator.js +0 -142
  262. package/dist/ai/agents/simple-agent.js +0 -91
  263. package/dist/ai/client.js +0 -162
  264. package/dist/ai/index.js +0 -27
  265. package/dist/ai/prompts/code-generation.js +0 -142
  266. package/dist/ai/prompts/index.js +0 -12
  267. package/dist/ai/prompts/spec-creation.js +0 -110
  268. package/dist/ai/providers.js +0 -40
  269. package/dist/formatters/index.js +0 -18
  270. package/dist/formatters/json.js +0 -71
  271. package/dist/formatters/sarif.js +0 -163
  272. package/dist/formatters/text.js +0 -208
  273. package/dist/libs/ai-providers/dist/factory.js +0 -154
  274. package/dist/libs/ai-providers/dist/index.js +0 -4
  275. package/dist/libs/ai-providers/dist/legacy.js +0 -72
  276. package/dist/libs/ai-providers/dist/models.js +0 -287
  277. package/dist/libs/ai-providers/dist/validation.js +0 -1
  278. package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
  279. package/dist/libs/contracts/dist/client/index.js +0 -5
  280. package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
  281. package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
  282. package/dist/libs/contracts/dist/client/react/index.js +0 -4
  283. package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
  284. package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
  285. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
  286. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
  287. package/dist/libs/contracts/dist/docs/index.js +0 -29
  288. package/dist/libs/contracts/dist/docs/presentations.js +0 -71
  289. package/dist/libs/contracts/dist/docs/registry.js +0 -44
  290. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
  291. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
  292. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
  293. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
  294. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
  295. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
  296. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
  297. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
  298. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
  299. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
  300. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
  301. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
  302. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
  303. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
  304. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
  305. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
  306. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
  307. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
  308. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
  309. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
  310. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
  311. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
  312. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
  313. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
  314. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
  315. package/dist/libs/contracts/dist/events.js +0 -8
  316. package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
  317. package/dist/libs/contracts/dist/index.js +0 -72
  318. package/dist/libs/contracts/dist/install.js +0 -2
  319. package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
  320. package/dist/libs/contracts/dist/integrations/index.js +0 -18
  321. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
  322. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
  323. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
  324. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
  325. package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
  326. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
  327. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
  328. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
  329. package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
  330. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
  331. package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
  332. package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
  333. package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
  334. package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
  335. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
  336. package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
  337. package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
  338. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
  339. package/dist/libs/contracts/dist/jsonschema.js +0 -24
  340. package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
  341. package/dist/libs/contracts/dist/knowledge/index.js +0 -7
  342. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
  343. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
  344. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
  345. package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
  346. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
  347. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
  348. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
  349. package/dist/libs/contracts/dist/llm/exporters.js +0 -352
  350. package/dist/libs/contracts/dist/llm/index.js +0 -2
  351. package/dist/libs/contracts/dist/llm/prompts.js +0 -211
  352. package/dist/libs/contracts/dist/onboarding-base.js +0 -196
  353. package/dist/libs/contracts/dist/openapi.js +0 -75
  354. package/dist/libs/contracts/dist/ownership.js +0 -21
  355. package/dist/libs/contracts/dist/presentations.js +0 -1
  356. package/dist/libs/contracts/dist/presentations.v2.js +0 -11
  357. package/dist/libs/contracts/dist/prompt.js +0 -1
  358. package/dist/libs/contracts/dist/promptRegistry.js +0 -1
  359. package/dist/libs/contracts/dist/regenerator/index.js +0 -2
  360. package/dist/libs/contracts/dist/regenerator/service.js +0 -92
  361. package/dist/libs/contracts/dist/regenerator/utils.js +0 -51
  362. package/dist/libs/contracts/dist/registry.js +0 -208
  363. package/dist/libs/contracts/dist/resources.js +0 -1
  364. package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
  365. package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
  366. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
  367. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
  368. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
  369. package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
  370. package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
  371. package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
  372. package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
  373. package/dist/libs/contracts/dist/server/index.js +0 -8
  374. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
  375. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
  376. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
  377. package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
  378. package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
  379. package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
  380. package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
  381. package/dist/libs/contracts/dist/server/rest-express.js +0 -1
  382. package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
  383. package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
  384. package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
  385. package/dist/libs/contracts/dist/spec.js +0 -35
  386. package/dist/libs/contracts/dist/telemetry/index.js +0 -1
  387. package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
  388. package/dist/libs/contracts/dist/tests/index.js +0 -1
  389. package/dist/libs/contracts/dist/tests/runner.js +0 -150
  390. package/dist/libs/contracts/dist/workflow/index.js +0 -1
  391. package/dist/libs/contracts/dist/workflow/runner.js +0 -1
  392. package/dist/libs/contracts-transformers/dist/common/utils.js +0 -47
  393. package/dist/libs/contracts-transformers/dist/openapi/exporter.js +0 -1
  394. package/dist/libs/contracts-transformers/dist/openapi/importer.js +0 -255
  395. package/dist/libs/contracts-transformers/dist/openapi/index.js +0 -4
  396. package/dist/libs/contracts-transformers/dist/openapi/parser.js +0 -231
  397. package/dist/libs/contracts-transformers/dist/openapi/schema-converter.js +0 -201
  398. package/dist/modules/contractspec-workspace/dist/ai/code-generation.js +0 -137
  399. package/dist/modules/contractspec-workspace/dist/ai/spec-creation.js +0 -101
  400. package/dist/modules/contractspec-workspace/dist/analysis/deps/graph.js +0 -84
  401. package/dist/modules/contractspec-workspace/dist/analysis/deps/parse-imports.js +0 -30
  402. package/dist/modules/contractspec-workspace/dist/analysis/diff/semantic.js +0 -96
  403. package/dist/modules/contractspec-workspace/dist/analysis/feature-scan.js +0 -151
  404. package/dist/modules/contractspec-workspace/dist/analysis/spec-scan.js +0 -344
  405. package/dist/modules/contractspec-workspace/dist/analysis/validate/spec-structure.js +0 -122
  406. package/dist/modules/contractspec-workspace/dist/templates/app-config.js +0 -105
  407. package/dist/modules/contractspec-workspace/dist/templates/data-view.js +0 -68
  408. package/dist/modules/contractspec-workspace/dist/templates/event.js +0 -38
  409. package/dist/modules/contractspec-workspace/dist/templates/experiment.js +0 -87
  410. package/dist/modules/contractspec-workspace/dist/templates/handler.js +0 -95
  411. package/dist/modules/contractspec-workspace/dist/templates/integration-utils.js +0 -104
  412. package/dist/modules/contractspec-workspace/dist/templates/integration.js +0 -62
  413. package/dist/modules/contractspec-workspace/dist/templates/knowledge.js +0 -68
  414. package/dist/modules/contractspec-workspace/dist/templates/migration.js +0 -60
  415. package/dist/modules/contractspec-workspace/dist/templates/operation.js +0 -100
  416. package/dist/modules/contractspec-workspace/dist/templates/presentation.js +0 -78
  417. package/dist/modules/contractspec-workspace/dist/templates/telemetry.js +0 -89
  418. package/dist/modules/contractspec-workspace/dist/templates/utils.js +0 -38
  419. package/dist/modules/contractspec-workspace/dist/templates/workflow-runner.js +0 -48
  420. package/dist/modules/contractspec-workspace/dist/templates/workflow.js +0 -67
  421. package/dist/modules/contractspec-workspace/dist/types/generation-types.js +0 -20
  422. package/dist/services/agent-guide/adapters/claude-code.js +0 -144
  423. package/dist/services/agent-guide/adapters/cursor-cli.js +0 -135
  424. package/dist/services/agent-guide/adapters/generic-mcp.js +0 -159
  425. package/dist/services/agent-guide/adapters/index.js +0 -30
  426. package/dist/services/agent-guide/agent-guide-service.js +0 -148
  427. package/dist/services/agent-guide/index.js +0 -5
  428. package/dist/services/build.js +0 -140
  429. package/dist/services/ci-check/ci-check-service.js +0 -393
  430. package/dist/services/ci-check/index.js +0 -2
  431. package/dist/services/ci-check/types.js +0 -28
  432. package/dist/services/clean.js +0 -71
  433. package/dist/services/config.js +0 -76
  434. package/dist/services/deps.js +0 -62
  435. package/dist/services/diff.js +0 -33
  436. package/dist/services/doctor/checks/ai.js +0 -118
  437. package/dist/services/doctor/checks/cli.js +0 -146
  438. package/dist/services/doctor/checks/config.js +0 -170
  439. package/dist/services/doctor/checks/deps.js +0 -180
  440. package/dist/services/doctor/checks/index.js +0 -6
  441. package/dist/services/doctor/checks/mcp.js +0 -144
  442. package/dist/services/doctor/checks/workspace.js +0 -243
  443. package/dist/services/doctor/doctor-service.js +0 -115
  444. package/dist/services/doctor/index.js +0 -2
  445. package/dist/services/doctor/types.js +0 -26
  446. package/dist/services/implementation/discovery.js +0 -143
  447. package/dist/services/implementation/index.js +0 -2
  448. package/dist/services/implementation/resolver.js +0 -223
  449. package/dist/services/index.js +0 -53
  450. package/dist/services/integrity-diagram.js +0 -274
  451. package/dist/services/integrity.js +0 -272
  452. package/dist/services/list.js +0 -35
  453. package/dist/services/openapi/export-service.js +0 -51
  454. package/dist/services/openapi/import-service.js +0 -75
  455. package/dist/services/openapi/index.js +0 -4
  456. package/dist/services/openapi/sync-service.js +0 -121
  457. package/dist/services/openapi/validate-service.js +0 -130
  458. package/dist/services/regenerator.js +0 -23
  459. package/dist/services/registry.js +0 -73
  460. package/dist/services/setup/config-generators.js +0 -237
  461. package/dist/services/setup/file-merger.js +0 -60
  462. package/dist/services/setup/index.js +0 -4
  463. package/dist/services/setup/setup-service.js +0 -95
  464. package/dist/services/setup/targets/agents-md.js +0 -46
  465. package/dist/services/setup/targets/cli-config.js +0 -59
  466. package/dist/services/setup/targets/cursor-rules.js +0 -47
  467. package/dist/services/setup/targets/mcp-claude.js +0 -59
  468. package/dist/services/setup/targets/mcp-cursor.js +0 -58
  469. package/dist/services/setup/targets/vscode-settings.js +0 -62
  470. package/dist/services/setup/types.js +0 -26
  471. package/dist/services/sync.js +0 -62
  472. package/dist/services/test.js +0 -30
  473. package/dist/services/validate-implementation.js +0 -69
  474. package/dist/services/validate.js +0 -47
  475. package/dist/services/verification-cache/adapters/filesystem.js +0 -121
  476. package/dist/services/verification-cache/adapters/in-memory.js +0 -45
  477. package/dist/services/verification-cache/adapters/index.js +0 -3
  478. package/dist/services/verification-cache/adapters/workspace-state.js +0 -90
  479. package/dist/services/verification-cache/cache-service.js +0 -255
  480. package/dist/services/verification-cache/index.js +0 -6
  481. package/dist/services/verification-cache/types.js +0 -15
  482. package/dist/services/verify/ai-verifier.js +0 -403
  483. package/dist/services/verify/behavior-verifier.js +0 -185
  484. package/dist/services/verify/index.js +0 -4
  485. package/dist/services/verify/structure-verifier.js +0 -195
  486. package/dist/services/verify/verify-service.js +0 -203
  487. package/dist/services/watch.js +0 -31
  488. package/dist/services/workspace-info.js +0 -102
  489. package/dist/templates/app-config.template.js +0 -106
  490. package/dist/templates/data-view.template.js +0 -69
  491. package/dist/templates/event.template.js +0 -39
  492. package/dist/templates/experiment.template.js +0 -88
  493. package/dist/templates/handler.template.js +0 -99
  494. package/dist/templates/index.js +0 -36
  495. package/dist/templates/integration.template.js +0 -159
  496. package/dist/templates/knowledge.template.js +0 -74
  497. package/dist/templates/migration.template.js +0 -61
  498. package/dist/templates/operation.template.js +0 -104
  499. package/dist/templates/presentation.template.js +0 -79
  500. package/dist/templates/telemetry.template.js +0 -90
  501. package/dist/templates/workflow-runner.template.js +0 -49
  502. package/dist/templates/workflow.template.js +0 -68
@@ -1,159 +0,0 @@
1
- //#region src/templates/integration.template.ts
2
- function generateIntegrationSpec(data) {
3
- const specName = toPascalCase(data.name.split(".").pop() ?? "Integration");
4
- const varName = `${specName}IntegrationSpec`;
5
- const registerFn = `register${specName}Integration`;
6
- const supportedModes = data.supportedModes.length ? data.supportedModes : ["managed"];
7
- const supportedModesLine = supportedModes.map((mode) => `'${mode}'`).join(", ");
8
- const provides = data.capabilitiesProvided.map((cap) => ` { key: '${cap.key}', version: ${cap.version} }`).join(",\n");
9
- const requires = data.capabilitiesRequired.length > 0 ? ` requires: [
10
- ${data.capabilitiesRequired.map((req) => {
11
- const version = typeof req.version === "number" ? `, version: ${req.version}` : "";
12
- const optional = req.optional ? ", optional: true" : "";
13
- const reason = req.reason ? `, reason: '${escape(req.reason)}'` : "";
14
- return ` { key: '${req.key}'${version}${optional}${reason} }`;
15
- }).join(",\n")}
16
- ],` : "";
17
- const configSchema = renderConfigSchema(data.configFields);
18
- const configExample = renderConfigExample(data.configFields);
19
- const secretSchema = renderSecretSchema(data.secretFields);
20
- const secretExample = renderSecretExample(data.secretFields);
21
- const docsUrl = data.docsUrl ? ` docsUrl: '${escape(data.docsUrl)}',\n` : "";
22
- const constraints = renderConstraints(data.rateLimitRpm, data.rateLimitRph);
23
- const byokSetup = renderByokSetup(supportedModes, data.byokSetupInstructions, data.byokRequiredScopes);
24
- return `import { StabilityEnum } from '@lssm/lib.contracts/ownership';
25
- import type { IntegrationSpec } from '@lssm/lib.contracts/integrations/spec';
26
- import type { IntegrationSpecRegistry } from '@lssm/lib.contracts/integrations/spec';
27
-
28
- export const ${varName}: IntegrationSpec = {
29
- meta: {
30
- key: '${data.name}',
31
- version: ${data.version},
32
- category: '${data.category}',
33
- displayName: '${escape(data.displayName)}',
34
- title: '${escape(data.title)}',
35
- description: '${escape(data.description)}',
36
- domain: '${escape(data.domain)}',
37
- owners: [${data.owners.map((owner) => `'${escape(owner)}'`).join(", ")}],
38
- tags: [${data.tags.map((tag) => `'${escape(tag)}'`).join(", ")}],
39
- stability: StabilityEnum.${stabilityToEnum(data.stability)},
40
- },
41
- supportedModes: [${supportedModesLine}],
42
- capabilities: {
43
- provides: [
44
- ${provides}
45
- ],
46
- ${requires.length > 0 ? `${requires}\n` : ""} },
47
- configSchema: {
48
- ${configSchema}
49
- example: ${configExample},
50
- },
51
- secretSchema: {
52
- ${secretSchema}
53
- example: ${secretExample},
54
- },
55
- ${docsUrl}${constraints}${byokSetup} healthCheck: {
56
- method: '${data.healthCheckMethod}',
57
- timeoutMs: ${data.healthCheckTimeoutMs},
58
- },
59
- };
60
-
61
- export function ${registerFn}(
62
- registry: IntegrationSpecRegistry
63
- ): IntegrationSpecRegistry {
64
- return registry.register(${varName});
65
- }
66
- `;
67
- }
68
- function renderConfigSchema(fields) {
69
- const requiredFields = fields.filter((field) => field.required);
70
- return ` schema: {
71
- type: 'object',
72
- ${requiredFields.length > 0 ? ` required: [${requiredFields.map((field) => `'${field.key}'`).join(", ")}],
73
- ` : ""} properties: {
74
- ${(fields.length ? fields.map((field) => {
75
- const description = field.description ? `, description: '${escape(field.description)}'` : "";
76
- return ` ${field.key}: { type: '${mapConfigType(field.type)}'${description} }`;
77
- }).join(",\n") : "") || " "}
78
- },
79
- },\n`;
80
- }
81
- function renderSecretSchema(fields) {
82
- const requiredFields = fields.filter((field) => field.required);
83
- return ` schema: {
84
- type: 'object',
85
- ${requiredFields.length > 0 ? ` required: [${requiredFields.map((field) => `'${field.key}'`).join(", ")}],
86
- ` : ""} properties: {
87
- ${(fields.length ? fields.map((field) => {
88
- const description = field.description ? `, description: '${escape(field.description)}'` : "";
89
- return ` ${field.key}: { type: 'string'${description} }`;
90
- }).join(",\n") : "") || " "}
91
- },
92
- },\n`;
93
- }
94
- function renderConfigExample(fields) {
95
- if (fields.length === 0) return `{}`;
96
- return `{
97
- ${fields.map((field) => {
98
- switch (field.type) {
99
- case "number": return ` ${field.key}: 0`;
100
- case "boolean": return ` ${field.key}: true`;
101
- case "string":
102
- default: return ` ${field.key}: '${field.key.toUpperCase()}_VALUE'`;
103
- }
104
- }).join(",\n")}
105
- }`;
106
- }
107
- function renderSecretExample(fields) {
108
- if (fields.length === 0) return `{}`;
109
- return `{
110
- ${fields.map((field) => ` ${field.key}: '${field.key.toUpperCase()}_SECRET'`).join(",\n")}
111
- }`;
112
- }
113
- function renderConstraints(rpm, rph) {
114
- if (rpm == null && rph == null) return "";
115
- const entries = [];
116
- if (rpm != null) entries.push(` rpm: ${rpm}`);
117
- if (rph != null) entries.push(` rph: ${rph}`);
118
- return ` constraints: {
119
- rateLimit: {
120
- ${entries.join(",\n")}
121
- },
122
- },
123
- `;
124
- }
125
- function renderByokSetup(modes, instructions, scopes) {
126
- if (!modes.includes("byok")) return "";
127
- const instructionsLine = instructions ? ` setupInstructions: '${escape(instructions)}',\n` : "";
128
- const scopesLine = scopes && scopes.length ? ` requiredScopes: [${scopes.map((scope) => `'${escape(scope)}'`).join(", ")}],\n` : "";
129
- if (!instructionsLine && !scopesLine) return "";
130
- return ` byokSetup: {
131
- ${instructionsLine}${scopesLine} },
132
- `;
133
- }
134
- function mapConfigType(type) {
135
- switch (type) {
136
- case "number": return "number";
137
- case "boolean": return "boolean";
138
- case "string":
139
- default: return "string";
140
- }
141
- }
142
- function stabilityToEnum(stability) {
143
- switch (stability) {
144
- case "beta": return "Beta";
145
- case "stable": return "Stable";
146
- case "deprecated": return "Deprecated";
147
- case "experimental":
148
- default: return "Experimental";
149
- }
150
- }
151
- function toPascalCase(value) {
152
- return value.split(/[-_.]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
153
- }
154
- function escape(value) {
155
- return value.replace(/`/g, "\\`").replace(/'/g, "\\'");
156
- }
157
-
158
- //#endregion
159
- export { generateIntegrationSpec };
@@ -1,74 +0,0 @@
1
- //#region src/templates/knowledge.template.ts
2
- function generateKnowledgeSpaceSpec(data) {
3
- const specName = toPascalCase(data.name.split(".").pop() ?? "KnowledgeSpace");
4
- const varName = `${specName}KnowledgeSpace`;
5
- const registerFn = `register${specName}KnowledgeSpace`;
6
- const retention = renderRetention(data);
7
- const access = renderAccess(data);
8
- const indexing = renderIndexing(data);
9
- const policyComment = data.policyName && !data.policyVersion ? ` // defaults to latest version` : "";
10
- return `import { StabilityEnum } from '@lssm/lib.contracts/ownership';
11
- import type { KnowledgeSpaceSpec } from '@lssm/lib.contracts/knowledge/spec';
12
- import type { KnowledgeSpaceRegistry } from '@lssm/lib.contracts/knowledge/spec';
13
-
14
- export const ${varName}: KnowledgeSpaceSpec = {
15
- meta: {
16
- key: '${data.name}',
17
- version: ${data.version},
18
- category: '${data.category}',
19
- displayName: '${escape(data.displayName)}',
20
- title: '${escape(data.title)}',
21
- description: '${escape(data.description)}',
22
- domain: '${escape(data.domain)}',
23
- owners: [${data.owners.map((owner) => `'${escape(owner)}'`).join(", ")}],
24
- tags: [${data.tags.map((tag) => `'${escape(tag)}'`).join(", ")}],
25
- stability: StabilityEnum.${stabilityToEnum(data.stability)},
26
- },
27
- retention: ${retention},
28
- access: {
29
- ${access}${data.policyName ? ` policy: { name: '${data.policyName}',${data.policyVersion ? ` version: ${data.policyVersion}` : ""} },${policyComment}\n` : ""} },
30
- ${indexing} description: '${escape(data.description || data.displayName)}',
31
- };
32
-
33
- export function ${registerFn}(
34
- registry: KnowledgeSpaceRegistry
35
- ): KnowledgeSpaceRegistry {
36
- return registry.register(${varName});
37
- }
38
- `;
39
- }
40
- function renderRetention(data) {
41
- return `{ ttlDays: ${data.retention.ttlDays === null ? "null" : typeof data.retention.ttlDays === "number" ? String(data.retention.ttlDays) : "null"}${typeof data.retention.archiveAfterDays === "number" ? `, archiveAfterDays: ${data.retention.archiveAfterDays}` : ""} }`;
42
- }
43
- function renderAccess(data) {
44
- return `${` trustLevel: '${data.trustLevel}',\n`}${` automationWritable: ${data.automationWritable},\n`}`;
45
- }
46
- function renderIndexing(data) {
47
- const entries = [];
48
- if (data.embeddingModel) entries.push(` embeddingModel: '${escape(data.embeddingModel)}'`);
49
- if (typeof data.chunkSize === "number") entries.push(` chunkSize: ${data.chunkSize}`);
50
- if (data.vectorDbIntegration) entries.push(` vectorDbIntegration: '${escape(data.vectorDbIntegration)}'`);
51
- if (entries.length === 0) return "";
52
- return ` indexing: {
53
- ${entries.join(",\n")}
54
- },
55
- `;
56
- }
57
- function stabilityToEnum(stability) {
58
- switch (stability) {
59
- case "beta": return "Beta";
60
- case "stable": return "Stable";
61
- case "deprecated": return "Deprecated";
62
- case "experimental":
63
- default: return "Experimental";
64
- }
65
- }
66
- function toPascalCase(value) {
67
- return value.split(/[-_.]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
68
- }
69
- function escape(value) {
70
- return value.replace(/`/g, "\\`").replace(/'/g, "\\'");
71
- }
72
-
73
- //#endregion
74
- export { generateKnowledgeSpaceSpec };
@@ -1,61 +0,0 @@
1
- //#region src/templates/migration.template.ts
2
- function generateMigrationSpec(data) {
3
- const migrationVar = `${toPascalCase(data.name.split(".").pop() ?? "Migration")}Migration`;
4
- const dependencies = data.dependencies.length > 0 ? `dependencies: [${data.dependencies.map((dep) => `'${dep}'`).join(", ")}],` : "";
5
- return `import type { MigrationSpec } from '@lssm/lib.contracts/migrations';
6
-
7
- export const ${migrationVar}: MigrationSpec = {
8
- meta: {
9
- name: '${data.name}',
10
- version: ${data.version},
11
- title: '${escape(data.title)}',
12
- description: '${escape(data.description ?? "")}',
13
- domain: '${escape(data.domain)}',
14
- owners: [${data.owners.map((owner) => `'${owner}'`).join(", ")}],
15
- tags: [${data.tags.map((tag) => `'${tag}'`).join(", ")}],
16
- stability: '${data.stability}',
17
- },
18
- plan: {
19
- up: [
20
- ${renderSteps(data.up)}
21
- ],${data.down && data.down.length ? `
22
- down: [
23
- ${renderSteps(data.down)}
24
- ],` : ""}
25
- },
26
- ${dependencies}
27
- };
28
- `;
29
- }
30
- function renderSteps(steps) {
31
- return steps.map((step) => {
32
- const description = step.description ? `description: '${escape(step.description)}',` : "";
33
- switch (step.kind) {
34
- case "schema": return ` {
35
- kind: 'schema',
36
- ${description}
37
- sql: \`${escape(step.sql ?? "")}\`,
38
- }`;
39
- case "data": return ` {
40
- kind: 'data',
41
- ${description}
42
- script: \`${escape(step.script ?? "")}\`,
43
- }`;
44
- case "validation":
45
- default: return ` {
46
- kind: 'validation',
47
- ${description}
48
- assertion: \`${escape(step.assertion ?? "")}\`,
49
- }`;
50
- }
51
- }).join(",\n");
52
- }
53
- function toPascalCase(value) {
54
- return value.split(/[-_.]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
55
- }
56
- function escape(value) {
57
- return value.replace(/`/g, "\\`").replace(/'/g, "\\'");
58
- }
59
-
60
- //#endregion
61
- export { generateMigrationSpec };
@@ -1,104 +0,0 @@
1
- //#region src/templates/operation.template.ts
2
- /**
3
- * Generate operation spec TypeScript code
4
- */
5
- function generateOperationSpec(data) {
6
- const { name, version, kind, description, goal, context, stability, owners, tags, auth, flags } = data;
7
- const specVarName = toPascalCase(name.split(".").pop() || "Unknown") + "Spec";
8
- const inputSchemaName = specVarName.replace("Spec", "Input");
9
- const outputSchemaName = specVarName.replace("Spec", "Output");
10
- return `import { define${capitalize(kind)} } from '@lssm/lib.contracts';
11
- import { ScalarTypeEnum, SchemaModel } from '@lssm/lib.schema';
12
-
13
- // TODO: Define input schema
14
- export const ${inputSchemaName} = new SchemaModel({
15
- name: '${inputSchemaName}',
16
- description: 'Input for ${name}',
17
- fields: {
18
- // Add your fields here
19
- // example: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
20
- },
21
- });
22
-
23
- // TODO: Define output schema
24
- export const ${outputSchemaName} = new SchemaModel({
25
- name: '${outputSchemaName}',
26
- description: 'Output for ${name}',
27
- fields: {
28
- // Add your fields here
29
- ok: { type: ScalarTypeEnum.Boolean(), isOptional: false },
30
- },
31
- });
32
-
33
- export const ${specVarName} = define${capitalize(kind)}({
34
- meta: {
35
- name: '${name}',
36
- version: ${version},
37
- stability: '${stability}',
38
- owners: [${owners.map((o) => `'${o}'`).join(", ")}],
39
- tags: [${tags.map((t) => `'${t}'`).join(", ")}],
40
- description: '${description}',
41
- goal: '${goal}',
42
- context: '${context}',
43
- },
44
-
45
- io: {
46
- input: ${inputSchemaName},
47
- output: ${outputSchemaName},
48
- errors: {
49
- // Define possible errors
50
- // EXAMPLE_ERROR: {
51
- // description: 'Example error description',
52
- // http: 400,
53
- // when: 'When this error occurs',
54
- // },
55
- },
56
- },
57
-
58
- policy: {
59
- auth: '${auth}',
60
- ${flags.length > 0 ? `flags: [${flags.map((f) => `'${f}'`).join(", ")}],` : "// flags: [],"}
61
- },
62
-
63
- sideEffects: {
64
- ${data.emitsEvents ? "emits: [\n // Define events to emit\n // { ref: SomeEventSpec, when: 'always' }\n ]," : "// emits: [],"}
65
- analytics: [
66
- // Define analytics events
67
- ],
68
- },
69
-
70
- transport: {
71
- rest: { method: '${kind === "command" ? "POST" : "GET"}' },
72
- gql: { field: '${name.replace(/\./g, "_")}' },
73
- mcp: { toolName: '${name}.v${version}' },
74
- },
75
-
76
- acceptance: {
77
- scenarios: [
78
- {
79
- name: 'Happy path',
80
- given: ['preconditions'],
81
- when: ['action taken'],
82
- then: ['expected outcome'],
83
- },
84
- ],
85
- examples: [
86
- {
87
- name: 'Example usage',
88
- input: { /* example input */ },
89
- output: { ok: true },
90
- },
91
- ],
92
- },
93
- });
94
- `;
95
- }
96
- function capitalize(str) {
97
- return str.charAt(0).toUpperCase() + str.slice(1);
98
- }
99
- function toPascalCase(str) {
100
- return str.split(/[-_.]/).map(capitalize).join("");
101
- }
102
-
103
- //#endregion
104
- export { generateOperationSpec };
@@ -1,79 +0,0 @@
1
- //#region src/templates/presentation.template.ts
2
- /**
3
- * Generate presentation spec TypeScript code
4
- */
5
- function generatePresentationSpec(data) {
6
- const { name, version, description, stability, owners, tags, presentationKind } = data;
7
- const varName = toPascalCase(name.replace(/\./g, "_")) + "Presentation";
8
- let contentBlock = "";
9
- switch (presentationKind) {
10
- case "web_component":
11
- contentBlock = ` content: {
12
- kind: 'web_component',
13
- framework: 'react',
14
- componentKey: '${name.replace(/\./g, "_")}',
15
- props: new SchemaModel({
16
- name: '${varName}Props',
17
- description: 'Props for ${name}',
18
- fields: {
19
- // TODO: Define component props
20
- },
21
- }),
22
- analytics: [
23
- // TODO: Define analytics events
24
- ],
25
- },`;
26
- break;
27
- case "markdown":
28
- contentBlock = ` content: {
29
- kind: 'markdown',
30
- content: \`
31
- # ${description}
32
-
33
- TODO: Add markdown content here
34
- \`,
35
- // Or use resourceUri: 'feature://${name}/guide.md'
36
- },`;
37
- break;
38
- case "data":
39
- contentBlock = ` content: {
40
- kind: 'data',
41
- mimeType: 'application/json',
42
- model: new SchemaModel({
43
- name: '${varName}Data',
44
- description: 'Data structure for ${name}',
45
- fields: {
46
- // TODO: Define data structure
47
- },
48
- }),
49
- },`;
50
- break;
51
- }
52
- return `import type { PresentationSpec } from '@lssm/lib.contracts/presentations';
53
- import { SchemaModel, ScalarTypeEnum } from '@lssm/lib.schema';
54
-
55
- export const ${varName}: PresentationSpec = {
56
- meta: {
57
- name: '${name}',
58
- version: ${version},
59
- stability: '${stability}',
60
- owners: [${owners.map((o) => `'${o}'`).join(", ")}],
61
- tags: [${tags.map((t) => `'${t}'`).join(", ")}],
62
- description: '${description}',
63
- },
64
-
65
- policy: {
66
- // flags: [],
67
- // pii: [],
68
- },
69
-
70
- ${contentBlock}
71
- };
72
- `;
73
- }
74
- function toPascalCase(str) {
75
- return str.split(/[-_.]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join("");
76
- }
77
-
78
- //#endregion
79
- export { generatePresentationSpec };
@@ -1,90 +0,0 @@
1
- //#region src/templates/telemetry.template.ts
2
- function generateTelemetrySpec(data) {
3
- const specVar = toPascalCase(data.name.split(".").pop() ?? "Telemetry") + "Telemetry";
4
- const providers = data.providers?.length ? `providers: [
5
- ${data.providers.map((provider) => ` {
6
- type: '${provider.type}',
7
- config: ${formatConfigValue(provider.config)},
8
- }`).join(",\n")}
9
- ],` : "";
10
- const events = data.events.map((event) => {
11
- const properties = event.properties.map((prop) => ` '${prop.name}': {
12
- type: '${prop.type}',
13
- ${prop.required ? "required: true," : ""}
14
- ${prop.pii ? "pii: true," : ""}
15
- ${prop.redact ? "redact: true," : ""}
16
- ${prop.description ? `description: '${escapeString(prop.description)}',` : ""}
17
- }`).join(",\n");
18
- const anomalyRules = event.anomalyRules?.length ? ` anomalyDetection: {
19
- enabled: true,
20
- ${typeof event.anomalyMinimumSample === "number" ? `minimumSample: ${event.anomalyMinimumSample},` : ""}
21
- thresholds: [
22
- ${event.anomalyRules.map((rule) => ` {
23
- metric: '${escapeString(rule.metric)}',
24
- ${typeof rule.min === "number" ? `min: ${rule.min},` : ""}
25
- ${typeof rule.max === "number" ? `max: ${rule.max},` : ""}
26
- }`).join(",\n")}
27
- ],
28
- actions: [${(event.anomalyActions ?? []).map((action) => `'${action}'`).join(", ")}],
29
- },` : event.anomalyEnabled ? ` anomalyDetection: {
30
- enabled: true,
31
- ${typeof event.anomalyMinimumSample === "number" ? `minimumSample: ${event.anomalyMinimumSample},` : ""}
32
- },` : "";
33
- return ` {
34
- name: '${escapeString(event.name)}',
35
- version: ${event.version},
36
- semantics: {
37
- what: '${escapeString(event.what)}',
38
- ${event.who ? `who: '${escapeString(event.who)}',` : ""}
39
- ${event.why ? `why: '${escapeString(event.why)}',` : ""}
40
- },
41
- privacy: '${event.privacy}',
42
- properties: {
43
- ${properties}
44
- },
45
- ${typeof event.retentionDays === "number" ? `retention: { days: ${event.retentionDays}, ${event.retentionPolicy ? `policy: '${event.retentionPolicy}'` : ""} },` : ""}
46
- ${typeof event.samplingRate === "number" ? `sampling: { rate: ${event.samplingRate}${event.samplingConditions ? `, conditions: ['${escapeString(event.samplingConditions)}']` : ""} },` : ""}
47
- ${anomalyRules}
48
- ${event.tags?.length ? `tags: [${event.tags.map((tag) => `'${escapeString(tag)}'`).join(", ")}],` : ""}
49
- }`;
50
- }).join(",\n");
51
- return `import type { TelemetrySpec } from '@lssm/lib.contracts/telemetry';
52
-
53
- export const ${specVar}: TelemetrySpec = {
54
- meta: {
55
- name: '${escapeString(data.name)}',
56
- version: ${data.version},
57
- title: '${escapeString(data.name)} telemetry',
58
- description: '${escapeString(data.description || "Describe the purpose of this telemetry spec.")}',
59
- domain: '${escapeString(data.domain)}',
60
- owners: [${data.owners.map((owner) => `'${escapeString(owner)}'`).join(", ")}],
61
- tags: [${data.tags.map((tag) => `'${escapeString(tag)}'`).join(", ")}],
62
- stability: '${data.stability}',
63
- },
64
- config: {
65
- ${typeof data.defaultRetentionDays === "number" ? `defaultRetentionDays: ${data.defaultRetentionDays},` : ""}
66
- ${typeof data.defaultSamplingRate === "number" ? `defaultSamplingRate: ${data.defaultSamplingRate},` : ""}
67
- ${data.anomalyEnabled ? `anomalyDetection: { enabled: true${typeof data.anomalyCheckIntervalMs === "number" ? `, checkIntervalMs: ${data.anomalyCheckIntervalMs}` : ""} },` : ""}
68
- ${providers}
69
- },
70
- events: [
71
- ${events}
72
- ],
73
- };
74
- `;
75
- }
76
- function toPascalCase(value) {
77
- return value.split(/[-_.]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
78
- }
79
- function escapeString(value) {
80
- return value.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
81
- }
82
- function formatConfigValue(value) {
83
- const trimmed = value.trim();
84
- if (!trimmed) return "{}";
85
- if (trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]")) return trimmed;
86
- return `'${escapeString(trimmed)}'`;
87
- }
88
-
89
- //#endregion
90
- export { generateTelemetrySpec };
@@ -1,49 +0,0 @@
1
- //#region src/templates/workflow-runner.template.ts
2
- function generateWorkflowRunnerTemplate({ exportName, specImportPath, runnerName, workflowName }) {
3
- return `import {
4
- InMemoryStateStore,
5
- WorkflowRegistry,
6
- WorkflowRunner,
7
- } from '@lssm/lib.contracts/workflow';
8
- import { ${exportName} } from '${specImportPath}';
9
-
10
- /**
11
- * Runner wiring for ${workflowName}.
12
- *
13
- * TODO:
14
- * - Replace the in-memory state store with a persistent adapter if needed.
15
- * - Implement opExecutor to invoke the correct contract handlers.
16
- * - Wire eventEmitter to analytics/telemetry sinks.
17
- */
18
- const registry = new WorkflowRegistry();
19
- registry.register(${exportName});
20
-
21
- const stateStore = new InMemoryStateStore();
22
-
23
- export const ${runnerName} = new WorkflowRunner({
24
- registry,
25
- stateStore,
26
- opExecutor: async (operation, input, ctx) => {
27
- // TODO: route to the appropriate contract handler
28
- // Example: return contractRegistry.execute(operation.name, operation.version, input, ctx);
29
- throw new Error(
30
- \`opExecutor for \${operation.name}.v\${operation.version} is not implemented\`
31
- );
32
- },
33
- // appConfigProvider: async (state) => {
34
- // // TODO: return the ResolvedAppConfig for this workflow run (tenant/environment)
35
- // return undefined;
36
- // },
37
- // enforceCapabilities: async (operation, context) => {
38
- // // TODO: ensure required capabilities are satisfied using context.integrations/context.resolvedAppConfig
39
- // },
40
- eventEmitter: (event, payload) => {
41
- // TODO: forward workflow events to telemetry or logging sinks
42
- // console.log(event, payload);
43
- },
44
- });
45
- `;
46
- }
47
-
48
- //#endregion
49
- export { generateWorkflowRunnerTemplate };
@@ -1,68 +0,0 @@
1
- //#region src/templates/workflow.template.ts
2
- function generateWorkflowSpec(data) {
3
- const specVarName = toPascalCase(data.name.split(".").pop() ?? "Workflow") + "Workflow";
4
- const stepsCode = data.steps.map((step) => formatStep(step)).join(",\n");
5
- const transitionsCode = data.transitions.map((transition) => ` {
6
- from: '${transition.from}',
7
- to: '${transition.to}',
8
- ${transition.condition ? ` condition: '${escapeString(transition.condition)}',` : ""}
9
- }`).join(",\n");
10
- return `import type { WorkflowSpec } from '@lssm/lib.contracts/workflow';
11
-
12
- /**
13
- * Workflow generated via contractspec CLI.
14
- * TODO:
15
- * - Review step definitions and descriptions.
16
- * - Wire automation steps to actual operations.
17
- * - Provide form renderers for human steps.
18
- * - Add guards/conditions as needed.
19
- */
20
- export const ${specVarName}: WorkflowSpec = {
21
- meta: {
22
- name: '${data.name}',
23
- version: ${data.version},
24
- title: '${escapeString(data.title)}',
25
- description: '${escapeString(data.description)}',
26
- domain: '${escapeString(data.domain)}',
27
- stability: '${data.stability}',
28
- owners: [${data.owners.map((owner) => `'${owner}'`).join(", ")}],
29
- tags: [${data.tags.map((tag) => `'${tag}'`).join(", ")}],
30
- },
31
- definition: {
32
- ${data.entryStepId ? ` entryStepId: '${data.entryStepId}',\n` : ""} steps: [
33
- ${stepsCode}
34
- ],
35
- transitions: [
36
- ${transitionsCode}
37
- ],
38
- },
39
- ${data.policyFlags.length > 0 ? `policy: {
40
- flags: [${data.policyFlags.map((flag) => `'${flag}'`).join(", ")}],
41
- },` : "// policy: { flags: [] },"}
42
- };
43
- `;
44
- }
45
- function formatStep(step) {
46
- const lines = [
47
- ` {`,
48
- ` id: '${step.id}',`,
49
- ` type: '${step.type}',`,
50
- ` label: '${escapeString(step.label)}',`
51
- ];
52
- if (step.description) lines.push(` description: '${escapeString(step.description)}',`);
53
- const actionLines = [];
54
- if (step.operation) actionLines.push(`operation: { name: '${step.operation.name}', version: ${step.operation.version} }`);
55
- if (step.form) actionLines.push(`form: { key: '${step.form.key}', version: ${step.form.version} }`);
56
- if (actionLines.length) lines.push(` action: { ${actionLines.join(", ")} },`);
57
- lines.push(` }`);
58
- return lines.join("\n");
59
- }
60
- function toPascalCase(value) {
61
- return value.split(/[-_.]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
62
- }
63
- function escapeString(value) {
64
- return value.replace(/'/g, "\\'");
65
- }
66
-
67
- //#endregion
68
- export { generateWorkflowSpec };