@salsita-ai/sdk 0.50.0-develop.ca72986c39 → 0.50.0-develop.d08a6c0e83

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 (1005) hide show
  1. package/README.md +9 -5
  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 +14 -0
  26. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  27. package/dist/application-spec/errors/diagnostic-messages.d.ts +15 -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 +4 -8
  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-bundle.d.ts +10 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +7 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  87. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  88. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +26 -8
  89. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  90. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  91. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  92. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  93. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  94. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  95. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  96. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  97. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  98. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  99. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  100. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  101. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  102. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  103. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  104. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  105. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  106. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  107. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  108. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  109. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  110. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  111. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  112. package/dist/application-spec/generate-application/index.d.ts +2 -0
  113. package/dist/application-spec/generate-application/index.js +1 -1
  114. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  115. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  116. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +9 -5
  117. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  118. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  119. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  120. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  121. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +29 -9
  122. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  123. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  124. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  125. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +7 -5
  126. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  127. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +9 -6
  128. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  129. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  130. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  131. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  132. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  133. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  134. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  135. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  136. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +2 -2
  137. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  138. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +2 -1
  139. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  140. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  141. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  142. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
  143. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  144. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  145. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +15 -6
  146. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  147. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  148. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  149. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  150. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  151. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  152. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  153. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  154. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  156. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  158. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  160. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  161. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  162. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  163. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  164. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  165. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +28 -0
  166. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  167. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  168. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  169. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +103 -0
  170. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  171. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  172. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  173. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +18 -0
  174. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  175. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  176. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  177. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  178. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +33 -3
  179. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  180. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  181. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  182. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  183. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  184. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  185. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  186. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  187. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  188. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  189. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  190. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  191. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  192. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  193. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  194. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  195. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  196. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  197. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  198. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  199. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  200. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  201. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  202. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  203. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  204. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  205. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  206. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  207. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  208. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  209. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  211. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  212. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  213. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  214. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  215. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  217. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +6 -2
  219. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  220. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  221. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  222. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  223. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  224. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  225. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  226. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  227. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  228. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  229. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  230. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  231. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  232. package/dist/client/authorized-client.d.ts +3 -1
  233. package/dist/client/authorized-client.js +1 -1
  234. package/dist/client/contract.d.ts +17 -0
  235. package/dist/client/index.d.ts +1 -1
  236. package/dist/client/local-authorized-client.d.ts +3 -1
  237. package/dist/client/local-authorized-client.js +1 -1
  238. package/dist/client/memory-authorized-client.d.ts +4 -1
  239. package/dist/client/memory-authorized-client.js +1 -1
  240. package/dist/client/phoenix-api.d.ts +228 -0
  241. package/dist/configurator/ConfiguratorApp.js +1 -1
  242. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  243. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  244. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  245. package/dist/configurator/app-loader-content/index.js +1 -0
  246. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  247. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +24 -4
  248. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  249. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +34 -7
  250. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  251. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  252. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  253. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  254. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  255. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  256. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  257. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  258. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  259. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  260. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  261. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  262. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +52 -5
  263. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  264. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  265. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  266. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  267. package/dist/configurator/common/configurator-interface.d.ts +121 -6
  268. package/dist/configurator/common/configurator-interface.js +1 -1
  269. package/dist/configurator/common/index.d.ts +2 -2
  270. package/dist/configurator/common/index.js +1 -1
  271. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  272. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  273. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  274. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  275. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  276. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  277. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  278. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  279. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  280. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  281. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  282. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  283. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +10 -0
  284. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  285. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  286. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  287. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  288. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  289. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  290. package/dist/configurator/configurator-error-page/index.js +1 -0
  291. package/dist/configurator/index.d.ts +10 -0
  292. package/dist/configurator/index.js +1 -1
  293. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  294. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  295. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  296. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  297. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  298. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  299. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  300. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  301. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  302. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  303. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  304. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  305. package/dist/configurator/pages/RootPage.js +1 -1
  306. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -1
  307. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  308. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  309. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  310. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  311. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  312. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  313. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  314. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  315. package/dist/configurator/pages/default-elements/index.js +1 -0
  316. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  317. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  318. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  319. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  320. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  321. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  322. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  323. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  324. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  325. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  326. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  327. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  328. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  329. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  330. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  331. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  332. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  333. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  334. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  335. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  336. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  337. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  338. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  339. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  340. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  341. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  342. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  343. package/dist/configurator/preset-screen-elements/index.js +1 -0
  344. package/dist/configurator/scene/index.d.ts +1 -0
  345. package/dist/configurator/scene/index.js +1 -1
  346. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  347. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  348. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  349. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  350. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  351. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  352. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  353. package/dist/configurator/toolbar-actions/index.js +1 -0
  354. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  355. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  356. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  357. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  358. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  359. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  360. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  361. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  362. package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
  363. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  364. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  365. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  366. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  367. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  368. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  369. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  370. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  371. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  372. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  373. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  374. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +1 -1
  375. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  376. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +1 -1
  377. package/dist/configurator/ui/assistant/entity-link/index.d.ts +0 -1
  378. package/dist/configurator/ui/assistant/entity-link/index.js +1 -1
  379. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  380. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  381. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  382. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  383. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  384. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  385. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  386. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  387. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  388. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  389. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  390. package/dist/configurator/ui/assistant/form/index.js +1 -0
  391. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  392. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  393. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  394. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  395. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  396. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  397. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  398. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  399. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  400. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  401. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  402. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  403. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  404. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  405. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  406. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  407. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  408. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  409. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  410. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  411. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  412. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  413. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  414. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  415. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  416. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  417. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  418. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  419. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  420. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  421. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  422. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  423. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  424. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  425. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  426. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  427. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  428. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  429. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  430. package/dist/configurator/ui/assistant/index.js +1 -1
  431. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  432. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  433. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  434. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  435. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  436. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  437. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  438. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  439. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  440. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  441. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  442. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  443. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  444. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  445. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  446. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  447. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  448. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  449. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  450. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  451. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  452. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  453. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  454. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  455. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  456. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  457. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  458. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  459. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  460. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  461. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  462. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  463. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  464. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  465. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  466. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  467. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  468. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  469. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  470. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  471. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  472. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  473. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  474. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  475. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  476. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  477. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  478. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  479. package/dist/configurator/ui/index.d.ts +1 -0
  480. package/dist/configurator/ui/index.js +1 -1
  481. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  482. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  483. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  484. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  485. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  486. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  487. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  488. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  489. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  490. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  491. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  492. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  493. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  494. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  495. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  496. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  497. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  498. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  499. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  500. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  501. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  502. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  503. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  504. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  505. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  506. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  507. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  508. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  509. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  510. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  511. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  512. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  513. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  514. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  515. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  516. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  517. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  518. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  519. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  520. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  521. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  522. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  523. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  524. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  525. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  526. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  527. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  528. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  529. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  530. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  531. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  532. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  533. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  534. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  535. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  536. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  537. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  538. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  539. package/dist/configurator/ui/preset-layout/index.js +1 -1
  540. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  541. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  542. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  543. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  544. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  545. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  546. package/dist/docs/fabs/basic.mdx +6 -2
  547. package/dist/docs/index.json +95 -1
  548. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  549. package/dist/docs/layouts/custom-layout.mdx +637 -165
  550. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  551. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  552. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  553. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  554. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  555. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  556. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  557. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  558. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  559. package/dist/docs/other-features/error-5xx.mdx +1 -1
  560. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  561. package/dist/docs/other-features/not-found-404.mdx +1 -1
  562. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  563. package/dist/docs/phoenix/components.mdx +6 -0
  564. package/dist/docs/phoenix/configurator-interface.mdx +223 -59
  565. package/dist/docs/phoenix/domain-model.mdx +6 -1
  566. package/dist/docs/phoenix/finalization.mdx +1 -1
  567. package/dist/docs/phoenix/getting-started.mdx +5 -3
  568. package/dist/docs/phoenix/layout-slots.mdx +23 -23
  569. package/dist/docs/phoenix/localization.mdx +6 -2
  570. package/dist/docs/phoenix/migration-guide.mdx +12 -10
  571. package/dist/docs/phoenix/phoenix-cli.mdx +43 -20
  572. package/dist/docs/phoenix/project-structure.mdx +57 -31
  573. package/dist/docs/phoenix/quickstart.mdx +7 -7
  574. package/dist/docs/phoenix/sdk-builder-workflow.mdx +13 -11
  575. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  576. package/dist/docs/phoenix/testing.mdx +8 -0
  577. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  578. package/dist/domain/application/assistant/assistant-manifest.d.ts +16 -1
  579. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +8 -1
  580. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  581. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  582. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  583. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  584. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  585. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  586. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  587. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  588. package/dist/domain/application/assistant/form/index.js +1 -0
  589. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  590. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  591. package/dist/domain/application/assistant/index.d.ts +2 -1
  592. package/dist/domain/application/assistant/index.js +1 -1
  593. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  594. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +2 -0
  595. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  596. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  597. package/dist/domain/application/configurator-builder.d.ts +7 -1
  598. package/dist/domain/application/configurator-builder.js +1 -1
  599. package/dist/domain/application/index.d.ts +1 -1
  600. package/dist/domain/application/index.js +1 -1
  601. package/dist/domain/application/standard-properties.js +1 -1
  602. package/dist/domain/application/web-component-property.d.ts +3 -1
  603. package/dist/domain/application/web-component-property.js +1 -1
  604. package/dist/domain/available-system-components.d.ts +1 -1
  605. package/dist/domain/available-system-components.js +1 -1
  606. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  607. package/dist/domain/domain-builder.d.ts +9 -3
  608. package/dist/domain/domain-builder.js +1 -1
  609. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  610. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  611. package/dist/domain/domain-runtime/application.d.ts +39 -0
  612. package/dist/domain/domain-runtime/application.js +1 -0
  613. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  614. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  615. package/dist/domain/domain-runtime/domain-runtime.d.ts +44 -4
  616. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  617. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  618. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  619. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  620. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  621. package/dist/domain/domain-runtime/index.d.ts +2 -1
  622. package/dist/domain/domain-runtime/index.js +1 -1
  623. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  624. package/dist/domain/domain-runtime/spec/index.js +1 -1
  625. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  626. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +27 -12
  627. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  628. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  629. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  630. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +3 -1
  631. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  632. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  633. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  634. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  635. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  636. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  637. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  638. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  639. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  640. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  641. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  642. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  643. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  644. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  645. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  646. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  647. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  648. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  649. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  650. package/dist/domain/extensions/export-images/index.js +1 -0
  651. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  652. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  653. package/dist/domain/extensions/index.d.ts +1 -2
  654. package/dist/domain/extensions/index.js +1 -1
  655. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  656. package/dist/domain/system-components/child-entity-selection.js +1 -1
  657. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  658. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  659. package/dist/editor/Editor.d.ts +7 -0
  660. package/dist/editor/Editor.js +1 -1
  661. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  662. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  663. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  664. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  665. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  666. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  667. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  668. package/dist/editor/mocks/EditorMockContext.js +1 -1
  669. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  670. package/dist/i18n/locales/cs/messages.js +1 -1
  671. package/dist/i18n/locales/da/messages.js +1 -1
  672. package/dist/i18n/locales/de/messages.js +1 -1
  673. package/dist/i18n/locales/de-AT/messages.js +1 -1
  674. package/dist/i18n/locales/en/messages.js +1 -1
  675. package/dist/i18n/locales/en-AU/messages.js +1 -1
  676. package/dist/i18n/locales/en-GB/messages.js +1 -1
  677. package/dist/i18n/locales/es/messages.js +1 -1
  678. package/dist/i18n/locales/fr/messages.js +1 -1
  679. package/dist/i18n/locales/hu/messages.js +1 -1
  680. package/dist/i18n/locales/it/messages.js +1 -1
  681. package/dist/i18n/locales/nl/messages.js +1 -1
  682. package/dist/i18n/locales/pl/messages.js +1 -1
  683. package/dist/i18n/locales/pt/messages.js +1 -1
  684. package/dist/i18n/locales/ro/messages.js +1 -1
  685. package/dist/i18n/locales/sk/messages.js +1 -1
  686. package/dist/i18n/locales/tr/messages.js +1 -1
  687. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  688. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  689. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +95 -80
  690. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  691. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  692. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  693. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  694. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  695. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +10 -11
  696. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +9 -10
  697. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  698. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  699. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  700. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  701. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  702. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  703. package/dist/phoenix/application-spec/project-files.js +1 -1
  704. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  705. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  706. package/dist/phoenix/bin.d.ts +2 -0
  707. package/dist/phoenix/bin.js +2 -0
  708. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  709. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  710. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  711. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  712. package/dist/phoenix/check-configs/index.d.ts +8 -0
  713. package/dist/phoenix/check-configs/index.js +1 -0
  714. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  715. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  716. package/dist/phoenix/cli.d.ts +0 -1
  717. package/dist/phoenix/cli.js +1 -2
  718. package/dist/phoenix/commands/build.js +1 -1
  719. package/dist/phoenix/commands/check.js +1 -1
  720. package/dist/phoenix/commands/clean.js +1 -1
  721. package/dist/phoenix/commands/deploy.js +2 -2
  722. package/dist/phoenix/commands/deps/deps.d.ts +22 -1
  723. package/dist/phoenix/commands/deps/deps.js +2 -2
  724. package/dist/phoenix/commands/deps/index.d.ts +1 -1
  725. package/dist/phoenix/commands/deps/index.js +1 -1
  726. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -1
  727. package/dist/phoenix/commands/dev.js +5 -5
  728. package/dist/phoenix/commands/fix.js +1 -1
  729. package/dist/phoenix/commands/generated-env-markers.d.ts +1 -0
  730. package/dist/phoenix/commands/generated-env-markers.js +1 -1
  731. package/dist/phoenix/commands/index.d.ts +1 -1
  732. package/dist/phoenix/commands/index.js +1 -1
  733. package/dist/phoenix/commands/init.d.ts +17 -5
  734. package/dist/phoenix/commands/init.js +1 -1
  735. package/dist/phoenix/commands/link.js +1 -1
  736. package/dist/phoenix/commands/prettier.js +1 -1
  737. package/dist/phoenix/commands/sync.js +1 -1
  738. package/dist/phoenix/commands/unlink.js +1 -1
  739. package/dist/phoenix/services/application-spec-project-watcher.d.ts +3 -3
  740. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  741. package/dist/phoenix/services/index.d.ts +1 -0
  742. package/dist/phoenix/services/index.js +1 -1
  743. package/dist/phoenix/services/lingui.d.ts +11 -0
  744. package/dist/phoenix/services/lingui.js +1 -1
  745. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  746. package/dist/phoenix/services/swc.js +1 -1
  747. package/dist/phoenix/services/vite-config.js +1 -1
  748. package/dist/phoenix/utils/index.d.ts +3 -2
  749. package/dist/phoenix/utils/index.js +1 -1
  750. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  751. package/dist/phoenix/utils/node-version/index.js +1 -0
  752. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  753. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  754. package/dist/phoenix/utils/package-info.d.ts +0 -9
  755. package/dist/phoenix/utils/package-info.js +1 -1
  756. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  757. package/dist/phoenix/utils/package-manager/index.js +1 -0
  758. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  759. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  760. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  761. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  762. package/dist/phoenix/utils/run-command.d.ts +11 -0
  763. package/dist/phoenix/utils/run-command.js +1 -1
  764. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  765. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  766. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  767. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  768. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  769. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +4 -0
  770. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  771. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  772. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  773. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  774. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  775. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  776. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  777. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  778. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  779. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  780. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  781. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  782. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  783. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  784. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  785. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  786. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  787. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  788. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  789. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  790. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  791. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  792. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  793. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  794. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  795. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  796. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  797. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  798. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  799. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  800. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  801. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  802. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  803. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  804. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  805. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  806. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  807. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  808. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  809. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  810. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  811. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  812. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  813. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  814. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  815. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  816. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  817. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  818. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  819. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  820. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  821. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  822. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  823. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  824. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  825. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  826. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  827. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  828. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  829. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  830. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  831. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  832. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  833. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  834. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  835. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  836. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  837. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  838. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  839. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  840. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  841. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  842. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  843. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  844. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  845. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  846. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  847. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  848. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  849. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  850. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  851. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  852. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  853. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  854. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  855. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +313 -10
  856. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  857. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  858. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  859. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  860. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  861. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  862. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  863. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  864. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  865. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +15 -4
  866. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -1
  867. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  868. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  869. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  870. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  871. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  872. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  873. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  874. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  875. package/dist/react-sdk/domain-context/index.d.ts +7 -0
  876. package/dist/react-sdk/domain-context/index.js +1 -1
  877. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  878. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  879. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  880. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  881. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  882. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  883. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  884. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  885. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  886. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  887. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  888. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  889. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  890. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  891. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  892. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  893. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  894. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  895. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  896. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  897. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  898. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  899. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  900. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  901. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  902. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  903. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  904. package/dist/react-sdk/handlers/index.d.ts +6 -0
  905. package/dist/react-sdk/handlers/index.js +1 -1
  906. package/dist/{configurator/common → react-sdk/handlers}/use-finalize-action.d.ts +3 -2
  907. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  908. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  909. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  910. package/dist/react-sdk/index.d.ts +2 -0
  911. package/dist/react-sdk/index.js +1 -1
  912. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  913. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  914. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  915. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  916. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  917. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  918. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  919. package/dist/react-sdk/loading-state/index.js +1 -1
  920. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  921. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  922. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  923. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  924. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  925. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  926. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  927. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  928. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  929. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  930. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  931. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  932. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  933. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  934. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  935. package/dist/react-sdk/page-elements/index.js +1 -0
  936. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  937. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  938. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  939. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  940. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  941. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  942. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  943. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  944. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  945. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  946. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  947. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  948. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  949. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  950. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  951. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  952. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  953. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  954. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  955. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  956. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  957. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  958. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  959. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  960. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  961. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  962. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  963. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  964. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  965. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  966. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  967. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  968. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  969. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  970. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  971. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  972. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  973. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  974. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  975. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  976. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  977. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  978. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  979. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  980. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  981. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  982. package/dist/ui-sdk/theme/types.d.ts +5 -1
  983. package/package.json +29 -11
  984. package/schema/domain-spec.json +226 -8
  985. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  986. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  987. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  988. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  989. package/dist/configurator/common/use-finalize-action.js +0 -1
  990. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +0 -5
  991. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +0 -1
  992. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  993. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  994. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  995. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  996. package/dist/domain/extensions/client-side-image.js +0 -1
  997. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  998. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  999. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1000. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1001. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1002. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1003. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  1004. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1005. /package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.js +0 -0
@@ -0,0 +1,16 @@
1
+ import { Branded } from '@salsita-ai/common/utils';
2
+ import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
+ import type { RuntimeSpec } from '../../runtime-spec/index.js';
4
+ import { FactoryDataRuntime } from '../factory-data/index.js';
5
+ import type { SpecCodeMap } from '../spec-code/index.js';
6
+ import { AdminModelRuntime } from './admin-model-runtime.js';
7
+ /**
8
+ * The sections of the admin domain that the spec alone determines: its model and the data of its
9
+ * `phx.domain.admin` factories. `AdminRuntime` builds its own from this function, so a build of
10
+ * either in the same reference store returns the same objects.
11
+ */
12
+ export type AdminSpecRuntime = Branded<'AdminSpecRuntime', {
13
+ readonly modelRuntime: AdminModelRuntime;
14
+ readonly factoryDataRuntime: FactoryDataRuntime;
15
+ }>;
16
+ export declare const AdminSpecRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore, code: SpecCodeMap | undefined) => AdminSpecRuntime;
@@ -0,0 +1 @@
1
+ import{Branded as a}from"@salsita-ai/common/utils";import{FactoryDataRuntime as t}from"../factory-data/index.js";import{AdminModelRuntime as i}from"./admin-model-runtime.js";export const AdminSpecRuntime=(e,n,m)=>{let r=i(e.admin,e.configurator.dataSchemas,n,m);return a({modelRuntime:r,factoryDataRuntime:t(n,{referenceScope:"adminRuntime/factoryDataRuntime",invariants:e.admin.invariants,defaults:e.admin.defaults,aliases:r.aliases,entities:r.entities})})};
@@ -1,8 +1,8 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
2
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
- import type { ApplicationSpec } from '../../../parse-application-files/index.js';
3
+ import type { RuntimeSpec } from '../../runtime-spec/index.js';
4
4
  export type AdminStatesRuntime = Branded<'AdminStatesRuntime', {
5
5
  readonly navigationStates: readonly string[];
6
6
  readonly changed: boolean;
7
7
  }>;
8
- export declare const AdminStatesRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore) => AdminStatesRuntime;
8
+ export declare const AdminStatesRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore) => AdminStatesRuntime;
@@ -1,15 +1,16 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
- import type { ImportedTransformer } from '#package/domain';
2
+ import { type ImplementationErrorCollector, type ImportedTransformer, type ProjectModule } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../caching/index.js';
4
- import type { ApplicationSpec } from '../../parse-application-files/index.js';
4
+ import type { RuntimeSpec } from '../runtime-spec/index.js';
5
5
  import { AdminRuntime } from './admin-runtime/admin-runtime.js';
6
6
  import { ConfiguratorRuntime } from './configurator-runtime/configurator-runtime.js';
7
7
  import type { MigrationModules } from './migrations/index.js';
8
8
  import { DataRuntime } from './sections/data-runtime.js';
9
- import type { ExpressionImplementations, InvariantImplementations, MissingExpression } from './sections/expression-runtime.js';
9
+ import type { InvariantImplementations, MissingExpression } from './sections/expression-runtime.js';
10
+ import type { SpecCodeModule } from './spec-code/index.js';
10
11
  /**
11
- * Runtime objects built from ApplicationSpec.
12
- * Domain-specific fields mirror ApplicationSpec configurator/admin nesting.
12
+ * Runtime objects built from a RuntimeSpec.
13
+ * Domain-specific fields mirror the spec's configurator/admin nesting.
13
14
  */
14
15
  export type ApplicationRuntime = Branded<'ApplicationRuntime', {
15
16
  readonly configurator: ConfiguratorRuntime;
@@ -22,9 +23,15 @@ export type ApplicationRuntimeResult = {
22
23
  } | {
23
24
  readonly ok: false;
24
25
  readonly missingExpressions: readonly MissingExpression[];
26
+ /**
27
+ * The migrations of both domains the migration modules do not export, which a built
28
+ * runtime lists in `migrationRuntime.missingMigrations` of each domain.
29
+ */
30
+ readonly missingMigrations: readonly string[];
25
31
  };
26
32
  /**
27
- * Builds an ApplicationRuntime from an ApplicationSpec.
33
+ * Builds an ApplicationRuntime from a RuntimeSpec: the part of the parsed spec the runtime reads, which a
34
+ * parsed ApplicationSpec also is.
28
35
  * A persistent RuntimeReferenceStore preserves per-item references and reports
29
36
  * section-level changes across rebuilds.
30
37
  * Each field on the result carries its own `changed` flag.
@@ -33,8 +40,21 @@ export type ApplicationRuntimeResult = {
33
40
  * admin domain checks them after the invariants every admin domain has. `migrationModules` are the
34
41
  * project's migration modules of both domains (`src/migrations/`, `src/admin/migrations/`), keyed by
35
42
  * project path; a migration they do not provide is listed in `missingMigrations` of the domain's
36
- * `migrationRuntime`.
43
+ * `migrationRuntime`. `specCode` is the generated `.phoenix/spec-code.ts` module: the runtime takes
44
+ * each piece of YAML code (`$eval` in expressions, component props and filters) from it by spec code
45
+ * id, and compiles the text with `new Function` only for an id it does not hold, or without it (the
46
+ * editor, which rebuilds from YAML it has no generated module for). The module must come from the
47
+ * same generation as `spec`; an id carries a hash of its code, so a module from another generation
48
+ * misses the ids of changed code instead of running an old closure.
37
49
  *
38
- * Returns an error result when declared expressions are missing implementations.
50
+ * `expressionModules` and `adminExpressionModules` are the project's expression files
51
+ * (`src/expressions/`, `src/admin/expressions/`), as the generated barrels or the editor's reload
52
+ * hand them over; each domain merges them with the aliases of its spec (`mergeExpressionModules`).
53
+ *
54
+ * The mistakes of the project files are recorded in `errors` as `ImplementationError`s: a file with
55
+ * the wrong export, an expression two files define, or that a file defines although the spec or the
56
+ * SDK gives it a value (`DUPLICATE_DEFINITION`), and a declared expression no file implements
57
+ * (`MISSING_IMPLEMENTATION`), which also makes the result an error. Without `errors`, everything
58
+ * recorded is thrown together as one `ImplementationErrors` before the result is returned.
39
59
  */
40
- export declare const ApplicationRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, importedTransformers: readonly ImportedTransformer[], invariantImplementations?: InvariantImplementations, adminImplementations?: ExpressionImplementations, adminInvariantImplementations?: InvariantImplementations, migrationModules?: MigrationModules) => ApplicationRuntimeResult;
60
+ export declare const ApplicationRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore, expressionModules: readonly ProjectModule[], importedTransformers: readonly ImportedTransformer[], invariantImplementations?: InvariantImplementations, adminExpressionModules?: readonly ProjectModule[], adminInvariantImplementations?: InvariantImplementations, migrationModules?: MigrationModules, specCode?: SpecCodeModule, errors?: ImplementationErrorCollector) => ApplicationRuntimeResult;
@@ -1 +1 @@
1
- import{Branded as i}from"@salsita-ai/common/utils";import{AdminRuntime as r}from"./admin-runtime/admin-runtime.js";import{ConfiguratorRuntime as n}from"./configurator-runtime/configurator-runtime.js";import{DataRuntime as o}from"./sections/data-runtime.js";export const ApplicationRuntime=(s,t,m,e,u,a={},p={},f={})=>{let c=n(s,t,m,e,u,f);if(!c.ok)return{ok:!1,missingExpressions:c.missingExpressions};let g=r(s,t,a,p,f);return g.ok?{ok:!0,runtime:i({configurator:c.runtime,admin:g.runtime,data:o(s,t)})}:{ok:!1,missingExpressions:g.missingExpressions}};
1
+ import{Branded as i}from"@salsita-ai/common/utils";import{createImplementationErrorCollector as n}from"#package/domain";import{AdminRuntime as o}from"./admin-runtime/admin-runtime.js";import{ConfiguratorRuntime as r}from"./configurator-runtime/configurator-runtime.js";import{DataRuntime as m}from"./sections/data-runtime.js";export const ApplicationRuntime=(t,s,a,e,g,u=[],p={},f={},c,k)=>{let d=k??n(),M=r(t,s,a,e,g,f,c?.configurator,d),l=o(t,s,u,p,f,c?.admin,d);return(void 0===k&&d.throwIfAny(),M.ok&&l.ok)?{ok:!0,runtime:i({configurator:M.runtime,admin:l.runtime,data:m(t,s)})}:{ok:!1,missingExpressions:[...M.ok?[]:M.missingExpressions,...l.ok?[]:l.missingExpressions],missingMigrations:[...M.ok?M.runtime.migrationRuntime.missingMigrations:M.missingMigrations,...l.ok?l.runtime.migrationRuntime.missingMigrations:l.missingMigrations]}};
@@ -0,0 +1,71 @@
1
+ import { type AnyActionImplementations, type AnyDomainComponentOptic, type ApplicationConfiguratorSpec, type ElementRegistration, type HandlerRegistration, type ApplicationSpec as RuntimeApplicationSpec } from '#package/domain';
2
+ import type { RuntimeSpec } from '../runtime-spec/index.js';
3
+ import type { ApplicationRuntime } from './application-runtime.js';
4
+ type Theme = ApplicationConfiguratorSpec['theme'];
5
+ /**
6
+ * The theme presets of the SDK by name, as `getPhoenixThemes()` returns them. The caller passes
7
+ * them, because `application-spec` does not depend on the UI package that defines them.
8
+ */
9
+ export type ThemePresets = Readonly<Record<string, Theme>>;
10
+ /**
11
+ * The project modules of an application's spec slice, checked and flattened: `handlers` and
12
+ * `elements` with the content hash of each registration (the remount key of a registration whose
13
+ * file changed), the component optics of `src/components/` and the action implementations of
14
+ * `src/actions/`.
15
+ *
16
+ * A `null` keeps the previous spec's value: the editor passes it for a kind of file that did not
17
+ * change since the last update.
18
+ */
19
+ export interface ApplicationSpecSliceModules {
20
+ readonly handlers: {
21
+ readonly handlers: ReadonlyArray<HandlerRegistration<any, any>>;
22
+ readonly nameHashes?: Readonly<Record<string, string>>;
23
+ } | null;
24
+ readonly elements: {
25
+ readonly elements: readonly ElementRegistration[];
26
+ readonly nameHashes?: Readonly<Record<string, string>>;
27
+ } | null;
28
+ readonly customComponentOptics: readonly AnyDomainComponentOptic[] | null;
29
+ readonly actionImplementations: AnyActionImplementations | null;
30
+ }
31
+ interface SliceInput {
32
+ readonly runtime: ApplicationRuntime;
33
+ readonly modules: ApplicationSpecSliceModules;
34
+ readonly themePresets: ThemePresets;
35
+ }
36
+ /**
37
+ * The first spec slice of an application: every section is built from `runtime`, `spec` and the
38
+ * modules. `initialPublishedData` is empty; the caller computes it with a domain runtime of this
39
+ * slice and puts it in.
40
+ */
41
+ export interface ApplicationSpecStart extends SliceInput {
42
+ readonly previous?: undefined;
43
+ readonly spec: RuntimeSpec;
44
+ /** The component optics of `src/admin/components/`. */
45
+ readonly customAdminComponentOptics: readonly AnyDomainComponentOptic[];
46
+ /** The SDK's default elements of the application kind; a project element with the same name replaces one. */
47
+ readonly defaultElements: readonly ElementRegistration[];
48
+ /** The resources URL of the environment, used when the spec sets no `baseResourcesUrl`. */
49
+ readonly environmentResourcesUrl: string | undefined;
50
+ }
51
+ /**
52
+ * A rebuild of a running application's spec slice, as the editor makes it when the project
53
+ * changes. Only the configurator sections are rebuilt; a section whose runtime did not change, and
54
+ * a kind of module given as `null`, keeps its object from `previous`, so selectors over it stay
55
+ * memoized. With `model: 'keep'` the domain factory and the model-owned fields stay too (the
56
+ * schema of the model is unchanged); with `model: 'rebuild'` they are built from `runtime`.
57
+ */
58
+ export interface ApplicationSpecUpdate extends SliceInput {
59
+ readonly previous: RuntimeApplicationSpec;
60
+ readonly model: 'keep' | 'rebuild';
61
+ }
62
+ /** The component optics a project file contributes, as opposed to those the spec generates. */
63
+ export declare const customComponentOpticsOf: (componentOptics: readonly AnyDomainComponentOptic[]) => AnyDomainComponentOptic[];
64
+ /**
65
+ * Maps an application's runtime (`ApplicationRuntime`, built with the project's modules) and its
66
+ * checked modules onto the spec slice of the domain runtime, the one input of every mounted
67
+ * application: an application's first slice, which `createApplication` builds with it, or the
68
+ * editor's rebuild after a change of the project.
69
+ */
70
+ export declare const applicationSpecSlice: (input: ApplicationSpecStart | ApplicationSpecUpdate) => RuntimeApplicationSpec;
71
+ export {};
@@ -0,0 +1 @@
1
+ import{resolveImportedTransformers as e}from"#package/domain";export const customComponentOpticsOf=e=>e.filter(e=>!0!==e.generated);let t=(t,n)=>{let{runtime:s,modules:a,themePresets:i}=t,{configurator:o}=s,r=(e,t,s)=>e||void 0===n?t():s(n),l=a.handlers?.handlers??n?.handlers??[],m=a.handlers||void 0===n?((e,t,n)=>{let s={};for(let a of e)s[a.name]=t?.[a.name]??n?.[a.name]??a.name;return s})(l,a.handlers?.nameHashes,n?.handlerHashes):n.handlerHashes,c=a.elements?.elements??n?.elements??[],p=a.elements||void 0===n?((e,t,n)=>{let s={},a=0;for(let i of e)if("assistantFormElement"!==i.type)if("entity"===i.type||"layout"===i.type)s[i.name]=t?.[i.name]??n?.[i.name]??i.name;else{let e=`icon:${a}`;s[e]=t?.[e]??n?.[e]??`${e}:${i.elements.length}`,a+=1}return s})(c,a.elements?.nameHashes,n?.elementHashes):n.elementHashes,d=a.customComponentOptics??customComponentOpticsOf(n?.componentOptics??[]),u=r(o.componentOptics.changed||null!==a.customComponentOptics,()=>[...o.componentOptics.optics.map(e=>e.optic),...d],e=>e.componentOptics),{importedTransformers:h,specTransformers:g}=o.transformersRuntime;return{presets:r(o.presetRuntime.changed,()=>o.presetRuntime.presets,e=>e.presets),theme:r(o.themeRuntime.changed,()=>{var e;let t;return t=(Object.hasOwn(i,(e=o.themeRuntime).preset)?i[e.preset]:{})??{},Object.keys(e.options).length>0?{...t,...e.options}:t},e=>e.theme),assistant:r(o.assistantRuntime.changed,()=>o.assistantRuntime.assistant,e=>e.assistant),navigationStates:r(o.statesRuntime.changed,()=>o.statesRuntime.navigationStates,e=>e.navigationStates),viewStates:r(o.statesRuntime.changed,()=>o.statesRuntime.viewStates,e=>e.viewStates),toolStates:r(o.statesRuntime.changed,()=>o.statesRuntime.toolStates,e=>e.toolStates),exportStates:r(o.statesRuntime.changed,()=>o.statesRuntime.exportStates,e=>e.exportStates),componentOptics:u,createTransformers:r(o.transformersRuntime.changed,()=>t=>e(h,g,t),e=>e.createTransformers),handlers:l,handlerHashes:m,elements:c,elementHashes:p}},n=(e,t,n)=>{let{modelRuntime:s,expressionRuntime:a,actionsRuntime:i,migrationRuntime:o}=e.configurator,r=s.domainBuilder.withExpressions(a.merged).withActions(Object.values(i.definitions)).withActionImplementations(t),l=(n?r.withMigrate(o.migrate):r).build();return{modelVersion:l.context.modelVersion,factory:l,aliasMap:l.context.aliasMap,entityReflections:l.context.entityReflections,$entityReflections:l.context.$entityReflections,allowedRootEntityTypes:l.context.allowedRootEntityTypes,migrate:l.context.migrate}};export const applicationSpecSlice=e=>void 0===e.previous?(e=>{let{runtime:s,spec:a}=e,i=(e=>{let{runtime:s,modules:a,spec:i,defaultElements:o}=e,{expressionRuntime:r,actionsRuntime:l}=s.configurator,{ui:m}=i.configurator,c=i.infra.resourcesConfig,p=a.actionImplementations??{};return{...t(e,void 0),...n(s,p,!0),expressions:r.merged,actions:l.definitions,actionImplementations:p,defaultElements:o,appLoader:m.appLoader??"universal",preview:m.preview??"auto",alwaysExpand:m.alwaysExpand??!1,deploymentQueryDisabled:c?.deploymentQueryDisabled??!1,prefetchTextureUrls:c?.prefetchTextureUrls??[]}})(e),o=a.configurator.ui.textLanguages;return{version:a.appMetadata.applicationVersion,dataConfig:s.data.dataSpec,chunks:s.data.chunks,publishedDataHash:s.data.publishedDataHash,initialPublishedData:{},canCreate:[...a.infra.acl.canCreate],enableAdminRelease:a.appMetadata.enableAdminRelease,textLanguages:o&&o.length>0?o:["en"],baseResourcesUrl:a.infra.resourcesConfig?.baseResourcesUrl??e.environmentResourcesUrl??"",configurator:i,admin:((e,t)=>{let{modelRuntime:n,expressionRuntime:s,migrationRuntime:a,presetRuntime:i,componentOptics:o,statesRuntime:r}=e.runtime.admin,[l]=i.presets;if(void 0===l)throw Error("Cannot register application spec because admin preset is required.");let m=n.domainBuilder.withExpressions(s.merged).withMigrate(a.migrate).build();return{factory:m,modelVersion:m.modelVersion,aliasMap:m.context.aliasMap,entityReflections:m.context.entityReflections,$entityReflections:m.context.$entityReflections,expressions:m.context.expressions,actions:m.context.actions,actionImplementations:m.context.actionImplementations,allowedRootEntityTypes:m.context.allowedRootEntityTypes,migrate:m.context.migrate,preset:l,componentOptics:[...o.optics.map(e=>e.optic),...e.customAdminComponentOptics],navigationStates:r.navigationStates,viewStates:[],handlers:t.handlers,handlerHashes:t.handlerHashes,elements:t.elements,elementHashes:t.elementHashes}})(e,i)}})(e):{...e.previous,configurator:(e=>{let{runtime:s,modules:a,previous:i,model:o}=e,r=i.configurator,{expressionRuntime:l,actionsRuntime:m}=s.configurator,c=t(e,r),p=a.actionImplementations??r.actionImplementations;return"keep"===o?{...r,...c,expressions:l.changed?l.merged:r.expressions,actions:m.changed?m.definitions:r.actions,actionImplementations:p}:{...r,...c,...n(s,p,!1),expressions:l.merged,actions:m.definitions,actionImplementations:p}})(e)};
@@ -1,17 +1,19 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
2
  import { type $DomainEntity, $DomainEntityReflection, DomainBuilder, type DomainEntity, DomainEntityReflection, RawAliasReflection, SchemaReflection } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
- import type { DataSchemas, Expressions, ModelVersion, ResolvedVersions } from '../../../parse-application-files/index.js';
4
+ import type { Expressions } from '../../../parse-application-files/index.js';
5
+ import type { RuntimeDataSchemas, RuntimeModelVersion, RuntimeResolvedVersions } from '../../runtime-spec/index.js';
6
+ import type { SpecCodeMap } from '../spec-code/index.js';
5
7
  type AnyEntity = DomainEntity<string>;
6
8
  type AnyAliases = Record<string, AnyEntity>;
7
9
  type AnyData = Record<string, unknown>;
8
10
  type Any$Map = Record<AnyEntity['type'], $DomainEntity<AnyEntity>>;
9
11
  type AnyDomainBuilder = DomainBuilder<AnyEntity, AnyEntity, AnyAliases, Any$Map, AnyData, AnyData, AnyData>;
10
12
  interface ConfiguratorModelRuntimeSpec {
11
- readonly dataSchemas: DataSchemas;
13
+ readonly dataSchemas: RuntimeDataSchemas;
12
14
  readonly expressions: Expressions;
13
- readonly latestModel: ModelVersion;
14
- readonly resolvedVersions: ResolvedVersions;
15
+ readonly latestModel: RuntimeModelVersion;
16
+ readonly resolvedVersions: RuntimeResolvedVersions;
15
17
  }
16
18
  interface ConfiguratorModelRuntimeFields {
17
19
  readonly entities: Record<string, DomainEntityReflection<AnyEntity>>;
@@ -26,5 +28,5 @@ interface ConfiguratorModelRuntimeFields {
26
28
  }
27
29
  export type ConfiguratorModelRuntime = Branded<'ConfiguratorModelRuntime', ConfiguratorModelRuntimeFields>;
28
30
  export declare const isConfiguratorModelSchemaCompatible: (prev: ConfiguratorModelRuntimeSpec, curr: ConfiguratorModelRuntimeSpec) => boolean;
29
- export declare const ConfiguratorModelRuntime: (domainSpec: ConfiguratorModelRuntimeSpec, referenceStore: RuntimeReferenceStore) => ConfiguratorModelRuntime;
31
+ export declare const ConfiguratorModelRuntime: (domainSpec: ConfiguratorModelRuntimeSpec, referenceStore: RuntimeReferenceStore, code: SpecCodeMap | undefined) => ConfiguratorModelRuntime;
30
32
  export {};
@@ -1 +1 @@
1
- import e from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";import{$DomainEntityReflection as s,DomainBuilder as o,DomainEntityReflection as i,RawAliasReflection as n,SchemaReflection as a}from"#package/domain";import{evaluateReflectionConstants as r,findReflectionConstants as m}from"../sections/reflection-constants-runtime.js";let l=e=>({latestVersion:e.resolvedVersions.latestVersion,versionedModels:e.resolvedVersions.versionedModels.map(e=>({version:e.version,key:e.key,isLatest:e.isLatest,migrationFile:e.migrationFile}))}),p=e=>{let t=[];for(let[s,o]of e.expressions.entityExpressions)t.push({entityType:String(s),shapeGroups:o.shapeGroups.map(String),expressionNamesByGroup:o.shapeGroups.map(t=>{let s=e.expressions.expressions.get(t);return{group:String(t),names:s?[...s.keys()].map(String):[]}}),constants:[...m(e.expressions,String(s))??[]].map(([e,t])=>[String(e),t])});return t};export const isConfiguratorModelSchemaCompatible=(t,s)=>e(t.latestModel.entitySchemas.map(e=>e.shapeSchema),s.latestModel.entitySchemas.map(e=>e.shapeSchema))&&e([...t.latestModel.aliases],[...s.latestModel.aliases])&&e([...t.latestModel.commonTypes],[...s.latestModel.commonTypes])&&e(l(t),l(s))&&e(p(t),p(s))&&e(t.dataSchemas,s.dataSchemas);let c=e=>{let{latestModel:t,resolvedVersions:m,dataSchemas:l,expressions:p}=e.domainSpec,c={};for(let e of t.entitySchemas)c[String(e.entityType)]=new i(String(e.entityType),[e.shapeSchema]);let S={};for(let[e,s]of t.commonTypes){let t=s.runtimeSchema;S[String(e)]=new a(String(e),t)}let u=[...t.aliases],d={},g={};for(let[e,t]of u){let s=t.map(e=>c[String(e)]),o=new n(String(e),s);d[String(e)]=o,g[String(e)]=o.types}let h={};for(let e of t.entityTypes){let t=String(e),o=p.entityExpressions.get(e),i=[];if(o)for(let e of o.shapeGroups){let t=p.expressions.get(e);t&&i.push(...t.keys())}h[t]=new s(t,i,r(p,t))}let y=u.map(([e])=>String(e)).includes("RootEntity")?"RootEntity":"AnyDomainEntity",f=d[y]?.types??[],M=m.latestVersion,x=l.publishedData.runtimeSchema,T=l.sessionData.runtimeSchema,b=l.frontendData.runtimeSchema,k=l.backendData?.runtimeSchema,v=o.from(c,g,h,f,M,x,T,b,k,!1);return{entities:c,aliasReflections:d,commonTypeReflections:S,aliases:g,$entityReflections:h,rootEntityTypes:f,modelVersion:M,domainBuilder:v}};export const ConfiguratorModelRuntime=(e,s)=>{let o=s.createBuilder("modelRuntime:configurator",{build:c,getKey:()=>"singleton",compare:(e,t)=>isConfiguratorModelSchemaCompatible(e.domainSpec,t.domainSpec)}).build({domainSpec:e});return t({...o.output,schemaChanged:o.changed})};
1
+ import e from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";import{$DomainEntityReflection as s,DomainBuilder as o,DomainEntityReflection as i,RawAliasReflection as n,SchemaReflection as a}from"#package/domain";import{evaluateReflectionConstants as r,findReflectionConstants as m}from"../sections/reflection-constants-runtime.js";let l=e=>({latestVersion:e.resolvedVersions.latestVersion,versionedModels:e.resolvedVersions.versionedModels.map(e=>({version:e.version,key:e.key,isLatest:e.isLatest,migrationFile:e.migrationFile}))}),p=e=>{let t=[];for(let[s,o]of e.expressions.entityExpressions)t.push({entityType:String(s),shapeGroups:o.shapeGroups.map(String),expressionNamesByGroup:o.shapeGroups.map(t=>{let s=e.expressions.expressions.get(t);return{group:String(t),names:s?[...s.keys()].map(String):[]}}),constants:[...m(e.expressions,String(s))??[]].map(([e,t])=>[String(e),t])});return t};export const isConfiguratorModelSchemaCompatible=(t,s)=>e(t.latestModel.entitySchemas.map(e=>e.shapeSchema),s.latestModel.entitySchemas.map(e=>e.shapeSchema))&&e([...t.latestModel.aliases],[...s.latestModel.aliases])&&e([...t.latestModel.commonTypes],[...s.latestModel.commonTypes])&&e(l(t),l(s))&&e(p(t),p(s))&&e(t.dataSchemas,s.dataSchemas);let c=e=>{let{latestModel:t,resolvedVersions:m,dataSchemas:l,expressions:p}=e.domainSpec,c={};for(let e of t.entitySchemas)c[String(e.entityType)]=new i(String(e.entityType),[e.shapeSchema]);let d={};for(let[e,s]of t.commonTypes){let t=s.runtimeSchema;d[String(e)]=new a(String(e),t)}let S=[...t.aliases],u={},g={};for(let[e,t]of S){let s=t.map(e=>c[String(e)]),o=new n(String(e),s);u[String(e)]=o,g[String(e)]=o.types}let h={};for(let o of t.entityTypes){let t=String(o),i=p.entityExpressions.get(o),n=[];if(i)for(let e of i.shapeGroups){let t=p.expressions.get(e);t&&n.push(...t.keys())}h[t]=new s(t,n,r(p,t,e.code))}let y=S.map(([e])=>String(e)).includes("RootEntity")?"RootEntity":"AnyDomainEntity",f=u[y]?.types??[],M=m.latestVersion,x=l.publishedData.runtimeSchema,T=l.sessionData.runtimeSchema,b=l.frontendData.runtimeSchema,k=l.backendData?.runtimeSchema,v=o.from(c,g,h,f,M,x,T,b,k,!1);return{entities:c,aliasReflections:u,commonTypeReflections:d,aliases:g,$entityReflections:h,rootEntityTypes:f,modelVersion:M,domainBuilder:v}};export const ConfiguratorModelRuntime=(e,s,o)=>{let i=s.createBuilder("modelRuntime:configurator",{build:c,getKey:()=>"singleton",compare:(e,t)=>e.code===t.code&&isConfiguratorModelSchemaCompatible(e.domainSpec,t.domainSpec)}).build({domainSpec:e,code:o});return t({...i.output,schemaChanged:i.changed})};
@@ -1,17 +1,18 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
- import type { ImportedTransformer } from '#package/domain';
2
+ import type { ImplementationErrorCollector, ImportedTransformer, ProjectModule } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
- import type { ApplicationSpec } from '../../../parse-application-files/index.js';
5
- import { FactoryDataRuntime } from '../factory-data/index.js';
4
+ import type { RuntimeSpec } from '../../runtime-spec/index.js';
5
+ import type { FactoryDataRuntime } from '../factory-data/index.js';
6
6
  import { type MigrationModules, MigrationRuntime } from '../migrations/index.js';
7
7
  import { ActionsRuntime } from '../sections/actions-runtime.js';
8
8
  import { AssistantRuntime } from '../sections/assistant-runtime.js';
9
9
  import { ComponentOptics } from '../sections/component-optic.js';
10
- import { type ExpressionImplementations, ExpressionRuntime, type InvariantImplementations, type MissingExpression } from '../sections/expression-runtime.js';
10
+ import { ExpressionRuntime, type InvariantImplementations, type MissingExpression } from '../sections/expression-runtime.js';
11
11
  import { PresetRuntime } from '../sections/preset-runtime.js';
12
12
  import { ThemeRuntime } from '../sections/theme-runtime.js';
13
13
  import { TransformersRuntime } from '../sections/transformers-runtime.js';
14
- import { ConfiguratorModelRuntime } from './configurator-model-runtime.js';
14
+ import type { SpecCodeMap } from '../spec-code/index.js';
15
+ import type { ConfiguratorModelRuntime } from './configurator-model-runtime.js';
15
16
  import { ConfiguratorStatesRuntime } from './states-runtime.js';
16
17
  export type ConfiguratorRuntime = Branded<'ConfiguratorRuntime', {
17
18
  readonly modelRuntime: ConfiguratorModelRuntime;
@@ -32,5 +33,7 @@ export type ConfiguratorRuntimeResult = {
32
33
  } | {
33
34
  readonly ok: false;
34
35
  readonly missingExpressions: readonly MissingExpression[];
36
+ /** The migrations the migration modules do not export, as `migrationRuntime.missingMigrations` lists them. */
37
+ readonly missingMigrations: readonly string[];
35
38
  };
36
- export declare const ConfiguratorRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, importedTransformers: readonly ImportedTransformer[], invariantImplementations: InvariantImplementations | undefined, migrationModules: MigrationModules) => ConfiguratorRuntimeResult;
39
+ export declare const ConfiguratorRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore, expressionModules: readonly ProjectModule[], importedTransformers: readonly ImportedTransformer[], invariantImplementations: InvariantImplementations | undefined, migrationModules: MigrationModules, code: SpecCodeMap | undefined, errors: ImplementationErrorCollector) => ConfiguratorRuntimeResult;
@@ -1 +1 @@
1
- import{Branded as t}from"@salsita-ai/common/utils";import{FactoryDataRuntime as e}from"../factory-data/index.js";import{MigrationRuntime as i}from"../migrations/index.js";import{ActionsRuntime as o}from"../sections/actions-runtime.js";import{AssistantRuntime as r}from"../sections/assistant-runtime.js";import{ComponentOptics as n}from"../sections/component-optic.js";import{ExpressionRuntime as s}from"../sections/expression-runtime.js";import{PresetRuntime as m}from"../sections/preset-runtime.js";import{ThemeRuntime as a}from"../sections/theme-runtime.js";import{TransformersRuntime as u}from"../sections/transformers-runtime.js";import{ConfiguratorModelRuntime as c}from"./configurator-model-runtime.js";import{ConfiguratorStatesRuntime as f}from"./states-runtime.js";export const ConfiguratorRuntime=(p,g,R,j,l,d)=>{let x=c(p.configurator,g),v=s(p.configurator,g,R,"configuratorExpressionRuntime",l);return v.ok?{ok:!0,runtime:t({modelRuntime:x,componentOptics:n(g,{components:p.configurator.components,referenceScope:"configuratorRuntime/componentOptics",modelRuntime:x}),presetRuntime:m(g,{referenceScope:"configuratorRuntime/presetRuntime",presets:p.configurator.presets.presets}),statesRuntime:f(p,g),expressionRuntime:v.runtime,themeRuntime:a(p,g),transformersRuntime:u(p,g,j),assistantRuntime:r(p,g),actionsRuntime:o(p.configurator.actions,g),migrationRuntime:i(g,{referenceScope:"configuratorRuntime/migrationRuntime",resolvedVersions:p.configurator.resolvedVersions,latestEntities:x.entities,migrationModules:d}),factoryDataRuntime:e(g,{referenceScope:"configuratorRuntime/factoryDataRuntime",invariants:p.configurator.invariants,defaults:p.configurator.defaults,aliases:x.aliases,entities:x.entities})})}:{ok:!1,missingExpressions:v.missing}};
1
+ import{Branded as t}from"@salsita-ai/common/utils";import{MigrationRuntime as e}from"../migrations/index.js";import{ActionsRuntime as i}from"../sections/actions-runtime.js";import{AssistantRuntime as o}from"../sections/assistant-runtime.js";import{ComponentOptics as s}from"../sections/component-optic.js";import{ExpressionRuntime as r}from"../sections/expression-runtime.js";import{PresetRuntime as n}from"../sections/preset-runtime.js";import{ThemeRuntime as m}from"../sections/theme-runtime.js";import{TransformersRuntime as c}from"../sections/transformers-runtime.js";import{ConfiguratorSpecRuntime as u}from"./configurator-spec-runtime.js";import{ConfiguratorStatesRuntime as p}from"./states-runtime.js";export const ConfiguratorRuntime=(a,f,g,R,j,l,x,d)=>{let{modelRuntime:k,factoryDataRuntime:E}=u(a,f,x),S=r(a.configurator,f,g,"configuratorExpressionRuntime",j,x,d),h=e(f,{referenceScope:"configuratorRuntime/migrationRuntime",resolvedVersions:a.configurator.resolvedVersions,latestEntities:k.entities,migrationModules:l});return S.ok?{ok:!0,runtime:t({modelRuntime:k,componentOptics:s(f,{components:a.configurator.components,referenceScope:"configuratorRuntime/componentOptics",modelRuntime:k,code:x}),presetRuntime:n(f,{referenceScope:"configuratorRuntime/presetRuntime",presets:a.configurator.presets.presets}),statesRuntime:p(a,f),expressionRuntime:S.runtime,themeRuntime:m(a,f),transformersRuntime:c(a,f,R),assistantRuntime:o(a,f),actionsRuntime:i(a.configurator.actions,f),migrationRuntime:h,factoryDataRuntime:E})}:{ok:!1,missingExpressions:S.missing,missingMigrations:h.missingMigrations}};
@@ -0,0 +1,16 @@
1
+ import { Branded } from '@salsita-ai/common/utils';
2
+ import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
+ import type { RuntimeSpec } from '../../runtime-spec/index.js';
4
+ import { FactoryDataRuntime } from '../factory-data/index.js';
5
+ import type { SpecCodeMap } from '../spec-code/index.js';
6
+ import { ConfiguratorModelRuntime } from './configurator-model-runtime.js';
7
+ /**
8
+ * The sections of the configurator domain that the spec alone determines: its model and the data
9
+ * of its `phx.domain` factories. `ConfiguratorRuntime` builds its own from this function, so a
10
+ * build of either in the same reference store returns the same objects.
11
+ */
12
+ export type ConfiguratorSpecRuntime = Branded<'ConfiguratorSpecRuntime', {
13
+ readonly modelRuntime: ConfiguratorModelRuntime;
14
+ readonly factoryDataRuntime: FactoryDataRuntime;
15
+ }>;
16
+ export declare const ConfiguratorSpecRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore, code: SpecCodeMap | undefined) => ConfiguratorSpecRuntime;
@@ -0,0 +1 @@
1
+ import{Branded as t}from"@salsita-ai/common/utils";import{FactoryDataRuntime as r}from"../factory-data/index.js";import{ConfiguratorModelRuntime as a}from"./configurator-model-runtime.js";export const ConfiguratorSpecRuntime=(i,o,e)=>{let n=a(i.configurator,o,e);return t({modelRuntime:n,factoryDataRuntime:r(o,{referenceScope:"configuratorRuntime/factoryDataRuntime",invariants:i.configurator.invariants,defaults:i.configurator.defaults,aliases:n.aliases,entities:n.entities})})};
@@ -1,6 +1,6 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
2
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
- import type { ApplicationSpec } from '../../../parse-application-files/index.js';
3
+ import type { RuntimeSpec } from '../../runtime-spec/index.js';
4
4
  export type ConfiguratorStatesRuntime = Branded<'ConfiguratorStatesRuntime', {
5
5
  readonly navigationStates: readonly string[];
6
6
  readonly viewStates: readonly string[];
@@ -8,4 +8,4 @@ export type ConfiguratorStatesRuntime = Branded<'ConfiguratorStatesRuntime', {
8
8
  readonly exportStates: readonly string[];
9
9
  readonly changed: boolean;
10
10
  }>;
11
- export declare const ConfiguratorStatesRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore) => ConfiguratorStatesRuntime;
11
+ export declare const ConfiguratorStatesRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore) => ConfiguratorStatesRuntime;
@@ -0,0 +1,57 @@
1
+ import { type Messages } from '@lingui/core';
2
+ import { type Application, type ElementRegistration, type ProjectModule } from '#package/domain';
3
+ import type { RuntimeReferenceStore } from '../../caching/index.js';
4
+ import type { RuntimeSpec } from '../runtime-spec/index.js';
5
+ import { type ThemePresets } from './application-spec-slice.js';
6
+ import type { MigrationModules } from './migrations/index.js';
7
+ import type { SpecCodeModule } from './spec-code/index.js';
8
+ /**
9
+ * The project modules of an application, as the generated barrels list them: each file of a
10
+ * convention folder as `{ origin, exports }`, unchecked; the migration modules of both domains keyed
11
+ * by project path (`src/migrations/v2.ts`); and the message catalogs of `src/locales/<locale>/`,
12
+ * keyed by locale. `components` holds the files of `src/components/` and the frontend component
13
+ * files, in that order, and `elements` every element file the application mounts.
14
+ */
15
+ export interface ApplicationModules {
16
+ readonly expressions: readonly ProjectModule[];
17
+ readonly invariants: readonly ProjectModule[];
18
+ readonly actions: readonly ProjectModule[];
19
+ readonly components: readonly ProjectModule[];
20
+ readonly handlers: readonly ProjectModule[];
21
+ readonly elements: readonly ProjectModule[];
22
+ readonly transformers: readonly ProjectModule[];
23
+ readonly adminExpressions: readonly ProjectModule[];
24
+ readonly adminInvariants: readonly ProjectModule[];
25
+ readonly adminComponents: readonly ProjectModule[];
26
+ readonly migrations: MigrationModules;
27
+ readonly catalogs: Readonly<Record<string, Messages>>;
28
+ }
29
+ export interface CreateApplicationInput {
30
+ /** The runtime spec, `.phoenix/application-spec.json` decoded with `decodeRuntimeSpec`. */
31
+ readonly spec: RuntimeSpec;
32
+ /** The store `createPhx` built the `phx` values in. */
33
+ readonly referenceStore: RuntimeReferenceStore;
34
+ /** The generated `.phoenix/spec-code.ts` module of the same generation as `spec`. */
35
+ readonly specCode?: SpecCodeModule | undefined;
36
+ readonly modules: ApplicationModules;
37
+ /** The SDK's default elements of the application kind; a project element with the same name replaces one. */
38
+ readonly defaultElements: readonly ElementRegistration[];
39
+ /** The SDK's theme presets by name, `getPhoenixThemes()`. */
40
+ readonly themePresets: ThemePresets;
41
+ readonly environment?: Application['environment'] | undefined;
42
+ /** The services a host provides; i18n is built from the catalogs. */
43
+ readonly services?: Omit<Application['services'], 'i18n'> | undefined;
44
+ /** The tag the web component mounts as; by default the spec's `webComponentTag`, else `salsita-configurator`. */
45
+ readonly tag?: string | undefined;
46
+ }
47
+ /**
48
+ * Builds an application from its runtime spec and its project modules, ready to mount, with no
49
+ * `ConfiguratorBuilder` and no `ApplicationConfig`: the full `ApplicationRuntime` in the store
50
+ * `createPhx` built the `phx` values in, the spec slice of the domain runtime, the initial published
51
+ * data and i18n.
52
+ *
53
+ * Every mistake of the project's files is reported at once, as one `ImplementationErrors`: a file
54
+ * that breaks its folder's contract, an expression defined twice or one the spec already gives a
55
+ * value, a declared expression no file implements and a migration no file exports.
56
+ */
57
+ export declare const createApplication: <TYPES = unknown>(input: CreateApplicationInput) => Application<TYPES>;
@@ -0,0 +1 @@
1
+ import{setupI18n as e}from"@lingui/core";import{initConsoleLogger as t}from"@salsita-ai/common/utils";import{ImplementationError as i,NoopAnalyticsSystem as n,checkSingleInstanceHandlers as o,createDomainRuntime as a,createImplementationErrorCollector as r,createInitialPublishedData as s,resolveActionModules as m,resolveComponentOpticModules as c,resolveElementModule as l,resolveHandlerModule as p,resolveInvariantModules as u,resolveTransformerModule as d}from"#package/domain";import{defaultI18n as f,mergeCatalogs as g,sdkCatalog as h}from"#package/i18n";import{ApplicationRuntime as v}from"./application-runtime.js";import{applicationSpecSlice as E}from"./application-spec-slice.js";let M=(e,t,i)=>e.filter(e=>i.attempt(()=>(t(e),!0),!1)),w=(e,t,i)=>e.flatMap(e=>i.attempt(()=>t(e),[]));export const createApplication=I=>{let{spec:T,referenceStore:b,specCode:k,modules:x,environment:A={}}=I,C=r(),R=w(x.handlers,p,C),y=w(x.elements,l,C),N=w(x.transformers,e=>[d(e)],C),P=w(x.components,e=>c([e]),C),S=w(x.adminComponents,e=>c([e]),C),O=M(x.invariants,e=>u([e]),C),j=M(x.adminInvariants,e=>u([e]),C),L=M(x.actions,e=>m([e]),C),U=v(T,b,x.expressions,N,u(O),x.adminExpressions,u(j),x.migrations,k,C);if((U.ok?[...U.runtime.configurator.migrationRuntime.missingMigrations,...U.runtime.admin.migrationRuntime.missingMigrations]:U.missingMigrations).forEach(e=>C.add((e=>{let[t=e,n="migrateToVN"]=e.split("#");return new i({code:"MISSING_IMPLEMENTATION",origin:t,problem:`The migration ${n} is missing`,fix:`The spec declares the model version this file migrates to, so the file must export ${n}, the function that turns a state of the previous version into one of this version; without it a saved configuration of an earlier version cannot load. Add or rename the export.`})})(e))),C.throwIfAny(),!U.ok)throw Error("The application runtime could not be built, but no implementation error was recorded.");o(R);let $=E({runtime:U.runtime,spec:T,modules:{handlers:{handlers:R},elements:{elements:y},customComponentOptics:P,actionImplementations:m(L)},customAdminComponentOptics:S,defaultElements:I.defaultElements,themePresets:I.themePresets,environmentResourcesUrl:A.defaultEnvs?.resourcesUrl}),D=t(),F=s({adminDomainFactory:$.admin.factory,domainRuntime:a({application:{spec:$,environment:A},services:{analyticsService:new n,i18n:f,logger:D}}),adminPresets:U.runtime.admin.presetRuntime.presets,handlers:$.configurator.handlers,dataSpec:$.dataConfig??void 0,chunks:$.chunks,logger:D});return{spec:{...$,initialPublishedData:F},environment:A,services:{...I.services,i18n:e({messages:g([h,x.catalogs]),locale:T.configurator.ui.availableLocales[0]})},tag:I.tag??T.appMetadata.webComponentTag??"salsita-configurator"}};
@@ -0,0 +1,8 @@
1
+ export { ApplicationRuntime, type ApplicationRuntimeResult } from './application-runtime.js';
2
+ export { AdminModelRuntime } from './admin-runtime/admin-model-runtime.js';
3
+ export { ConfiguratorModelRuntime } from './configurator-runtime/configurator-model-runtime.js';
4
+ export { SpecRuntime } from './spec-runtime.js';
5
+ export * from './factory-data/index.js';
6
+ export * from './migrations/index.js';
7
+ export * from './sections/index.js';
8
+ export * from './spec-code/index.js';
@@ -0,0 +1 @@
1
+ export{ApplicationRuntime}from"./application-runtime.js";export{AdminModelRuntime}from"./admin-runtime/admin-model-runtime.js";export{ConfiguratorModelRuntime}from"./configurator-runtime/configurator-model-runtime.js";export{SpecRuntime}from"./spec-runtime.js";export*from"./factory-data/index.js";export*from"./migrations/index.js";export*from"./sections/index.js";export*from"./spec-code/index.js";
@@ -1,7 +1,7 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
2
  import { type AnyEntityReflections, type DomainEntity, type MigrateFunction, type Migration } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
- import type { ResolvedVersions } from '../../../parse-application-files/index.js';
4
+ import type { RuntimeResolvedVersions } from '../../runtime-spec/index.js';
5
5
  type AnyEntity = DomainEntity<string>;
6
6
  type AnyMigration = Migration<AnyEntity, AnyEntity>;
7
7
  /**
@@ -35,7 +35,7 @@ interface MigrationRuntimeFields {
35
35
  */
36
36
  export type MigrationRuntime = Branded<'MigrationRuntime', MigrationRuntimeFields>;
37
37
  interface MigrationRuntimeInput {
38
- readonly resolvedVersions: ResolvedVersions;
38
+ readonly resolvedVersions: RuntimeResolvedVersions;
39
39
  readonly latestEntities: AnyEntityReflections;
40
40
  readonly migrationModules: MigrationModules;
41
41
  }
@@ -1,10 +1,10 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
2
  import type { AssistantResolvedManifest } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
- import type { ApplicationSpec } from '../../../parse-application-files/index.js';
4
+ import type { RuntimeSpec } from '../../runtime-spec/index.js';
5
5
  /** Resolved assistant manifest with change tracking, carried to the runtime spec on hot reload. */
6
6
  export type AssistantRuntime = Branded<'AssistantRuntime', {
7
7
  readonly assistant: AssistantResolvedManifest | null;
8
8
  readonly changed: boolean;
9
9
  }>;
10
- export declare const AssistantRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore) => AssistantRuntime;
10
+ export declare const AssistantRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore) => AssistantRuntime;
@@ -1,7 +1,8 @@
1
1
  import type { ComponentEntry, ComponentImplementation } from '../../../parse-application-files/spec/index.js';
2
2
  import type { AdminModelRuntime } from '../admin-runtime/admin-model-runtime.js';
3
3
  import type { ConfiguratorModelRuntime } from '../configurator-runtime/configurator-model-runtime.js';
4
+ import { type SpecCodeMap } from '../spec-code/index.js';
4
5
  import type { ComponentOptic } from './component-optic.js';
5
6
  export declare const buildSdkOptic: (entry: ComponentEntry, impl: ComponentImplementation & {
6
7
  readonly kind: 'sdk';
7
- }, aliasMap: Record<string, readonly string[]>, configuratorModel: AdminModelRuntime | ConfiguratorModelRuntime) => ComponentOptic;
8
+ }, aliasMap: Record<string, readonly string[]>, configuratorModel: AdminModelRuntime | ConfiguratorModelRuntime, code: SpecCodeMap | undefined) => ComponentOptic;
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as t,adminSidebarComponent as a,attributeSelectionComponent as i,componentsByName as r,composedOfComponent as n,navigationPageComponent as o,navigationPanelListComponent as d,referenceComponent as c}from"#package/domain";import*as m from"#package/domain";import{FILTER_CRITERION_KEYS as s,isSdkCodeRef as l}from"../../../core/index.js";let g=new Map([["reference",c],["composedOf",n],["adminSidebar",a],["attributeSelection",i],["navigationPage",o],["navigationPanelList",d]]),R={createAdminCustomPageRead:m.createAdminCustomPageRead,createAdminCustomSidebarRead:m.createAdminCustomSidebarRead,createAdminDataPageRead:m.createAdminDataPageRead,createAdminDataTableSidebarRead:m.createAdminDataTableSidebarRead,createAdminNavigationPanelRead:m.createAdminNavigationPanelRead,createAdminPresetCategoryPageRead:m.createAdminPresetCategoryPageRead,createAdminPresetCategorySelectionRead:m.createAdminPresetCategorySelectionRead,createAdminPresetCategorySelectionWrite:m.createAdminPresetCategorySelectionWrite,createAdminPresetCategorySidebarRead:m.createAdminPresetCategorySidebarRead,createAdminPresetListPageRead:m.createAdminPresetListPageRead,createAdminPresetSidebarRead:m.createAdminPresetSidebarRead,createAdminRecipeCollectionPageRead:m.createAdminRecipeCollectionPageRead,createAdminRecipeSidebarRead:m.createAdminRecipeSidebarRead},p=(e,t)=>{let a=R[e.sdkFunction]??m[e.sdkFunction];if("function"!=typeof a)throw Error(`SDK factory function "${e.sdkFunction}" not found. Make sure it is exported from the package.`);return a(...e.params.map(e=>{if(l(e)){let a=t.entities[e.$codeRef]??t.aliasReflections[e.$codeRef];if(!a)throw Error(`Reflection "${e.$codeRef}" not found in ModelRuntime. This is a bug — the target was validated at parse time.`);return a}return e}))};export const buildSdkOptic=(a,i,n,o)=>{let d=t.from(n),c=r.get(a.componentName)??g.get(a.componentName);if(!c)throw Error(`SDK component "${a.componentName}" not found. This is a bug — the component was validated at parse time.`);let m=d.withComponent(c,a.instanceName,!0),l=a.isAlias?m.withAlias(String(a.typeOrAlias)):m.withEntity(String(a.typeOrAlias));for(let e of i.filters.items){if("root"===e.kind){let t=e.target,a=e=>e[t];l=l.withFilter(a);continue}let t={};for(let a of s){let i=e[a];void 0!==i&&("dynamic"===i.kind?t[a]=e=>e[i.target]:"eval"===i.kind?t[a]=Function("self",`return (${i.code})`):t[a]=i.value)}l=l.withGradualFilter(t)}let R=p(i.readFactory,o),A=p(i.writeFactory,o),f=l.attach(R,A);return e({typeOrAlias:String(a.typeOrAlias),componentName:a.componentName,instanceName:String(a.instanceName),optic:f})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as t,adminSidebarComponent as a,attributeSelectionComponent as i,componentsByName as r,composedOfComponent as n,navigationPageComponent as o,navigationPanelListComponent as d,referenceComponent as c}from"#package/domain";import*as m from"#package/domain";import{FILTER_CRITERION_KEYS as s,isSdkCodeRef as l}from"../../../core/index.js";import{specCodeComponentKey as g,specCodeFilterId as p}from"../../runtime-spec/index.js";import{resolveSpecCode as R}from"../spec-code/index.js";let A=new Map([["reference",c],["composedOf",n],["adminSidebar",a],["attributeSelection",i],["navigationPage",o],["navigationPanelList",d]]),f={createAdminCustomPageRead:m.createAdminCustomPageRead,createAdminCustomSidebarRead:m.createAdminCustomSidebarRead,createAdminDataPageRead:m.createAdminDataPageRead,createAdminDataTableSidebarRead:m.createAdminDataTableSidebarRead,createAdminNavigationPanelRead:m.createAdminNavigationPanelRead,createAdminPresetCategoryPageRead:m.createAdminPresetCategoryPageRead,createAdminPresetCategorySelectionRead:m.createAdminPresetCategorySelectionRead,createAdminPresetCategorySelectionWrite:m.createAdminPresetCategorySelectionWrite,createAdminPresetCategorySidebarRead:m.createAdminPresetCategorySidebarRead,createAdminPresetListPageRead:m.createAdminPresetListPageRead,createAdminPresetSidebarRead:m.createAdminPresetSidebarRead,createAdminRecipeCollectionPageRead:m.createAdminRecipeCollectionPageRead,createAdminRecipeSidebarRead:m.createAdminRecipeSidebarRead},u=(e,t)=>{let a=f[e.sdkFunction]??m[e.sdkFunction];if("function"!=typeof a)throw Error(`SDK factory function "${e.sdkFunction}" not found. Make sure it is exported from the package.`);return a(...e.params.map(e=>{if(l(e)){let a=t.entities[e.$codeRef]??t.aliasReflections[e.$codeRef];if(!a)throw Error(`Reflection "${e.$codeRef}" not found in ModelRuntime. This is a bug — the target was validated at parse time.`);return a}return e}))};export const buildSdkOptic=(a,i,n,o,d)=>{let c=t.from(n),m=r.get(a.componentName)??A.get(a.componentName);if(!m)throw Error(`SDK component "${a.componentName}" not found. This is a bug — the component was validated at parse time.`);let l=c.withComponent(m,a.instanceName,!0),f=a.isAlias?l.withAlias(String(a.typeOrAlias)):l.withEntity(String(a.typeOrAlias)),P=g(String(a.typeOrAlias),String(a.instanceName),a.componentName);for(let[e,t]of i.filters.items.entries()){if("root"===t.kind){let e=t.target,a=t=>t[e];f=f.withFilter(a);continue}let a={};for(let i of s){let r=t[i];void 0!==r&&("dynamic"===r.kind?a[i]=e=>e[r.target]:"eval"===r.kind?a[i]=R(d,p(P,e,i,r.code),r.code):a[i]=r.value)}f=f.withGradualFilter(a)}let S=u(i.readFactory,o),y=u(i.writeFactory,o),b=f.attach(S,y);return e({typeOrAlias:String(a.typeOrAlias),componentName:a.componentName,instanceName:String(a.instanceName),optic:b})};
@@ -1,7 +1,8 @@
1
1
  import { type ComponentEntry, type ComponentImplementation } from '../../../parse-application-files/spec/index.js';
2
2
  import type { AdminModelRuntime } from '../admin-runtime/admin-model-runtime.js';
3
3
  import type { ConfiguratorModelRuntime } from '../configurator-runtime/configurator-model-runtime.js';
4
+ import { type SpecCodeMap } from '../spec-code/index.js';
4
5
  import type { ComponentOptic } from './component-optic.js';
5
6
  export declare const buildUserBoundOptic: (entry: ComponentEntry, impl: ComponentImplementation & {
6
7
  readonly kind: 'userBound';
7
- }, model: AdminModelRuntime | ConfiguratorModelRuntime) => ComponentOptic | undefined;
8
+ }, model: AdminModelRuntime | ConfiguratorModelRuntime, code: SpecCodeMap | undefined) => ComponentOptic | undefined;
@@ -1 +1 @@
1
- import{match as e}from"ts-pattern";import{Branded as t}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as i,assertBoolean as n,assertNumber as r,assertString as o,componentsByName as a}from"#package/domain";import{generateMemoEvalPlanRuntime as s}from"./generate-memo-eval-plan-runtime.js";let l=e=>{if("dynamic"===e.kind){let t=e.target;return e=>e[t]}return"eval"===e.kind?Function("self",`return (${e.code})`):e.value},d=e=>{let t={};for(let[i,n]of Object.entries(e))"kind"!==i&&void 0!==n&&(t[i]=l(n));return t},m={assertString:o,assertNumber:r,assertBoolean:n},p=(e,t)=>{let i=t.commonTypeReflections[e]??t.entities[e]??t.aliasReflections[e];if(!i)throw Error(`Reflection "${e}" not found in ModelRuntime for write assertion. This is a bug — the type was resolved at parse time.`);return i},c=(e,t)=>{let i=t.entities[e]??t.aliasReflections[e];if(!i)throw Error(`Entity reflection "${e}" not found in ModelRuntime for write assertion. This is a bug — the type was resolved at parse time.`);return i},f=(t,i,n)=>e(t).with({kind:"primitive"},({assertFn:e})=>typeof i==("assertNumber"===e?"number":"assertBoolean"===e?"boolean":"string")).with({kind:"declaredType"},({typeName:e})=>p(e,n).is(i)).with({kind:"declaredTypeId"},({referencedType:e})=>c(e,n).isId(i)).with({kind:"literal"},({value:e})=>i===e).with({kind:"anyOf"},({assertions:e})=>e.some(e=>f(e,i,n))).with({kind:"none"},()=>!0).exhaustive(),h=(t,i,n)=>{e(t).with({kind:"primitive"},({assertFn:e})=>{m[e](i)}).with({kind:"declaredType"},({typeName:e})=>{p(e,n).assert(i)}).with({kind:"declaredTypeId"},({referencedType:e})=>{c(e,n).assertId(i)}).with({kind:"literal"},e=>{if(!f(e,i,n))throw Error(`Expected value to match its declared schema but got ${i}`)}).with({kind:"anyOf"},e=>{if(!f(e,i,n))throw Error(`Expected value to match one of its declared schemas but got ${i}`)}).with({kind:"none"},()=>{}).exhaustive()};export const buildUserBoundOptic=(e,n,r)=>{let o,l=(o=r.aliases,i.from(o)),m=a.get(e.componentName);if(!m)return void console.warn(`[ComponentOptic] Unknown component: ${e.componentName}`);let p=l.withComponent(m,e.instanceName,!0),c=e.isAlias?p.withAlias(String(e.typeOrAlias)):p.withEntity(String(e.typeOrAlias));for(let e of n.filters.items){if("root"===e.kind){let t=e.target,i=e=>e[t];c=c.withFilter(i);continue}c=c.withGradualFilter(d(e))}let f=s(n.plan),u="composite"===n.implementation.kind?n.implementation.writeBindings:[],w=u.length>0?e=>{let t={};for(let i of u)h(i.assertion,e[i.propKey],r),t[i.entityField]=e[i.propKey];return t}:()=>({}),y=c.attach(f,w);return t({typeOrAlias:String(e.typeOrAlias),componentName:e.componentName,instanceName:String(e.instanceName),optic:y})};
1
+ import{match as e}from"ts-pattern";import{Branded as t}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as i,assertBoolean as n,assertNumber as r,assertString as o,componentsByName as a}from"#package/domain";import{specCodeComponentKey as s,specCodeFilterId as l}from"../../runtime-spec/index.js";import{resolveSpecCode as m}from"../spec-code/index.js";import{generateMemoEvalPlanRuntime as d}from"./generate-memo-eval-plan-runtime.js";let p=(e,t,i)=>{if("dynamic"===e.kind){let t=e.target;return e=>e[t]}if("eval"===e.kind){let n=l(i.componentKey,i.branch,t,e.code);return m(i.code,n,e.code)}return e.value},c=(e,t)=>{let i={};for(let[n,r]of Object.entries(e))"kind"!==n&&void 0!==r&&(i[n]=p(r,n,t));return i},f={assertString:o,assertNumber:r,assertBoolean:n},h=(e,t)=>{let i=t.commonTypeReflections[e]??t.entities[e]??t.aliasReflections[e];if(!i)throw Error(`Reflection "${e}" not found in ModelRuntime for write assertion. This is a bug — the type was resolved at parse time.`);return i},u=(e,t)=>{let i=t.entities[e]??t.aliasReflections[e];if(!i)throw Error(`Entity reflection "${e}" not found in ModelRuntime for write assertion. This is a bug — the type was resolved at parse time.`);return i},w=(t,i,n)=>e(t).with({kind:"primitive"},({assertFn:e})=>typeof i==("assertNumber"===e?"number":"assertBoolean"===e?"boolean":"string")).with({kind:"declaredType"},({typeName:e})=>h(e,n).is(i)).with({kind:"declaredTypeId"},({referencedType:e})=>u(e,n).isId(i)).with({kind:"literal"},({value:e})=>i===e).with({kind:"anyOf"},({assertions:e})=>e.some(e=>w(e,i,n))).with({kind:"none"},()=>!0).exhaustive(),y=(t,i,n)=>{e(t).with({kind:"primitive"},({assertFn:e})=>{f[e](i)}).with({kind:"declaredType"},({typeName:e})=>{h(e,n).assert(i)}).with({kind:"declaredTypeId"},({referencedType:e})=>{u(e,n).assertId(i)}).with({kind:"literal"},e=>{if(!w(e,i,n))throw Error(`Expected value to match its declared schema but got ${i}`)}).with({kind:"anyOf"},e=>{if(!w(e,i,n))throw Error(`Expected value to match one of its declared schemas but got ${i}`)}).with({kind:"none"},()=>{}).exhaustive()};export const buildUserBoundOptic=(e,n,r,o)=>{let l,m=(l=r.aliases,i.from(l)),p=a.get(e.componentName);if(!p)return void console.warn(`[ComponentOptic] Unknown component: ${e.componentName}`);let f=m.withComponent(p,e.instanceName,!0),h=e.isAlias?f.withAlias(String(e.typeOrAlias)):f.withEntity(String(e.typeOrAlias)),u=s(String(e.typeOrAlias),String(e.instanceName),e.componentName);for(let[e,t]of n.filters.items.entries()){if("root"===t.kind){let e=t.target,i=t=>t[e];h=h.withFilter(i);continue}h=h.withGradualFilter(c(t,{componentKey:u,branch:e,code:o}))}let w=d(n.plan,u,o),k="composite"===n.implementation.kind?n.implementation.writeBindings:[],g=k.length>0?e=>{let t={};for(let i of k)y(i.assertion,e[i.propKey],r),t[i.entityField]=e[i.propKey];return t}:()=>({}),v=h.attach(w,g);return t({typeOrAlias:String(e.typeOrAlias),componentName:e.componentName,instanceName:String(e.instanceName),optic:v})};
@@ -4,6 +4,7 @@ import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
4
  import type { ComponentEntry } from '../../../parse-application-files/spec/index.js';
5
5
  import type { AdminModelRuntime } from '../admin-runtime/admin-model-runtime.js';
6
6
  import type { ConfiguratorModelRuntime } from '../configurator-runtime/configurator-model-runtime.js';
7
+ import type { SpecCodeMap } from '../spec-code/index.js';
7
8
  /** A component optic of any project, for any component type. */
8
9
  export type AnyComponentOptic = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
9
10
  /** A single built component optic with its identifying metadata. */
@@ -22,6 +23,8 @@ interface ComponentOpticsProps {
22
23
  readonly referenceScope: string;
23
24
  readonly components: readonly ComponentEntry[];
24
25
  readonly modelRuntime: AdminModelRuntime | ConfiguratorModelRuntime;
26
+ /** The domain's map of the generated code module, which holds the entries' `$eval` code. */
27
+ readonly code: SpecCodeMap | undefined;
25
28
  }
26
29
  /**
27
30
  * Builds component optics from the unified ComponentEntry[] on ApplicationSpec.
@@ -1 +1 @@
1
- import e from"lodash-es/isEqual.js";import{match as t}from"ts-pattern";import{Branded as i}from"@salsita-ai/common/utils";import{buildSdkOptic as o}from"./build-sdk-optic.js";import{buildUserBoundOptic as n}from"./build-user-bound-optic.js";export const ComponentOptics=(t,o)=>{let n=t.createBuilder(o.referenceScope,{build:({entry:e,modelRuntime:t})=>m(e,t),getKey:({entry:e})=>`${e.implementation.kind}::${e.typeOrAlias}::${e.componentName}::${e.instanceName}`,compare:(t,i)=>t.modelRuntime.domainBuilder===i.modelRuntime.domainBuilder&&e(t.entry.implementation,i.entry.implementation)}),r=[],l=new Set,u=!1;for(let e of o.components){let t={entry:e,modelRuntime:o.modelRuntime},i=n.build(t);i.output&&r.push(i.output),l.add(n.getKey(t)),i.changed&&(u=!0)}return n.cleanup(l)&&(u=!0),i({optics:r,changed:u})};let m=(e,i)=>t(e.implementation).with({kind:"userBound"},t=>n(e,t,i)).with({kind:"sdk"},t=>o(e,t,i.aliases,i)).exhaustive();
1
+ import e from"lodash-es/isEqual.js";import{match as t}from"ts-pattern";import{Branded as o}from"@salsita-ai/common/utils";import{buildSdkOptic as i}from"./build-sdk-optic.js";import{buildUserBoundOptic as n}from"./build-user-bound-optic.js";export const ComponentOptics=(t,i)=>{let n=t.createBuilder(i.referenceScope,{build:({entry:e,modelRuntime:t,code:o})=>m(e,t,o),getKey:({entry:e})=>`${e.implementation.kind}::${e.typeOrAlias}::${e.componentName}::${e.instanceName}`,compare:(t,o)=>t.modelRuntime.domainBuilder===o.modelRuntime.domainBuilder&&t.code===o.code&&e(t.entry.implementation,o.entry.implementation)}),d=[],r=new Set,l=!1;for(let e of i.components){let t={entry:e,modelRuntime:i.modelRuntime,code:i.code},o=n.build(t);o.output&&d.push(o.output),r.add(n.getKey(t)),o.changed&&(l=!0)}return n.cleanup(r)&&(l=!0),o({optics:d,changed:l})};let m=(e,o,m)=>t(e.implementation).with({kind:"userBound"},t=>n(e,t,o,m)).with({kind:"sdk"},t=>i(e,t,o.aliases,o,m)).exhaustive();
@@ -1,13 +1,13 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
2
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
- import type { ApplicationSpec } from '../../../parse-application-files/index.js';
4
- type ParsedDataSpecEntries = ApplicationSpec['dataSpec']['entries'];
5
- type ParsedChunks = ApplicationSpec['dataSpec']['chunks'];
3
+ import type { RuntimeSpec } from '../../runtime-spec/index.js';
4
+ type ParsedDataSpecEntries = RuntimeSpec['dataSpec']['entries'];
5
+ type ParsedChunks = RuntimeSpec['dataSpec']['chunks'];
6
6
  export type DataRuntime = Branded<'DataRuntime', {
7
7
  readonly dataSpec: ParsedDataSpecEntries;
8
8
  readonly chunks: ParsedChunks;
9
9
  readonly publishedDataHash: string;
10
10
  readonly changed: boolean;
11
11
  }>;
12
- export declare const DataRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore) => DataRuntime;
12
+ export declare const DataRuntime: (spec: RuntimeSpec, referenceStore: RuntimeReferenceStore) => DataRuntime;
13
13
  export {};
@@ -1,7 +1,9 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
- import type { DomainEntity, Expression as DomainExpression, Invariant as DomainInvariant } from '#package/domain';
2
+ import type { DomainEntity, Expression as DomainExpression, Invariant as DomainInvariant, ImplementationErrorCollector, ProjectModule } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
- import type { Expressions, ModelVersion } from '../../../parse-application-files/index.js';
4
+ import type { Expressions } from '../../../parse-application-files/index.js';
5
+ import { type RuntimeModelVersion } from '../../runtime-spec/index.js';
6
+ import type { SpecCodeMap } from '../spec-code/index.js';
5
7
  type RuntimeData = Record<string, unknown>;
6
8
  type RuntimeEntity = DomainEntity<string>;
7
9
  type AnyExpression = DomainExpression<RuntimeEntity, RuntimeEntity, RuntimeData, RuntimeData, RuntimeData, RuntimeEntity, unknown>;
@@ -30,17 +32,24 @@ export type ExpressionRuntimeResult = {
30
32
  };
31
33
  interface ExpressionRuntimeSpec {
32
34
  readonly expressions: Expressions;
33
- readonly latestModel: ModelVersion;
35
+ readonly latestModel: RuntimeModelVersion;
34
36
  }
35
37
  /**
36
38
  * Runtime section that produces the single merged expression map for the registry.
37
39
  *
38
40
  * Dispatches on `expression.implementation.kind`:
39
41
  * - `relation` / `violations` — calls the matching SDK factory with params + runtime context
40
- * - `user` — uses the dynamically imported impl from `src/expressions/*.ts`
42
+ * - `user` — uses the implementation of the project files `expressionModules` (`src/expressions/`,
43
+ * or `src/admin/expressions/`), merged with the spec's aliases by `mergeExpressionModules`, or the
44
+ * one `builtIn` holds
41
45
  * - `value` — evaluates the parsed {@link MemoEvalPlan}; stabilized per
42
46
  * {@link canonicalEnhancedJsonValueKey} so identical values reuse the same
43
- * evaluator across rebuilds.
47
+ * evaluator across rebuilds. Its `$eval` code comes from `code`, the domain's map of the generated
48
+ * code module, when that holds it.
49
+ *
50
+ * A file that is wrong, or that defines an expression another file, the spec or `builtIn` already
51
+ * defines, is recorded in `errors` as an `ImplementationError` and left out. So is every declared
52
+ * expression without an implementation, which also makes the result an error.
44
53
  */
45
- export declare const ExpressionRuntime: (spec: ExpressionRuntimeSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, referenceScopePrefix: string, invariantImplementations?: InvariantImplementations) => ExpressionRuntimeResult;
54
+ export declare const ExpressionRuntime: (spec: ExpressionRuntimeSpec, referenceStore: RuntimeReferenceStore, expressionModules: readonly ProjectModule[], referenceScopePrefix: string, invariantImplementations: InvariantImplementations | undefined, code: SpecCodeMap | undefined, errors: ImplementationErrorCollector, builtIn?: ExpressionImplementations) => ExpressionRuntimeResult;
46
55
  export {};