@specverse/engine-realize 3.5.3

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 (420) hide show
  1. package/assets/examples/09-api/ai-spec.yaml +194 -0
  2. package/assets/examples/09-api/converted.yaml +95 -0
  3. package/assets/examples/09-api/diagram-architecture.mmd +10 -0
  4. package/assets/examples/09-api/diagram-er.mmd +10 -0
  5. package/assets/examples/09-api/documentation.html +104 -0
  6. package/assets/examples/09-api/documentation.md +95 -0
  7. package/assets/examples/09-api/inferred-spec.yaml +420 -0
  8. package/assets/examples/09-api/openapi.json +61 -0
  9. package/assets/examples/10-api/README.md +216 -0
  10. package/assets/examples/10-api/ai-spec.yaml +194 -0
  11. package/assets/examples/10-api/converted.yaml +96 -0
  12. package/assets/examples/10-api/diagram-architecture.mmd +10 -0
  13. package/assets/examples/10-api/diagram-er.mmd +10 -0
  14. package/assets/examples/10-api/documentation.html +104 -0
  15. package/assets/examples/10-api/documentation.md +95 -0
  16. package/assets/examples/10-api/inferred-spec.yaml +7 -0
  17. package/assets/examples/10-api/metadata.yaml +89 -0
  18. package/assets/examples/10-api/openapi.json +61 -0
  19. package/assets/examples/10-api/package-integration-test.js +177 -0
  20. package/assets/examples/10-api/usage-example.js +323 -0
  21. package/assets/examples/10-api/usage-example.ts +363 -0
  22. package/assets/examples/10-api/workflow-test.js +113 -0
  23. package/assets/examples/manifests/01-simple-default-mappings.yaml +36 -0
  24. package/assets/examples/manifests/02-capability-mappings.yaml +55 -0
  25. package/assets/examples/manifests/03-hybrid-mappings.yaml +109 -0
  26. package/assets/examples/manifests/README.md +245 -0
  27. package/assets/examples/manifests/backend-only.yaml +43 -0
  28. package/assets/examples/manifests/blog-api.md +78 -0
  29. package/assets/examples/manifests/blog-api.specly +79 -0
  30. package/assets/examples/manifests/frontend-only.yaml +27 -0
  31. package/assets/examples/manifests/fullstack-app.yaml +44 -0
  32. package/assets/examples/manifests/fullstack-monorepo.yaml +62 -0
  33. package/assets/examples/validate-examples-with-expected-failures.cjs +328 -0
  34. package/assets/examples/validate-examples.cjs +225 -0
  35. package/assets/examples-decomposed/cloud-native-manifest.example.yaml +8 -0
  36. package/assets/examples-decomposed/cloud-native-manifest.md +379 -0
  37. package/assets/examples-decomposed/cloud-native-manifest.specly +60 -0
  38. package/assets/examples-decomposed/docker-compose-manifest.example.yaml +8 -0
  39. package/assets/examples-decomposed/docker-compose-manifest.md +326 -0
  40. package/assets/examples-decomposed/docker-compose-manifest.specly +40 -0
  41. package/assets/examples-decomposed/kubernetes-deployment-manifest.example.yaml +8 -0
  42. package/assets/examples-decomposed/kubernetes-deployment-manifest.md +237 -0
  43. package/assets/examples-decomposed/kubernetes-deployment-manifest.specly +41 -0
  44. package/assets/templates/README.md +559 -0
  45. package/assets/templates/TEMPLATE-ENHANCEMENTS-V33.md +462 -0
  46. package/assets/templates/backend-only/CLAUDE.md +73 -0
  47. package/assets/templates/backend-only/README.md +197 -0
  48. package/assets/templates/backend-only/deployments/README.md +149 -0
  49. package/assets/templates/backend-only/deployments/development.specly +53 -0
  50. package/assets/templates/backend-only/deployments/production.specly +87 -0
  51. package/assets/templates/backend-only/docs/README.md +50 -0
  52. package/assets/templates/backend-only/docs/api/README.md +7 -0
  53. package/assets/templates/backend-only/docs/diagrams/README.md +85 -0
  54. package/assets/templates/backend-only/docs/example-documentation-template.md +269 -0
  55. package/assets/templates/backend-only/docs/guides/README.md +15 -0
  56. package/assets/templates/backend-only/dot.env.example +18 -0
  57. package/assets/templates/backend-only/generated/README.md +56 -0
  58. package/assets/templates/backend-only/generated/code/integration-test.template.js +320 -0
  59. package/assets/templates/backend-only/generated/code/package.json.template +34 -0
  60. package/assets/templates/backend-only/generated/docs/README.md +49 -0
  61. package/assets/templates/backend-only/gitignore +54 -0
  62. package/assets/templates/backend-only/manifests/README.md +72 -0
  63. package/assets/templates/backend-only/manifests/docker-compose.specly +91 -0
  64. package/assets/templates/backend-only/manifests/implementation.yaml +100 -0
  65. package/assets/templates/backend-only/manifests/kubernetes.specly +140 -0
  66. package/assets/templates/backend-only/package.json +59 -0
  67. package/assets/templates/backend-only/scripts/test-all.sh +160 -0
  68. package/assets/templates/backend-only/scripts/test-generated-code.sh +165 -0
  69. package/assets/templates/backend-only/specs/main.specly +67 -0
  70. package/assets/templates/default/CLAUDE.md +141 -0
  71. package/assets/templates/default/README.md +404 -0
  72. package/assets/templates/default/deployments/README.md +149 -0
  73. package/assets/templates/default/deployments/development.specly +53 -0
  74. package/assets/templates/default/deployments/production.specly +87 -0
  75. package/assets/templates/default/docs/README.md +50 -0
  76. package/assets/templates/default/docs/api/README.md +7 -0
  77. package/assets/templates/default/docs/diagrams/README.md +85 -0
  78. package/assets/templates/default/docs/example-documentation-template.md +269 -0
  79. package/assets/templates/default/docs/guides/README.md +15 -0
  80. package/assets/templates/default/dot.env.example +18 -0
  81. package/assets/templates/default/generated/README.md +56 -0
  82. package/assets/templates/default/generated/code/integration-test.template.js +320 -0
  83. package/assets/templates/default/generated/code/package.json.template +34 -0
  84. package/assets/templates/default/generated/docs/README.md +49 -0
  85. package/assets/templates/default/gitignore +54 -0
  86. package/assets/templates/default/manifests/README.md +72 -0
  87. package/assets/templates/default/manifests/docker-compose.specly +91 -0
  88. package/assets/templates/default/manifests/implementation.yaml +176 -0
  89. package/assets/templates/default/manifests/kubernetes.specly +140 -0
  90. package/assets/templates/default/package.json +61 -0
  91. package/assets/templates/default/scripts/test-all.sh +160 -0
  92. package/assets/templates/default/scripts/test-generated-code.sh +165 -0
  93. package/assets/templates/default/specs/main.specly +67 -0
  94. package/assets/templates/frontend-only/CLAUDE.md +75 -0
  95. package/assets/templates/frontend-only/README.md +231 -0
  96. package/assets/templates/frontend-only/deployments/README.md +149 -0
  97. package/assets/templates/frontend-only/deployments/development.specly +53 -0
  98. package/assets/templates/frontend-only/deployments/production.specly +87 -0
  99. package/assets/templates/frontend-only/docs/README.md +50 -0
  100. package/assets/templates/frontend-only/docs/api/README.md +7 -0
  101. package/assets/templates/frontend-only/docs/diagrams/README.md +85 -0
  102. package/assets/templates/frontend-only/docs/example-documentation-template.md +269 -0
  103. package/assets/templates/frontend-only/docs/guides/README.md +15 -0
  104. package/assets/templates/frontend-only/dot.env.example +18 -0
  105. package/assets/templates/frontend-only/generated/README.md +56 -0
  106. package/assets/templates/frontend-only/generated/code/integration-test.template.js +320 -0
  107. package/assets/templates/frontend-only/generated/code/package.json.template +34 -0
  108. package/assets/templates/frontend-only/generated/docs/README.md +49 -0
  109. package/assets/templates/frontend-only/gitignore +54 -0
  110. package/assets/templates/frontend-only/manifests/README.md +72 -0
  111. package/assets/templates/frontend-only/manifests/docker-compose.specly +91 -0
  112. package/assets/templates/frontend-only/manifests/implementation.yaml +58 -0
  113. package/assets/templates/frontend-only/manifests/kubernetes.specly +140 -0
  114. package/assets/templates/frontend-only/package.json +59 -0
  115. package/assets/templates/frontend-only/scripts/test-all.sh +160 -0
  116. package/assets/templates/frontend-only/scripts/test-generated-code.sh +165 -0
  117. package/assets/templates/frontend-only/specs/main.specly +57 -0
  118. package/assets/templates/full-stack/AI-GUIDE.md +60 -0
  119. package/assets/templates/full-stack/CLAUDE.md +141 -0
  120. package/assets/templates/full-stack/README.md +382 -0
  121. package/assets/templates/full-stack/archive/AI-GUIDE-legacy.md +392 -0
  122. package/assets/templates/full-stack/deployments/README.md +149 -0
  123. package/assets/templates/full-stack/deployments/development.specly +53 -0
  124. package/assets/templates/full-stack/deployments/production.specly +87 -0
  125. package/assets/templates/full-stack/docs/README.md +51 -0
  126. package/assets/templates/full-stack/docs/api/README.md +7 -0
  127. package/assets/templates/full-stack/docs/diagrams/README.md +85 -0
  128. package/assets/templates/full-stack/docs/example-documentation-template.md +269 -0
  129. package/assets/templates/full-stack/docs/guides/README.md +15 -0
  130. package/assets/templates/full-stack/generated/README.md +56 -0
  131. package/assets/templates/full-stack/generated/code/integration-test.template.js +320 -0
  132. package/assets/templates/full-stack/generated/code/package.json.template +34 -0
  133. package/assets/templates/full-stack/generated/docs/README.md +49 -0
  134. package/assets/templates/full-stack/gitignore +54 -0
  135. package/assets/templates/full-stack/manifests/README.md +72 -0
  136. package/assets/templates/full-stack/manifests/docker-compose.specly +91 -0
  137. package/assets/templates/full-stack/manifests/implementation.yaml +155 -0
  138. package/assets/templates/full-stack/manifests/kubernetes.specly +140 -0
  139. package/assets/templates/full-stack/package.json +45 -0
  140. package/assets/templates/full-stack/scripts/test-all.sh +160 -0
  141. package/assets/templates/full-stack/scripts/test-generated-code.sh +165 -0
  142. package/assets/templates/full-stack/specs/example-v33.specly +297 -0
  143. package/assets/templates/full-stack/specs/main-simple.specly +73 -0
  144. package/assets/templates/full-stack/specs/main.specly +408 -0
  145. package/dist/engines/code-generator.d.ts +86 -0
  146. package/dist/engines/code-generator.d.ts.map +1 -0
  147. package/dist/engines/code-generator.js +159 -0
  148. package/dist/engines/code-generator.js.map +1 -0
  149. package/dist/engines/engine-registry.d.ts +94 -0
  150. package/dist/engines/engine-registry.d.ts.map +1 -0
  151. package/dist/engines/engine-registry.js +163 -0
  152. package/dist/engines/engine-registry.js.map +1 -0
  153. package/dist/engines/index.d.ts +10 -0
  154. package/dist/engines/index.d.ts.map +1 -0
  155. package/dist/engines/index.js +12 -0
  156. package/dist/engines/index.js.map +1 -0
  157. package/dist/engines/typescript-engine.d.ts +74 -0
  158. package/dist/engines/typescript-engine.d.ts.map +1 -0
  159. package/dist/engines/typescript-engine.js +288 -0
  160. package/dist/engines/typescript-engine.js.map +1 -0
  161. package/dist/generators/index.d.ts +11 -0
  162. package/dist/generators/index.d.ts.map +1 -0
  163. package/dist/generators/index.js +11 -0
  164. package/dist/generators/index.js.map +1 -0
  165. package/dist/index.d.ts +48 -0
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +434 -0
  168. package/dist/index.js.map +1 -0
  169. package/dist/library/index.d.ts +12 -0
  170. package/dist/library/index.d.ts.map +1 -0
  171. package/dist/library/index.js +15 -0
  172. package/dist/library/index.js.map +1 -0
  173. package/dist/library/library.d.ts +132 -0
  174. package/dist/library/library.d.ts.map +1 -0
  175. package/dist/library/library.js +343 -0
  176. package/dist/library/library.js.map +1 -0
  177. package/dist/library/loader.d.ts +73 -0
  178. package/dist/library/loader.d.ts.map +1 -0
  179. package/dist/library/loader.js +150 -0
  180. package/dist/library/loader.js.map +1 -0
  181. package/dist/library/resolver.d.ts +104 -0
  182. package/dist/library/resolver.d.ts.map +1 -0
  183. package/dist/library/resolver.js +299 -0
  184. package/dist/library/resolver.js.map +1 -0
  185. package/dist/library/validator.d.ts +65 -0
  186. package/dist/library/validator.d.ts.map +1 -0
  187. package/dist/library/validator.js +203 -0
  188. package/dist/library/validator.js.map +1 -0
  189. package/dist/types/index.d.ts +7 -0
  190. package/dist/types/index.d.ts.map +1 -0
  191. package/dist/types/index.js +7 -0
  192. package/dist/types/index.js.map +1 -0
  193. package/dist/types/instance-factory.d.ts +289 -0
  194. package/dist/types/instance-factory.d.ts.map +1 -0
  195. package/dist/types/instance-factory.js +8 -0
  196. package/dist/types/instance-factory.js.map +1 -0
  197. package/dist/types/unified-mappings.d.ts +163 -0
  198. package/dist/types/unified-mappings.d.ts.map +1 -0
  199. package/dist/types/unified-mappings.js +110 -0
  200. package/dist/types/unified-mappings.js.map +1 -0
  201. package/dist/utils/ai-spec-loader.d.ts +77 -0
  202. package/dist/utils/ai-spec-loader.d.ts.map +1 -0
  203. package/dist/utils/ai-spec-loader.js +138 -0
  204. package/dist/utils/ai-spec-loader.js.map +1 -0
  205. package/dist/utils/index.d.ts +9 -0
  206. package/dist/utils/index.d.ts.map +1 -0
  207. package/dist/utils/index.js +9 -0
  208. package/dist/utils/index.js.map +1 -0
  209. package/dist/utils/manifest-loader.d.ts +107 -0
  210. package/dist/utils/manifest-loader.d.ts.map +1 -0
  211. package/dist/utils/manifest-loader.js +168 -0
  212. package/dist/utils/manifest-loader.js.map +1 -0
  213. package/dist/utils/mapping-migration.d.ts +53 -0
  214. package/dist/utils/mapping-migration.d.ts.map +1 -0
  215. package/dist/utils/mapping-migration.js +194 -0
  216. package/dist/utils/mapping-migration.js.map +1 -0
  217. package/libs/instance-factories/CURVED-INTERFACE.md +278 -0
  218. package/libs/instance-factories/README.md +433 -0
  219. package/libs/instance-factories/applications/generic-app.yaml +52 -0
  220. package/libs/instance-factories/applications/react-app.yaml +186 -0
  221. package/libs/instance-factories/applications/templates/generic/backend-env-generator.ts +31 -0
  222. package/libs/instance-factories/applications/templates/generic/backend-package-json-generator.ts +80 -0
  223. package/libs/instance-factories/applications/templates/generic/backend-tsconfig-generator.ts +69 -0
  224. package/libs/instance-factories/applications/templates/generic/main-generator.ts +308 -0
  225. package/libs/instance-factories/applications/templates/react/_view-components-source.ts +555 -0
  226. package/libs/instance-factories/applications/templates/react/api-client-generator.ts +436 -0
  227. package/libs/instance-factories/applications/templates/react/api-types-generator.ts +153 -0
  228. package/libs/instance-factories/applications/templates/react/app-tsx-generator.ts +94 -0
  229. package/libs/instance-factories/applications/templates/react/env-example-generator.ts +24 -0
  230. package/libs/instance-factories/applications/templates/react/field-helpers-generator.ts +106 -0
  231. package/libs/instance-factories/applications/templates/react/gitignore-generator.ts +38 -0
  232. package/libs/instance-factories/applications/templates/react/index-css-generator.ts +85 -0
  233. package/libs/instance-factories/applications/templates/react/index-html-generator.ts +30 -0
  234. package/libs/instance-factories/applications/templates/react/main-tsx-generator.ts +34 -0
  235. package/libs/instance-factories/applications/templates/react/package-json-generator.ts +54 -0
  236. package/libs/instance-factories/applications/templates/react/pattern-adapter-generator.ts +179 -0
  237. package/libs/instance-factories/applications/templates/react/react-pattern-adapter.tsx +1347 -0
  238. package/libs/instance-factories/applications/templates/react/relationship-field-generator.ts +150 -0
  239. package/libs/instance-factories/applications/templates/react/tailwind-adapter-generator.ts +704 -0
  240. package/libs/instance-factories/applications/templates/react/tailwind-adapter-wrapper-generator.ts +84 -0
  241. package/libs/instance-factories/applications/templates/react/tsconfig-generator.ts +35 -0
  242. package/libs/instance-factories/applications/templates/react/use-api-hooks-generator.ts +121 -0
  243. package/libs/instance-factories/applications/templates/react/view-dashboard-generator.ts +150 -0
  244. package/libs/instance-factories/applications/templates/react/view-detail-generator.ts +150 -0
  245. package/libs/instance-factories/applications/templates/react/view-form-generator.ts +362 -0
  246. package/libs/instance-factories/applications/templates/react/view-list-generator.ts +98 -0
  247. package/libs/instance-factories/applications/templates/react/view-router-generator.ts +89 -0
  248. package/libs/instance-factories/applications/templates/react/vite-config-generator.ts +49 -0
  249. package/libs/instance-factories/archived/fastify-prisma.yaml +104 -0
  250. package/libs/instance-factories/cli/commander-js.yaml +55 -0
  251. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.d.ts +12 -0
  252. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.d.ts.map +1 -0
  253. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.js +115 -0
  254. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.js.map +1 -0
  255. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.ts +145 -0
  256. package/libs/instance-factories/cli/templates/commander/command-generator.d.ts +14 -0
  257. package/libs/instance-factories/cli/templates/commander/command-generator.d.ts.map +1 -0
  258. package/libs/instance-factories/cli/templates/commander/command-generator.js +182 -0
  259. package/libs/instance-factories/cli/templates/commander/command-generator.js.map +1 -0
  260. package/libs/instance-factories/cli/templates/commander/command-generator.ts +992 -0
  261. package/libs/instance-factories/communication/event-emitter.yaml +56 -0
  262. package/libs/instance-factories/communication/rabbitmq-events.yaml +87 -0
  263. package/libs/instance-factories/communication/templates/eventemitter/bus-generator.ts +93 -0
  264. package/libs/instance-factories/communication/templates/eventemitter/publisher-generator.ts +117 -0
  265. package/libs/instance-factories/communication/templates/eventemitter/subscriber-generator.ts +101 -0
  266. package/libs/instance-factories/controllers/fastify.yaml +127 -0
  267. package/libs/instance-factories/controllers/templates/fastify/meta-routes-generator.ts +103 -0
  268. package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +389 -0
  269. package/libs/instance-factories/controllers/templates/fastify/server-generator.ts +76 -0
  270. package/libs/instance-factories/infrastructure/docker-k8s.yaml +61 -0
  271. package/libs/instance-factories/infrastructure/templates/docker-k8s/infrastructure-generator.ts +46 -0
  272. package/libs/instance-factories/orms/prisma.yaml +89 -0
  273. package/libs/instance-factories/orms/templates/prisma/schema-generator.ts +563 -0
  274. package/libs/instance-factories/orms/templates/prisma/services-generator.ts +408 -0
  275. package/libs/instance-factories/scaffolding/generic-scaffold.yaml +65 -0
  276. package/libs/instance-factories/scaffolding/templates/generic/env-example-generator.ts +73 -0
  277. package/libs/instance-factories/scaffolding/templates/generic/env-generator.ts +85 -0
  278. package/libs/instance-factories/scaffolding/templates/generic/gitignore-generator.ts +69 -0
  279. package/libs/instance-factories/scaffolding/templates/generic/package-json-generator.ts +176 -0
  280. package/libs/instance-factories/scaffolding/templates/generic/readme-generator.ts +207 -0
  281. package/libs/instance-factories/scaffolding/templates/generic/tsconfig-generator.ts +78 -0
  282. package/libs/instance-factories/scaffolding/templates/generic/tsconfig-react-generator.ts +41 -0
  283. package/libs/instance-factories/sdks/python-sdk.yaml +66 -0
  284. package/libs/instance-factories/sdks/templates/python/sdk-generator.ts +50 -0
  285. package/libs/instance-factories/sdks/templates/typescript/sdk-generator.ts +49 -0
  286. package/libs/instance-factories/sdks/typescript-sdk.yaml +59 -0
  287. package/libs/instance-factories/services/prisma-services.yaml +71 -0
  288. package/libs/instance-factories/services/templates/prisma/behavior-generator.ts +303 -0
  289. package/libs/instance-factories/services/templates/prisma/controller-generator.ts +532 -0
  290. package/libs/instance-factories/services/templates/prisma/service-generator.ts +315 -0
  291. package/libs/instance-factories/shared/path-resolver.ts +111 -0
  292. package/libs/instance-factories/storage/mongodb.yaml +79 -0
  293. package/libs/instance-factories/storage/postgresql.yaml +75 -0
  294. package/libs/instance-factories/storage/redis.yaml +79 -0
  295. package/libs/instance-factories/storage/templates/mongodb/config-generator.ts +15 -0
  296. package/libs/instance-factories/storage/templates/mongodb/docker-generator.ts +18 -0
  297. package/libs/instance-factories/storage/templates/postgresql/config-generator.ts +54 -0
  298. package/libs/instance-factories/storage/templates/postgresql/docker-generator.ts +55 -0
  299. package/libs/instance-factories/storage/templates/redis/config-generator.ts +16 -0
  300. package/libs/instance-factories/storage/templates/redis/docker-generator.ts +18 -0
  301. package/libs/instance-factories/test-generation.ts +192 -0
  302. package/libs/instance-factories/testing/templates/vitest/tests-generator.ts +51 -0
  303. package/libs/instance-factories/testing/vitest-tests.yaml +63 -0
  304. package/libs/instance-factories/tools/templates/mcp/mcp-server-generator.ts +136 -0
  305. package/libs/instance-factories/tools/templates/mcp/static/docs/DEPLOYMENT_GUIDE.md +630 -0
  306. package/libs/instance-factories/tools/templates/mcp/static/docs/HYBRID_RESOURCE_SYSTEM.md +330 -0
  307. package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/EXTENSION_DEPLOYMENT.md +552 -0
  308. package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/LOCAL_DEPLOYMENT.md +164 -0
  309. package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/WEB_DEPLOYMENT.md +247 -0
  310. package/libs/instance-factories/tools/templates/mcp/static/package.json +92 -0
  311. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-enterprise.js +284 -0
  312. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-extension.js +139 -0
  313. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-local.js +74 -0
  314. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-web.js +156 -0
  315. package/libs/instance-factories/tools/templates/mcp/static/scripts/copy-canonical-files.js +41 -0
  316. package/libs/instance-factories/tools/templates/mcp/static/scripts/test-deployments.js +259 -0
  317. package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-resources.js +231 -0
  318. package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-simple.js +196 -0
  319. package/libs/instance-factories/tools/templates/mcp/static/src/controllers/MCPServerController.ts +293 -0
  320. package/libs/instance-factories/tools/templates/mcp/static/src/events/EventEmitter.ts +90 -0
  321. package/libs/instance-factories/tools/templates/mcp/static/src/index.ts +24 -0
  322. package/libs/instance-factories/tools/templates/mcp/static/src/interfaces/ResourceProvider.ts +15 -0
  323. package/libs/instance-factories/tools/templates/mcp/static/src/models/LibrarySuggestion.ts +106 -0
  324. package/libs/instance-factories/tools/templates/mcp/static/src/models/SpecVerseResource.ts +75 -0
  325. package/libs/instance-factories/tools/templates/mcp/static/src/server/mcp-server.ts +239 -0
  326. package/libs/instance-factories/tools/templates/mcp/static/src/services/CLIProxyService.ts +1501 -0
  327. package/libs/instance-factories/tools/templates/mcp/static/src/services/EmbeddedResourcesAdapter.ts +211 -0
  328. package/libs/instance-factories/tools/templates/mcp/static/src/services/EntityModuleService.ts +308 -0
  329. package/libs/instance-factories/tools/templates/mcp/static/src/services/HybridResourcesProvider.ts +210 -0
  330. package/libs/instance-factories/tools/templates/mcp/static/src/services/LibraryToolsService.ts +356 -0
  331. package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorBridge.ts +524 -0
  332. package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorToolsService.ts +530 -0
  333. package/libs/instance-factories/tools/templates/mcp/static/src/services/PromptToolsService.ts +594 -0
  334. package/libs/instance-factories/tools/templates/mcp/static/src/services/ResourcesProviderService.ts +170 -0
  335. package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.init.test.ts +544 -0
  336. package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.test.ts +189 -0
  337. package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/ResourcesProviderService.test.ts +89 -0
  338. package/libs/instance-factories/tools/templates/mcp/static/src/types/index.ts +110 -0
  339. package/libs/instance-factories/tools/templates/mcp/static/tsconfig.json +28 -0
  340. package/libs/instance-factories/tools/templates/vscode/static/extension.ts +1195 -0
  341. package/libs/instance-factories/tools/templates/vscode/static/language-configuration.json +34 -0
  342. package/libs/instance-factories/tools/templates/vscode/static/schemas/specverse-v3-schema.json +4279 -0
  343. package/libs/instance-factories/tools/templates/vscode/static/syntaxes/specverse.tmLanguage.json +138 -0
  344. package/libs/instance-factories/tools/templates/vscode/static/themes/README.md +74 -0
  345. package/libs/instance-factories/tools/templates/vscode/static/themes/complete-specverse-colors.json +122 -0
  346. package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-basic-theme.json +65 -0
  347. package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-complete-theme.json +123 -0
  348. package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-theme-colors.json +64 -0
  349. package/libs/instance-factories/tools/templates/vscode/vscode-extension-generator.ts +214 -0
  350. package/libs/instance-factories/validation/templates/zod/validation-generator.ts +46 -0
  351. package/libs/instance-factories/validation/zod.yaml +56 -0
  352. package/libs/instance-factories/views/index.d.ts +13 -0
  353. package/libs/instance-factories/views/index.d.ts.map +1 -0
  354. package/libs/instance-factories/views/index.js +18 -0
  355. package/libs/instance-factories/views/index.js.map +1 -0
  356. package/libs/instance-factories/views/index.ts +45 -0
  357. package/libs/instance-factories/views/react-components.yaml +129 -0
  358. package/libs/instance-factories/views/templates/ARCHITECTURE.md +198 -0
  359. package/libs/instance-factories/views/templates/react/adapters/antd-adapter.ts +869 -0
  360. package/libs/instance-factories/views/templates/react/adapters/mui-adapter.ts +953 -0
  361. package/libs/instance-factories/views/templates/react/adapters/shadcn-adapter.ts +806 -0
  362. package/libs/instance-factories/views/templates/react/app-generator.ts +55 -0
  363. package/libs/instance-factories/views/templates/react/components-generator.ts +391 -0
  364. package/libs/instance-factories/views/templates/react/forms-generator.ts +343 -0
  365. package/libs/instance-factories/views/templates/react/frontend-package-json-generator.ts +54 -0
  366. package/libs/instance-factories/views/templates/react/hooks-generator.ts +122 -0
  367. package/libs/instance-factories/views/templates/react/index-css-generator.ts +209 -0
  368. package/libs/instance-factories/views/templates/react/index-html-generator.ts +34 -0
  369. package/libs/instance-factories/views/templates/react/main-tsx-generator.ts +29 -0
  370. package/libs/instance-factories/views/templates/react/react-component-generator.d.ts +152 -0
  371. package/libs/instance-factories/views/templates/react/react-component-generator.d.ts.map +1 -0
  372. package/libs/instance-factories/views/templates/react/react-component-generator.js +398 -0
  373. package/libs/instance-factories/views/templates/react/react-component-generator.js.map +1 -0
  374. package/libs/instance-factories/views/templates/react/react-component-generator.ts +533 -0
  375. package/libs/instance-factories/views/templates/react/router-generator.ts +197 -0
  376. package/libs/instance-factories/views/templates/react/router-generic-generator.ts +103 -0
  377. package/libs/instance-factories/views/templates/react/spec-json-generator.ts +17 -0
  378. package/libs/instance-factories/views/templates/react/types-generator.ts +76 -0
  379. package/libs/instance-factories/views/templates/react/views-metadata-generator.ts +42 -0
  380. package/libs/instance-factories/views/templates/react/vite-config-generator.ts +38 -0
  381. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.d.ts.map +1 -0
  382. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.js.map +1 -0
  383. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.ts +474 -0
  384. package/libs/instance-factories/views/templates/shared/__tests__/composite-patterns.test.ts +242 -0
  385. package/libs/instance-factories/views/templates/shared/adapter-types.d.ts +77 -0
  386. package/libs/instance-factories/views/templates/shared/adapter-types.d.ts.map +1 -0
  387. package/libs/instance-factories/views/templates/shared/adapter-types.js +47 -0
  388. package/libs/instance-factories/views/templates/shared/adapter-types.js.map +1 -0
  389. package/libs/instance-factories/views/templates/shared/adapter-types.ts +142 -0
  390. package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts +63 -0
  391. package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts.map +1 -0
  392. package/libs/instance-factories/views/templates/shared/atomic-components-registry.js +822 -0
  393. package/libs/instance-factories/views/templates/shared/atomic-components-registry.js.map +1 -0
  394. package/libs/instance-factories/views/templates/shared/atomic-components-registry.ts +908 -0
  395. package/libs/instance-factories/views/templates/shared/base-generator.d.ts +247 -0
  396. package/libs/instance-factories/views/templates/shared/base-generator.d.ts.map +1 -0
  397. package/libs/instance-factories/views/templates/shared/base-generator.js +363 -0
  398. package/libs/instance-factories/views/templates/shared/base-generator.js.map +1 -0
  399. package/libs/instance-factories/views/templates/shared/base-generator.ts +608 -0
  400. package/libs/instance-factories/views/templates/shared/component-metadata.d.ts +254 -0
  401. package/libs/instance-factories/views/templates/shared/component-metadata.d.ts.map +1 -0
  402. package/libs/instance-factories/views/templates/shared/component-metadata.js +602 -0
  403. package/libs/instance-factories/views/templates/shared/component-metadata.js.map +1 -0
  404. package/libs/instance-factories/views/templates/shared/component-metadata.ts +803 -0
  405. package/libs/instance-factories/views/templates/shared/composite-pattern-types.ts +250 -0
  406. package/libs/instance-factories/views/templates/shared/composite-patterns.ts +535 -0
  407. package/libs/instance-factories/views/templates/shared/index.ts +68 -0
  408. package/libs/instance-factories/views/templates/shared/pattern-validator.ts +279 -0
  409. package/libs/instance-factories/views/templates/shared/property-mapper.d.ts +149 -0
  410. package/libs/instance-factories/views/templates/shared/property-mapper.d.ts.map +1 -0
  411. package/libs/instance-factories/views/templates/shared/property-mapper.js +580 -0
  412. package/libs/instance-factories/views/templates/shared/property-mapper.js.map +1 -0
  413. package/libs/instance-factories/views/templates/shared/property-mapper.ts +700 -0
  414. package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts +143 -0
  415. package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts.map +1 -0
  416. package/libs/instance-factories/views/templates/shared/syntax-mapper.js +420 -0
  417. package/libs/instance-factories/views/templates/shared/syntax-mapper.js.map +1 -0
  418. package/libs/instance-factories/views/templates/shared/syntax-mapper.ts +539 -0
  419. package/package.json +42 -0
  420. package/schema/SPECVERSE-SCHEMA.json +4274 -0
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Manifest Loader Utility
3
+ *
4
+ * Loads and validates SpecVerse manifest files.
5
+ * Provides default manifests for testing and development.
6
+ */
7
+ import { readFileSync, existsSync } from 'fs';
8
+ import { parse as parseYaml } from 'yaml';
9
+ import { resolve } from 'path';
10
+ /**
11
+ * Load manifest from file
12
+ */
13
+ export function loadManifest(manifestPath) {
14
+ if (!manifestPath) {
15
+ throw new Error('Manifest path is required');
16
+ }
17
+ const fullPath = resolve(manifestPath);
18
+ if (!existsSync(fullPath)) {
19
+ throw new Error(`Manifest file not found: ${fullPath}`);
20
+ }
21
+ try {
22
+ const yamlContent = readFileSync(fullPath, 'utf8');
23
+ const parsed = parseYaml(yamlContent);
24
+ // Handle unified container format (manifests: { ManifestName: { ... } })
25
+ if (parsed.manifests && typeof parsed.manifests === 'object') {
26
+ const manifestKeys = Object.keys(parsed.manifests);
27
+ if (manifestKeys.length === 0) {
28
+ throw new Error('Manifests container is empty');
29
+ }
30
+ // Use first manifest
31
+ const manifestName = manifestKeys[0];
32
+ const manifest = parsed.manifests[manifestName];
33
+ // Add metadata
34
+ manifest._manifestName = manifestName;
35
+ manifest._manifestPath = fullPath;
36
+ return manifest;
37
+ }
38
+ // Handle direct manifest format (legacy or simplified)
39
+ if (parsed.specVersion) {
40
+ return parsed;
41
+ }
42
+ throw new Error('Invalid manifest format: missing "manifests" container or "specVersion"');
43
+ }
44
+ catch (error) {
45
+ if (error.code === 'ENOENT') {
46
+ throw new Error(`Manifest file not found: ${fullPath}`);
47
+ }
48
+ throw new Error(`Failed to load manifest: ${error.message}`);
49
+ }
50
+ }
51
+ /**
52
+ * Get manifest configuration value by path
53
+ */
54
+ export function getManifestValue(manifest, path, defaultValue) {
55
+ if (!manifest || !path) {
56
+ return defaultValue;
57
+ }
58
+ const parts = path.split('.');
59
+ let current = manifest;
60
+ for (const part of parts) {
61
+ if (current && typeof current === 'object' && part in current) {
62
+ current = current[part];
63
+ }
64
+ else {
65
+ return defaultValue;
66
+ }
67
+ }
68
+ return current;
69
+ }
70
+ /**
71
+ * Validate manifest structure (v3.3 only - no backward compatibility)
72
+ */
73
+ export function validateManifest(manifest) {
74
+ const errors = [];
75
+ if (!manifest) {
76
+ errors.push('Manifest is null or undefined');
77
+ return { valid: false, errors };
78
+ }
79
+ // Required fields
80
+ if (!manifest.specVersion) {
81
+ errors.push('Missing required field: specVersion');
82
+ }
83
+ else if (!manifest.specVersion.match(/^\d+\.\d+/)) {
84
+ errors.push(`Invalid specVersion format: ${manifest.specVersion}. Expected semver (e.g., 3.5.0).`);
85
+ }
86
+ if (!manifest.name) {
87
+ errors.push('Missing required field: name');
88
+ }
89
+ if (!manifest.version) {
90
+ errors.push('Missing required field: version');
91
+ }
92
+ // v3.3 required: deployment reference
93
+ if (!manifest.deployment) {
94
+ errors.push('Missing required field: deployment (must reference a deployment specification)');
95
+ }
96
+ else {
97
+ if (!manifest.deployment.deploymentSource) {
98
+ errors.push('deployment.deploymentSource is required');
99
+ }
100
+ if (!manifest.deployment.deploymentName) {
101
+ errors.push('deployment.deploymentName is required');
102
+ }
103
+ }
104
+ // v3.3 required: at least one mapping strategy
105
+ const hasMappings = manifest.defaultMappings ||
106
+ (manifest.capabilityMappings && manifest.capabilityMappings.length > 0) ||
107
+ (manifest.instanceMappings && manifest.instanceMappings.length > 0);
108
+ if (!hasMappings) {
109
+ errors.push('At least one mapping strategy is required: defaultMappings, capabilityMappings, or instanceMappings');
110
+ }
111
+ return {
112
+ valid: errors.length === 0,
113
+ errors
114
+ };
115
+ }
116
+ /**
117
+ * Merge manifests (v3.3 composition)
118
+ */
119
+ export function mergeManifests(baseManifest, overrideManifest) {
120
+ if (!baseManifest)
121
+ return overrideManifest || null;
122
+ if (!overrideManifest)
123
+ return baseManifest;
124
+ // v3.3 merge: arrays override completely, objects merge
125
+ return {
126
+ ...baseManifest,
127
+ ...overrideManifest,
128
+ // Deployment reference: override completely
129
+ deployment: overrideManifest.deployment || baseManifest.deployment,
130
+ // Default mappings: merge objects
131
+ defaultMappings: {
132
+ ...(baseManifest.defaultMappings || {}),
133
+ ...(overrideManifest.defaultMappings || {})
134
+ },
135
+ // Capability mappings: override array completely
136
+ capabilityMappings: overrideManifest.capabilityMappings || baseManifest.capabilityMappings,
137
+ // Instance mappings: override array completely
138
+ instanceMappings: overrideManifest.instanceMappings || baseManifest.instanceMappings,
139
+ // Configuration: merge objects
140
+ configuration: {
141
+ ...(baseManifest.configuration || {}),
142
+ ...(overrideManifest.configuration || {})
143
+ }
144
+ };
145
+ }
146
+ /**
147
+ * Get manifest summary for debugging
148
+ */
149
+ export function getManifestSummary(manifest) {
150
+ const strategies = [];
151
+ if (manifest.defaultMappings) {
152
+ const count = Object.keys(manifest.defaultMappings).length;
153
+ strategies.push(`defaultMappings (${count} categories)`);
154
+ }
155
+ if (manifest.capabilityMappings && manifest.capabilityMappings.length > 0) {
156
+ strategies.push(`capabilityMappings (${manifest.capabilityMappings.length} patterns)`);
157
+ }
158
+ if (manifest.instanceMappings && manifest.instanceMappings.length > 0) {
159
+ strategies.push(`instanceMappings (${manifest.instanceMappings.length} instances)`);
160
+ }
161
+ return {
162
+ name: manifest.name,
163
+ version: manifest.version,
164
+ deployment: `${manifest.deployment?.deploymentName || 'unknown'} from ${manifest.deployment?.deploymentSource || 'unknown'}`,
165
+ mappingStrategies: strategies
166
+ };
167
+ }
168
+ //# sourceMappingURL=manifest-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-loader.js","sourceRoot":"","sources":["../../src/utils/manifest-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Mapping Migration Utilities
3
+ *
4
+ * Converts legacy three-level mapping system (v3.3) to new two-level system (v3.6).
5
+ * Provides backward compatibility while encouraging migration to the simpler format.
6
+ *
7
+ * @module realize/utils/mapping-migration
8
+ * @version 3.6.0
9
+ */
10
+ import type { ManifestConfig } from './manifest-loader.js';
11
+ import type { DefaultMappingsV2, OverrideMapping } from '../types/unified-mappings.js';
12
+ /**
13
+ * Convert legacy three-level mappings to new two-level system
14
+ *
15
+ * Migrates:
16
+ * - defaultMappings (v3.3) → defaults (v3.6)
17
+ * - capabilityMappings (v3.3) → overrides (v3.6)
18
+ * - instanceMappings (v3.3) → overrides (v3.6) with configuration
19
+ *
20
+ * @param manifest - Manifest with legacy mappings
21
+ * @returns Manifest with new two-level mappings
22
+ */
23
+ export declare function migrateToTwoLevelSystem(manifest: ManifestConfig): ManifestConfig;
24
+ /**
25
+ * Detect which mapping system is in use
26
+ *
27
+ * @param manifest - Manifest to analyze
28
+ * @returns Mapping system version
29
+ */
30
+ export declare function detectMappingSystem(manifest: ManifestConfig): 'v3.6' | 'v3.3' | 'none';
31
+ /**
32
+ * Get effective mappings using the appropriate system
33
+ *
34
+ * Automatically migrates if using legacy system.
35
+ *
36
+ * @param manifest - Manifest configuration
37
+ * @returns Defaults and overrides (migrated if necessary)
38
+ */
39
+ export declare function getEffectiveMappings(manifest: ManifestConfig): {
40
+ defaults?: DefaultMappingsV2;
41
+ overrides?: OverrideMapping[];
42
+ system: 'v3.6' | 'v3.3' | 'none';
43
+ };
44
+ /**
45
+ * Validate that manifest uses consistent mapping system
46
+ *
47
+ * Warns if mixing v3.3 and v3.6 systems.
48
+ *
49
+ * @param manifest - Manifest to validate
50
+ * @returns Validation warnings
51
+ */
52
+ export declare function validateMappingConsistency(manifest: ManifestConfig): string[];
53
+ //# sourceMappingURL=mapping-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping-migration.d.ts","sourceRoot":"","sources":["../../src/utils/mapping-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAOtC;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CAwChF;AAkED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAsBtF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG;IAC9D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAClC,CAyBA;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,EAAE,CAmB7E"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Mapping Migration Utilities
3
+ *
4
+ * Converts legacy three-level mapping system (v3.3) to new two-level system (v3.6).
5
+ * Provides backward compatibility while encouraging migration to the simpler format.
6
+ *
7
+ * @module realize/utils/mapping-migration
8
+ * @version 3.6.0
9
+ */
10
+ /**
11
+ * Convert legacy three-level mappings to new two-level system
12
+ *
13
+ * Migrates:
14
+ * - defaultMappings (v3.3) → defaults (v3.6)
15
+ * - capabilityMappings (v3.3) → overrides (v3.6)
16
+ * - instanceMappings (v3.3) → overrides (v3.6) with configuration
17
+ *
18
+ * @param manifest - Manifest with legacy mappings
19
+ * @returns Manifest with new two-level mappings
20
+ */
21
+ export function migrateToTwoLevelSystem(manifest) {
22
+ // If already using new system, return as-is
23
+ if (manifest.defaults || manifest.overrides) {
24
+ return manifest;
25
+ }
26
+ // If no legacy mappings, return as-is
27
+ if (!manifest.defaultMappings && !manifest.capabilityMappings && !manifest.instanceMappings) {
28
+ return manifest;
29
+ }
30
+ const migrated = {
31
+ ...manifest,
32
+ defaults: undefined,
33
+ overrides: []
34
+ };
35
+ // Step 1: Convert defaultMappings → defaults
36
+ if (manifest.defaultMappings) {
37
+ migrated.defaults = convertDefaultMappings(manifest.defaultMappings);
38
+ }
39
+ // Step 2: Convert capabilityMappings → overrides
40
+ if (manifest.capabilityMappings) {
41
+ const capabilityOverrides = convertCapabilityMappings(manifest.capabilityMappings);
42
+ migrated.overrides.push(...capabilityOverrides);
43
+ }
44
+ // Step 3: Convert instanceMappings → overrides (with configuration)
45
+ if (manifest.instanceMappings) {
46
+ const instanceOverrides = convertInstanceMappings(manifest.instanceMappings);
47
+ migrated.overrides.push(...instanceOverrides);
48
+ }
49
+ // Remove empty overrides array
50
+ if (migrated.overrides && migrated.overrides.length === 0) {
51
+ delete migrated.overrides;
52
+ }
53
+ return migrated;
54
+ }
55
+ /**
56
+ * Convert v3.3 DefaultMappings to v3.6 DefaultMappingsV2
57
+ *
58
+ * Maps v3.3 architectural layer names to v3.6 technology category names.
59
+ *
60
+ * v3.3 uses: controller, service, view, storage, security, infrastructure, monitoring, communication
61
+ * v3.6 uses: api, orm, cache, queue, auth, email, storage, search, logging, monitoring
62
+ *
63
+ * @param legacy - Legacy default mappings
64
+ * @returns New default mappings
65
+ */
66
+ function convertDefaultMappings(legacy) {
67
+ const converted = {};
68
+ // Map v3.3 architectural layers to v3.6 technology categories
69
+ if (legacy.controller)
70
+ converted.api = legacy.controller; // controller → api (REST endpoints)
71
+ if (legacy.service)
72
+ converted.orm = legacy.service; // service → orm (often uses DB)
73
+ if (legacy.storage)
74
+ converted.storage = legacy.storage; // storage → storage (direct mapping)
75
+ if (legacy.security)
76
+ converted.auth = legacy.security; // security → auth
77
+ if (legacy.monitoring)
78
+ converted.monitoring = legacy.monitoring; // monitoring → monitoring (direct)
79
+ if (legacy.communication)
80
+ converted.email = legacy.communication; // communication → email
81
+ if (legacy.infrastructure) {
82
+ // Infrastructure can map to cache or queue depending on context
83
+ // For now, map to cache as a reasonable default
84
+ converted.cache = legacy.infrastructure;
85
+ }
86
+ // Note: v3.3 'view' doesn't have a direct v3.6 equivalent
87
+ // View is typically UI layer, not part of backend mappings
88
+ return converted;
89
+ }
90
+ /**
91
+ * Convert v3.3 CapabilityMappings to v3.6 OverrideMappings
92
+ *
93
+ * @param legacy - Legacy capability mappings
94
+ * @returns Override mappings
95
+ */
96
+ function convertCapabilityMappings(legacy) {
97
+ return legacy.map(mapping => ({
98
+ target: mapping.capability,
99
+ factory: mapping.instanceFactory,
100
+ version: mapping.version,
101
+ configuration: mapping.configuration,
102
+ namespace: mapping.namespace
103
+ }));
104
+ }
105
+ /**
106
+ * Convert v3.3 InstanceMappings to v3.6 OverrideMappings
107
+ *
108
+ * @param legacy - Legacy instance mappings
109
+ * @returns Override mappings with configuration
110
+ */
111
+ function convertInstanceMappings(legacy) {
112
+ return legacy.map(mapping => ({
113
+ target: mapping.instanceName, // Instance name as target
114
+ factory: mapping.instanceFactory,
115
+ version: mapping.version,
116
+ configuration: mapping.configuration
117
+ }));
118
+ }
119
+ /**
120
+ * Detect which mapping system is in use
121
+ *
122
+ * @param manifest - Manifest to analyze
123
+ * @returns Mapping system version
124
+ */
125
+ export function detectMappingSystem(manifest) {
126
+ const hasNewSystem = !!(manifest.defaults || manifest.overrides);
127
+ const hasLegacySystem = !!(manifest.defaultMappings ||
128
+ manifest.capabilityMappings ||
129
+ manifest.instanceMappings);
130
+ if (hasNewSystem && hasLegacySystem) {
131
+ // Both systems present - prefer new one
132
+ return 'v3.6';
133
+ }
134
+ if (hasNewSystem) {
135
+ return 'v3.6';
136
+ }
137
+ if (hasLegacySystem) {
138
+ return 'v3.3';
139
+ }
140
+ return 'none';
141
+ }
142
+ /**
143
+ * Get effective mappings using the appropriate system
144
+ *
145
+ * Automatically migrates if using legacy system.
146
+ *
147
+ * @param manifest - Manifest configuration
148
+ * @returns Defaults and overrides (migrated if necessary)
149
+ */
150
+ export function getEffectiveMappings(manifest) {
151
+ const system = detectMappingSystem(manifest);
152
+ if (system === 'v3.6') {
153
+ return {
154
+ defaults: manifest.defaults,
155
+ overrides: manifest.overrides,
156
+ system: 'v3.6'
157
+ };
158
+ }
159
+ if (system === 'v3.3') {
160
+ const migrated = migrateToTwoLevelSystem(manifest);
161
+ return {
162
+ defaults: migrated.defaults,
163
+ overrides: migrated.overrides,
164
+ system: 'v3.3'
165
+ };
166
+ }
167
+ return {
168
+ defaults: undefined,
169
+ overrides: undefined,
170
+ system: 'none'
171
+ };
172
+ }
173
+ /**
174
+ * Validate that manifest uses consistent mapping system
175
+ *
176
+ * Warns if mixing v3.3 and v3.6 systems.
177
+ *
178
+ * @param manifest - Manifest to validate
179
+ * @returns Validation warnings
180
+ */
181
+ export function validateMappingConsistency(manifest) {
182
+ const warnings = [];
183
+ const hasNewSystem = !!(manifest.defaults || manifest.overrides);
184
+ const hasLegacySystem = !!(manifest.defaultMappings ||
185
+ manifest.capabilityMappings ||
186
+ manifest.instanceMappings);
187
+ if (hasNewSystem && hasLegacySystem) {
188
+ warnings.push('Manifest contains both v3.6 (defaults/overrides) and v3.3 (defaultMappings/capabilityMappings/instanceMappings) mapping systems. ' +
189
+ 'Using v3.6 system and ignoring v3.3 mappings. ' +
190
+ 'Remove legacy mappings to avoid confusion.');
191
+ }
192
+ return warnings;
193
+ }
194
+ //# sourceMappingURL=mapping-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping-migration.js","sourceRoot":"","sources":["../../src/utils/mapping-migration.ts"],"names":[],"mappings":"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"}