@salsita-ai/sdk 0.50.0-develop.e33c8d8711 → 0.50.0-develop.e54f47e4bf

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 (952) hide show
  1. package/README.md +8 -4
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application/index.d.ts +1 -0
  13. package/dist/application/index.js +1 -1
  14. package/dist/application/mount-application.d.ts +1 -1
  15. package/dist/application/mount-application.js +1 -1
  16. package/dist/application/mount-configurator.d.ts +19 -0
  17. package/dist/application/mount-configurator.js +1 -0
  18. package/dist/application/mounted-application-runtime.d.ts +4 -0
  19. package/dist/application/mounted-application-runtime.js +1 -0
  20. package/dist/application/register-web-component.d.ts +2 -0
  21. package/dist/application/register-web-component.js +1 -0
  22. package/dist/application-spec/caching/content-diff.js +1 -1
  23. package/dist/application-spec/core/application-file.d.ts +0 -2
  24. package/dist/application-spec/core/application-file.js +1 -1
  25. package/dist/application-spec/errors/diagnostic-codes.d.ts +11 -0
  26. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  27. package/dist/application-spec/errors/diagnostic-messages.d.ts +12 -1
  28. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  29. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  30. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  31. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  32. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  33. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  34. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  35. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  36. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +10 -14
  37. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  38. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  39. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  40. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  41. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  42. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  43. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  44. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  45. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  46. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  47. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  48. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  49. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  50. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  51. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  52. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  53. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +6 -6
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +59 -63
  55. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  57. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  58. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
  59. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  63. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  64. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  65. package/dist/application-spec/generate-application/code/templates/gitignore.js +1 -3
  66. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  67. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  68. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  69. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  70. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  71. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  72. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  73. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  74. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -2
  75. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  76. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  77. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  78. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  79. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  80. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  82. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  83. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +3 -3
  84. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  85. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  86. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +26 -8
  87. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  88. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  89. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  90. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  91. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  92. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  93. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  94. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  95. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  96. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  97. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  98. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  99. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  100. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  101. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  102. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  103. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  104. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  105. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  106. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  107. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  108. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  109. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  110. package/dist/application-spec/generate-application/index.d.ts +2 -0
  111. package/dist/application-spec/generate-application/index.js +1 -1
  112. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  113. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  114. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +9 -5
  115. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  116. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  117. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  118. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  119. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +29 -9
  120. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  121. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  122. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  123. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +7 -5
  124. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  125. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +9 -6
  126. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  127. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  128. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  129. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  130. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  131. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  132. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  133. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  134. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +2 -2
  135. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  136. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +2 -1
  137. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  138. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  139. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  140. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
  141. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  142. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  143. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +15 -6
  144. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  145. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  146. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  147. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  148. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  149. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  150. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  151. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  152. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  154. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  156. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  157. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  158. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +3 -2
  159. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +1 -0
  160. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -1
  161. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +44 -9
  162. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -1
  163. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  164. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  165. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +18 -0
  166. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  167. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  168. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  169. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +33 -3
  170. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  171. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  172. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  173. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +1 -0
  174. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -1
  175. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  176. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  177. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +3 -0
  178. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  179. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +3 -0
  180. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  181. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  182. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  183. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  184. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  185. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  186. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  187. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +6 -2
  188. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  189. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  190. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  191. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  192. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  193. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  194. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  195. package/dist/client/authorized-client.d.ts +3 -1
  196. package/dist/client/authorized-client.js +1 -1
  197. package/dist/client/contract.d.ts +17 -0
  198. package/dist/client/index.d.ts +1 -1
  199. package/dist/client/local-authorized-client.d.ts +3 -1
  200. package/dist/client/local-authorized-client.js +1 -1
  201. package/dist/client/memory-authorized-client.d.ts +4 -1
  202. package/dist/client/memory-authorized-client.js +1 -1
  203. package/dist/client/phoenix-api.d.ts +228 -0
  204. package/dist/configurator/ConfiguratorApp.js +1 -1
  205. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  206. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  207. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  208. package/dist/configurator/app-loader-content/index.js +1 -0
  209. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  210. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +24 -4
  211. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  212. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +34 -7
  213. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  214. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  215. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  216. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  217. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  218. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  219. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  220. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  221. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  222. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  223. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  224. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  225. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +52 -5
  226. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  227. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  228. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  229. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  230. package/dist/configurator/common/configurator-interface.d.ts +121 -6
  231. package/dist/configurator/common/configurator-interface.js +1 -1
  232. package/dist/configurator/common/index.d.ts +2 -2
  233. package/dist/configurator/common/index.js +1 -1
  234. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  235. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  236. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  237. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  238. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  239. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  240. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  241. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  242. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  243. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  244. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  245. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  246. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +10 -0
  247. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  248. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  249. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  250. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  251. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  252. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  253. package/dist/configurator/configurator-error-page/index.js +1 -0
  254. package/dist/configurator/index.d.ts +10 -0
  255. package/dist/configurator/index.js +1 -1
  256. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  257. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  258. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  259. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  260. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  261. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  262. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  263. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  264. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  265. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  266. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  267. package/dist/configurator/pages/RootPage.js +1 -1
  268. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -1
  269. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  270. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  271. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  272. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  273. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  274. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  275. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  276. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  277. package/dist/configurator/pages/default-elements/index.js +1 -0
  278. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  279. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  280. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  281. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  282. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  283. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  284. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  285. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  286. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  287. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  288. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  289. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  290. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  291. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  292. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  293. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  294. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  295. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  296. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  297. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  298. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  299. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  300. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  301. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  302. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  303. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  304. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  305. package/dist/configurator/preset-screen-elements/index.js +1 -0
  306. package/dist/configurator/scene/index.d.ts +1 -0
  307. package/dist/configurator/scene/index.js +1 -1
  308. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  309. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  310. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  311. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  312. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  313. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  314. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  315. package/dist/configurator/toolbar-actions/index.js +1 -0
  316. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  317. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  318. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  319. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  320. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  321. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  322. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  323. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  324. package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
  325. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  326. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  327. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  328. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  329. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  330. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  331. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  332. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  333. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  334. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  335. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  336. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +1 -1
  337. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  338. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +1 -1
  339. package/dist/configurator/ui/assistant/entity-link/index.d.ts +0 -1
  340. package/dist/configurator/ui/assistant/entity-link/index.js +1 -1
  341. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  342. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -1
  343. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  344. package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -4
  345. package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
  346. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  347. package/dist/configurator/ui/assistant/form/index.js +1 -1
  348. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +3 -2
  349. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  350. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
  351. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  352. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  353. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  354. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  355. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  356. package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
  357. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  358. package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +2 -2
  359. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  360. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  361. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  362. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  363. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  364. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  365. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  366. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  367. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  368. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
  369. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  370. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  371. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
  372. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
  373. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  374. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  375. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  376. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
  377. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  378. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  379. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  380. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +20 -16
  381. package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
  382. package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
  383. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  384. package/dist/configurator/ui/assistant/index.js +1 -1
  385. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  386. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  387. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  388. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  389. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  390. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  391. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  392. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  393. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  394. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  395. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  396. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  397. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  398. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  399. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  400. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  401. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  402. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  403. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  404. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  405. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  406. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  407. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  408. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  409. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  410. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  411. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  412. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  413. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
  414. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  415. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  416. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  417. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  418. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  419. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  420. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  421. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  422. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  423. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  424. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  425. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  426. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  427. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  428. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  429. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  430. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  431. package/dist/configurator/ui/index.d.ts +1 -0
  432. package/dist/configurator/ui/index.js +1 -1
  433. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  434. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  435. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  436. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  437. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  438. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  439. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  440. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  441. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  442. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  443. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  444. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  445. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  446. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  447. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  448. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  449. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  450. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  451. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  452. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  453. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  454. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  455. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  456. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  457. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  458. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  459. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  460. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  461. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  462. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  463. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  464. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  465. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  466. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  467. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  468. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  469. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  470. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  471. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  472. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  473. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  474. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  475. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  476. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  477. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  478. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  479. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  480. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  481. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  482. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  483. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  484. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  485. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  486. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  487. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  488. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  489. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  490. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  491. package/dist/configurator/ui/preset-layout/index.js +1 -1
  492. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  493. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  494. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  495. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  496. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  497. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  498. package/dist/docs/fabs/basic.mdx +6 -2
  499. package/dist/docs/index.json +95 -1
  500. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  501. package/dist/docs/layouts/custom-layout.mdx +637 -165
  502. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  503. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  504. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  505. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  506. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  507. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  508. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  509. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  510. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  511. package/dist/docs/other-features/error-5xx.mdx +1 -1
  512. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  513. package/dist/docs/other-features/not-found-404.mdx +1 -1
  514. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  515. package/dist/docs/phoenix/configurator-interface.mdx +223 -59
  516. package/dist/docs/phoenix/domain-model.mdx +2 -0
  517. package/dist/docs/phoenix/finalization.mdx +1 -1
  518. package/dist/docs/phoenix/getting-started.mdx +5 -3
  519. package/dist/docs/phoenix/layout-slots.mdx +23 -23
  520. package/dist/docs/phoenix/localization.mdx +6 -2
  521. package/dist/docs/phoenix/migration-guide.mdx +12 -10
  522. package/dist/docs/phoenix/phoenix-cli.mdx +31 -16
  523. package/dist/docs/phoenix/project-structure.mdx +52 -30
  524. package/dist/docs/phoenix/quickstart.mdx +7 -7
  525. package/dist/docs/phoenix/sdk-builder-workflow.mdx +11 -9
  526. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  527. package/dist/docs/phoenix/testing.mdx +8 -0
  528. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  529. package/dist/domain/application/assistant/assistant-manifest.d.ts +16 -1
  530. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +8 -1
  531. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  532. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  533. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  534. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  535. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  536. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  537. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  538. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  539. package/dist/domain/application/assistant/form/index.js +1 -0
  540. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  541. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  542. package/dist/domain/application/assistant/index.d.ts +2 -3
  543. package/dist/domain/application/assistant/index.js +1 -1
  544. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  545. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +2 -0
  546. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  547. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  548. package/dist/domain/application/configurator-builder.d.ts +7 -1
  549. package/dist/domain/application/configurator-builder.js +1 -1
  550. package/dist/domain/application/index.d.ts +1 -1
  551. package/dist/domain/application/index.js +1 -1
  552. package/dist/domain/application/standard-properties.js +1 -1
  553. package/dist/domain/application/web-component-property.d.ts +3 -1
  554. package/dist/domain/application/web-component-property.js +1 -1
  555. package/dist/domain/available-system-components.d.ts +1 -1
  556. package/dist/domain/available-system-components.js +1 -1
  557. package/dist/domain/domain-builder.d.ts +9 -3
  558. package/dist/domain/domain-builder.js +1 -1
  559. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  560. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  561. package/dist/domain/domain-runtime/application.d.ts +39 -0
  562. package/dist/domain/domain-runtime/application.js +1 -0
  563. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  564. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  565. package/dist/domain/domain-runtime/domain-runtime.d.ts +44 -4
  566. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  567. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  568. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  569. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  570. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  571. package/dist/domain/domain-runtime/index.d.ts +2 -1
  572. package/dist/domain/domain-runtime/index.js +1 -1
  573. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  574. package/dist/domain/domain-runtime/spec/index.js +1 -1
  575. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  576. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +27 -12
  577. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  578. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  579. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  580. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +3 -1
  581. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  582. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  583. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  584. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  585. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  586. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  587. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  588. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  589. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  590. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  591. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  592. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  593. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  594. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  595. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  596. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  597. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  598. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  599. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  600. package/dist/domain/extensions/export-images/index.js +1 -0
  601. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  602. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  603. package/dist/domain/extensions/index.d.ts +1 -2
  604. package/dist/domain/extensions/index.js +1 -1
  605. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  606. package/dist/domain/system-components/child-entity-selection.js +1 -1
  607. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  608. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  609. package/dist/editor/Editor.d.ts +7 -0
  610. package/dist/editor/Editor.js +1 -1
  611. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  612. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  613. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  614. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  615. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  616. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  617. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  618. package/dist/editor/mocks/EditorMockContext.js +1 -1
  619. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  620. package/dist/i18n/locales/cs/messages.js +1 -1
  621. package/dist/i18n/locales/da/messages.js +1 -1
  622. package/dist/i18n/locales/de/messages.js +1 -1
  623. package/dist/i18n/locales/de-AT/messages.js +1 -1
  624. package/dist/i18n/locales/en/messages.js +1 -1
  625. package/dist/i18n/locales/en-AU/messages.js +1 -1
  626. package/dist/i18n/locales/en-GB/messages.js +1 -1
  627. package/dist/i18n/locales/es/messages.js +1 -1
  628. package/dist/i18n/locales/fr/messages.js +1 -1
  629. package/dist/i18n/locales/hu/messages.js +1 -1
  630. package/dist/i18n/locales/it/messages.js +1 -1
  631. package/dist/i18n/locales/nl/messages.js +1 -1
  632. package/dist/i18n/locales/pl/messages.js +1 -1
  633. package/dist/i18n/locales/pt/messages.js +1 -1
  634. package/dist/i18n/locales/ro/messages.js +1 -1
  635. package/dist/i18n/locales/sk/messages.js +1 -1
  636. package/dist/i18n/locales/tr/messages.js +1 -1
  637. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  638. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  639. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +95 -80
  640. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  641. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  642. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  643. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  644. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  645. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +10 -11
  646. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +9 -10
  647. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  648. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  649. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  650. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  651. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  652. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  653. package/dist/phoenix/application-spec/project-files.js +1 -1
  654. package/dist/phoenix/bin.d.ts +2 -0
  655. package/dist/phoenix/bin.js +2 -0
  656. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  657. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  658. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  659. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  660. package/dist/phoenix/check-configs/index.d.ts +8 -0
  661. package/dist/phoenix/check-configs/index.js +1 -0
  662. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  663. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  664. package/dist/phoenix/cli.d.ts +0 -1
  665. package/dist/phoenix/cli.js +1 -2
  666. package/dist/phoenix/commands/build.js +1 -1
  667. package/dist/phoenix/commands/check.js +1 -1
  668. package/dist/phoenix/commands/clean.js +1 -1
  669. package/dist/phoenix/commands/deploy.js +2 -2
  670. package/dist/phoenix/commands/deps/deps.d.ts +22 -1
  671. package/dist/phoenix/commands/deps/deps.js +2 -2
  672. package/dist/phoenix/commands/deps/index.d.ts +1 -1
  673. package/dist/phoenix/commands/deps/index.js +1 -1
  674. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -1
  675. package/dist/phoenix/commands/dev.js +4 -4
  676. package/dist/phoenix/commands/fix.js +1 -1
  677. package/dist/phoenix/commands/init.d.ts +17 -5
  678. package/dist/phoenix/commands/init.js +1 -1
  679. package/dist/phoenix/commands/link.js +1 -1
  680. package/dist/phoenix/commands/prettier.js +1 -1
  681. package/dist/phoenix/commands/sync.js +1 -1
  682. package/dist/phoenix/commands/unlink.js +1 -1
  683. package/dist/phoenix/services/application-spec-project-watcher.d.ts +0 -2
  684. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  685. package/dist/phoenix/services/lingui.d.ts +8 -0
  686. package/dist/phoenix/services/lingui.js +1 -1
  687. package/dist/phoenix/services/swc.js +1 -1
  688. package/dist/phoenix/services/vite-config.js +1 -1
  689. package/dist/phoenix/utils/index.d.ts +3 -2
  690. package/dist/phoenix/utils/index.js +1 -1
  691. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  692. package/dist/phoenix/utils/node-version/index.js +1 -0
  693. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  694. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  695. package/dist/phoenix/utils/package-info.d.ts +0 -9
  696. package/dist/phoenix/utils/package-info.js +1 -1
  697. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  698. package/dist/phoenix/utils/package-manager/index.js +1 -0
  699. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  700. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  701. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  702. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  703. package/dist/phoenix/utils/run-command.d.ts +11 -0
  704. package/dist/phoenix/utils/run-command.js +1 -1
  705. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  706. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  707. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  708. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  709. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  710. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +4 -0
  711. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  712. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  713. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  714. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  715. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  716. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  717. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  718. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  719. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  720. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  721. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  722. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  723. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  724. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  725. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  726. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  727. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  728. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  729. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  730. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  731. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  732. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  733. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  734. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  735. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  736. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  737. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  738. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  739. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  740. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  741. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  742. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  743. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  744. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  745. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  746. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  747. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  748. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  749. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  750. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  751. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  752. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  753. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  754. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  755. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  756. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  757. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  758. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  759. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  760. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  761. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  762. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  763. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  764. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  765. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  766. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  767. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  768. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  769. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  770. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  771. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  772. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  773. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  774. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  775. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  776. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  777. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  778. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  779. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  780. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  781. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  782. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  783. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  784. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  785. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  786. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  787. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  788. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  789. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  790. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  791. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  792. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  793. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  794. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  795. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  796. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +313 -10
  797. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  798. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  799. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  800. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  801. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  802. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  803. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  804. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  805. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  806. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +15 -4
  807. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -1
  808. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  809. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  810. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  811. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  812. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  813. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  814. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  815. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  816. package/dist/react-sdk/domain-context/index.d.ts +7 -0
  817. package/dist/react-sdk/domain-context/index.js +1 -1
  818. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  819. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  820. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  821. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  822. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  823. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  824. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  825. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  826. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  827. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  828. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  829. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  830. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  831. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  832. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  833. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  834. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  835. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  836. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  837. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  838. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  839. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  840. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  841. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  842. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  843. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  844. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  845. package/dist/react-sdk/handlers/index.d.ts +6 -0
  846. package/dist/react-sdk/handlers/index.js +1 -1
  847. package/dist/{configurator/common → react-sdk/handlers}/use-finalize-action.d.ts +3 -2
  848. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  849. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  850. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  851. package/dist/react-sdk/index.d.ts +2 -0
  852. package/dist/react-sdk/index.js +1 -1
  853. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  854. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  855. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  856. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  857. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  858. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  859. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  860. package/dist/react-sdk/loading-state/index.js +1 -1
  861. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  862. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  863. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  864. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  865. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  866. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  867. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  868. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  869. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  870. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  871. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  872. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  873. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  874. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  875. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  876. package/dist/react-sdk/page-elements/index.js +1 -0
  877. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  878. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  879. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  880. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  881. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  882. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  883. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  884. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  885. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  886. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  887. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  888. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  889. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  890. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  891. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  892. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  893. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  894. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  895. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  896. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  897. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  898. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  899. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  900. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  901. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  902. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  903. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  904. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  905. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  906. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  907. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  908. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  909. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  910. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  911. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  912. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  913. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  914. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  915. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  916. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  917. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  918. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  919. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  920. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  921. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  922. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  923. package/dist/ui-sdk/theme/types.d.ts +5 -1
  924. package/package.json +28 -11
  925. package/schema/domain-spec.json +226 -8
  926. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  927. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  928. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  929. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  930. package/dist/configurator/common/use-finalize-action.js +0 -1
  931. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +0 -5
  932. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +0 -1
  933. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
  934. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
  935. package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
  936. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  937. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  938. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  939. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  940. package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
  941. package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
  942. package/dist/domain/extensions/client-side-image.js +0 -1
  943. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  944. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  945. package/dist/phoenix/commands/generate-project-files.js +0 -1
  946. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  947. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  948. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  949. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  950. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  951. /package/dist/{configurator/ui/assistant/form/form-element-definition.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  952. /package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.js +0 -0
@@ -1,3 +1,3 @@
1
- export const generateEnvReader=e=>{let t=Object.keys(e);if(0===t.length)return{imports:[],config:"{}"};let l=new Set,f=t.map(t=>{let f=e[t];l.add(f.type);let n=[];if("default"in f){let e="string"==typeof f.default?`'${f.default}'`:f.default;n.push(`default: ${e}`)}else!0!==f.required&&n.push("default: undefined");if("devDefault"in f){let e="string"==typeof f.devDefault?`'${f.devDefault}'`:f.devDefault;n.push(`devDefault: ${e}`)}if(f.choices){let e=`[${f.choices.map(e=>`'${e}'`).join(", ")}]`;n.push(`choices: ${e}`)}let i=n.length>0?`{ ${n.join(", ")} }`:"{}";return` ${t}: ${f.type}(${i}),`});return{imports:Array.from(l).sort(),config:`{
2
- ${f.join("\n")}
1
+ import{toSingleQuotedString as e}from"./single-quoted-string.js";export const generateEnvReader=t=>{let i=Object.keys(t);if(0===i.length)return{imports:[],config:"{}"};let l=new Set,n=i.map(i=>{let n=t[i];l.add(n.type);let f=[];if("default"in n){let t="string"==typeof n.default?e(n.default):n.default;f.push(`default: ${t}`)}else!0!==n.required&&f.push("default: undefined");if("devDefault"in n){let t="string"==typeof n.devDefault?e(n.devDefault):n.devDefault;f.push(`devDefault: ${t}`)}if(n.choices){let t=`[${n.choices.map(e).join(", ")}]`;f.push(`choices: ${t}`)}let r=f.length>0?`{ ${f.join(", ")} }`:"{}";return` ${i}: ${n.type}(${r}),`});return{imports:Array.from(l).sort(),config:`{
2
+ ${n.join("\n")}
3
3
  }`}};
@@ -4,3 +4,4 @@ export * from './exported-type-declarations.js';
4
4
  export * from './env-reader.js';
5
5
  export * from './file-headers.js';
6
6
  export * from './project-module-list.js';
7
+ export * from './single-quoted-string.js';
@@ -1 +1 @@
1
- export*from"./application-type-imports.js";export*from"./code-imports.js";export*from"./exported-type-declarations.js";export*from"./env-reader.js";export*from"./file-headers.js";export*from"./project-module-list.js";
1
+ export*from"./application-type-imports.js";export*from"./code-imports.js";export*from"./exported-type-declarations.js";export*from"./env-reader.js";export*from"./file-headers.js";export*from"./project-module-list.js";export*from"./single-quoted-string.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Writes a string as a single-quoted TypeScript string literal. Backslashes, single quotes and line
3
+ * terminators are escaped, so any string gives a valid literal; a string without them comes out as
4
+ * `'value'`, as the templates write it.
5
+ */
6
+ export declare const toSingleQuotedString: (value: string) => string;
@@ -0,0 +1 @@
1
+ let u={"\\":"\\\\","'":"\\'","\n":"\\n","\r":"\\r","\u2028":"\\u2028","\u2029":"\\u2029"};export const toSingleQuotedString=e=>`'${e.replace(/[\\'\n\r\u2028\u2029]/g,e=>u[e])}'`;
@@ -1 +1 @@
1
- import{GeneratedApplicationFile as n}from"../../core/index.js";import{encodeRuntimeSpec as e,toRuntimeSpec as i}from"../runtime-spec/index.js";import{createApplicationTypeImportRegistrar as o}from"./common/index.js";import{generateAdminGlobalBindingBlock as t,generateApplicationSpecAdminCode as r,generateApplicationSpecAdminFrontendCode as a,generateApplicationSpecAdminGlobals as s,generateApplicationSpecConfiguratorCode as d,generateApplicationSpecConfiguratorConfig as c,generateApplicationSpecConfiguratorFrontendCode as m,generateApplicationSpecConfiguratorGlobals as p,generateApplicationSpecDomainFile as g,generateApplicationSpecDomainSpecFile as l,generateApplicationSpecGlobals as f,generateApplicationSpecTypesModule as u,generateConfiguratorGlobalBindingBlock as B,generateImportedStateConstants as x,generatePhxExportsBlock as h,generatePhxGlobalsBlock as k,generateStateConstants as y}from"./templates/index.js";import{splitWebhookMembership as C}from"./webhook-safe-files.js";let b=()=>"";export const globalPhxBindingStrategy={generateApplicationTypesFile:(e,i)=>n("globals.d.ts",f(e,i)),generateDomainBindingBlock:k,generateStateConstants:y,generateConfiguratorBindingBlock:B,configuratorBindingDescription:"Creates the configurator interface and sets phx.frontend — must run before any user code imports.",generateAdminBindingBlock:t,adminBindingDescription:"Creates the admin interface and sets phx.frontend.admin — must run before admin user code imports."};export const modulePhxBindingStrategy={applicationTypeImportSource:"./application-types.js",generateApplicationTypesFile:(e,i)=>n("application-types.ts",u(e,i)),generateDomainBindingBlock:h,generateStateConstants:x,generateConfiguratorBindingBlock:b,configuratorBindingDescription:"Creates and exports the configurator interface for a module-scoped phx binding.",generateAdminBindingBlock:b,adminBindingDescription:"Creates and exports the admin interface for a module-scoped phx binding."};let D=n=>n.map(n=>n.file.name);export const generateDomainRuntimeFiles=(t,f)=>{let{applicationSpec:u,categorizedFiles:B,phxDefinitions:x,includeDefaultEnvs:h}=t,k=o(f.applicationTypeImportSource),y=D(B.expressions),b=D(B.actions),j=D(B.handlers),S=D(B.elements),A=D(B.transformers),F=D(B.invariants),I=D(B.adminInvariants),T=D(B.adminExpressions),w=D(B.adminElements),v=C(B.components),E=D(v.webhookIncluded),O=D(v.frontendOnly),P=C(B.adminComponents),R=D(P.webhookIncluded),q=D(P.frontendOnly);return[n("domain-spec.ts",l(u,{generateBindingBlock:f.generateDomainBindingBlock,generateStateConstants:f.generateStateConstants,registerApplicationTypeImports:k})),n("configurator-globals.ts",p(f.generateConfiguratorBindingBlock,f.configuratorBindingDescription)),n("configurator-domain-code.ts",d({expressionFiles:y,actionFiles:b,invariantFiles:F,componentFiles:E})),n("configurator-frontend-code.ts",m({transformerFiles:A,handlerFiles:j,elementFiles:S,componentFiles:O})),n("admin-domain-code.ts",r({adminExpressionFiles:T,adminInvariantFiles:I,adminComponentFiles:R})),n("admin-frontend-code.ts",a({adminElementFiles:w,adminComponentFiles:q})),n("domain.ts",g(u)),n("configurator-config.ts",c(u,{includeDefaultEnvs:h})),f.generateApplicationTypesFile(u,x),n("admin-globals.ts",s(f.generateAdminBindingBlock,f.adminBindingDescription)),n("application-spec.json",e(i(u)),{format:!1})]};
1
+ import{GeneratedApplicationFile as n}from"../../core/index.js";import{encodeRuntimeSpec as e,toRuntimeSpec as i}from"../runtime-spec/index.js";import{createApplicationTypeImportRegistrar as o}from"./common/index.js";import{generateAdminGlobalBindingBlock as t,generateApplicationSpecAdminCode as a,generateApplicationSpecAdminFrontendCode as r,generateApplicationSpecAdminGlobals as s,generateApplicationSpecCodeFile as d,generateApplicationSpecConfiguratorCode as c,generateApplicationSpecConfiguratorConfig as p,generateApplicationSpecConfiguratorFrontendCode as m,generateApplicationSpecConfiguratorGlobals as g,generateApplicationSpecDomainFile as l,generateApplicationSpecDomainSpecFile as f,generateApplicationSpecGlobals as u,generateApplicationSpecMessagesFile as B,generateApplicationSpecTypesModule as x,generateConfiguratorGlobalBindingBlock as h,generateImportedStateConstants as k,generatePhxExportsBlock as y,generatePhxGlobalsBlock as C,generateStateConstants as b}from"./templates/index.js";import{splitWebhookMembership as D}from"./webhook-safe-files.js";let j=()=>"";export const globalPhxBindingStrategy={generateApplicationTypesFile:(e,i)=>n("globals.d.ts",u(e,i)),generateDomainBindingBlock:C,generateStateConstants:b,generateConfiguratorBindingBlock:h,configuratorBindingDescription:"Creates the configurator interface and sets phx.frontend — must run before any user code imports.",generateAdminBindingBlock:t,adminBindingDescription:"Creates the admin interface and sets phx.frontend.admin — must run before admin user code imports."};export const modulePhxBindingStrategy={applicationTypeImportSource:"./application-types.js",generateApplicationTypesFile:(e,i)=>n("application-types.ts",x(e,i)),generateDomainBindingBlock:y,generateStateConstants:k,generateConfiguratorBindingBlock:j,configuratorBindingDescription:"Creates and exports the configurator interface for a module-scoped phx binding.",generateAdminBindingBlock:j,adminBindingDescription:"Creates and exports the admin interface for a module-scoped phx binding."};let S=n=>n.map(n=>n.file.name);export const generateDomainRuntimeFiles=(t,u)=>{let{applicationSpec:x,categorizedFiles:h,phxDefinitions:k,includeDefaultEnvs:y}=t,C=o(u.applicationTypeImportSource),b=S(h.expressions),j=S(h.actions),A=S(h.handlers),F=S(h.elements),I=S(h.transformers),T=S(h.invariants),w=S(h.adminInvariants),v=S(h.adminExpressions),E=S(h.adminElements),O=D(h.components),P=S(O.webhookIncluded),R=S(O.frontendOnly),q=D(h.adminComponents),z=S(q.webhookIncluded),G=S(q.frontendOnly);return[n("domain-spec.ts",f(x,{generateBindingBlock:u.generateDomainBindingBlock,generateStateConstants:u.generateStateConstants,registerApplicationTypeImports:C})),n("configurator-globals.ts",g(u.generateConfiguratorBindingBlock,u.configuratorBindingDescription,C)),n("configurator-domain-code.ts",c({expressionFiles:b,actionFiles:j,invariantFiles:T,componentFiles:P})),n("configurator-frontend-code.ts",m({transformerFiles:I,handlerFiles:A,elementFiles:F,componentFiles:R})),n("admin-domain-code.ts",a({adminExpressionFiles:v,adminInvariantFiles:w,adminComponentFiles:z})),n("admin-frontend-code.ts",r({adminElementFiles:E,adminComponentFiles:G})),n("spec-code.ts",d(x,C)),n("spec-messages.ts",B(x)),n("domain.ts",l(x)),n("configurator-config.ts",p(x,{includeDefaultEnvs:y})),u.generateApplicationTypesFile(x,k),n("admin-globals.ts",s(u.generateAdminBindingBlock,u.adminBindingDescription)),n("application-spec.json",e(i(x)),{format:!1})]};
@@ -2,7 +2,7 @@
2
2
  * Generates the files that configure the generated project itself.
3
3
  *
4
4
  * Membership criterion: a file belongs to this group when it describes the project rather than the
5
- * application — dependency and toolchain configuration, formatting rules, agent skills, and
5
+ * application — toolchain configuration, formatting rules, agent skills, and
6
6
  * the initial content a fresh project starts with. Nothing here is imported by the running
7
7
  * configurator or served by the deployed application.
8
8
  *
@@ -24,12 +24,12 @@ export declare const agentSkillRoots: readonly ['.claude/skills', '.agents/skill
24
24
  /**
25
25
  * Inputs required by generated-project configuration and initial project files.
26
26
  *
27
- * The SDK version pins the generated `package.json` dependency, `cliUseWorkspace` lets an explicit
28
- * CLI flag override the spec's workspace mode, and the optional name and description populate the
29
- * project metadata. The categorized files carry the project's existing `package.json` and `.gitignore`
30
- * so those templates can merge rather than clobber, the legacy cursor rules and `CLAUDE.md` so the
31
- * SDK block can be stripped from them, and whether the root `tsconfig.json` is the one earlier SDK
32
- * versions generated, so it can be replaced.
27
+ * The SDK version and the workspace mode decide whether the agent skills tell the agent to follow the
28
+ * canary builds; `cliUseWorkspace` lets an explicit CLI flag override the spec's workspace mode. The
29
+ * categorized files carry the project's existing `.gitignore` so its template can merge rather than
30
+ * clobber, the legacy cursor rules and `CLAUDE.md` so the
31
+ * SDK block can be stripped from them, and whether the root `tsconfig.json`, `eslint.config.js` and
32
+ * `prettier.config.js` are the ones earlier SDK versions generated, so they can be replaced.
33
33
  *
34
34
  * `projectInGitRepository` says whether the project folder is inside a git work tree. `.gitignore` is
35
35
  * generated only then: a project that is not under git has no use for the file, and one it already
@@ -43,8 +43,6 @@ export interface GenerateProjectScaffoldingOptions {
43
43
  readonly sdkVersion: string;
44
44
  readonly projectInGitRepository?: boolean;
45
45
  readonly cliUseWorkspace?: boolean;
46
- readonly name?: string;
47
- readonly description?: string;
48
46
  }
49
47
  /**
50
48
  * Project-root file buckets produced independently from the application runtime files, and the
@@ -53,10 +51,9 @@ export interface GenerateProjectScaffoldingOptions {
53
51
  * The buckets are kept apart because they carry different write intent, which the caching layer
54
52
  * acts on: `phoenixFiles` are paths relative to `.phoenix/` and join the application files there,
55
53
  * rewritten whenever they differ and removed with the rest of the folder's stale output;
56
- * `generatedProjectFiles` are content-diffed and rewritten whenever they differ,
57
- * `initialProjectFiles` are written only when absent and are the project's to edit afterwards, and
58
- * `prettierFiles` are separated so a writer can emit the formatting configuration ahead of the
59
- * output it formats. `removedProjectFiles` lists project-relative paths of files earlier SDK versions
54
+ * `generatedProjectFiles` are content-diffed and rewritten whenever they differ, and
55
+ * `initialProjectFiles` are written only when absent and are the project's to edit afterwards.
56
+ * `removedProjectFiles` lists project-relative paths of files earlier SDK versions
60
57
  * generated that must no longer exist. As in the generated application bundle these buckets flow
61
58
  * into, they express that intent without implementing the write behavior themselves.
62
59
  */
@@ -64,7 +61,6 @@ export interface GeneratedProjectScaffolding {
64
61
  readonly phoenixFiles: readonly GeneratedApplicationFile[];
65
62
  readonly generatedProjectFiles: readonly GeneratedApplicationFile[];
66
63
  readonly initialProjectFiles: readonly GeneratedApplicationFile[];
67
- readonly prettierFiles: readonly GeneratedApplicationFile[];
68
64
  readonly removedProjectFiles: readonly string[];
69
65
  }
70
66
  export declare const generateProjectScaffolding: (options: GenerateProjectScaffoldingOptions) => GeneratedProjectScaffolding;
@@ -1,6 +1,6 @@
1
- import{GeneratedApplicationFile as e}from"../../core/index.js";import{followsCanaryBuilds as t,generateApplicationSpecEslintConfig as n,generateApplicationSpecFavicon as i,generateApplicationSpecGitignore as r,generateApplicationSpecNvmrc as o,generateApplicationSpecPackageJson as a,generateApplicationSpecPrettierConfig as s,generateApplicationSpecRobotsTxt as c,generateApplicationSpecRootTsconfig as l,generateApplicationSpecTsconfig as p,generateLinguiRcFile as f,generatePhoenixCliSkill as m,generatePhoenixCreateConfiguratorSkill as d,generatePhoenixCreateConfiguratorSkillReferences as g,generatePhoenixFeedbackSkill as j,generatePhoenixReviewSkill as u,generatePhoenixSkill as x,generatePhoenixVariantsSkill as h,stripSdkMarkerContent as F}from"./templates/index.js";export const agentSkillRoots=[".claude/skills",".agents/skills"];let P=[{path:"CLAUDE.md",generatedPrefix:""},{path:".cursor/rules/phoenix.mdc",generatedPrefix:`---
1
+ import{GeneratedApplicationFile as e}from"../../core/index.js";import{followsCanaryBuilds as r,generateApplicationSpecEslintConfig as t,generateApplicationSpecFavicon as i,generateApplicationSpecGitignore as n,generateApplicationSpecPrettierConfig as a,generateApplicationSpecRobotsTxt as o,generateApplicationSpecRootTsconfig as l,generateApplicationSpecTsconfig as s,generateLinguiRcFile as c,generatePhoenixCliSkill as f,generatePhoenixCreateConfiguratorSkill as p,generatePhoenixCreateConfiguratorSkillReferences as d,generatePhoenixFeedbackSkill as m,generatePhoenixReviewSkill as g,generatePhoenixSkill as h,generatePhoenixVariantsSkill as u,stripSdkMarkerContent as j}from"./templates/index.js";export const agentSkillRoots=[".claude/skills",".agents/skills"];let x=[{path:"CLAUDE.md",generatedPrefix:""},{path:".cursor/rules/phoenix.mdc",generatedPrefix:`---
2
2
  description: Phoenix SDK project rules
3
3
  globs:
4
4
  alwaysApply: true
5
5
  ---
6
- `}],v=[".claude/commands/review.md",".cursor/commands/review.md"],k=(e,t)=>e.projectFiles.find(e=>e.file.name===t)?.file.content;export const generateProjectScaffolding=b=>{let w,C,{applicationSpec:L,categorizedFiles:S,sdkVersion:$,projectInGitRepository:y=!0,cliUseWorkspace:M,name:A,description:D}=b,E=k(S,"package.json"),K=k(S,".gitignore"),R=void 0!==M?M:L.appMetadata.workspace,G=(t=>{let n=[],i=[...v];for(let{path:r,generatedPrefix:o}of P){let a=k(t,r);if(void 0===a)continue;let s=F(a,o);void 0===s?i.push(r):s!==a&&n.push(e(r,s,{format:!1}))}return{strippedFiles:n,removedFiles:i}})(S),I=(w=e("tsconfig.json",l()),S.hasEarlierGeneratedTsconfig?{generatedProjectFiles:[w],initialProjectFiles:[]}:{generatedProjectFiles:[],initialProjectFiles:[w]});return{phoenixFiles:[e("tsconfig.json",p())],generatedProjectFiles:[e("package.json",a({sdkVersion:$,useWorkspace:R,useClerk:L.appMetadata.useClerk??!1,name:A,description:D,existingContent:E})),e(".nvmrc",o(),{format:!1}),e(".linguirc",f(L.configurator.ui.availableLocales),{format:!1}),...I.generatedProjectFiles,e("eslint.config.js",n()),...y?[e(".gitignore",r(K))]:[],...(C=[{name:"phoenix",content:x({checkLatestCanary:t({useWorkspace:R,sdkVersion:$})}),references:[]},{name:"phoenix-cli",content:m(),references:[]},{name:"phoenix-create-configurator",content:d(),references:g()},{name:"phoenix-feedback",content:j(),references:[]},{name:"phoenix-review",content:u(),references:[]},{name:"phoenix-variants",content:h(),references:[]}],agentSkillRoots.flatMap(t=>C.flatMap(n=>[e(`${t}/${n.name}/SKILL.md`,n.content),...n.references.map(i=>e(`${t}/${n.name}/${i.path}`,i.content))]))),...G.strippedFiles],initialProjectFiles:[...I.initialProjectFiles,e("public/favicon.ico",i(),{binary:!0}),e("public/robots.txt",c(),{format:!1})],prettierFiles:[e("prettier.config.js",s())],removedProjectFiles:G.removedFiles}};
6
+ `}],P=[".claude/commands/review.md",".cursor/commands/review.md"],v=(e,r)=>e.projectFiles.find(e=>e.file.name===r)?.file.content;export const generateProjectScaffolding=F=>{let E,G,{applicationSpec:b,categorizedFiles:k,sdkVersion:w,projectInGitRepository:L=!0,cliUseWorkspace:S}=F,$=v(k,".gitignore"),y=void 0!==S?S:b.appMetadata.workspace,C=(r=>{let t=[],i=[...P];for(let{path:n,generatedPrefix:a}of x){let o=v(r,n);if(void 0===o)continue;let l=j(o,a);void 0===l?i.push(n):l!==o&&t.push(e(n,l,{format:!1}))}return{strippedFiles:t,removedFiles:i}})(k),M={generatedProjectFiles:(E=[{file:e("tsconfig.json",l()),hasEarlierGenerated:k.hasEarlierGeneratedTsconfig},{file:e("eslint.config.js",t()),hasEarlierGenerated:k.hasEarlierGeneratedEslintConfig},{file:e("prettier.config.js",a()),hasEarlierGenerated:k.hasEarlierGeneratedPrettierConfig}]).filter(e=>e.hasEarlierGenerated).map(e=>e.file),initialProjectFiles:E.filter(e=>!e.hasEarlierGenerated).map(e=>e.file)};return{phoenixFiles:[e("tsconfig.json",s()),e(".linguirc",c(b.configurator.ui.availableLocales),{format:!1})],generatedProjectFiles:[...M.generatedProjectFiles,...L?[e(".gitignore",n($))]:[],...(G=[{name:"phoenix",content:h({checkLatestCanary:r({useWorkspace:y,sdkVersion:w})}),references:[]},{name:"phoenix-cli",content:f(),references:[]},{name:"phoenix-create-configurator",content:p(),references:d()},{name:"phoenix-feedback",content:m(),references:[]},{name:"phoenix-review",content:g(),references:[]},{name:"phoenix-variants",content:u(),references:[]}],agentSkillRoots.flatMap(r=>G.flatMap(t=>[e(`${r}/${t.name}/SKILL.md`,t.content),...t.references.map(i=>e(`${r}/${t.name}/${i.path}`,i.content))]))),...C.strippedFiles],initialProjectFiles:[...M.initialProjectFiles,e("public/favicon.ico",i(),{binary:!0}),e("public/robots.txt",o(),{format:!1})],removedProjectFiles:C.removedFiles}};
@@ -1 +1 @@
1
- import{GeneratedApplicationFile as e,isTextFile as t}from"../../core/index.js";import{generateDomainRuntimeFiles as i,modulePhxBindingStrategy as r}from"./domain-runtime-files.js";import{generateApplicationSpecStoryDevDeclaration as o,generateApplicationSpecStoryPhxModule as a,generateApplicationSpecStoryRawProjectFiles as n,generateApplicationSpecStoryWrapper as s,generateLinguiRcFile as l}from"./templates/index.js";let p=".phoenix";export const getStoryTextFiles=e=>{let i=e.files.find(e=>"binary"===e.kind);if(i)throw Error(`Cannot build application-spec story: "${i.name}" is binary. Stories inline text project files only; remove the binary asset or demonstrate this project in a demo instead.`);return e.files.filter(t)};export const generateApplicationSpecStoryFiles=t=>{let{application:c,phxDefinitions:m,rawProjectFiles:f,storyFolderName:d,storyName:u}=t,y=getStoryTextFiles(f);return[...i({applicationSpec:c.applicationSpec,categorizedFiles:c.categorizedFiles,phxDefinitions:m,includeDefaultEnvs:!1},r).map(t=>e(`${p}/${t.path}`,t.content,{binary:t.binary,format:t.format})),e(".linguirc",l([...c.applicationSpec.configurator.ui.availableLocales]),{format:!1}),e(`${p}/phx.ts`,a()),e(`${p}/raw-project-files.ts`,n(y,f.envs)),e(`${p}/${u}.tsx`,s(d,c.rawMockTemplates.templates)),e(`${p}/story-dev-virtual-module.d.ts`,o(d))]};
1
+ import{GeneratedApplicationFile as e,isTextFile as t}from"../../core/index.js";import{generateDomainRuntimeFiles as i,modulePhxBindingStrategy as r}from"./domain-runtime-files.js";import{generateApplicationSpecStoryDevDeclaration as o,generateApplicationSpecStoryPhxModule as a,generateApplicationSpecStoryRawProjectFiles as n,generateApplicationSpecStoryWrapper as s,generateLinguiRcFile as l}from"./templates/index.js";let p=".phoenix";export const getStoryTextFiles=e=>{let i=e.files.find(e=>"binary"===e.kind);if(i)throw Error(`Cannot build application-spec story: "${i.name}" is binary. Stories inline text project files only; remove the binary asset or demonstrate this project in a demo instead.`);return e.files.filter(t)};export const generateApplicationSpecStoryFiles=t=>{let{application:c,phxDefinitions:m,rawProjectFiles:f,storyFolderName:d,storyName:u}=t,y=getStoryTextFiles(f);return[...i({applicationSpec:c.applicationSpec,categorizedFiles:c.categorizedFiles,phxDefinitions:m,includeDefaultEnvs:!1},r).map(t=>e(`${p}/${t.path}`,t.content,{binary:t.binary,format:t.format})),e(".linguirc",l([...c.applicationSpec.configurator.ui.availableLocales]),{format:!1}),e(`${p}/phx.ts`,a(c.applicationSpec)),e(`${p}/raw-project-files.ts`,n(y,f.envs)),e(`${p}/${u}.tsx`,s(d,c.rawMockTemplates.templates)),e(`${p}/story-dev-virtual-module.d.ts`,o(d))]};
@@ -1,4 +1,6 @@
1
1
  import{autoHeader as n}from"../common/file-headers.js";export const generateApplicationSpecAdminConfig=()=>`${n("admin-config.ts","Admin configurator config — builds admin interface and wires admin components/elements.")}
2
+ import { defaultAdminElements } from '@salsita-ai/sdk/admin'
3
+
2
4
  import { configuratorConfig } from './configurator-config.js'
3
5
  import { adminInterface } from './admin-globals.js'
4
6
  import { customAdminComponentOptics } from './admin-domain-code.js'
@@ -9,5 +11,6 @@ export const adminConfig = configuratorConfig
9
11
  .withInterface(adminInterface)
10
12
  .withAdminComponentOptics(customAdminComponentOptics)
11
13
  .withAdminComponentOptics(customFrontendAdminComponentOptics)
14
+ .withDefaultElements(defaultAdminElements)
12
15
  .withElements([...customElements, ...customAdminElements])
13
16
  `;
@@ -1,9 +1,9 @@
1
- import{CodeImports as e}from"../common/code-imports.js";import{autoHeader as o}from"../common/file-headers.js";import{generateStateTypeDecls as t}from"./domain-spec/index.js";import{generateActionTypeDecls as n,generateDataSchemaTypeDecls as i,generateEntityExpressionComposites as a,generateExpressionTypeDecls as s,generateModelTypeDecls as r}from"./global-definition/index.js";export const generateApplicationSpecTypeDeclarations=(o,p,l)=>{let d=new e,m=l+2,c=" ".repeat(l),f=r(o.configurator.latestModel,p,d,l),$=[];for(let e of o.configurator.resolvedVersions.versionedModels){let o=`ModelV${e.version}`,t=r(e.modelVersion,p,d,m);$.push(`${c}namespace ${o} {
2
- ${t}${c}}`)}let g=r(o.admin.latestModel,p,d,m),u=`${c}namespace Admin {
3
- ${g}${c}}`,y=[];for(let e of o.admin.resolvedVersions.versionedModels){let o=`AdminV${e.version}`,t=r(e.modelVersion,p,d,m);y.push(`${c}namespace ${o} {
4
- ${t}${c}}`)}let x=s(o.configurator.expressions,p,d,l),M=a(o.configurator.latestModel,o.configurator.expressions,d,l,""),v=[s(o.admin.expressions,p,d,m),a(o.admin.latestModel,o.admin.expressions,d,m,"Admin")].filter(Boolean).join("\n\n"),A=v?`${c}namespace Admin {
5
- ${v}
6
- ${c}}`:"",S=n(o.configurator.actions,o.configurator.latestModel,p,d,l),j=i(o,p,d,l),V=t({configuratorStates:o.configurator.states,adminStates:o.admin.states},l);return d.addTypeImport("@salsita-ai/sdk/domain","DomainEntityId"),{imports:d,declarations:[f,x,M,S,j,V,...$,u,A,...y].filter(Boolean).join("\n\n")}};export const generateApplicationSpecTypesModule=(e,t)=>{let{declarations:n,imports:i}=generateApplicationSpecTypeDeclarations(e,t,0);return`${o("application-types.ts","Story-local application, model and state types derived from the spec.")}
1
+ import{CodeImports as e}from"../common/code-imports.js";import{autoHeader as o}from"../common/file-headers.js";import{generateStateTypeDecls as t}from"./domain-spec/index.js";import{generateActionTypeDecls as n,generateAssistantFormElementTypeDecls as i,generateDataSchemaTypeDecls as a,generateEntityExpressionComposites as s,generateExpressionTypeDecls as r,generateModelTypeDecls as l}from"./global-definition/index.js";export const generateApplicationSpecTypeDeclarations=(o,p,d)=>{let m=new e,c=d+2,f=" ".repeat(d),$=l(o.configurator.latestModel,p,m,d),g=[];for(let e of o.configurator.resolvedVersions.versionedModels){let o=`ModelV${e.version}`,t=l(e.modelVersion,p,m,c);g.push(`${f}namespace ${o} {
2
+ ${t}${f}}`)}let u=l(o.admin.latestModel,p,m,c),y=`${f}namespace Admin {
3
+ ${u}${f}}`,x=[];for(let e of o.admin.resolvedVersions.versionedModels){let o=`AdminV${e.version}`,t=l(e.modelVersion,p,m,c);x.push(`${f}namespace ${o} {
4
+ ${t}${f}}`)}let M=r(o.configurator.expressions,p,m,d),v=s(o.configurator.latestModel,o.configurator.expressions,m,d,""),A=[r(o.admin.expressions,p,m,c),s(o.admin.latestModel,o.admin.expressions,m,c,"Admin")].filter(Boolean).join("\n\n"),S=A?`${f}namespace Admin {
5
+ ${A}
6
+ ${f}}`:"",j=n(o.configurator.actions,o.configurator.latestModel,p,m,d),V=i(o.configurator.assistant?.resolved.formElements??[],p,m,d),h=a(o,p,m,d),T=t({configuratorStates:o.configurator.states,adminStates:o.admin.states},d);return m.addTypeImport("@salsita-ai/sdk/domain","DomainEntityId"),{imports:m,declarations:[$,M,v,j,V,h,T,...g,y,S,...x].filter(Boolean).join("\n\n")}};export const generateApplicationSpecTypesModule=(e,t)=>{let{declarations:n,imports:i}=generateApplicationSpecTypeDeclarations(e,t,0);return`${o("application-types.ts","Story-local application, model and state types derived from the spec.")}
7
7
  ${i.toTypeOnlyString(".phoenix/application-types.ts")}
8
8
 
9
9
  ${n.replace(/^(\s*)(type|interface|namespace) /gm,"$1export $2 ")}
@@ -0,0 +1,2 @@
1
+ /** The doc comment lines of a declared description at `pad`; none when there is no description. */
2
+ export declare const docComment: (description: string | undefined, pad: string) => readonly string[];
@@ -0,0 +1 @@
1
+ export const docComment=(t,e)=>{let m=(t??"").trim().replaceAll("*/","*\\/").split("\n").map(t=>t.trim());return""===m[0]||void 0===m[0]?[]:1===m.length?[`${e}/** ${m[0]} */`]:[`${e}/**`,...m.map(t=>`${e} * ${t}`.trimEnd()),`${e} */`]};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Writes a property name taken from the YAML spec (a key of a JSON schema's `properties`) as the
3
+ * key of a generated TypeScript type member. An ASCII identifier stays bare, so generated code for
4
+ * such names reads as before; any other name (`my-key`, `Children's`, `1st`, `with space`, `größe`)
5
+ * becomes a string literal, which TypeScript accepts for every name.
6
+ */
7
+ export declare const formatPropertyKey: (key: string) => string;
@@ -0,0 +1 @@
1
+ let t=/^[A-Za-z_$][\w$]*$/;export const formatPropertyKey=e=>t.test(e)?e:JSON.stringify(e);
@@ -1,3 +1,3 @@
1
- import{COMMON_SHORT_PREFIX as e,INTERNAL_REF_PATTERN as r,extractPhxDefName as n}from"../../../../core/index.js";let t=(e,r,n)=>{let t=e.importModuleOverrides?.[n]??r;e.typeOnlyImports?e.imports?.addTypeImport(t,n):e.imports?.addImport(t,n)},i={string:"string",number:"number",integer:"number",boolean:"boolean",null:"null",object:"Record<string, unknown>",array:"readonly unknown[]"},o=e=>null===e?"null":"string"==typeof e?`'${e}'`:"number"==typeof e||"boolean"==typeof e?String(e):"unknown",a=(e,r)=>{if("object"==typeof e.additionalProperties){let n=schemaToTypeString(e.additionalProperties,r);return`Readonly<Record<string, ${n}>>`}if(!e.properties)return"Record<string, unknown>";let n=new Set(e.required??[]),t=Object.entries(e.properties);if(0===t.length)return"Record<string, never>";let i=t.map(([e,t])=>{let i=schemaToTypeString(t,r),o=n.has(e)?"":"?";return` readonly ${e}${o}: ${i}`});return`{
2
- ${i.join("\n")}
3
- }`},p=(e,r)=>{let{items:n}=e;if(Array.isArray(n)){let e=n.map(e=>schemaToTypeString(e,r)).join(", ");return`readonly [${e}]`}let t=schemaToTypeString(n,r);return t.includes(" | ")||t.includes(" & ")?`readonly (${t})[]`:`readonly ${t}[]`};export const schemaToTypeString=(l,m)=>{if(l.tsType){if(m.imports&&l.import)for(let e of l.import)t(m,e.module,e.member);return l.tsType}if(l.$ref){let e=n(l.$ref);if(void 0!==e){var s;let r,n,i=m.phxDefinitions[e];if(m.imports&&i?.import)for(let e of i.import)t(m,e.module,e.member);return s=l.references,r=m.phxDefinitions[e],"DomainEntityId"===(n=r?.tsType)?s?`${s}['id']`:"DomainEntityId<string>":"DomainEntity"===n?s??"DomainEntity<string>":"$DomainEntity"===n?s?`$${s}`:"$DomainEntity<string>":n||"unknown"}}if(l.$ref){if(l.$ref.startsWith(e))return l.$ref.slice(e.length);let n=r.exec(l.$ref);return n?n[2]??"unknown":"unknown"}if(l.enum)return l.enum.map(o).join(" | ");if(l.anyOf)return l.anyOf.map(e=>schemaToTypeString(e,m)).join(" | ");if(l.oneOf)return l.oneOf.map(e=>schemaToTypeString(e,m)).join(" | ");if(l.allOf)return l.allOf.map(e=>{let r=schemaToTypeString(e,m);return r.includes("|")?`(${r})`:r}).join(" & ");if("array"===l.type&&l.items)return p(l,m);if("object"===l.type)return a(l,m);if("string"==typeof l.type)return i[l.type]??"unknown";if(Array.isArray(l.type)){let e;return e=l.type,e.map(e=>"array"===e&&l.items?p(l,m):"object"===e?a(l,m):i[e]??"unknown").join(" | ")}return"unknown"};
1
+ import{COMMON_SHORT_PREFIX as e,INTERNAL_REF_PATTERN as r,extractPhxDefName as n}from"../../../../core/index.js";import{formatPropertyKey as t}from"./format-property-key.js";let i=(e,r,n)=>{let t=e.importModuleOverrides?.[n]??r;e.typeOnlyImports?e.imports?.addTypeImport(t,n):e.imports?.addImport(t,n)},o={string:"string",number:"number",integer:"number",boolean:"boolean",null:"null",object:"Record<string, unknown>",array:"readonly unknown[]"},l=e=>null===e?"null":"string"==typeof e?`'${e.replaceAll("\\","\\\\").replaceAll("'","\\'").replaceAll("\n","\\n").replaceAll("\r","\\r")}'`:"number"==typeof e||"boolean"==typeof e?String(e):"unknown",p=(e,r)=>{if("object"==typeof e.additionalProperties){let n=schemaToTypeString(e.additionalProperties,r);return`Readonly<Record<string, ${n}>>`}if(!e.properties)return"Record<string, unknown>";let n=new Set(e.required??[]),i=Object.entries(e.properties);if(0===i.length)return"Record<string, never>";let o=i.map(([e,i])=>{let o=schemaToTypeString(i,r),l=n.has(e)?"":"?";return` readonly ${t(e)}${l}: ${o}`});return`{
2
+ ${o.join("\n")}
3
+ }`},a=(e,r)=>{let{items:n}=e;if(Array.isArray(n)){let e=n.map(e=>schemaToTypeString(e,r)).join(", ");return`readonly [${e}]`}let t=schemaToTypeString(n,r);return t.includes(" | ")||t.includes(" & ")?`readonly (${t})[]`:`readonly ${t}[]`};export const schemaToTypeString=(t,m)=>{if(t.tsType){if(m.imports&&t.import)for(let e of t.import)i(m,e.module,e.member);return t.tsType}if(t.$ref){let e=n(t.$ref);if(void 0!==e){var s;let r,n,o=m.phxDefinitions[e];if(m.imports&&o?.import)for(let e of o.import)i(m,e.module,e.member);return s=t.references,r=m.phxDefinitions[e],"DomainEntityId"===(n=r?.tsType)?s?`${s}['id']`:"DomainEntityId<string>":"DomainEntity"===n?s??"DomainEntity<string>":"$DomainEntity"===n?s?`$${s}`:"$DomainEntity<string>":n||"unknown"}}if(t.$ref){if(t.$ref.startsWith(e))return t.$ref.slice(e.length);let n=r.exec(t.$ref);return n?n[2]??"unknown":"unknown"}if(t.enum)return t.enum.map(l).join(" | ");if(t.anyOf)return t.anyOf.map(e=>schemaToTypeString(e,m)).join(" | ");if(t.oneOf)return t.oneOf.map(e=>schemaToTypeString(e,m)).join(" | ");if(t.allOf)return t.allOf.map(e=>{let r=schemaToTypeString(e,m);return r.includes("|")?`(${r})`:r}).join(" & ");if("array"===t.type&&t.items)return a(t,m);if("object"===t.type)return p(t,m);if("string"==typeof t.type)return o[t.type]??"unknown";if(Array.isArray(t.type)){let e;return e=t.type,e.map(e=>"array"===e&&t.items?a(t,m):"object"===e?p(t,m):o[e]??"unknown").join(" | ")}return"unknown"};
@@ -1,3 +1,4 @@
1
+ import { type ApplicationTypeImportRegistrar } from '../common/index.js';
1
2
  export type ConfiguratorBindingBlockGenerator = () => string;
2
3
  export declare const generateConfiguratorGlobalBindingBlock: ConfiguratorBindingBlockGenerator;
3
- export declare const generateApplicationSpecConfiguratorGlobals: (generateBindingBlock?: ConfiguratorBindingBlockGenerator, description?: string) => string;
4
+ export declare const generateApplicationSpecConfiguratorGlobals: (generateBindingBlock: ConfiguratorBindingBlockGenerator, description: string, registerApplicationTypeImports: ApplicationTypeImportRegistrar) => string;
@@ -1,10 +1,23 @@
1
- import{autoHeader as o}from"../common/file-headers.js";export const generateConfiguratorGlobalBindingBlock=()=>`
1
+ import{CodeImports as e,autoHeader as t}from"../common/index.js";export const generateConfiguratorGlobalBindingBlock=()=>`
2
2
  // @ts-ignore - Initialize the globals
3
3
  globalThis.phx.frontend = configuratorInterface
4
- `;export const generateApplicationSpecConfiguratorGlobals=(r=generateConfiguratorGlobalBindingBlock,e="Creates the configurator interface and sets phx.frontend — must run before any user code imports.")=>`${o("configurator-globals.ts",e)}
5
- import { createConfiguratorInterface } from '@salsita-ai/sdk/configurator'
6
-
4
+ `;export const generateApplicationSpecConfiguratorGlobals=(r,o,n)=>{let a=new e;n(a,["AssistantFormElementTypes"]);let s=a.toString();return`${t("configurator-globals.ts",o)}
5
+ import {
6
+ type CreateAssistantFormElement,
7
+ createAssistantFormElementFactory,
8
+ createConfiguratorInterface,
9
+ } from '@salsita-ai/sdk/configurator'
10
+ ${s?`${s}
11
+ `:""}
7
12
  import { baseConfiguratorBuilder } from './domain-spec.js'
8
13
 
9
- export const configuratorInterface = createConfiguratorInterface(baseConfiguratorBuilder)
10
- ${r()}`;
14
+ const baseConfiguratorInterface = createConfiguratorInterface(baseConfiguratorBuilder)
15
+
16
+ // The project's own assistant form elements type createAssistantFormElement by name, from the YAML.
17
+ export const configuratorInterface: typeof baseConfiguratorInterface & {
18
+ readonly createAssistantFormElement: CreateAssistantFormElement<AssistantFormElementTypes>
19
+ } = {
20
+ ...baseConfiguratorInterface,
21
+ createAssistantFormElement: createAssistantFormElementFactory<AssistantFormElementTypes>(),
22
+ }
23
+ ${r()}`};
@@ -0,0 +1,35 @@
1
+ import type { Expressions, ModelVersion } from '../../../../../parse-application-files/index.js';
2
+ /**
3
+ * The types one generated domain closes its factories and reflections with.
4
+ *
5
+ * `domain-spec.ts` writes them where it builds the domain's values, and the `phx` declarations
6
+ * (`globals.d.ts`, a story's `phx.ts`) write them where they declare those values' types, so both
7
+ * name the same types.
8
+ */
9
+ export interface DomainFactoryTypes {
10
+ /** Entities, root entities, `$Map`, the three data types and the aliases, in the factories' order. */
11
+ readonly typeArguments: string;
12
+ /** What the domain runtime adds to the expression context. */
13
+ readonly contextExtension: string;
14
+ /** The systems the domain runtime hands to an action. */
15
+ readonly systems: string;
16
+ /** The type of the domain's `model`: one reflection per entity, alias, common type and shape. */
17
+ readonly modelType: string;
18
+ /** The type of the domain's `enhancedModel`: one enhanced reflection per entity and alias. */
19
+ readonly enhancedModelType: string;
20
+ /** The enhanced reflection type of one entity or alias, with the names of its constant expressions. */
21
+ readonly enhancedReflectionType: (reflectionClass: EnhancedReflectionClass, name: string) => string;
22
+ }
23
+ /** Enhanced reflection classes that receive module-level constants through their constructor. */
24
+ export type EnhancedReflectionClass = '$DomainEntityReflection' | 'EnhancedAliasReflection';
25
+ interface DomainFactoryTypesSpec {
26
+ readonly latestModel: ModelVersion;
27
+ readonly expressions: Expressions;
28
+ }
29
+ /**
30
+ * Builds the type strings of a domain.
31
+ *
32
+ * @param typePrefix The namespace the domain's types live in (`Admin` for the admin domain), or `''`.
33
+ */
34
+ export declare const getDomainFactoryTypes: (domainSpec: DomainFactoryTypesSpec, typePrefix: string) => DomainFactoryTypes;
35
+ export {};
@@ -0,0 +1,5 @@
1
+ export const getDomainFactoryTypes=(e,t)=>{let n=t?`${t}.`:"",{entityTypes:a}=e.latestModel,o=[...e.latestModel.aliases].map(([e])=>String(e)),i=[...e.latestModel.commonTypes],$=[...e.latestModel.shapes].map(([e])=>`${e}Shape`),s=new Map([...e.expressions.constants].map(([e,t])=>[String(e),t])),l=(e,t)=>{let a=[...s.get(t)?.keys()??[]],o=a.length>0?`, ${a.map(e=>`'${e}'`).join(" | ")}`:"";return`${e}<${n}$${t}${o}>`},m=[...a.map(e=>` readonly ${String(e)}: DomainEntityReflection<${n}${String(e)}>`),...o.map(e=>` readonly ${e}: RawAliasReflection<${n}${e}>`),...i.map(([e,t])=>{let a,o=(a=t.schema.enum,a?.length&&a.every(e=>"string"==typeof e))?"EnumLike":"SchemaReflection";return` readonly ${e}: ${o}<${n}${e}>`}),...$.map(e=>` readonly ${e}: SchemaReflection<unknown>`)].join("\n"),r=[...a.map(e=>` readonly $${String(e)}: ${l("$DomainEntityReflection",String(e))}`),...o.map(e=>` readonly $${e}: ${l("EnhancedAliasReflection",e)}`)].join("\n");return{typeArguments:`${n}AnyDomainEntity, ${n}RootEntity, ${n}$Map, PublishedData, SessionData, FrontendData, ${n}Aliases`,contextExtension:`RuntimeExpressionContext<${n}AnyDomainEntity>`,systems:`DomainContextSystems<${n}AnyDomainEntity, ${n}RootEntity, ${n}$Map, NavigationState, ViewState, ToolState, ExportState>`,modelType:`{
2
+ ${m}
3
+ }`,enhancedModelType:`{
4
+ ${r}
5
+ }`,enhancedReflectionType:l}};
@@ -0,0 +1 @@
1
+ export { getDomainFactoryTypes, type DomainFactoryTypes, type EnhancedReflectionClass } from './domain-factory-types.js';
@@ -0,0 +1 @@
1
+ export{getDomainFactoryTypes}from"./domain-factory-types.js";
@@ -1,5 +1,5 @@
1
1
  import { type ComponentEntry } from '../../../../parse-application-files/spec/index.js';
2
- import type { CodeImports } from '../../common/index.js';
2
+ import { type CodeImports } from '../../common/index.js';
3
3
  /**
4
4
  * Generates the `componentOptics` array code from unified ComponentEntry[].
5
5
  * Walks all entries and dispatches on implementation.kind.
@@ -1,10 +1,10 @@
1
- import{match as e}from"ts-pattern";import{isSdkCodeRef as t}from"../../../../core/index.js";import{generateMemoEvalPlanCode as i}from"./generate-memo-eval-plan-code.js";let a="@salsita-ai/sdk/domain",r={createAdminCustomPageRead:a,createAdminCustomSidebarRead:a,createAdminDataPageRead:a,createAdminDataTableSidebarRead:a,createAdminNavigationPanelRead:a,createAdminPresetCategoryPageRead:a,createAdminPresetCategorySelectionRead:a,createAdminPresetCategorySelectionWrite:a,createAdminPresetCategorySidebarRead:a,createAdminPresetListPageRead:a,createAdminPresetSidebarRead:a,createAdminRecipeCollectionPageRead:a,createAdminRecipeSidebarRead:a},n=(e,i)=>{i.addImport(r[e.sdkFunction]??a,e.sdkFunction);let n=e.params.map(e=>t(e)?e.$codeRef:"string"==typeof e?`'${e}'`:JSON.stringify(e));return`${e.sdkFunction}(${n.join(", ")})`},d=e=>0===e.length?"":e.map(e=>{if("root"===e.kind)return`.withFilter(self => (self.${e.target}))`;let t=Object.entries(e).filter(([e,t])=>"kind"!==e&&void 0!==t).map(([e,t])=>`${e}: ${"dynamic"===t.kind?`self => (self.${t.target})`:"eval"===t.kind?`self => (${t.code})`:JSON.stringify(t.value)}`);return`.withGradualFilter({ ${t.join(", ")} })`}).join(""),o=(t,i)=>e(t).with({kind:"primitive"},({assertFn:e})=>`typeof ${i} === '${"assertNumber"===e?"number":"assertBoolean"===e?"boolean":"string"}'`).with({kind:"declaredType"},({typeName:e})=>`${e}.is(${i})`).with({kind:"declaredTypeId"},({referencedType:e})=>`${e}.isId(${i})`).with({kind:"literal"},({value:e})=>`${i} === ${JSON.stringify(e)}`).with({kind:"anyOf"},({assertions:e})=>e.map(e=>`(${o(e,i)})`).join(" || ")).with({kind:"none"},()=>"true").exhaustive(),s=(t,i)=>{if(0===t.length)return"() => ({})";let r=t.map(t=>e(t.assertion).with({kind:"primitive"},({assertFn:e})=>(i.addImport(a,e),`${e}(state.${t.propKey})`)).with({kind:"declaredType"},({typeName:e})=>`${e}.assert(state.${t.propKey})`).with({kind:"declaredTypeId"},({referencedType:e})=>`${e}.assertId(state.${t.propKey})`).with({kind:"literal"},e=>{let i=o(e,`state.${t.propKey}`);return`if (!(${i})) throw new Error('Expected ${t.propKey} to match its declared schema')`}).with({kind:"anyOf"},e=>{let i=o(e,`state.${t.propKey}`);return`if (!(${i})) throw new Error('Expected ${t.propKey} to match one of its declared schemas')`}).with({kind:"none"},()=>void 0).exhaustive()).filter(e=>void 0!==e),n=t.map(e=>`${JSON.stringify(e.entityField)}: state.${e.propKey}`).join(", ");return 0===r.length?`(state) => ({ ${n} })`:`(state) => { ${r.join("; ")}; return { ${n} } }`},l=" ";export const generateComponentOpticsCode=(t,r)=>{let o=[];for(let m of t){let t=m.isAlias?"withAlias":"withEntity",p=`${m.componentName}Component`;r.addImport(a,p);let $=` attachComponent.withComponent(${p}, '${m.instanceName}', true).${t}('${m.typeOrAlias}')`;e(m.implementation).with({kind:"userBound"},({implementation:e,filters:t,plan:a})=>{let n=d(t.items),m=`${$}${n}`,p=s("composite"===e.kind?e.writeBindings:[],r),c=i(a,r).replaceAll("\n",`
2
- ${l}`);o.push(`${m}.attach(
1
+ import{match as e}from"ts-pattern";import{isSdkCodeRef as t}from"../../../../core/index.js";import{toSingleQuotedString as i}from"../../common/index.js";import{generateMemoEvalPlanCode as a}from"./generate-memo-eval-plan-code.js";let r="@salsita-ai/sdk/domain",n={createAdminCustomPageRead:r,createAdminCustomSidebarRead:r,createAdminDataPageRead:r,createAdminDataTableSidebarRead:r,createAdminNavigationPanelRead:r,createAdminPresetCategoryPageRead:r,createAdminPresetCategorySelectionRead:r,createAdminPresetCategorySelectionWrite:r,createAdminPresetCategorySidebarRead:r,createAdminPresetListPageRead:r,createAdminPresetSidebarRead:r,createAdminRecipeCollectionPageRead:r,createAdminRecipeSidebarRead:r},d=(e,a)=>{a.addImport(n[e.sdkFunction]??r,e.sdkFunction);let d=e.params.map(e=>t(e)?e.$codeRef:"string"==typeof e?i(e):JSON.stringify(e));return`${e.sdkFunction}(${d.join(", ")})`},o=e=>0===e.length?"":e.map(e=>{if("root"===e.kind)return`.withFilter(self => (self.${e.target}))`;let t=Object.entries(e).filter(([e,t])=>"kind"!==e&&void 0!==t).map(([e,t])=>`${e}: ${"dynamic"===t.kind?`self => (self.${t.target})`:"eval"===t.kind?`self => (${t.code})`:JSON.stringify(t.value)}`);return`.withGradualFilter({ ${t.join(", ")} })`}).join(""),s=(t,i)=>e(t).with({kind:"primitive"},({assertFn:e})=>`typeof ${i} === '${"assertNumber"===e?"number":"assertBoolean"===e?"boolean":"string"}'`).with({kind:"declaredType"},({typeName:e})=>`${e}.is(${i})`).with({kind:"declaredTypeId"},({referencedType:e})=>`${e}.isId(${i})`).with({kind:"literal"},({value:e})=>`${i} === ${JSON.stringify(e)}`).with({kind:"anyOf"},({assertions:e})=>e.map(e=>`(${s(e,i)})`).join(" || ")).with({kind:"none"},()=>"true").exhaustive(),m=(t,i)=>{if(0===t.length)return"() => ({})";let a=t.map(t=>e(t.assertion).with({kind:"primitive"},({assertFn:e})=>(i.addImport(r,e),`${e}(state.${t.propKey})`)).with({kind:"declaredType"},({typeName:e})=>`${e}.assert(state.${t.propKey})`).with({kind:"declaredTypeId"},({referencedType:e})=>`${e}.assertId(state.${t.propKey})`).with({kind:"literal"},e=>{let i=s(e,`state.${t.propKey}`);return`if (!(${i})) throw new Error('Expected ${t.propKey} to match its declared schema')`}).with({kind:"anyOf"},e=>{let i=s(e,`state.${t.propKey}`);return`if (!(${i})) throw new Error('Expected ${t.propKey} to match one of its declared schemas')`}).with({kind:"none"},()=>void 0).exhaustive()).filter(e=>void 0!==e),n=t.map(e=>`${JSON.stringify(e.entityField)}: state.${e.propKey}`).join(", ");return 0===a.length?`(state) => ({ ${n} })`:`(state) => { ${a.join("; ")}; return { ${n} } }`},l=" ";export const generateComponentOpticsCode=(t,i)=>{let n=[];for(let s of t){let t=s.isAlias?"withAlias":"withEntity",p=`${s.componentName}Component`;i.addImport(r,p);let $=` attachComponent.withComponent(${p}, '${s.instanceName}', true).${t}('${s.typeOrAlias}')`;e(s.implementation).with({kind:"userBound"},({implementation:e,filters:t,plan:r})=>{let d=o(t.items),s=`${$}${d}`,p=m("composite"===e.kind?e.writeBindings:[],i),c=a(r,i).replaceAll("\n",`
2
+ ${l}`);n.push(`${s}.attach(
3
3
  ${l}${c},
4
4
  ${l}${p}
5
- )`)}).with({kind:"sdk"},({readFactory:e,writeFactory:t})=>{let i=d(m.implementation.filters.items),a=`${$}${i}`,s=n(e,r),l=n(t,r);o.push(`${a}.attach(
6
- ${s},
5
+ )`)}).with({kind:"sdk"},({readFactory:e,writeFactory:t})=>{let a=o(s.implementation.filters.items),r=`${$}${a}`,m=d(e,i),l=d(t,i);n.push(`${r}.attach(
6
+ ${m},
7
7
  ${l}
8
- )`)}).exhaustive()}return 0===o.length?"[] as const":`[
9
- ${o.join(",\n")}
8
+ )`)}).exhaustive()}return 0===n.length?"[] as const":`[
9
+ ${n.join(",\n")}
10
10
  ] as const`};
@@ -1,87 +1,83 @@
1
- import{skipApplicationTypeImports as e}from"../../common/index.js";import{generateComponentOpticsCode as n}from"./generate-component-optics.js";import{generateDefaultsBlock as t}from"./generate-defaults.js";import{generateInvariantsBlock as a}from"./generate-invariants.js";import{generateRelationExpressionsCode as o}from"./generate-relation-expressions.js";import{generateStaticValueCode as i}from"./generate-static-value-code.js";import{generateValueExpressionsCode as s}from"./generate-value-expressions.js";let r="@salsita-ai/sdk/domain",m=(e,n,t)=>{let a=[],o=[];for(let i of e.modelVersion.entitySchemas){let e=JSON.stringify(i.shapeSchema,null,2);a.push(`${t}const ${i.entityType} = new DomainEntityReflection<${n}${i.entityType}>('${i.entityType}', [${e}])`),o.push(String(i.entityType))}return{entityDecls:a.join("\n"),entityNames:o}};export const generateDomainBlock=l=>{let{domainSpec:$,invariants:p,actions:c,typePrefix:d,versionNsPrefix:y,isAdmin:u,modelVersionsExportName:h,relationExpressionsExportName:S,componentOpticsExportName:f,valueExpressionsExportName:D,createRecipeExportName:E,imports:R,registerApplicationTypeImports:A=e}=l;R.addImport(r,"$DomainEntityReflection"),R.addImport(r,"DomainBuilder"),R.addImport(r,"DomainComponentOpticBuilder"),R.addImport(r,"DomainEntityReflection"),R.addImport(r,"EnhancedAliasReflection"),R.addImport(r,"RawAliasReflection"),R.addImport(r,"SchemaReflection"),R.addImport(r,"createCustomExpressionFactory"),R.addImport(r,"createCustomInvariantFactory"),u&&(R.addImport(r,"commonAdminCustomExpressions"),R.addImport(r,"commonAdminViolationExpressions"),R.addImport(r,"createMapPublishedRevisionDataHandlerFactory"),R.addImport(r,"createMapPublishedChunkedDataHandlerFactory"),R.addImport(r,"createDataRowValidatorHandler"),R.addImport(r,"createSheetValidatorHandler")),u||R.addImport(r,"createAssistantSetupHandlerFactory"),R.addTypeImport(r,"RuntimeExpressionContext"),R.addTypeImport(r,"SchemaOfObject"),c&&(R.addImport(r,"createActionFactory"),R.addTypeImport(r,"ActionDefinition"),R.addTypeImport(r,"DomainContextSystems"));let{entityTypes:g,entitySchemas:x}=$.latestModel,v=[...$.latestModel.aliases],j=v.map(([e])=>String(e)),C=j.includes("RootEntity")?"RootEntity":"AnyDomainEntity",{resolvedVersions:I}=$,M=I.latestVersion,H=d?`${d}.`:"",w=new Map([...$.expressions.constants].map(([e,n])=>[String(e),n])),F=(e,n)=>{let t=[...w.get(n)?.keys()??[]],a=t.length>0?`, ${t.map(e=>`'${e}'`).join(" | ")}`:"";return`${e}<${H}$${n}${a}>`},P=e=>{let n=w.get(e);if(!n)return"{}";let t=[...n].map(([e,n])=>{let t=i(n,R).replaceAll("\n","\n ");return` ${e}: ${t},`});return`{
1
+ import{skipApplicationTypeImports as e}from"../../common/index.js";import{getDomainFactoryTypes as n}from"./factory-types/index.js";import{generateComponentOpticsCode as t}from"./generate-component-optics.js";import{generateDefaultsBlock as a}from"./generate-defaults.js";import{generateInvariantsBlock as o}from"./generate-invariants.js";import{generateRelationExpressionsCode as i}from"./generate-relation-expressions.js";import{generateStaticValueCode as s}from"./generate-static-value-code.js";import{generateValueExpressionsCode as r}from"./generate-value-expressions.js";let m="@salsita-ai/sdk/domain",l=(e,n,t)=>{let a=[],o=[];for(let i of e.modelVersion.entitySchemas){let e=JSON.stringify(i.shapeSchema,null,2);a.push(`${t}const ${i.entityType} = new DomainEntityReflection<${n}${i.entityType}>('${i.entityType}', [${e}])`),o.push(String(i.entityType))}return{entityDecls:a.join("\n"),entityNames:o}};export const generateDomainBlock=p=>{let{domainSpec:c,invariants:$,actions:d,typePrefix:u,versionNsPrefix:y,isAdmin:h,modelVersionsExportName:f,relationExpressionsExportName:D,componentOpticsExportName:S,valueExpressionsExportName:E,createRecipeExportName:A,imports:R,registerApplicationTypeImports:x=e}=p;R.addImport(m,"$DomainEntityReflection"),R.addImport(m,"DomainBuilder"),R.addImport(m,"DomainComponentOpticBuilder"),R.addImport(m,"DomainEntityReflection"),R.addImport(m,"EnhancedAliasReflection"),R.addImport(m,"RawAliasReflection"),R.addImport(m,"SchemaReflection"),R.addImport(m,"createCustomExpressionFactory"),R.addImport(m,"createCustomInvariantFactory"),h&&(R.addImport(m,"commonAdminCustomExpressions"),R.addImport(m,"commonAdminViolationExpressions"),R.addImport(m,"createMapPublishedRevisionDataHandlerFactory"),R.addImport(m,"createMapPublishedChunkedDataHandlerFactory"),R.addImport(m,"createDataRowValidatorHandler"),R.addImport(m,"createSheetValidatorHandler")),h||R.addImport(m,"createAssistantSetupHandlerFactory"),R.addTypeImport(m,"RuntimeExpressionContext"),R.addTypeImport(m,"SchemaOfObject"),d&&(R.addImport(m,"createActionFactory"),R.addTypeImport(m,"ActionDefinition"),R.addTypeImport(m,"DomainContextSystems"));let{entityTypes:g,entitySchemas:v}=c.latestModel,I=[...c.latestModel.aliases],j=I.map(([e])=>String(e)),C=j.includes("RootEntity")?"RootEntity":"AnyDomainEntity",{resolvedVersions:M}=c,H=M.latestVersion,F=u?`${u}.`:"",P=new Map([...c.expressions.constants].map(([e,n])=>[String(e),n])),b=n(c,u),{enhancedReflectionType:w}=b,T=e=>{let n=P.get(e);if(!n)return"{}";let t=[...n].map(([e,n])=>{let t=s(n,R).replaceAll("\n","\n ");return` ${e}: ${t},`});return`{
2
2
  ${t.join("\n")}
3
- }`},b=x.map(e=>{let n=JSON.stringify(e.shapeSchema,null,2);return` const ${e.entityType} = new DomainEntityReflection<${H}${e.entityType}>('${e.entityType}', [${n}])`}),k=v.map(([e,n])=>{let t=n.map(String).join(", ");return` const ${e} = new RawAliasReflection<${H}${e}>('${e}', [${t}])`}),T=[...$.latestModel.commonTypes],V=T.map(([e])=>String(e)),O=I.versionedModels.filter(e=>!e.isLatest).map(e=>`${y}${e.version}`);A(R,[...u?["Admin",...O]:[...g.map(String),...j,...V,...g.map(e=>`$${String(e)}`),...j.map(e=>`$${e}`),"Aliases","$Map",...O,...c?["ActionTypes","NavigationState","ViewState","ToolState","ExportState"]:[]],"PublishedData","SessionData","FrontendData",...u?[]:["BackendData"]]);let B=T.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?` const ${e}: EnumLike<${H}${e}> = new EnumReflection('${e}', ${t}) as EnumLike<${H}${e}>`:` const ${e}: SchemaReflection<${H}${e}> = new SchemaReflection('${e}', ${t})`}),N=[...$.latestModel.shapes],J=N.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return` const ${e}Shape = new SchemaReflection('${e}Shape', ${t})`}),L=N.map(([e])=>`${e}Shape`),_=j.map(e=>` ${e}: ${e}.types,`).join("\n"),z=j.map(e=>` ${e},`).join("\n"),G=V.map(e=>` ${e},`).join("\n"),q=L.map(e=>` ${e},`).join("\n"),K=g.map(e=>` ${e},`).join("\n"),Q=[];for(let[e,n]of $.expressions.expressions)n.size>0&&Q.push(` const ${e}Expressions = ${JSON.stringify([...n.keys()])}`);let U=g.map(e=>{let n=$.expressions.entityExpressions.get(e),t=(n?.shapeGroups??[]).map(e=>`${e}Expressions`),a=t.length>0?t.map(e=>`...${e}`).join(", "):"",o=F("$DomainEntityReflection",String(e));return` const $${e}: ${o} = new ${o}('${e}', [${a}], ${P(String(e))})`}).join("\n"),W=g.map(e=>` ${e}: $${e},`).join("\n"),X=v.map(([e,n])=>{let t=n.map(e=>JSON.stringify(String(e))).join(", "),a=F("EnhancedAliasReflection",String(e));return` const $${e}: ${a} = new ${a}('$${e}', [${t}], ${P(String(e))})`}).join("\n"),Y=[...g.map(String),...j].map(e=>` $${e},`).join("\n"),Z=[],ee=[];for(let e of I.versionedModels)if(e.isLatest)Z.push(` ${e.version}: entities,`),ee.push(` readonly ${e.version}: {
4
- ${g.map(e=>` readonly ${String(e)}: DomainEntityReflection<${H}${String(e)}>`).join("\n")}
5
- }`);else{let n=`${y}${e.version}.`,{entityDecls:t,entityNames:a}=m(e,n," "),o=a.map(e=>` ${e},`).join("\n");Z.push(` ${e.version}: (() => {
3
+ }`},k=v.map(e=>{let n=JSON.stringify(e.shapeSchema,null,2);return` const ${e.entityType} = new DomainEntityReflection<${F}${e.entityType}>('${e.entityType}', [${n}])`}),O=I.map(([e,n])=>{let t=n.map(String).join(", ");return` const ${e} = new RawAliasReflection<${F}${e}>('${e}', [${t}])`}),V=[...c.latestModel.commonTypes],B=V.map(([e])=>String(e)),N=M.versionedModels.filter(e=>!e.isLatest).map(e=>`${y}${e.version}`);x(R,[...h?["Admin",...N]:[...g.map(String),...j,...B,...g.map(e=>`$${String(e)}`),...j.map(e=>`$${e}`),"Aliases","$Map",...N,...d?["ActionTypes","NavigationState","ViewState","ToolState","ExportState"]:[]],"PublishedData","SessionData","FrontendData",...h?[]:["BackendData"]]);let J=V.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?` const ${e}: EnumLike<${F}${e}> = new EnumReflection('${e}', ${t}) as EnumLike<${F}${e}>`:` const ${e}: SchemaReflection<${F}${e}> = new SchemaReflection('${e}', ${t})`}),L=[...c.latestModel.shapes],_=L.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return` const ${e}Shape = new SchemaReflection('${e}Shape', ${t})`}),z=L.map(([e])=>`${e}Shape`),G=j.map(e=>` ${e}: ${e}.types,`).join("\n"),q=j.map(e=>` ${e},`).join("\n"),K=B.map(e=>` ${e},`).join("\n"),Q=z.map(e=>` ${e},`).join("\n"),U=g.map(e=>` ${e},`).join("\n"),W=[];for(let[e,n]of c.expressions.expressions)n.size>0&&W.push(` const ${e}Expressions = ${JSON.stringify([...n.keys()])}`);let X=g.map(e=>{let n=c.expressions.entityExpressions.get(e),t=(n?.shapeGroups??[]).map(e=>`${e}Expressions`),a=t.length>0?t.map(e=>`...${e}`).join(", "):"",o=w("$DomainEntityReflection",String(e));return` const $${e}: ${o} = new ${o}('${e}', [${a}], ${T(String(e))})`}).join("\n"),Y=g.map(e=>` ${e}: $${e},`).join("\n"),Z=I.map(([e,n])=>{let t=n.map(e=>JSON.stringify(String(e))).join(", "),a=w("EnhancedAliasReflection",String(e));return` const $${e}: ${a} = new ${a}('$${e}', [${t}], ${T(String(e))})`}).join("\n"),ee=[...g.map(String),...j].map(e=>` $${e},`).join("\n"),en=[],et=[];for(let e of M.versionedModels)if(e.isLatest)en.push(` ${e.version}: entities,`),et.push(` readonly ${e.version}: {
4
+ ${g.map(e=>` readonly ${String(e)}: DomainEntityReflection<${F}${String(e)}>`).join("\n")}
5
+ }`);else{let n=`${y}${e.version}.`,{entityDecls:t,entityNames:a}=l(e,n," "),o=a.map(e=>` ${e},`).join("\n");en.push(` ${e.version}: (() => {
6
6
  ${t}
7
7
  return {
8
8
  ${o}
9
9
  } as const
10
- })(),`),ee.push(` readonly ${e.version}: {
10
+ })(),`),et.push(` readonly ${e.version}: {
11
11
  ${a.map(e=>` readonly ${e}: DomainEntityReflection<${n}${e}>`).join("\n")}
12
- }`)}let en=u?"adminDomainBuilder":"domainBuilder",et=u?"attachAdminComponent":"attachComponent",ea=u?"implementAdminCustomExpressions":"implementCustomExpressions",eo=u?"implementCustomAdminInvariants":"implementCustomInvariants",ei=u?"adminAliases":"aliases",es=u?"adminModel":"model",er=u?"adminEnhancedModel":"enhancedModel",em=u?"implementAdminRelation":"implementRelation",el=u?"__adminDomain":"__configuratorDomain",e$="PublishedData, SessionData, FrontendData",ep=`${H}AnyDomainEntity, ${H}RootEntity, ${H}$Map, ${e$}, ${H}Aliases`,ec=`<${ep}>`,ed=`RuntimeExpressionContext<${H}AnyDomainEntity>`,ey=`<${ep}, ${ed}>`,eu=`DomainContextSystems<${H}AnyDomainEntity, ${H}RootEntity, ${H}$Map, NavigationState, ViewState, ToolState, ExportState>`,eh=a(p,ep,ed,R),eS=(e,n)=>e===n?e:`${e}: ${n}`,ef=[...$.expressions.expressions.values()].some(e=>[...e.values()].some(e=>"relation"===e.implementation.kind));ef&&R.addImport(r,"createRelationFactory");let eD=ef?`
13
- const ${em} = createRelationFactory(aliases)
12
+ }`)}let ea=h?"adminDomainBuilder":"domainBuilder",eo=h?"attachAdminComponent":"attachComponent",ei=h?"implementAdminCustomExpressions":"implementCustomExpressions",es=h?"implementCustomAdminInvariants":"implementCustomInvariants",er=h?"adminAliases":"aliases",em=h?"adminModel":"model",el=h?"adminEnhancedModel":"enhancedModel",ep=h?"implementAdminRelation":"implementRelation",ec=h?"__adminDomain":"__configuratorDomain",e$=b.typeArguments,ed=`<${e$}>`,{contextExtension:eu,systems:ey}=b,eh=`<${e$}, ${eu}>`,ef=o($,e$,eu,R),eD=(e,n)=>e===n?e:`${e}: ${n}`,eS=[...c.expressions.expressions.values()].some(e=>[...e.values()].some(e=>"relation"===e.implementation.kind));eS&&R.addImport(m,"createRelationFactory");let eE=eS?`
13
+ const ${ep} = createRelationFactory(aliases)
14
14
 
15
- const relationExpressions = ${o($.expressions,em)}`:"\n const relationExpressions = {} as const",eE=`
16
- const componentOptics = ${n($.components,R)}`,eR=`
17
- const valueExpressions = ${s($.expressions,R,"implementCustomExpressions",u?{PresetCategory:"commonAdminCustomExpressions.PresetCategory"}:{})}`;R.addImport(r,"createRecipeFactory");let eA=t($.defaults,R),eg=[...c?.values()??[]].map(e=>({name:String(e.name),...void 0===e.description?{}:{description:e.description},params:e.paramsSchema})),ex=c?`
15
+ const relationExpressions = ${i(c.expressions,ep)}`:"\n const relationExpressions = {} as const",eA=`
16
+ const componentOptics = ${t(c.components,R)}`,eR=`
17
+ const valueExpressions = ${r(c.expressions,R,"implementCustomExpressions",h?{PresetCategory:"commonAdminCustomExpressions.PresetCategory"}:{})}`;R.addImport(m,"createRecipeFactory");let ex=a(c.defaults,R),eg=[...d?.values()??[]].map(e=>({name:String(e.name),...void 0===e.description?{}:{description:e.description},params:e.paramsSchema})),ev=d?`
18
18
  const actionDefinitions: readonly ActionDefinition[] = ${JSON.stringify(eg,null,2).replaceAll("\n","\n ")}
19
19
 
20
- const implementActions = createActionFactory<${H}AnyDomainEntity, ${H}RootEntity, ${e$}, ActionTypes, ${ed}, ${eu}>()`:"",ev=`
21
- const createRecipe = createRecipeFactory<${H}AnyDomainEntity>(aliases, AnyDomainEntity.reflections, defaults)`,ej=[...g.map(e=>` readonly ${String(e)}: DomainEntityReflection<${H}${String(e)}>`),...j.map(e=>` readonly ${e}: RawAliasReflection<${H}${e}>`),...T.map(([e,n])=>{let t=n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?"EnumLike":"SchemaReflection";return` readonly ${e}: ${t}<${H}${e}>`}),...L.map(e=>` readonly ${e}: SchemaReflection<unknown>`)].join("\n"),eC=`{
22
- ${ej}
23
- }`,eI=[...g.map(e=>` readonly $${String(e)}: ${F("$DomainEntityReflection",String(e))}`),...j.map(e=>` readonly $${e}: ${F("EnhancedAliasReflection",e)}`)].join("\n"),eM=`{
24
- ${eI}
25
- }`,eH=`{
26
- ${ee.join("\n")}
27
- }`;return`const ${el} = (() => {
28
- const modelVersion = ${M}
29
-
30
- ${eA}
20
+ const implementActions = createActionFactory<${F}AnyDomainEntity, ${F}RootEntity, PublishedData, SessionData, FrontendData, ActionTypes, ${eu}, ${ey}>()`:"",eI=`
21
+ const createRecipe = createRecipeFactory<${F}AnyDomainEntity>(aliases, AnyDomainEntity.reflections, defaults)`,{modelType:ej,enhancedModelType:eC}=b,eM=`{
22
+ ${et.join("\n")}
23
+ }`;return`const ${ec} = (() => {
24
+ const modelVersion = ${H}
31
25
 
32
- ${b.join("\n")}
26
+ ${ex}
33
27
 
34
28
  ${k.join("\n")}
35
29
 
36
- ${B.join("\n")}
30
+ ${O.join("\n")}
37
31
 
38
32
  ${J.join("\n")}
39
33
 
34
+ ${_.join("\n")}
35
+
40
36
  const aliases = {
41
- ${_}
37
+ ${G}
42
38
  } as const
43
39
 
44
40
  const entities = {
45
- ${K}
41
+ ${U}
46
42
  } as const
47
43
 
48
44
  const model = {
49
- ${K}
50
- ${z}
51
- ${G}
45
+ ${U}
52
46
  ${q}
47
+ ${K}
48
+ ${Q}
53
49
  } as const
54
50
 
55
- ${Q.length>0?Q.join("\n")+"\n":""}
56
- ${U}
51
+ ${W.length>0?W.join("\n")+"\n":""}
57
52
  ${X}
53
+ ${Z}
58
54
  const $entityReflections = {
59
- ${W}
55
+ ${Y}
60
56
  }
61
57
 
62
58
  const enhancedModel = {
63
- ${Y}
59
+ ${ee}
64
60
  } as const
65
61
 
66
- const implementCustomExpressions = createCustomExpressionFactory${ey}()
67
- ${ex}${eD}
62
+ const implementCustomExpressions = createCustomExpressionFactory${eh}()
63
+ ${ev}${eE}
68
64
  ${eR}
69
65
 
70
66
  const modelVersions = {
71
- ${Z.join("\n")}
67
+ ${en.join("\n")}
72
68
  } as const
73
- const attachComponent = DomainComponentOpticBuilder.from${ey}(aliases)
69
+ const attachComponent = DomainComponentOpticBuilder.from${eh}(aliases)
74
70
 
75
- ${eh}
76
- ${u?` const commonInvariants = implementCustomInvariants(commonAdminViolationExpressions)
71
+ ${ef}
72
+ ${h?` const commonInvariants = implementCustomInvariants(commonAdminViolationExpressions)
77
73
 
78
- const createMapPublishedRevisionDataHandler = createMapPublishedRevisionDataHandlerFactory<${H}AnyDomainEntity, ${H}RootEntity, ${H}$Map, PublishedData>()
79
- const createMapPublishedChunkedDataHandler = createMapPublishedChunkedDataHandlerFactory<${H}AnyDomainEntity, ${H}RootEntity, ${H}$Map>()
80
- `:"\n const createAssistantSetupHandler = createAssistantSetupHandlerFactory<SessionData, AnyDomainEntity, $Map, ActionTypes>()\n"}${eE}
81
- ${ev}
74
+ const createMapPublishedRevisionDataHandler = createMapPublishedRevisionDataHandlerFactory<${F}AnyDomainEntity, ${F}RootEntity, ${F}$Map, PublishedData>()
75
+ const createMapPublishedChunkedDataHandler = createMapPublishedChunkedDataHandlerFactory<${F}AnyDomainEntity, ${F}RootEntity, ${F}$Map>()
76
+ `:"\n const createAssistantSetupHandler = createAssistantSetupHandlerFactory<SessionData, AnyDomainEntity, $Map, ActionTypes>()\n"}${eA}
77
+ ${eI}
82
78
 
83
79
  return {
84
- domainBuilder: DomainBuilder.from${ec}(
80
+ domainBuilder: DomainBuilder.from${ed}(
85
81
  entities,
86
82
  aliases,
87
83
  $entityReflections,
@@ -90,13 +86,13 @@ ${ev}
90
86
  PublishedData,
91
87
  SessionData,
92
88
  FrontendData,
93
- ${u?"undefined":"BackendData"},
94
- ${u}
95
- ).withExpressions(valueExpressions)${c?".withActions(actionDefinitions)":""},
96
- attachComponent,${c?"\n implementActions,":""}
89
+ ${h?"undefined":"BackendData"},
90
+ ${h}
91
+ ).withExpressions(valueExpressions)${d?".withActions(actionDefinitions)":""},
92
+ attachComponent,${d?"\n implementActions,":""}
97
93
  implementCustomExpressions,
98
94
  implementCustomInvariants,
99
- aliases,${u?`
95
+ aliases,${h?`
100
96
  commonInvariants,
101
97
  createMapPublishedRevisionDataHandler,
102
98
  createMapPublishedChunkedDataHandler,`:"\n createAssistantSetupHandler,"}
@@ -111,23 +107,23 @@ ${ev}
111
107
  })()
112
108
 
113
109
  const {
114
- ${eS("domainBuilder",en)},
115
- ${eS("attachComponent",et)},
116
- ${eS("implementCustomExpressions",ea)},
117
- ${eS("implementCustomInvariants",eo)},
118
- ${eS("aliases",ei)},${u?`
110
+ ${eD("domainBuilder",ea)},
111
+ ${eD("attachComponent",eo)},
112
+ ${eD("implementCustomExpressions",ei)},
113
+ ${eD("implementCustomInvariants",es)},
114
+ ${eD("aliases",er)},${h?`
119
115
  commonInvariants: commonAdminInvariants,
120
116
  createMapPublishedRevisionDataHandler,
121
117
  createMapPublishedChunkedDataHandler,`:`
122
118
  implementActions,
123
119
  createAssistantSetupHandler,`}
124
- ${eS("relationExpressions",S)},
125
- ${eS("valueExpressions",D)},
126
- ${eS("componentOptics",f)},
127
- ${eS("createRecipe",E)},
128
- } = ${el}
129
-
130
- const ${es}: ${eC} = ${el}.model
131
- const ${er}: ${eM} = ${el}.enhancedModel
132
- const ${h}: ${eH} = ${el}.modelVersions
133
- export { ${en}, ${et}, ${ea}, ${eo}, ${ei}, ${u?"commonAdminInvariants, ":""}${es}, ${er}, ${S}, ${D}, ${f}, ${h}, ${E}${u?", createMapPublishedRevisionDataHandler, createMapPublishedChunkedDataHandler, createDataRowValidatorHandler, createSheetValidatorHandler":", implementActions, createAssistantSetupHandler"} }`};
120
+ ${eD("relationExpressions",D)},
121
+ ${eD("valueExpressions",E)},
122
+ ${eD("componentOptics",S)},
123
+ ${eD("createRecipe",A)},
124
+ } = ${ec}
125
+
126
+ const ${em}: ${ej} = ${ec}.model
127
+ const ${el}: ${eC} = ${ec}.enhancedModel
128
+ const ${f}: ${eM} = ${ec}.modelVersions
129
+ export { ${ea}, ${eo}, ${ei}, ${es}, ${er}, ${h?"commonAdminInvariants, ":""}${em}, ${el}, ${D}, ${E}, ${S}, ${f}, ${A}${h?", createMapPublishedRevisionDataHandler, createMapPublishedChunkedDataHandler, createDataRowValidatorHandler, createSheetValidatorHandler":", implementActions, createAssistantSetupHandler"} }`};