@specverse/engines 4.1.30 → 4.2.1

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 (285) hide show
  1. package/assets/examples/manifests/frontend-only.yaml +3 -6
  2. package/assets/examples/manifests/fullstack-app.yaml +5 -7
  3. package/assets/examples/manifests/fullstack-monorepo.yaml +3 -6
  4. package/assets/templates/default/specs/main.specly +65 -0
  5. package/dist/inference/comprehensive-engine.d.ts.map +1 -1
  6. package/dist/inference/comprehensive-engine.js +3 -19
  7. package/dist/inference/comprehensive-engine.js.map +1 -1
  8. package/dist/inference/core/rule-engine.d.ts +31 -0
  9. package/dist/inference/core/rule-engine.d.ts.map +1 -1
  10. package/dist/inference/core/rule-engine.js +117 -33
  11. package/dist/inference/core/rule-engine.js.map +1 -1
  12. package/dist/inference/core/rule-file-types.d.ts +0 -2
  13. package/dist/inference/core/rule-file-types.d.ts.map +1 -1
  14. package/dist/inference/core/rule-file-types.js +3 -6
  15. package/dist/inference/core/rule-file-types.js.map +1 -1
  16. package/dist/inference/core/rule-loader.d.ts +5 -15
  17. package/dist/inference/core/rule-loader.d.ts.map +1 -1
  18. package/dist/inference/core/rule-loader.js +43 -132
  19. package/dist/inference/core/rule-loader.js.map +1 -1
  20. package/dist/inference/core/types.d.ts +0 -6
  21. package/dist/inference/core/types.d.ts.map +1 -1
  22. package/dist/inference/core/types.js +0 -4
  23. package/dist/inference/core/types.js.map +1 -1
  24. package/dist/inference/logical/generators/component-type-resolver.d.ts +0 -26
  25. package/dist/inference/logical/generators/component-type-resolver.d.ts.map +1 -1
  26. package/dist/inference/logical/generators/component-type-resolver.js +0 -19
  27. package/dist/inference/logical/generators/component-type-resolver.js.map +1 -1
  28. package/dist/inference/logical/generators/specialist-view-expander.d.ts +1 -17
  29. package/dist/inference/logical/generators/specialist-view-expander.d.ts.map +1 -1
  30. package/dist/inference/logical/generators/specialist-view-expander.js +0 -15
  31. package/dist/inference/logical/generators/specialist-view-expander.js.map +1 -1
  32. package/dist/inference/logical/generators/view-generator.d.ts +4 -14
  33. package/dist/inference/logical/generators/view-generator.d.ts.map +1 -1
  34. package/dist/inference/logical/generators/view-generator.js +6 -26
  35. package/dist/inference/logical/generators/view-generator.js.map +1 -1
  36. package/dist/inference/logical/index.d.ts +2 -2
  37. package/dist/inference/logical/index.d.ts.map +1 -1
  38. package/dist/inference/logical/logical-engine.d.ts.map +1 -1
  39. package/dist/inference/logical/logical-engine.js +17 -80
  40. package/dist/inference/logical/logical-engine.js.map +1 -1
  41. package/dist/inference/quint-transpiler.d.ts +5 -3
  42. package/dist/inference/quint-transpiler.d.ts.map +1 -1
  43. package/dist/inference/quint-transpiler.js +11 -6
  44. package/dist/inference/quint-transpiler.js.map +1 -1
  45. package/dist/libs/instance-factories/CURVED-INTERFACE.md +278 -0
  46. package/dist/libs/instance-factories/README.md +73 -0
  47. package/dist/libs/instance-factories/applications/README.md +51 -0
  48. package/dist/libs/instance-factories/applications/generic-app.yaml +52 -0
  49. package/{libs/instance-factories/applications/react-app.yaml → dist/libs/instance-factories/applications/react-app-runtime.yaml} +30 -77
  50. package/dist/libs/instance-factories/applications/react-app-starter.yaml +143 -0
  51. package/dist/libs/instance-factories/applications/templates/react/env-example-generator.js +24 -2
  52. package/dist/libs/instance-factories/applications/templates/react/vite-config-generator.js +54 -33
  53. package/dist/libs/instance-factories/applications/templates/react-starter/README.md +211 -0
  54. package/dist/libs/instance-factories/applications/templates/react-starter/api-types-starter-generator.js +69 -0
  55. package/dist/libs/instance-factories/applications/templates/react-starter/app-tsx-generator.js +110 -0
  56. package/dist/libs/instance-factories/applications/templates/react-starter/belongs-to.js +40 -0
  57. package/dist/libs/instance-factories/applications/templates/react-starter/dashboard-body-composer.js +129 -0
  58. package/dist/libs/instance-factories/applications/templates/react-starter/detail-body-composer.js +80 -0
  59. package/dist/libs/instance-factories/applications/templates/react-starter/form-body-composer.js +217 -0
  60. package/dist/libs/instance-factories/applications/templates/react-starter/helpers-emitter.js +51 -0
  61. package/dist/libs/instance-factories/applications/templates/react-starter/html-to-jsx.js +192 -0
  62. package/dist/libs/instance-factories/applications/templates/react-starter/list-body-composer.js +56 -0
  63. package/dist/libs/instance-factories/applications/templates/react-starter/orchestrator.js +41 -0
  64. package/dist/libs/instance-factories/applications/templates/react-starter/package-json-generator.js +38 -0
  65. package/dist/libs/instance-factories/applications/templates/react-starter/regen-safety.js +89 -0
  66. package/dist/libs/instance-factories/applications/templates/react-starter/skeletons/dashboard.tsx.template +49 -0
  67. package/dist/libs/instance-factories/applications/templates/react-starter/skeletons/detail.tsx.template +96 -0
  68. package/dist/libs/instance-factories/applications/templates/react-starter/skeletons/form.tsx.template +116 -0
  69. package/dist/libs/instance-factories/applications/templates/react-starter/skeletons/list.tsx.template +74 -0
  70. package/dist/libs/instance-factories/applications/templates/react-starter/use-api-hooks-starter-generator.js +95 -0
  71. package/dist/libs/instance-factories/applications/templates/react-starter/view-emitter.js +81 -0
  72. package/dist/libs/instance-factories/applications/templates/react-starter/views-generator.js +66 -0
  73. package/dist/libs/instance-factories/archived/fastify-prisma.yaml +104 -0
  74. package/dist/libs/instance-factories/cli/README.md +43 -0
  75. package/dist/libs/instance-factories/cli/commander-js.yaml +55 -0
  76. package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +63 -12
  77. package/dist/libs/instance-factories/communication/README.md +47 -0
  78. package/dist/libs/instance-factories/communication/event-emitter.yaml +60 -0
  79. package/dist/libs/instance-factories/communication/rabbitmq-events.yaml +87 -0
  80. package/dist/libs/instance-factories/controllers/README.md +42 -0
  81. package/dist/libs/instance-factories/controllers/fastify.yaml +139 -0
  82. package/dist/libs/instance-factories/controllers/templates/fastify/server-generator.js +29 -2
  83. package/dist/libs/instance-factories/infrastructure/README.md +29 -0
  84. package/dist/libs/instance-factories/infrastructure/docker-k8s.yaml +61 -0
  85. package/dist/libs/instance-factories/orms/README.md +54 -0
  86. package/dist/libs/instance-factories/orms/prisma.yaml +89 -0
  87. package/dist/libs/instance-factories/orms/templates/prisma/schema-generator.js +2 -2
  88. package/dist/libs/instance-factories/scaffolding/README.md +49 -0
  89. package/dist/libs/instance-factories/scaffolding/generic-scaffold.yaml +65 -0
  90. package/dist/libs/instance-factories/sdks/README.md +28 -0
  91. package/dist/libs/instance-factories/sdks/python-sdk.yaml +66 -0
  92. package/dist/libs/instance-factories/sdks/typescript-sdk.yaml +59 -0
  93. package/dist/libs/instance-factories/services/README.md +55 -0
  94. package/dist/libs/instance-factories/services/prisma-services.yaml +71 -0
  95. package/dist/libs/instance-factories/storage/README.md +34 -0
  96. package/dist/libs/instance-factories/storage/mongodb.yaml +79 -0
  97. package/dist/libs/instance-factories/storage/postgresql.yaml +75 -0
  98. package/dist/libs/instance-factories/storage/redis.yaml +79 -0
  99. package/dist/libs/instance-factories/testing/README.md +40 -0
  100. package/dist/libs/instance-factories/testing/vitest-tests.yaml +63 -0
  101. package/dist/libs/instance-factories/tools/README.md +70 -0
  102. package/dist/libs/instance-factories/tools/mcp.yaml +36 -0
  103. package/dist/libs/instance-factories/tools/vscode.yaml +35 -0
  104. package/dist/libs/instance-factories/validation/README.md +38 -0
  105. package/dist/libs/instance-factories/validation/zod.yaml +56 -0
  106. package/dist/realize/engines/code-generator.d.ts.map +1 -1
  107. package/dist/realize/engines/code-generator.js +3 -0
  108. package/dist/realize/engines/code-generator.js.map +1 -1
  109. package/dist/realize/index.d.ts.map +1 -1
  110. package/dist/realize/index.js +15 -22
  111. package/dist/realize/index.js.map +1 -1
  112. package/dist/registry/utils/manifest-adapter.d.ts +8 -1
  113. package/dist/registry/utils/manifest-adapter.d.ts.map +1 -1
  114. package/dist/registry/utils/manifest-adapter.js +8 -1
  115. package/dist/registry/utils/manifest-adapter.js.map +1 -1
  116. package/libs/instance-factories/applications/react-app-starter.yaml +143 -0
  117. package/libs/instance-factories/applications/templates/react/env-example-generator.ts +24 -2
  118. package/libs/instance-factories/applications/templates/react/vite-config-generator.ts +54 -33
  119. package/libs/instance-factories/applications/templates/react-starter/README.md +211 -0
  120. package/libs/instance-factories/applications/templates/react-starter/__tests__/dashboard-body-composer.test.ts +153 -0
  121. package/libs/instance-factories/applications/templates/react-starter/__tests__/detail-body-composer.test.ts +146 -0
  122. package/libs/instance-factories/applications/templates/react-starter/__tests__/form-body-composer.test.ts +188 -0
  123. package/libs/instance-factories/applications/templates/react-starter/__tests__/helpers-emitter.test.ts +55 -0
  124. package/libs/instance-factories/applications/templates/react-starter/__tests__/html-to-jsx.test.ts +140 -0
  125. package/libs/instance-factories/applications/templates/react-starter/__tests__/list-body-composer.test.ts +146 -0
  126. package/libs/instance-factories/applications/templates/react-starter/__tests__/orchestrator.test.ts +184 -0
  127. package/libs/instance-factories/applications/templates/react-starter/__tests__/parity-p2-factory-imports.test.ts +116 -0
  128. package/libs/instance-factories/applications/templates/react-starter/__tests__/parity-p3-rendered-output.test.ts +183 -0
  129. package/libs/instance-factories/applications/templates/react-starter/__tests__/regen-safety.test.ts +144 -0
  130. package/libs/instance-factories/applications/templates/react-starter/__tests__/starter-generators.test.ts +114 -0
  131. package/libs/instance-factories/applications/templates/react-starter/__tests__/view-emitter.test.ts +107 -0
  132. package/libs/instance-factories/applications/templates/react-starter/__tests__/views-generator.test.ts +139 -0
  133. package/libs/instance-factories/applications/templates/react-starter/api-types-starter-generator.ts +98 -0
  134. package/libs/instance-factories/applications/templates/react-starter/app-tsx-generator.ts +141 -0
  135. package/libs/instance-factories/applications/templates/react-starter/belongs-to.ts +82 -0
  136. package/libs/instance-factories/applications/templates/react-starter/dashboard-body-composer.ts +189 -0
  137. package/libs/instance-factories/applications/templates/react-starter/detail-body-composer.ts +135 -0
  138. package/libs/instance-factories/applications/templates/react-starter/form-body-composer.ts +383 -0
  139. package/libs/instance-factories/applications/templates/react-starter/helpers-emitter.ts +66 -0
  140. package/libs/instance-factories/applications/templates/react-starter/html-to-jsx.ts +334 -0
  141. package/libs/instance-factories/applications/templates/react-starter/list-body-composer.ts +146 -0
  142. package/libs/instance-factories/applications/templates/react-starter/orchestrator.ts +95 -0
  143. package/libs/instance-factories/applications/templates/react-starter/package-json-generator.ts +57 -0
  144. package/libs/instance-factories/applications/templates/react-starter/regen-safety.ts +157 -0
  145. package/libs/instance-factories/applications/templates/react-starter/skeletons/dashboard.tsx.template +49 -0
  146. package/libs/instance-factories/applications/templates/react-starter/skeletons/detail.tsx.template +96 -0
  147. package/libs/instance-factories/applications/templates/react-starter/skeletons/form.tsx.template +116 -0
  148. package/libs/instance-factories/applications/templates/react-starter/skeletons/list.tsx.template +74 -0
  149. package/libs/instance-factories/applications/templates/react-starter/use-api-hooks-starter-generator.ts +124 -0
  150. package/libs/instance-factories/applications/templates/react-starter/view-emitter.ts +209 -0
  151. package/libs/instance-factories/applications/templates/react-starter/views-generator.ts +137 -0
  152. package/libs/instance-factories/cli/templates/commander/command-generator.ts +63 -12
  153. package/libs/instance-factories/controllers/fastify.yaml +7 -0
  154. package/libs/instance-factories/controllers/templates/fastify/server-generator.ts +36 -2
  155. package/libs/instance-factories/orms/templates/prisma/schema-generator.ts +11 -4
  156. package/package.json +3 -3
  157. package/dist/libs/instance-factories/applications/templates/react/_view-components-source.js +0 -530
  158. package/dist/libs/instance-factories/applications/templates/react/app-tsx-generator.js +0 -73
  159. package/dist/libs/instance-factories/applications/templates/react/field-helpers-generator.js +0 -99
  160. package/dist/libs/instance-factories/applications/templates/react/package-json-generator.js +0 -49
  161. package/dist/libs/instance-factories/applications/templates/react/pattern-adapter-generator.js +0 -156
  162. package/dist/libs/instance-factories/applications/templates/react/react-pattern-adapter.js +0 -935
  163. package/dist/libs/instance-factories/applications/templates/react/relationship-field-generator.js +0 -143
  164. package/dist/libs/instance-factories/applications/templates/react/tailwind-adapter-generator.js +0 -646
  165. package/dist/libs/instance-factories/applications/templates/react/tailwind-adapter-wrapper-generator.js +0 -65
  166. package/dist/libs/instance-factories/applications/templates/react/view-dashboard-generator.js +0 -143
  167. package/dist/libs/instance-factories/applications/templates/react/view-detail-generator.js +0 -143
  168. package/dist/libs/instance-factories/applications/templates/react/view-form-generator.js +0 -355
  169. package/dist/libs/instance-factories/applications/templates/react/view-list-generator.js +0 -91
  170. package/dist/libs/instance-factories/applications/templates/react/view-router-generator.js +0 -79
  171. package/dist/libs/instance-factories/views/index.js +0 -48
  172. package/dist/libs/instance-factories/views/templates/react/adapters/antd-adapter.js +0 -742
  173. package/dist/libs/instance-factories/views/templates/react/adapters/mui-adapter.js +0 -824
  174. package/dist/libs/instance-factories/views/templates/react/adapters/shadcn-adapter.js +0 -719
  175. package/dist/libs/instance-factories/views/templates/react/app-generator.js +0 -45
  176. package/dist/libs/instance-factories/views/templates/react/components-generator.js +0 -820
  177. package/dist/libs/instance-factories/views/templates/react/forms-generator.js +0 -275
  178. package/dist/libs/instance-factories/views/templates/react/frontend-package-json-generator.js +0 -46
  179. package/dist/libs/instance-factories/views/templates/react/hooks-generator.js +0 -81
  180. package/dist/libs/instance-factories/views/templates/react/index-css-generator.js +0 -9
  181. package/dist/libs/instance-factories/views/templates/react/index-html-generator.js +0 -23
  182. package/dist/libs/instance-factories/views/templates/react/main-tsx-generator.js +0 -21
  183. package/dist/libs/instance-factories/views/templates/react/react-component-generator.js +0 -299
  184. package/dist/libs/instance-factories/views/templates/react/router-generator.js +0 -136
  185. package/dist/libs/instance-factories/views/templates/react/router-generic-generator.js +0 -107
  186. package/dist/libs/instance-factories/views/templates/react/shared-utils-generator.js +0 -187
  187. package/dist/libs/instance-factories/views/templates/react/spec-json-generator.js +0 -7
  188. package/dist/libs/instance-factories/views/templates/react/types-generator.js +0 -56
  189. package/dist/libs/instance-factories/views/templates/react/views-metadata-generator.js +0 -27
  190. package/dist/libs/instance-factories/views/templates/react/vite-config-generator.js +0 -29
  191. package/dist/libs/instance-factories/views/templates/runtime/runtime-view-renderer.js +0 -261
  192. package/dist/libs/instance-factories/views/templates/shared/adapter-types.js +0 -34
  193. package/dist/libs/instance-factories/views/templates/shared/atomic-components-registry.js +0 -800
  194. package/dist/libs/instance-factories/views/templates/shared/base-generator.js +0 -305
  195. package/dist/libs/instance-factories/views/templates/shared/component-metadata.js +0 -517
  196. package/dist/libs/instance-factories/views/templates/shared/composite-pattern-types.js +0 -0
  197. package/dist/libs/instance-factories/views/templates/shared/composite-patterns.js +0 -445
  198. package/dist/libs/instance-factories/views/templates/shared/index.js +0 -80
  199. package/dist/libs/instance-factories/views/templates/shared/pattern-validator.js +0 -210
  200. package/dist/libs/instance-factories/views/templates/shared/property-mapper.js +0 -492
  201. package/dist/libs/instance-factories/views/templates/shared/syntax-mapper.js +0 -321
  202. package/dist/realize/index.js.bak +0 -758
  203. package/libs/instance-factories/applications/templates/react/_view-components-source.ts +0 -555
  204. package/libs/instance-factories/applications/templates/react/app-tsx-generator.ts +0 -94
  205. package/libs/instance-factories/applications/templates/react/field-helpers-generator.ts +0 -106
  206. package/libs/instance-factories/applications/templates/react/package-json-generator.ts +0 -57
  207. package/libs/instance-factories/applications/templates/react/pattern-adapter-generator.ts +0 -179
  208. package/libs/instance-factories/applications/templates/react/react-pattern-adapter.tsx +0 -1347
  209. package/libs/instance-factories/applications/templates/react/relationship-field-generator.ts +0 -150
  210. package/libs/instance-factories/applications/templates/react/tailwind-adapter-generator.ts +0 -704
  211. package/libs/instance-factories/applications/templates/react/tailwind-adapter-wrapper-generator.ts +0 -84
  212. package/libs/instance-factories/applications/templates/react/view-dashboard-generator.ts +0 -150
  213. package/libs/instance-factories/applications/templates/react/view-detail-generator.ts +0 -150
  214. package/libs/instance-factories/applications/templates/react/view-form-generator.ts +0 -362
  215. package/libs/instance-factories/applications/templates/react/view-list-generator.ts +0 -98
  216. package/libs/instance-factories/applications/templates/react/view-router-generator.ts +0 -89
  217. package/libs/instance-factories/views/README.md +0 -62
  218. package/libs/instance-factories/views/index.d.ts +0 -13
  219. package/libs/instance-factories/views/index.d.ts.map +0 -1
  220. package/libs/instance-factories/views/index.js +0 -18
  221. package/libs/instance-factories/views/index.js.map +0 -1
  222. package/libs/instance-factories/views/index.ts +0 -45
  223. package/libs/instance-factories/views/react-components.yaml +0 -129
  224. package/libs/instance-factories/views/templates/ARCHITECTURE.md +0 -198
  225. package/libs/instance-factories/views/templates/react/adapters/antd-adapter.ts +0 -869
  226. package/libs/instance-factories/views/templates/react/adapters/mui-adapter.ts +0 -953
  227. package/libs/instance-factories/views/templates/react/adapters/shadcn-adapter.ts +0 -806
  228. package/libs/instance-factories/views/templates/react/app-generator.ts +0 -55
  229. package/libs/instance-factories/views/templates/react/components-generator.ts +0 -938
  230. package/libs/instance-factories/views/templates/react/forms-generator.ts +0 -325
  231. package/libs/instance-factories/views/templates/react/frontend-package-json-generator.ts +0 -57
  232. package/libs/instance-factories/views/templates/react/hooks-generator.ts +0 -106
  233. package/libs/instance-factories/views/templates/react/index-css-generator.ts +0 -14
  234. package/libs/instance-factories/views/templates/react/index-html-generator.ts +0 -34
  235. package/libs/instance-factories/views/templates/react/main-tsx-generator.ts +0 -29
  236. package/libs/instance-factories/views/templates/react/react-component-generator.d.ts +0 -152
  237. package/libs/instance-factories/views/templates/react/react-component-generator.d.ts.map +0 -1
  238. package/libs/instance-factories/views/templates/react/react-component-generator.js +0 -398
  239. package/libs/instance-factories/views/templates/react/react-component-generator.js.map +0 -1
  240. package/libs/instance-factories/views/templates/react/react-component-generator.ts +0 -533
  241. package/libs/instance-factories/views/templates/react/router-generator.ts +0 -197
  242. package/libs/instance-factories/views/templates/react/router-generic-generator.ts +0 -132
  243. package/libs/instance-factories/views/templates/react/shared-utils-generator.ts +0 -196
  244. package/libs/instance-factories/views/templates/react/spec-json-generator.ts +0 -17
  245. package/libs/instance-factories/views/templates/react/types-generator.ts +0 -76
  246. package/libs/instance-factories/views/templates/react/views-metadata-generator.ts +0 -42
  247. package/libs/instance-factories/views/templates/react/vite-config-generator.ts +0 -38
  248. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.d.ts.map +0 -1
  249. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.js.map +0 -1
  250. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.ts +0 -474
  251. package/libs/instance-factories/views/templates/shared/__tests__/composite-patterns.test.ts +0 -242
  252. package/libs/instance-factories/views/templates/shared/adapter-types.d.ts +0 -77
  253. package/libs/instance-factories/views/templates/shared/adapter-types.d.ts.map +0 -1
  254. package/libs/instance-factories/views/templates/shared/adapter-types.js +0 -47
  255. package/libs/instance-factories/views/templates/shared/adapter-types.js.map +0 -1
  256. package/libs/instance-factories/views/templates/shared/adapter-types.ts +0 -142
  257. package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts +0 -63
  258. package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts.map +0 -1
  259. package/libs/instance-factories/views/templates/shared/atomic-components-registry.js +0 -822
  260. package/libs/instance-factories/views/templates/shared/atomic-components-registry.js.map +0 -1
  261. package/libs/instance-factories/views/templates/shared/atomic-components-registry.ts +0 -908
  262. package/libs/instance-factories/views/templates/shared/base-generator.d.ts +0 -247
  263. package/libs/instance-factories/views/templates/shared/base-generator.d.ts.map +0 -1
  264. package/libs/instance-factories/views/templates/shared/base-generator.js +0 -363
  265. package/libs/instance-factories/views/templates/shared/base-generator.js.map +0 -1
  266. package/libs/instance-factories/views/templates/shared/base-generator.ts +0 -608
  267. package/libs/instance-factories/views/templates/shared/component-metadata.d.ts +0 -254
  268. package/libs/instance-factories/views/templates/shared/component-metadata.d.ts.map +0 -1
  269. package/libs/instance-factories/views/templates/shared/component-metadata.js +0 -602
  270. package/libs/instance-factories/views/templates/shared/component-metadata.js.map +0 -1
  271. package/libs/instance-factories/views/templates/shared/component-metadata.ts +0 -803
  272. package/libs/instance-factories/views/templates/shared/composite-pattern-types.ts +0 -250
  273. package/libs/instance-factories/views/templates/shared/composite-patterns.ts +0 -535
  274. package/libs/instance-factories/views/templates/shared/index.ts +0 -68
  275. package/libs/instance-factories/views/templates/shared/pattern-validator.ts +0 -279
  276. package/libs/instance-factories/views/templates/shared/property-mapper.d.ts +0 -149
  277. package/libs/instance-factories/views/templates/shared/property-mapper.d.ts.map +0 -1
  278. package/libs/instance-factories/views/templates/shared/property-mapper.js +0 -580
  279. package/libs/instance-factories/views/templates/shared/property-mapper.js.map +0 -1
  280. package/libs/instance-factories/views/templates/shared/property-mapper.ts +0 -700
  281. package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts +0 -143
  282. package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts.map +0 -1
  283. package/libs/instance-factories/views/templates/shared/syntax-mapper.js +0 -420
  284. package/libs/instance-factories/views/templates/shared/syntax-mapper.js.map +0 -1
  285. package/libs/instance-factories/views/templates/shared/syntax-mapper.ts +0 -539
@@ -1,822 +0,0 @@
1
- /**
2
- * Atomic Components Registry
3
- *
4
- * Defines all 49 atomic component types from SpecVerse v3.4.0 schema.
5
- * Each type has metadata about its purpose, properties, and usage patterns.
6
- *
7
- * This registry is framework-agnostic. UI library adapters (shadcn, MUI, etc.)
8
- * implement these types using their specific components.
9
- */
10
- /**
11
- * Complete registry of all 49 atomic component types
12
- */
13
- export const ATOMIC_COMPONENTS_REGISTRY = {
14
- // =========================================================================
15
- // DATA DISPLAY (9 types)
16
- // =========================================================================
17
- table: {
18
- type: 'table',
19
- name: 'Table',
20
- category: 'data-display',
21
- description: 'Tabular data display with rows, columns, sorting, and pagination',
22
- properties: ['columns', 'sortable', 'filterable', 'pagination', 'compact', 'selectable', 'exportable'],
23
- canHaveChildren: false,
24
- example: `
25
- taskTable:
26
- type: table
27
- model: Task
28
- columns: [title, status, priority, assignee, dueDate]
29
- features: [sorting, filtering, pagination]
30
- `
31
- },
32
- list: {
33
- type: 'list',
34
- name: 'List',
35
- category: 'data-display',
36
- description: 'Vertical list of items, often with avatars or icons',
37
- properties: ['items', 'itemTemplate', 'dividers', 'dense', 'interactive'],
38
- canHaveChildren: true,
39
- example: `
40
- userList:
41
- type: list
42
- model: User
43
- properties:
44
- dense: true
45
- dividers: true
46
- `
47
- },
48
- grid: {
49
- type: 'grid',
50
- name: 'Grid',
51
- category: 'data-display',
52
- description: 'Grid layout for cards or items',
53
- properties: ['columns', 'gap', 'responsive', 'itemsPerRow'],
54
- canHaveChildren: true,
55
- example: `
56
- projectGrid:
57
- type: grid
58
- properties:
59
- columns: 3
60
- gap: medium
61
- responsive: true
62
- `
63
- },
64
- card: {
65
- type: 'card',
66
- name: 'Card',
67
- category: 'data-display',
68
- description: 'Container with optional header, content, and actions',
69
- properties: ['title', 'subtitle', 'variant', 'elevation', 'clickable', 'hoverable', 'compact', 'showTrend', 'metric'],
70
- canHaveChildren: true,
71
- example: `
72
- budgetCard:
73
- type: card
74
- properties:
75
- variant: metric
76
- showTrend: true
77
- metric: budget
78
- `
79
- },
80
- chart: {
81
- type: 'chart',
82
- name: 'Chart',
83
- category: 'data-display',
84
- description: 'Data visualization (line, bar, pie, etc.)',
85
- properties: ['chartType', 'data', 'responsive', 'showLegend', 'interactive', 'exportable'],
86
- canHaveChildren: false,
87
- example: `
88
- trendChart:
89
- type: chart
90
- properties:
91
- chartType: trend
92
- responsive: true
93
- showLegend: true
94
- `
95
- },
96
- tree: {
97
- type: 'tree',
98
- name: 'Tree',
99
- category: 'data-display',
100
- description: 'Hierarchical tree structure',
101
- properties: ['data', 'expandable', 'selectable', 'checkboxes', 'defaultExpanded'],
102
- canHaveChildren: false,
103
- example: `
104
- categoryTree:
105
- type: tree
106
- properties:
107
- expandable: true
108
- defaultExpanded: false
109
- `
110
- },
111
- timeline: {
112
- type: 'timeline',
113
- name: 'Timeline',
114
- category: 'data-display',
115
- description: 'Chronological event timeline',
116
- properties: ['orientation', 'showDateMarkers', 'showDuration', 'showUser'],
117
- canHaveChildren: true,
118
- example: `
119
- activityTimeline:
120
- type: timeline
121
- properties:
122
- orientation: vertical
123
- showDateMarkers: true
124
- `
125
- },
126
- avatar: {
127
- type: 'avatar',
128
- name: 'Avatar',
129
- category: 'data-display',
130
- description: 'User avatar or profile image',
131
- properties: ['src', 'alt', 'size', 'shape', 'initials', 'badge'],
132
- canHaveChildren: false,
133
- example: `
134
- userAvatar:
135
- type: avatar
136
- properties:
137
- size: medium
138
- shape: circle
139
- `
140
- },
141
- image: {
142
- type: 'image',
143
- name: 'Image',
144
- category: 'data-display',
145
- description: 'Image display with optional caption',
146
- properties: ['src', 'alt', 'width', 'height', 'objectFit', 'caption', 'lazy'],
147
- canHaveChildren: false,
148
- example: `
149
- projectImage:
150
- type: image
151
- properties:
152
- objectFit: cover
153
- lazy: true
154
- `
155
- },
156
- // =========================================================================
157
- // FORMS & INPUTS (11 types)
158
- // =========================================================================
159
- form: {
160
- type: 'form',
161
- name: 'Form',
162
- category: 'forms-inputs',
163
- description: 'Form container with validation and submission',
164
- properties: ['onSubmit', 'validation', 'autoSave', 'showValidation', 'layout'],
165
- canHaveChildren: true,
166
- example: `
167
- taskForm:
168
- type: form
169
- properties:
170
- autoSave: false
171
- showValidation: true
172
- `
173
- },
174
- input: {
175
- type: 'input',
176
- name: 'Input',
177
- category: 'forms-inputs',
178
- description: 'Text input field',
179
- properties: ['label', 'placeholder', 'required', 'type', 'disabled', 'error', 'helperText', 'icon', 'multiline'],
180
- canHaveChildren: false,
181
- example: `
182
- titleInput:
183
- type: input
184
- properties:
185
- label: "Title"
186
- placeholder: "Enter task title"
187
- required: true
188
- `
189
- },
190
- textarea: {
191
- type: 'textarea',
192
- name: 'Textarea',
193
- category: 'forms-inputs',
194
- description: 'Multi-line text input',
195
- properties: ['label', 'placeholder', 'rows', 'required', 'maxLength', 'resize'],
196
- canHaveChildren: false,
197
- example: `
198
- descriptionInput:
199
- type: textarea
200
- properties:
201
- label: "Description"
202
- rows: 4
203
- `
204
- },
205
- select: {
206
- type: 'select',
207
- name: 'Select',
208
- category: 'forms-inputs',
209
- description: 'Dropdown selection',
210
- properties: ['label', 'options', 'required', 'multiple', 'placeholder', 'searchable'],
211
- canHaveChildren: false,
212
- example: `
213
- statusSelect:
214
- type: select
215
- properties:
216
- label: "Status"
217
- options: [todo, in_progress, done]
218
- required: true
219
- `
220
- },
221
- checkbox: {
222
- type: 'checkbox',
223
- name: 'Checkbox',
224
- category: 'forms-inputs',
225
- description: 'Checkbox for boolean values',
226
- properties: ['label', 'checked', 'disabled', 'indeterminate'],
227
- canHaveChildren: false,
228
- example: `
229
- completedCheckbox:
230
- type: checkbox
231
- properties:
232
- label: "Completed"
233
- `
234
- },
235
- radio: {
236
- type: 'radio',
237
- name: 'Radio',
238
- category: 'forms-inputs',
239
- description: 'Radio button group',
240
- properties: ['label', 'options', 'orientation', 'required'],
241
- canHaveChildren: false,
242
- example: `
243
- priorityRadio:
244
- type: radio
245
- properties:
246
- label: "Priority"
247
- options: [low, medium, high]
248
- orientation: horizontal
249
- `
250
- },
251
- slider: {
252
- type: 'slider',
253
- name: 'Slider',
254
- category: 'forms-inputs',
255
- description: 'Slider for numeric ranges',
256
- properties: ['label', 'min', 'max', 'step', 'value', 'marks', 'showValue'],
257
- canHaveChildren: false,
258
- example: `
259
- progressSlider:
260
- type: slider
261
- properties:
262
- label: "Progress"
263
- min: 0
264
- max: 100
265
- showValue: true
266
- `
267
- },
268
- switch: {
269
- type: 'switch',
270
- name: 'Switch',
271
- category: 'forms-inputs',
272
- description: 'Toggle switch for boolean values',
273
- properties: ['label', 'checked', 'disabled', 'size'],
274
- canHaveChildren: false,
275
- example: `
276
- notificationsSwitch:
277
- type: switch
278
- properties:
279
- label: "Enable Notifications"
280
- `
281
- },
282
- autocomplete: {
283
- type: 'autocomplete',
284
- name: 'Autocomplete',
285
- category: 'forms-inputs',
286
- description: 'Searchable dropdown with autocomplete',
287
- properties: ['label', 'options', 'multiple', 'searchable', 'placeholder', 'limit', 'freeSolo'],
288
- canHaveChildren: false,
289
- example: `
290
- assigneeSelect:
291
- type: autocomplete
292
- model: User
293
- properties:
294
- label: "Assignee"
295
- searchable: true
296
- `
297
- },
298
- datepicker: {
299
- type: 'datepicker',
300
- name: 'DatePicker',
301
- category: 'forms-inputs',
302
- description: 'Date selection input',
303
- properties: ['label', 'format', 'minDate', 'maxDate', 'required', 'showTime', 'range'],
304
- canHaveChildren: false,
305
- example: `
306
- dueDatePicker:
307
- type: datepicker
308
- properties:
309
- label: "Due Date"
310
- format: "MM/DD/YYYY"
311
- `
312
- },
313
- timepicker: {
314
- type: 'timepicker',
315
- name: 'TimePicker',
316
- category: 'forms-inputs',
317
- description: 'Time selection input',
318
- properties: ['label', 'format', 'required', 'step', 'use24Hour'],
319
- canHaveChildren: false,
320
- example: `
321
- meetingTime:
322
- type: timepicker
323
- properties:
324
- label: "Meeting Time"
325
- use24Hour: false
326
- `
327
- },
328
- // =========================================================================
329
- // ACTIONS (5 types)
330
- // =========================================================================
331
- button: {
332
- type: 'button',
333
- name: 'Button',
334
- category: 'actions',
335
- description: 'Clickable button',
336
- properties: ['label', 'variant', 'size', 'disabled', 'loading', 'icon', 'onClick', 'type'],
337
- canHaveChildren: false,
338
- example: `
339
- submitButton:
340
- type: button
341
- properties:
342
- label: "Submit"
343
- variant: primary
344
- type: submit
345
- `
346
- },
347
- 'button-group': {
348
- type: 'button-group',
349
- name: 'ButtonGroup',
350
- category: 'actions',
351
- description: 'Group of related buttons',
352
- properties: ['orientation', 'variant', 'size', 'buttons'],
353
- canHaveChildren: true,
354
- example: `
355
- actions:
356
- type: button-group
357
- properties:
358
- orientation: horizontal
359
- uiComponents:
360
- editButton: { type: button }
361
- deleteButton: { type: button }
362
- `
363
- },
364
- link: {
365
- type: 'link',
366
- name: 'Link',
367
- category: 'actions',
368
- description: 'Hyperlink or navigation link',
369
- properties: ['href', 'label', 'external', 'underline', 'color'],
370
- canHaveChildren: false,
371
- example: `
372
- viewDetails:
373
- type: link
374
- properties:
375
- label: "View Details"
376
- href: "/tasks/:id"
377
- `
378
- },
379
- icon: {
380
- type: 'icon',
381
- name: 'Icon',
382
- category: 'actions',
383
- description: 'Icon display',
384
- properties: ['name', 'size', 'color', 'clickable', 'tooltip'],
385
- canHaveChildren: false,
386
- example: `
387
- deleteIcon:
388
- type: icon
389
- properties:
390
- name: "trash"
391
- color: danger
392
- `
393
- },
394
- menu: {
395
- type: 'menu',
396
- name: 'Menu',
397
- category: 'actions',
398
- description: 'Dropdown menu with actions',
399
- properties: ['items', 'trigger', 'placement'],
400
- canHaveChildren: true,
401
- example: `
402
- contextMenu:
403
- type: menu
404
- properties:
405
- trigger: click
406
- placement: bottom-start
407
- `
408
- },
409
- // =========================================================================
410
- // OVERLAYS & FEEDBACK (9 types)
411
- // =========================================================================
412
- modal: {
413
- type: 'modal',
414
- name: 'Modal',
415
- category: 'overlays-feedback',
416
- description: 'Modal dialog overlay',
417
- properties: ['title', 'size', 'closeOnBackdrop', 'closeButton', 'footer'],
418
- canHaveChildren: true,
419
- example: `
420
- confirmDialog:
421
- type: modal
422
- properties:
423
- title: "Confirm Deletion"
424
- size: small
425
- closeOnBackdrop: false
426
- `
427
- },
428
- dialog: {
429
- type: 'dialog',
430
- name: 'Dialog',
431
- category: 'overlays-feedback',
432
- description: 'Dialog box (similar to modal, often simpler)',
433
- properties: ['title', 'message', 'actions', 'variant'],
434
- canHaveChildren: true,
435
- example: `
436
- alertDialog:
437
- type: dialog
438
- properties:
439
- title: "Alert"
440
- variant: warning
441
- `
442
- },
443
- drawer: {
444
- type: 'drawer',
445
- name: 'Drawer',
446
- category: 'overlays-feedback',
447
- description: 'Slide-out panel from edge',
448
- properties: ['position', 'width', 'closeOnBackdrop', 'persistent'],
449
- canHaveChildren: true,
450
- example: `
451
- filterDrawer:
452
- type: drawer
453
- properties:
454
- position: right
455
- width: 400
456
- `
457
- },
458
- popover: {
459
- type: 'popover',
460
- name: 'Popover',
461
- category: 'overlays-feedback',
462
- description: 'Floating content container',
463
- properties: ['trigger', 'placement', 'arrow', 'offset'],
464
- canHaveChildren: true,
465
- example: `
466
- helpPopover:
467
- type: popover
468
- properties:
469
- trigger: hover
470
- placement: top
471
- `
472
- },
473
- tooltip: {
474
- type: 'tooltip',
475
- name: 'Tooltip',
476
- category: 'overlays-feedback',
477
- description: 'Brief informational tooltip',
478
- properties: ['content', 'placement', 'arrow', 'delay'],
479
- canHaveChildren: false,
480
- example: `
481
- infoTooltip:
482
- type: tooltip
483
- properties:
484
- content: "Additional information"
485
- placement: top
486
- `
487
- },
488
- alert: {
489
- type: 'alert',
490
- name: 'Alert',
491
- category: 'overlays-feedback',
492
- description: 'Alert or notification message',
493
- properties: ['variant', 'title', 'message', 'closable', 'icon'],
494
- canHaveChildren: false,
495
- example: `
496
- successAlert:
497
- type: alert
498
- properties:
499
- variant: success
500
- message: "Task created successfully"
501
- `
502
- },
503
- snackbar: {
504
- type: 'snackbar',
505
- name: 'Snackbar',
506
- category: 'overlays-feedback',
507
- description: 'Temporary notification (toast)',
508
- properties: ['message', 'duration', 'position', 'action', 'variant'],
509
- canHaveChildren: false,
510
- example: `
511
- notification:
512
- type: snackbar
513
- properties:
514
- message: "Changes saved"
515
- duration: 3000
516
- position: bottom-right
517
- `
518
- },
519
- badge: {
520
- type: 'badge',
521
- name: 'Badge',
522
- category: 'overlays-feedback',
523
- description: 'Small status indicator or count',
524
- properties: ['content', 'variant', 'position', 'max', 'dot'],
525
- canHaveChildren: false,
526
- example: `
527
- notificationBadge:
528
- type: badge
529
- properties:
530
- content: 5
531
- variant: error
532
- `
533
- },
534
- spinner: {
535
- type: 'spinner',
536
- name: 'Spinner',
537
- category: 'overlays-feedback',
538
- description: 'Loading spinner',
539
- properties: ['size', 'color', 'thickness'],
540
- canHaveChildren: false,
541
- example: `
542
- loadingSpinner:
543
- type: spinner
544
- properties:
545
- size: medium
546
- `
547
- },
548
- // =========================================================================
549
- // NAVIGATION (5 types)
550
- // =========================================================================
551
- tabs: {
552
- type: 'tabs',
553
- name: 'Tabs',
554
- category: 'navigation',
555
- description: 'Tabbed navigation',
556
- properties: ['orientation', 'variant', 'sections', 'showProgress'],
557
- canHaveChildren: true,
558
- example: `
559
- profileTabs:
560
- type: tabs
561
- properties:
562
- sections: [about, activity, settings]
563
- `
564
- },
565
- breadcrumb: {
566
- type: 'breadcrumb',
567
- name: 'Breadcrumb',
568
- category: 'navigation',
569
- description: 'Breadcrumb navigation trail',
570
- properties: ['items', 'separator', 'maxItems'],
571
- canHaveChildren: false,
572
- example: `
573
- pageBreadcrumb:
574
- type: breadcrumb
575
- properties:
576
- separator: "/"
577
- `
578
- },
579
- navbar: {
580
- type: 'navbar',
581
- name: 'Navbar',
582
- category: 'navigation',
583
- description: 'Top navigation bar',
584
- properties: ['brand', 'items', 'sticky', 'transparent'],
585
- canHaveChildren: true,
586
- example: `
587
- mainNav:
588
- type: navbar
589
- properties:
590
- sticky: true
591
- `
592
- },
593
- sidebar: {
594
- type: 'sidebar',
595
- name: 'Sidebar',
596
- category: 'navigation',
597
- description: 'Side navigation menu',
598
- properties: ['items', 'collapsible', 'width', 'position'],
599
- canHaveChildren: true,
600
- example: `
601
- appSidebar:
602
- type: sidebar
603
- properties:
604
- collapsible: true
605
- position: left
606
- `
607
- },
608
- pagination: {
609
- type: 'pagination',
610
- name: 'Pagination',
611
- category: 'navigation',
612
- description: 'Page navigation controls',
613
- properties: ['pageSize', 'total', 'showSizeChanger', 'showTotal'],
614
- canHaveChildren: false,
615
- example: `
616
- tablePagination:
617
- type: pagination
618
- properties:
619
- pageSize: 25
620
- showSizeChanger: true
621
- `
622
- },
623
- // =========================================================================
624
- // LAYOUT (6 types)
625
- // =========================================================================
626
- accordion: {
627
- type: 'accordion',
628
- name: 'Accordion',
629
- category: 'layout',
630
- description: 'Expandable/collapsible sections',
631
- properties: ['allowMultiple', 'defaultExpanded', 'variant'],
632
- canHaveChildren: true,
633
- example: `
634
- faqAccordion:
635
- type: accordion
636
- properties:
637
- allowMultiple: false
638
- `
639
- },
640
- carousel: {
641
- type: 'carousel',
642
- name: 'Carousel',
643
- category: 'layout',
644
- description: 'Slideshow of items',
645
- properties: ['autoplay', 'interval', 'showArrows', 'showDots', 'infinite'],
646
- canHaveChildren: true,
647
- example: `
648
- imageCarousel:
649
- type: carousel
650
- properties:
651
- autoplay: true
652
- interval: 5000
653
- `
654
- },
655
- container: {
656
- type: 'container',
657
- name: 'Container',
658
- category: 'layout',
659
- description: 'Generic layout container',
660
- properties: ['layout', 'gap', 'padding', 'alignment', 'scrollable', 'renderType', 'allowDrop'],
661
- canHaveChildren: true,
662
- example: `
663
- boardContainer:
664
- type: container
665
- properties:
666
- layout: horizontal
667
- scrollable: true
668
- `
669
- },
670
- divider: {
671
- type: 'divider',
672
- name: 'Divider',
673
- category: 'layout',
674
- description: 'Visual separator',
675
- properties: ['orientation', 'variant', 'spacing'],
676
- canHaveChildren: false,
677
- example: `
678
- sectionDivider:
679
- type: divider
680
- properties:
681
- orientation: horizontal
682
- `
683
- },
684
- header: {
685
- type: 'header',
686
- name: 'Header',
687
- category: 'layout',
688
- description: 'Header section',
689
- properties: ['title', 'subtitle', 'showAvatar', 'showCover', 'actions'],
690
- canHaveChildren: true,
691
- example: `
692
- pageHeader:
693
- type: header
694
- properties:
695
- title: "Dashboard"
696
- `
697
- },
698
- footer: {
699
- type: 'footer',
700
- name: 'Footer',
701
- category: 'layout',
702
- description: 'Footer section',
703
- properties: ['content', 'links', 'copyright', 'sticky'],
704
- canHaveChildren: true,
705
- example: `
706
- pageFooter:
707
- type: footer
708
- properties:
709
- copyright: "2025 Company"
710
- `
711
- },
712
- // =========================================================================
713
- // PROGRESS (2 types)
714
- // =========================================================================
715
- 'progress-bar': {
716
- type: 'progress-bar',
717
- name: 'ProgressBar',
718
- category: 'progress',
719
- description: 'Linear progress indicator',
720
- properties: ['value', 'max', 'label', 'variant', 'animated'],
721
- canHaveChildren: false,
722
- example: `
723
- taskProgress:
724
- type: progress-bar
725
- properties:
726
- value: 75
727
- max: 100
728
- label: true
729
- `
730
- },
731
- 'progress-circle': {
732
- type: 'progress-circle',
733
- name: 'ProgressCircle',
734
- category: 'progress',
735
- description: 'Circular progress indicator',
736
- properties: ['value', 'max', 'size', 'thickness', 'label'],
737
- canHaveChildren: false,
738
- example: `
739
- completionProgress:
740
- type: progress-circle
741
- properties:
742
- value: 75
743
- size: large
744
- `
745
- },
746
- // =========================================================================
747
- // SPECIALIZED (2 types)
748
- // =========================================================================
749
- searchBar: {
750
- type: 'searchBar',
751
- name: 'SearchBar',
752
- category: 'specialized',
753
- description: 'Search input with icon and actions',
754
- properties: ['placeholder', 'onSearch', 'showClear', 'autofocus'],
755
- canHaveChildren: false,
756
- example: `
757
- taskSearch:
758
- type: searchBar
759
- properties:
760
- placeholder: "Search tasks..."
761
- showClear: true
762
- `
763
- },
764
- filterPanel: {
765
- type: 'filterPanel',
766
- name: 'FilterPanel',
767
- category: 'specialized',
768
- description: 'Panel with multiple filter controls',
769
- properties: ['position', 'collapsible', 'advanced', 'showDateRange', 'showCategories', 'showActivityTypes'],
770
- canHaveChildren: true,
771
- example: `
772
- dataFilters:
773
- type: filterPanel
774
- properties:
775
- position: top
776
- collapsible: true
777
- advanced: true
778
- `
779
- },
780
- };
781
- /**
782
- * Get component definition by type
783
- */
784
- export function getComponentDefinition(type) {
785
- return ATOMIC_COMPONENTS_REGISTRY[type];
786
- }
787
- /**
788
- * Get all components in a category
789
- */
790
- export function getComponentsByCategory(category) {
791
- return Object.values(ATOMIC_COMPONENTS_REGISTRY).filter(comp => comp.category === category);
792
- }
793
- /**
794
- * Validate if a component type exists
795
- */
796
- export function isValidComponentType(type) {
797
- return type in ATOMIC_COMPONENTS_REGISTRY;
798
- }
799
- /**
800
- * Get all component types as array
801
- */
802
- export function getAllComponentTypes() {
803
- return Object.keys(ATOMIC_COMPONENTS_REGISTRY);
804
- }
805
- /**
806
- * Component categories summary
807
- */
808
- export const COMPONENT_CATEGORIES = {
809
- 'data-display': 9,
810
- 'forms-inputs': 11,
811
- 'actions': 5,
812
- 'overlays-feedback': 9,
813
- 'navigation': 5,
814
- 'layout': 6,
815
- 'progress': 2,
816
- 'specialized': 2,
817
- };
818
- /**
819
- * Total count: 49 atomic components
820
- */
821
- export const TOTAL_COMPONENT_COUNT = 49;
822
- //# sourceMappingURL=atomic-components-registry.js.map