@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,106 +0,0 @@
1
- /**
2
- * Field Helpers Generator
3
- * Generates utility functions for form field handling
4
- */
5
-
6
- export interface FieldHelpersGeneratorContext {
7
- spec: any;
8
- manifest: any;
9
- }
10
-
11
- export async function generate(context: FieldHelpersGeneratorContext): Promise<string> {
12
- return `/**
13
- * Utility functions for form field handling
14
- */
15
-
16
- /**
17
- * Check if a field should be hidden because it's auto-generated
18
- */
19
- export function isAutoGeneratedField(attrName: string, attrDef: any): boolean {
20
- const typeStr = typeof attrDef === 'string' ? attrDef : attrDef?.type || '';
21
-
22
- // Hide UUID id field
23
- if (attrName === 'id' && typeStr.includes('UUID')) return true;
24
-
25
- // Hide auto-generated DateTime fields
26
- const autoDateFields = ['createdAt', 'updatedAt', 'joinedAt', 'publishedAt'];
27
- if (autoDateFields.includes(attrName) && typeStr.includes('DateTime')) return true;
28
-
29
- return false;
30
- }
31
-
32
- /**
33
- * Check if a field is required
34
- */
35
- export function isFieldRequired(attrDef: any): boolean {
36
- if (!attrDef) return false;
37
- if (typeof attrDef === 'string') {
38
- return attrDef.toLowerCase().includes('required');
39
- }
40
- return attrDef.required === true;
41
- }
42
-
43
- /**
44
- * Get default value for a field based on its type
45
- */
46
- export function getFieldDefaultValue(attrDef: any): any {
47
- if (!attrDef) return '';
48
-
49
- const typeStr = typeof attrDef === 'string' ? attrDef : attrDef?.type || '';
50
-
51
- // Check if schema has a default value
52
- if (attrDef && typeof attrDef === 'object' && attrDef.default !== undefined) {
53
- const defaultVal = attrDef.default;
54
- // Parse string defaults to proper types
55
- if (typeStr.toLowerCase().includes('bool')) {
56
- return defaultVal === 'true' || defaultVal === true;
57
- } else if (
58
- typeStr.toLowerCase().includes('int') ||
59
- typeStr.toLowerCase().includes('number')
60
- ) {
61
- return typeof defaultVal === 'number' ? defaultVal : parseInt(defaultVal) || 0;
62
- } else if (typeStr.toLowerCase().includes('string')) {
63
- // Remove surrounding quotes if present
64
- return typeof defaultVal === 'string'
65
- ? defaultVal.replace(/^"|"$/g, '')
66
- : defaultVal;
67
- } else {
68
- return defaultVal;
69
- }
70
- }
71
-
72
- // Otherwise use type-based defaults
73
- if (typeStr.toLowerCase().includes('bool')) {
74
- return false;
75
- } else if (
76
- typeStr.toLowerCase().includes('int') ||
77
- typeStr.toLowerCase().includes('number')
78
- ) {
79
- return 0;
80
- } else {
81
- return '';
82
- }
83
- }
84
-
85
- /**
86
- * Initialize form data from schema attributes
87
- */
88
- export function initializeFormData(
89
- attributes: Record<string, any>,
90
- options: { includeAutoGenerated?: boolean } = {}
91
- ): Record<string, any> {
92
- const data: Record<string, any> = {};
93
-
94
- Object.entries(attributes).forEach(([attrName, attrDef]) => {
95
- // Skip auto-generated fields unless explicitly included
96
- if (!options.includeAutoGenerated && isAutoGeneratedField(attrName, attrDef)) {
97
- return;
98
- }
99
-
100
- data[attrName] = getFieldDefaultValue(attrDef);
101
- });
102
-
103
- return data;
104
- }
105
- `;
106
- }
@@ -1,57 +0,0 @@
1
- /**
2
- * Package.json Generator for React Frontend
3
- *
4
- * Generates package.json for the frontend workspace
5
- */
6
-
7
- import type { TemplateContext } from '@specverse/types';
8
-
9
- export default function generatePackageJson(context: TemplateContext): string {
10
- const { spec } = context;
11
-
12
- const appName = spec.metadata?.component?.toLowerCase() || 'frontend';
13
- const version = spec.metadata?.version || '1.0.0';
14
- const description = spec.metadata?.description || 'Frontend application';
15
-
16
- const pkg = {
17
- name: `${appName}-frontend`,
18
- version,
19
- description,
20
- private: true,
21
- type: "module",
22
- scripts: {
23
- dev: "vite",
24
- build: "tsc && vite build",
25
- preview: "vite preview",
26
- test: "echo 'No tests configured for frontend'",
27
- lint: "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0"
28
- },
29
- dependencies: {
30
- "react": "^18.2.0",
31
- "react-dom": "^18.2.0",
32
- "react-router-dom": "^6.18.0",
33
- "@tanstack/react-query": "^5.0.0",
34
- "react-hook-form": "^7.48.0",
35
- "zod": "^3.22.0",
36
- "@hookform/resolvers": "^3.3.0",
37
- "zustand": "^4.4.0"
38
- },
39
- devDependencies: {
40
- "@types/react": "^18.2.0",
41
- "@types/react-dom": "^18.2.0",
42
- "@vitejs/plugin-react": "^4.2.0",
43
- "autoprefixer": "^10.4.20",
44
- "postcss": "^8.4.47",
45
- "tailwindcss": "^3.4.13",
46
- "typescript": "^5.2.0",
47
- "vite": "^6.0.0",
48
- "eslint": "^9.0.0",
49
- "@typescript-eslint/eslint-plugin": "^8.0.0",
50
- "@typescript-eslint/parser": "^8.0.0",
51
- "eslint-plugin-react-hooks": "^5.0.0",
52
- "eslint-plugin-react-refresh": "^0.4.4"
53
- }
54
- };
55
-
56
- return JSON.stringify(pkg, null, 2);
57
- }
@@ -1,179 +0,0 @@
1
- /**
2
- * Pattern Adapter Generator (v0.9.0)
3
- *
4
- * Copies ReactPatternAdapter from specverse-app-demo for pattern-based view rendering.
5
- * This bundles the adapter with generated code for standalone deployment.
6
- */
7
-
8
- import { readFileSync, existsSync } from 'fs';
9
- import { join, dirname } from 'path';
10
- import { fileURLToPath } from 'url';
11
-
12
- export interface PatternAdapterGeneratorContext {
13
- spec: any;
14
- manifest: any;
15
- }
16
-
17
- export async function generate(context: PatternAdapterGeneratorContext): Promise<string> {
18
- // Try to find the react-pattern-adapter.tsx source file
19
- // It should be in specverse-app-demo/frontend-react/src/lib/react-pattern-adapter.tsx
20
-
21
- const __filename = fileURLToPath(import.meta.url);
22
- const __dirname = dirname(__filename);
23
-
24
- // Possible locations for the source file
25
- const possiblePaths = [
26
- // PRIORITY 0: Same directory as this generator (source)
27
- join(__dirname, 'react-pattern-adapter.tsx'),
28
- // PRIORITY 1: Bundled with package (in libs/ directory, from dist/)
29
- join(__dirname, '../../../../../../libs/instance-factories/applications/templates/react/react-pattern-adapter.tsx'),
30
- // Up from dist to package root then into libs
31
- join(__dirname, '../../../../../libs/instance-factories/applications/templates/react/react-pattern-adapter.tsx'),
32
- join(__dirname, '../../../../libs/instance-factories/applications/templates/react/react-pattern-adapter.tsx'),
33
- // Development environment (specverse-app-demo sibling)
34
- join(__dirname, '../../../../../../../specverse-app-demo/frontend-react/src/lib/react-pattern-adapter.tsx'),
35
- ];
36
-
37
- let adapterSource: string | null = null;
38
- let foundPath: string | null = null;
39
-
40
- for (const path of possiblePaths) {
41
- if (existsSync(path)) {
42
- try {
43
- adapterSource = readFileSync(path, 'utf-8');
44
- foundPath = path;
45
- break;
46
- } catch (error) {
47
- // Continue to next path
48
- }
49
- }
50
- }
51
-
52
- if (adapterSource) {
53
- // Successfully read the adapter - return it with a header comment
54
- // The imports from @specverse/engine-realize are valid and exported
55
- return `/**
56
- * ReactPatternAdapter - Pattern-Based View Rendering
57
- *
58
- * AUTO-GENERATED: Copied from specverse-app-demo
59
- * Source: ${foundPath}
60
- *
61
- * This file provides pattern detection and React/Tailwind rendering for
62
- * tech-independent composite patterns. It is bundled with generated code
63
- * for standalone deployment.
64
- *
65
- * Imports COMPOSITE_VIEW_PATTERNS and types from @specverse/engine-realize
66
- * which are exported from the published npm package.
67
- *
68
- * DO NOT EDIT: Changes will be overwritten on next generation.
69
- * To customize, create a wrapper or modify the original source.
70
- */
71
-
72
- ${adapterSource}
73
- `;
74
- }
75
-
76
- // Fallback: Return stub that imports from @specverse/engine-realize
77
- return `/**
78
- * ReactPatternAdapter - Pattern-Based View Rendering (STUB)
79
- *
80
- * ⚠️ WARNING: Could not locate react-pattern-adapter.tsx source file.
81
- *
82
- * This is a stub implementation that imports from @specverse/engine-realize.
83
- * For full functionality, ensure specverse-app-demo is available at generation time.
84
- *
85
- * Attempted paths:
86
- ${possiblePaths.map(p => ` * - ${p}`).join('\n')}
87
- */
88
-
89
- import { useMemo } from 'react';
90
- import {
91
- COMPOSITE_VIEW_PATTERNS,
92
- type CompositeViewPattern,
93
- type CURVEDOperation
94
- } from '@specverse/engines/realize';
95
-
96
- /**
97
- * React-specific protocol mapping for CURVED operations (STUB)
98
- */
99
- export const REACT_PROTOCOL_MAPPING: Record<CURVEDOperation, {
100
- method: string;
101
- pathPattern: string;
102
- }> = {
103
- create: {
104
- method: 'POST',
105
- pathPattern: '/api/{resource}'
106
- },
107
- update: {
108
- method: 'PUT',
109
- pathPattern: '/api/{resource}/{id}'
110
- },
111
- retrieve: {
112
- method: 'GET',
113
- pathPattern: '/api/{resource}/{id}'
114
- },
115
- retrieve_many: {
116
- method: 'GET',
117
- pathPattern: '/api/{resource}'
118
- },
119
- validate: {
120
- method: 'POST',
121
- pathPattern: '/api/{resource}/validate'
122
- },
123
- evolve: {
124
- method: 'POST',
125
- pathPattern: '/api/{resource}/{id}/evolve'
126
- },
127
- delete: {
128
- method: 'DELETE',
129
- pathPattern: '/api/{resource}/{id}'
130
- }
131
- };
132
-
133
- /**
134
- * Simple Tailwind adapter stub
135
- */
136
- const createStubTailwindAdapter = () => ({
137
- renderComponent: (type: string, _props: any) => {
138
- return \`<div class="p-2 text-gray-600">[\${type}]</div>\`;
139
- }
140
- });
141
-
142
- /**
143
- * Stub PatternAdapter that uses browser exports
144
- */
145
- export function usePatternAdapter() {
146
- return useMemo(() => ({
147
- tailwindAdapter: createStubTailwindAdapter(),
148
-
149
- detectPattern(view: any): CompositeViewPattern | null {
150
- const viewType = view.type?.toLowerCase();
151
- const typeToPattern: Record<string, string> = {
152
- 'form': 'form-view',
153
- 'list': 'list-view',
154
- 'detail': 'detail-view',
155
- 'dashboard': 'dashboard-view'
156
- };
157
- const patternId = typeToPattern[viewType];
158
- return patternId ? COMPOSITE_VIEW_PATTERNS[patternId] : null;
159
- },
160
-
161
- renderPattern(_context: any): string {
162
- return \`
163
- <div class="p-4 bg-yellow-50 border border-yellow-200 rounded">
164
- <p class="text-yellow-800 font-semibold">⚠️ Pattern Adapter Stub</p>
165
- <p class="text-sm text-yellow-700 mt-2">
166
- Full ReactPatternAdapter could not be bundled.
167
- Views will not render correctly.
168
- </p>
169
- </div>
170
- \`;
171
- }
172
- }), []);
173
- }
174
-
175
- export { COMPOSITE_VIEW_PATTERNS } from '@specverse/engines/realize';
176
-
177
- console.warn('⚠️ Using stub ReactPatternAdapter - full source file not found during generation');
178
- `;
179
- }