@salsita-ai/sdk 0.50.0-develop.9ed52379e9 → 0.50.0-develop.9fe72d003e

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 (1567) hide show
  1. package/README.md +20 -15
  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/core/enhanced-json-value.d.ts +2 -99
  26. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  27. package/dist/application-spec/core/index.d.ts +1 -1
  28. package/dist/application-spec/core/index.js +1 -1
  29. package/dist/application-spec/core/json-schema.d.ts +2 -52
  30. package/dist/application-spec/core/json-value.d.ts +1 -1
  31. package/dist/application-spec/core/markers/index.d.ts +1 -1
  32. package/dist/application-spec/core/markers/index.js +1 -1
  33. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  34. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  35. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  36. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  37. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  38. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  39. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  40. package/dist/application-spec/enhanced-json/index.js +1 -0
  41. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  42. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  43. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  44. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  45. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  46. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  47. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  48. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  49. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  50. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  51. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  52. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  53. package/dist/application-spec/errors/diagnostic-codes.d.ts +31 -1
  54. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  55. package/dist/application-spec/errors/diagnostic-messages.d.ts +42 -2
  56. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  57. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  58. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  59. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  60. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  61. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  62. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  63. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  65. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  66. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  67. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  68. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  69. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  70. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  71. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  72. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  73. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  74. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  75. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  76. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  77. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  78. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  79. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  80. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  90. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  91. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  92. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  93. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  94. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  95. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  96. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  97. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  98. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  99. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  100. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  101. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  102. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  103. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  104. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  105. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  106. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  107. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  108. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  109. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  110. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  111. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  112. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  113. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  114. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  115. package/dist/application-spec/generate-application/code/templates/index.d.ts +5 -10
  116. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  117. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  118. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  119. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  120. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  121. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  122. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  124. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  125. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  126. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  127. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +7 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  130. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  131. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +33 -7
  132. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  133. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  134. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  135. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  136. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  137. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  138. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  139. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  140. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  141. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  142. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  143. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  144. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  145. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  146. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  147. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  148. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  149. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  150. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  151. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  152. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  153. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  154. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  155. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  156. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  157. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  158. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  159. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  160. package/dist/application-spec/generate-application/index.d.ts +4 -0
  161. package/dist/application-spec/generate-application/index.js +1 -1
  162. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -5
  163. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +12 -4
  165. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  167. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  168. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  169. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +35 -10
  170. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  172. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  173. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +7 -6
  174. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +12 -7
  176. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  177. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  178. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  179. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  180. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  181. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  182. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +42 -0
  183. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  184. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  185. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  186. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  187. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  188. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +15 -0
  189. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  190. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.d.ts +1 -1
  191. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +1 -1
  192. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  193. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  194. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  195. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  196. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  197. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  198. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +1 -2
  199. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  200. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  201. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  202. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +3 -2
  203. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  204. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +6 -3
  205. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  206. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  207. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +14 -6
  208. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  209. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +10 -7
  210. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  211. package/dist/application-spec/generate-application/runtime/sections/preset-runtime.d.ts +2 -3
  212. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +4 -2
  213. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  214. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  215. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  216. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  217. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  218. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  219. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  220. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  221. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  222. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  223. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  224. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  225. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  226. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  227. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +28 -0
  228. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  229. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  230. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  231. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +168 -0
  232. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  233. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  234. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  235. package/dist/application-spec/index.d.ts +1 -0
  236. package/dist/application-spec/index.js +1 -1
  237. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  238. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  239. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  240. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  241. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  242. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  243. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  244. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  245. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  246. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  247. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  248. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  249. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  250. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  251. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  252. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  253. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  254. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +72 -24
  255. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  256. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  257. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  258. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  259. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  261. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  263. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  265. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  266. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  267. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  268. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  269. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  270. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  271. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  272. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  273. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  274. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  275. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  276. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  277. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  278. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  279. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  280. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  281. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  282. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  283. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  284. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  285. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  286. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  287. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +3 -62
  288. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  289. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  290. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  291. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  292. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  293. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  294. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  295. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  296. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  297. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  298. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  299. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +8 -3
  300. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  301. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +9 -7
  302. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  303. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  304. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  305. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  306. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  307. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  308. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  309. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +12 -30
  310. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  311. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -2
  312. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  313. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  314. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  315. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +5 -3
  316. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  317. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  318. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +6 -16
  319. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  320. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  321. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  322. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -26
  323. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  324. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  325. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  326. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  327. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  328. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  329. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  330. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  331. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  332. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  333. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  334. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  335. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  336. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  337. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  338. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  339. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  340. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  341. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  342. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  343. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  344. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  345. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  346. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  347. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  348. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  349. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  350. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  351. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  352. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  353. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  354. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  355. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  356. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  357. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  358. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  359. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  360. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  361. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  362. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  363. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  364. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  365. package/dist/client/authorized-client.d.ts +3 -1
  366. package/dist/client/authorized-client.js +1 -1
  367. package/dist/client/contract.d.ts +17 -0
  368. package/dist/client/index.d.ts +1 -1
  369. package/dist/client/local-authorized-client.d.ts +3 -1
  370. package/dist/client/local-authorized-client.js +1 -1
  371. package/dist/client/memory-authorized-client.d.ts +4 -1
  372. package/dist/client/memory-authorized-client.js +1 -1
  373. package/dist/client/phoenix-api.d.ts +809 -118
  374. package/dist/configurator/ConfiguratorApp.js +1 -1
  375. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  376. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  377. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  378. package/dist/configurator/app-loader-content/index.js +1 -0
  379. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  380. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  381. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  382. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +54 -3
  383. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  384. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +58 -9
  385. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  386. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  387. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  388. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  389. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  390. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  391. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  392. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  393. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  394. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  395. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  396. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +82 -55
  397. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  398. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +85 -7
  399. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  400. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  401. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  402. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  403. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  404. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  405. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  406. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  407. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  408. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  409. package/dist/configurator/common/configurator-interface.d.ts +145 -5
  410. package/dist/configurator/common/configurator-interface.js +1 -1
  411. package/dist/configurator/common/index.d.ts +3 -1
  412. package/dist/configurator/common/index.js +1 -1
  413. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  414. package/dist/configurator/common/use-reset-camera.js +1 -0
  415. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  416. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  417. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  418. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  419. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  420. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  421. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  422. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  423. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  424. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  425. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  426. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  427. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  428. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  429. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  430. package/dist/configurator/configurator-context/index.d.ts +0 -4
  431. package/dist/configurator/configurator-context/index.js +1 -1
  432. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  433. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  434. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  435. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  436. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  437. package/dist/configurator/configurator-error-page/index.js +1 -0
  438. package/dist/configurator/index.d.ts +10 -0
  439. package/dist/configurator/index.js +1 -1
  440. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  441. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  442. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  443. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  444. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  445. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  446. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  447. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  448. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  449. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  450. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  451. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  452. package/dist/configurator/pages/RootPage.js +1 -1
  453. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  454. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  455. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  456. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  457. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  458. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  459. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  460. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  461. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  462. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  463. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  464. package/dist/configurator/pages/default-elements/index.js +1 -0
  465. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  466. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  467. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  468. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  469. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  470. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  471. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  472. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  473. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  474. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  475. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  476. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  477. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  478. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  479. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  480. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  481. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  482. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  483. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  484. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  485. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  486. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  487. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  488. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  489. package/dist/configurator/pages/index.d.ts +1 -0
  490. package/dist/configurator/pages/index.js +1 -1
  491. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  492. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  493. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  494. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  495. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  496. package/dist/configurator/preset-screen-elements/index.js +1 -0
  497. package/dist/configurator/scene/index.d.ts +1 -0
  498. package/dist/configurator/scene/index.js +1 -1
  499. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  500. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  501. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  502. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  503. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  504. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  505. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  506. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  507. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  508. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  509. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  510. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  511. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  512. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  513. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  514. package/dist/configurator/toolbar-actions/index.js +1 -0
  515. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  516. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  517. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  518. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  519. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  520. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  521. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  522. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  523. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -3
  524. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  525. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  526. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  527. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  528. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  529. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  530. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  531. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  532. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  533. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  534. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  535. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  536. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  537. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  538. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  539. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  540. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  541. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  542. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  543. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  544. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  545. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  546. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  547. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  548. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  549. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  550. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  551. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  552. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  553. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  554. package/dist/configurator/ui/assistant/form/index.js +1 -0
  555. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  556. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  557. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  558. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  559. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  560. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  561. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  562. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  563. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  564. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  565. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  566. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  567. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  568. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  569. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  570. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  571. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  572. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  573. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  574. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  575. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  576. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  577. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  578. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  579. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  580. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  581. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  582. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  583. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  584. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  585. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  586. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  587. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  588. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  589. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  590. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  591. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  592. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  593. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  594. package/dist/configurator/ui/assistant/index.js +1 -1
  595. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  596. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  597. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  598. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  599. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  600. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  601. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  602. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  603. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  604. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  605. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  606. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  607. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  608. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  609. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  610. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  611. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  612. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  613. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  614. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  615. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  616. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  617. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  618. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  619. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  620. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  621. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  622. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  623. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  624. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  625. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  626. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  627. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  628. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  629. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  630. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  631. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  632. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  633. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  634. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  635. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  636. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  637. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  638. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  639. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  640. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  641. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  642. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  643. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  644. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  645. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  646. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  647. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  648. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  649. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  650. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  651. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  652. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  653. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  654. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  655. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  656. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  657. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  658. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  659. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  660. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  661. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  662. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  663. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  664. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  665. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  666. package/dist/configurator/ui/index.d.ts +1 -0
  667. package/dist/configurator/ui/index.js +1 -1
  668. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  669. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  670. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  671. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  672. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  673. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  674. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  675. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  676. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  677. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  678. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  679. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  680. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  681. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  682. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  683. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  684. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  685. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  686. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  687. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  688. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  689. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  690. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  691. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  692. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  693. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  694. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  695. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  696. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  697. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  698. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  699. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  700. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  701. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  702. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  703. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  704. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  705. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  706. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  707. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  708. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  709. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  710. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  711. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  712. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  713. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  714. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  715. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  716. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  717. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  718. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  719. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  720. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  721. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  722. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  723. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  724. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  725. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  726. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  727. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  728. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  729. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  730. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  731. package/dist/configurator/ui/preset-layout/index.js +1 -1
  732. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  733. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  734. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  735. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  736. package/dist/docs/3d-scene/cameras/custom.mdx +4 -2
  737. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  738. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  739. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  740. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  741. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  742. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  743. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  744. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  745. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  746. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  747. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  748. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  749. package/dist/docs/drag-and-drop/room-planner.mdx +1 -1
  750. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  751. package/dist/docs/fabs/basic.mdx +6 -2
  752. package/dist/docs/index.json +136 -1
  753. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  754. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  755. package/dist/docs/layouts/custom-layout.mdx +2597 -0
  756. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  757. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  758. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  759. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  760. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  761. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  762. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  763. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  764. package/dist/docs/layouts/header/fixed.mdx +2 -2
  765. package/dist/docs/layouts/header/floating.mdx +2 -2
  766. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  767. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  768. package/dist/docs/other-features/client-side-rendering/declarative.mdx +2 -2
  769. package/dist/docs/other-features/error-5xx.mdx +1 -1
  770. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  771. package/dist/docs/other-features/not-found-404.mdx +1 -1
  772. package/dist/docs/other-features/side-effects.mdx +8 -11
  773. package/dist/docs/other-features/transformers.mdx +4 -0
  774. package/dist/docs/other-features/violation-messages.mdx +52 -56
  775. package/dist/docs/phoenix/application-states.mdx +9 -7
  776. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  777. package/dist/docs/phoenix/components.mdx +6 -0
  778. package/dist/docs/phoenix/configurator-interface.mdx +377 -83
  779. package/dist/docs/phoenix/deployments.mdx +2 -6
  780. package/dist/docs/phoenix/domain-model.mdx +10 -1
  781. package/dist/docs/phoenix/finalization.mdx +1 -1
  782. package/dist/docs/phoenix/getting-started.mdx +6 -3
  783. package/dist/docs/phoenix/layout-slots.mdx +137 -0
  784. package/dist/docs/phoenix/localization.mdx +10 -6
  785. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  786. package/dist/docs/phoenix/phoenix-cli.mdx +101 -48
  787. package/dist/docs/phoenix/project-structure.mdx +83 -37
  788. package/dist/docs/phoenix/quickstart.mdx +9 -9
  789. package/dist/docs/phoenix/sdk-builder-workflow.mdx +15 -13
  790. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  791. package/dist/docs/phoenix/testing.mdx +148 -0
  792. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  793. package/dist/docs/phoenix/webhooks.mdx +27 -6
  794. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  795. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  796. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  797. package/dist/domain/admin-domain/index.js +1 -1
  798. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  799. package/dist/domain/application/application-config.d.ts +13 -27
  800. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  801. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  802. package/dist/domain/application/assistant/assistant-manifest.d.ts +38 -5
  803. package/dist/domain/application/assistant/assistant-manifest.js +1 -1
  804. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +48 -9
  805. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  806. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  807. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  808. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  809. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  810. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  811. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  812. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  813. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  814. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  815. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  816. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  817. package/dist/domain/application/assistant/form/index.js +1 -0
  818. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  819. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  820. package/dist/domain/application/assistant/index.d.ts +8 -2
  821. package/dist/domain/application/assistant/index.js +1 -1
  822. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  823. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  824. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  825. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  826. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  827. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  828. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  829. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  830. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  831. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  832. package/dist/domain/application/assistant-mutations.js +1 -1
  833. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  834. package/dist/domain/application/configurator-builder.d.ts +11 -2
  835. package/dist/domain/application/configurator-builder.js +1 -1
  836. package/dist/domain/application/create-initial-published-data.d.ts +5 -5
  837. package/dist/domain/application/index.d.ts +1 -2
  838. package/dist/domain/application/index.js +1 -1
  839. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  840. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  841. package/dist/domain/application/standard-properties.js +1 -1
  842. package/dist/domain/application/web-component-property.d.ts +3 -1
  843. package/dist/domain/application/web-component-property.js +1 -1
  844. package/dist/domain/available-system-components.d.ts +1 -1
  845. package/dist/domain/available-system-components.js +1 -1
  846. package/dist/domain/core/component/domain-component-optic.d.ts +1 -2
  847. package/dist/domain/core/component/domain-component-optic.js +2 -2
  848. package/dist/domain/core/component/system-component-filter.d.ts +15 -2
  849. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  850. package/dist/domain/core/expression/custom-expression.d.ts +16 -3
  851. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  852. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  853. package/dist/domain/core/invariant/violation.d.ts +50 -2
  854. package/dist/domain/core/invariant/violation.js +1 -1
  855. package/dist/domain/core/model/model.d.ts +1 -1
  856. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  857. package/dist/domain/core/recipe/recipes.js +1 -1
  858. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  859. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  860. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  861. package/dist/domain/core/relation/index.d.ts +0 -1
  862. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  863. package/dist/domain/core/relation/indirect-relation.js +1 -1
  864. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  865. package/dist/domain/core/relation/relation-factory.js +1 -1
  866. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  867. package/dist/domain/core/state/state.d.ts +1 -1
  868. package/dist/domain/domain-builder.d.ts +9 -3
  869. package/dist/domain/domain-builder.js +1 -1
  870. package/dist/domain/domain-context/index.d.ts +1 -1
  871. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  872. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  873. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  874. package/dist/domain/domain-context/undo-system.js +1 -1
  875. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  876. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  877. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  878. package/dist/domain/domain-runtime/access/types.js +1 -1
  879. package/dist/domain/domain-runtime/application.d.ts +39 -0
  880. package/dist/domain/domain-runtime/application.js +1 -0
  881. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +15 -13
  882. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  883. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  884. package/dist/domain/domain-runtime/domain-runtime.d.ts +76 -20
  885. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  886. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  887. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  888. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +21 -0
  889. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  890. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  891. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  892. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  893. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  894. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  895. package/dist/domain/domain-runtime/errors/index.js +1 -0
  896. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  897. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  898. package/dist/domain/domain-runtime/index.d.ts +2 -0
  899. package/dist/domain/domain-runtime/index.js +1 -1
  900. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  901. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  902. package/dist/domain/domain-runtime/spec/index.d.ts +2 -2
  903. package/dist/domain/domain-runtime/spec/index.js +1 -1
  904. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  905. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  906. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +27 -12
  907. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  908. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  909. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  910. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +4 -2
  911. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  912. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  913. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  914. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
  915. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
  916. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
  917. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  918. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  919. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +7 -7
  920. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
  921. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +2 -2
  922. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
  923. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  924. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  925. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  926. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  927. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  928. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  929. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  930. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  931. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  932. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  933. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  934. package/dist/domain/extensions/attribute-switch.js +1 -1
  935. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  936. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  937. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  938. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  939. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  940. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  941. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  942. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  943. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  944. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  945. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  946. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  947. package/dist/domain/extensions/export-images/index.js +1 -0
  948. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +4 -4
  949. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  950. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  951. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  952. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  953. package/dist/domain/extensions/index.d.ts +1 -2
  954. package/dist/domain/extensions/index.js +1 -1
  955. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  956. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  957. package/dist/domain/extensions/offset-indicator.js +1 -1
  958. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  959. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  960. package/dist/domain/index.d.ts +1 -0
  961. package/dist/domain/index.js +1 -1
  962. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  963. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +27 -9
  964. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  965. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  966. package/dist/domain/mocks/create-mock-domain.js +1 -1
  967. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  968. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  969. package/dist/domain/mocks/create-test-application-config.js +1 -0
  970. package/dist/domain/mocks/index.d.ts +1 -0
  971. package/dist/domain/mocks/index.js +1 -1
  972. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  973. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  974. package/dist/domain/spec/application/admin-pages-section.js +1 -0
  975. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  976. package/dist/domain/spec/application/admin-pages.js +1 -0
  977. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  978. package/dist/domain/spec/application/admin-states.js +1 -0
  979. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  980. package/dist/domain/spec/application/configurator-states.js +1 -0
  981. package/dist/domain/spec/application/index.d.ts +5 -0
  982. package/dist/domain/spec/application/index.js +1 -0
  983. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  984. package/dist/domain/spec/components/bindings/index.js +1 -0
  985. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  986. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  987. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  988. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  989. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -11
  990. package/dist/domain/spec/components/component-entry.js +1 -0
  991. package/dist/domain/spec/components/component-filter.d.ts +54 -0
  992. package/dist/domain/spec/components/component-filter.js +1 -0
  993. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  994. package/dist/domain/spec/components/component-filters.js +1 -0
  995. package/dist/domain/spec/components/components.d.ts +4 -0
  996. package/dist/domain/spec/components/components.js +1 -0
  997. package/dist/domain/spec/components/index.d.ts +6 -0
  998. package/dist/domain/spec/components/index.js +1 -0
  999. package/dist/domain/spec/components/sdk-code-ref.d.ts +9 -0
  1000. package/dist/domain/spec/enhanced-json-value.d.ts +30 -0
  1001. package/dist/domain/spec/enhanced-json-value.js +1 -0
  1002. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -30
  1003. package/dist/domain/spec/expressions/expression.js +1 -0
  1004. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  1005. package/dist/domain/spec/expressions/expressions.js +1 -0
  1006. package/dist/domain/spec/expressions/index.d.ts +5 -0
  1007. package/dist/domain/spec/expressions/index.js +1 -0
  1008. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  1009. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  1010. package/dist/domain/spec/expressions/relation-expression-params.d.ts +11 -0
  1011. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  1012. package/dist/domain/spec/expressions/sdk-expression-implementation.d.ts +24 -0
  1013. package/dist/domain/spec/index.d.ts +9 -0
  1014. package/dist/domain/spec/index.js +1 -0
  1015. package/dist/domain/spec/invariants/index.d.ts +2 -0
  1016. package/dist/domain/spec/invariants/index.js +1 -0
  1017. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  1018. package/dist/domain/spec/invariants/invariant.js +1 -0
  1019. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  1020. package/dist/domain/spec/invariants/invariants.js +1 -0
  1021. package/dist/domain/spec/json-schema.d.ts +52 -0
  1022. package/dist/domain/spec/json-schema.js +1 -0
  1023. package/dist/domain/spec/markers/index.d.ts +3 -0
  1024. package/dist/domain/spec/markers/index.js +1 -0
  1025. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  1026. package/dist/domain/spec/markers/msg-marker.js +1 -0
  1027. package/dist/domain/spec/model/aliases.d.ts +9 -0
  1028. package/dist/domain/spec/model/aliases.js +1 -0
  1029. package/dist/domain/spec/model/common-types.d.ts +15 -0
  1030. package/dist/domain/spec/model/common-types.js +1 -0
  1031. package/dist/domain/spec/model/defaults.d.ts +33 -0
  1032. package/dist/domain/spec/model/defaults.js +1 -0
  1033. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  1034. package/dist/domain/spec/model/entity-types.js +1 -0
  1035. package/dist/domain/spec/model/index.d.ts +7 -0
  1036. package/dist/domain/spec/model/index.js +1 -0
  1037. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  1038. package/dist/domain/spec/model/model-version-key.js +1 -0
  1039. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  1040. package/dist/domain/spec/model/names/action-name.js +1 -0
  1041. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  1042. package/dist/domain/spec/model/names/alias-name.js +1 -0
  1043. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  1044. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  1045. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  1046. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  1047. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  1048. package/dist/domain/spec/model/names/expression-name.js +1 -0
  1049. package/dist/domain/spec/model/names/index.d.ts +9 -0
  1050. package/dist/domain/spec/model/names/index.js +1 -0
  1051. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  1052. package/dist/domain/spec/model/names/instance-name.js +1 -0
  1053. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  1054. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  1055. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  1056. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  1057. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  1058. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  1059. package/dist/domain/spec/model/presets.d.ts +30 -0
  1060. package/dist/domain/spec/model/presets.js +1 -0
  1061. package/dist/domain/spec/sections/actions.d.ts +23 -0
  1062. package/dist/domain/spec/sections/actions.js +1 -0
  1063. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  1064. package/dist/domain/spec/sections/app-metadata.js +1 -0
  1065. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  1066. package/dist/domain/spec/sections/application-version.js +1 -0
  1067. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  1068. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  1069. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  1070. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  1071. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  1072. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  1073. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  1074. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  1075. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  1076. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  1077. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  1078. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  1079. package/dist/domain/spec/sections/index.d.ts +9 -0
  1080. package/dist/domain/spec/sections/index.js +1 -0
  1081. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  1082. package/dist/domain/spec/sections/infra/acl.js +1 -0
  1083. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  1084. package/dist/domain/spec/sections/infra/index.js +1 -0
  1085. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  1086. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  1087. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  1088. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  1089. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  1090. package/dist/domain/spec/sections/state-value.js +1 -0
  1091. package/dist/domain/spec/sections/theme.d.ts +10 -0
  1092. package/dist/domain/spec/sections/theme.js +1 -0
  1093. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  1094. package/dist/domain/spec/sections/transformers.js +1 -0
  1095. package/dist/domain/spec/sections/ui.d.ts +12 -0
  1096. package/dist/domain/spec/sections/ui.js +1 -0
  1097. package/dist/domain/system-components/application-config.d.ts +2 -2
  1098. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1099. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  1100. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  1101. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  1102. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  1103. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  1104. package/dist/domain/system-components/common/recipes.js +1 -1
  1105. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1106. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1107. package/dist/domain/system-components/constraint.d.ts +10 -23
  1108. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  1109. package/dist/domain/system-components/drag-handle.js +1 -1
  1110. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  1111. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  1112. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  1113. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  1114. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  1115. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  1116. package/dist/domain/system-components/material-swatch.js +1 -1
  1117. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  1118. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  1119. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1120. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1121. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1122. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1123. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1124. package/dist/domain/utils/eval-cache.d.ts +1 -1
  1125. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1126. package/dist/editor/Editor.d.ts +7 -0
  1127. package/dist/editor/Editor.js +1 -1
  1128. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  1129. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  1130. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  1131. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -16
  1132. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  1133. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  1134. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1135. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1136. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1137. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  1138. package/dist/globals/index.d.ts +2 -0
  1139. package/dist/i18n/locales/cs/messages.js +1 -1
  1140. package/dist/i18n/locales/da/messages.js +1 -1
  1141. package/dist/i18n/locales/de/messages.js +1 -1
  1142. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1143. package/dist/i18n/locales/en/messages.js +1 -1
  1144. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1145. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1146. package/dist/i18n/locales/es/messages.js +1 -1
  1147. package/dist/i18n/locales/fr/messages.js +1 -1
  1148. package/dist/i18n/locales/hu/messages.js +1 -1
  1149. package/dist/i18n/locales/it/messages.js +1 -1
  1150. package/dist/i18n/locales/nl/messages.js +1 -1
  1151. package/dist/i18n/locales/pl/messages.js +1 -1
  1152. package/dist/i18n/locales/pt/messages.js +1 -1
  1153. package/dist/i18n/locales/ro/messages.js +1 -1
  1154. package/dist/i18n/locales/sk/messages.js +1 -1
  1155. package/dist/i18n/locales/tr/messages.js +1 -1
  1156. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  1157. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
  1158. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1159. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  1160. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1161. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1162. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1163. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +176 -148
  1164. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  1165. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1166. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1167. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1168. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +13 -1
  1169. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +15 -13
  1170. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1171. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1172. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1173. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1174. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  1175. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1176. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -2
  1177. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1178. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1179. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -2
  1180. package/dist/phoenix/application-spec/index.d.ts +1 -0
  1181. package/dist/phoenix/application-spec/index.js +1 -1
  1182. package/dist/phoenix/application-spec/project-files.js +1 -1
  1183. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  1184. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1185. package/dist/phoenix/bin.d.ts +2 -0
  1186. package/dist/phoenix/bin.js +2 -0
  1187. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1188. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1189. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1190. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1191. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1192. package/dist/phoenix/check-configs/index.js +1 -0
  1193. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1194. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1195. package/dist/phoenix/cli.d.ts +0 -1
  1196. package/dist/phoenix/cli.js +1 -2
  1197. package/dist/phoenix/commands/build.js +1 -1
  1198. package/dist/phoenix/commands/check.js +1 -1
  1199. package/dist/phoenix/commands/clean.js +1 -1
  1200. package/dist/phoenix/commands/deploy.js +2 -2
  1201. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1202. package/dist/phoenix/commands/deps/deps.js +3 -0
  1203. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1204. package/dist/phoenix/commands/deps/index.js +1 -0
  1205. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1206. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1207. package/dist/phoenix/commands/dev.js +5 -5
  1208. package/dist/phoenix/commands/fix.js +1 -1
  1209. package/dist/phoenix/commands/generated-env-markers.d.ts +1 -0
  1210. package/dist/phoenix/commands/generated-env-markers.js +1 -1
  1211. package/dist/phoenix/commands/index.d.ts +1 -0
  1212. package/dist/phoenix/commands/index.js +1 -1
  1213. package/dist/phoenix/commands/init.d.ts +17 -5
  1214. package/dist/phoenix/commands/init.js +1 -1
  1215. package/dist/phoenix/commands/link.js +1 -1
  1216. package/dist/phoenix/commands/prettier.js +1 -1
  1217. package/dist/phoenix/commands/sync.js +1 -1
  1218. package/dist/phoenix/commands/unlink.js +1 -1
  1219. package/dist/phoenix/lingui/index.d.ts +1 -0
  1220. package/dist/phoenix/lingui/index.js +1 -0
  1221. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  1222. package/dist/phoenix/lingui/lingui.js +1 -0
  1223. package/dist/phoenix/services/application-spec-project-watcher.d.ts +5 -3
  1224. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1225. package/dist/phoenix/services/index.d.ts +1 -0
  1226. package/dist/phoenix/services/index.js +1 -1
  1227. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1228. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1229. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1230. package/dist/phoenix/services/source-archive.js +1 -1
  1231. package/dist/phoenix/services/swc.js +1 -1
  1232. package/dist/phoenix/services/vite-config.js +1 -1
  1233. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1234. package/dist/phoenix/utils/git/index.js +1 -0
  1235. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1236. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1237. package/dist/phoenix/utils/index.d.ts +5 -2
  1238. package/dist/phoenix/utils/index.js +1 -1
  1239. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1240. package/dist/phoenix/utils/node-version/index.js +1 -0
  1241. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1242. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1243. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1244. package/dist/phoenix/utils/package-info.js +1 -1
  1245. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1246. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1247. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1248. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1249. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1250. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1251. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1252. package/dist/phoenix/utils/run-command.js +1 -1
  1253. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1254. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1255. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1256. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1257. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1258. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  1259. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1260. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1261. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1262. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1263. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1264. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  1265. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  1266. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  1267. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  1268. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  1269. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  1270. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  1271. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  1272. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  1273. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  1274. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  1275. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  1276. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  1277. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  1278. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  1279. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  1280. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  1281. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  1282. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  1283. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  1284. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  1285. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  1286. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  1287. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  1288. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +7 -0
  1289. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  1290. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1291. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  1292. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  1293. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  1294. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  1295. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  1296. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  1297. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  1298. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  1299. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  1300. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  1301. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  1302. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  1303. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  1304. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  1305. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  1306. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  1307. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  1308. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  1309. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  1310. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  1311. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  1312. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  1313. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  1314. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  1315. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  1316. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  1317. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  1318. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  1319. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  1320. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  1321. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  1322. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  1323. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  1324. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  1325. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  1326. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  1327. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  1328. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  1329. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1330. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  1331. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  1332. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  1333. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  1334. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  1335. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  1336. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  1337. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  1338. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  1339. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  1340. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  1341. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  1342. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  1343. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  1344. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1345. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1346. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1347. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +346 -26
  1348. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1349. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  1350. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1351. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  1352. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1353. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1354. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  1355. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  1356. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1357. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1358. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1359. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1360. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1361. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1362. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1363. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1364. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1365. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1366. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1367. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  1368. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1369. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  1370. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  1371. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1372. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1373. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -4
  1374. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1375. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1376. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1377. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1378. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1379. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1380. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1381. package/dist/react-sdk/domain-context/index.d.ts +9 -1
  1382. package/dist/react-sdk/domain-context/index.js +1 -1
  1383. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1384. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1385. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1386. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1387. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1388. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1389. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1390. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1391. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1392. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1393. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1394. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1395. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1396. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1397. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1398. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1399. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1400. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1401. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1402. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1403. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1404. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1405. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1406. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1407. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1408. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1409. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1410. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1411. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1412. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1413. package/dist/react-sdk/handlers/index.js +1 -1
  1414. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1415. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1416. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1417. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1418. package/dist/react-sdk/index.d.ts +6 -0
  1419. package/dist/react-sdk/index.js +1 -1
  1420. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1421. package/dist/react-sdk/integration/index.d.ts +1 -0
  1422. package/dist/react-sdk/integration/index.js +1 -0
  1423. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1424. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1425. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1426. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1427. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1428. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  1429. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  1430. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  1431. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  1432. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  1433. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  1434. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  1435. package/dist/react-sdk/loading-state/index.js +1 -1
  1436. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  1437. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  1438. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1439. package/dist/react-sdk/notifications/index.js +1 -0
  1440. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1441. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1442. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  1443. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  1444. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  1445. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  1446. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  1447. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  1448. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  1449. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  1450. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  1451. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  1452. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  1453. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  1454. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  1455. package/dist/react-sdk/page-elements/index.js +1 -0
  1456. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1457. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1458. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1459. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1460. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1461. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1462. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1463. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1464. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1465. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1466. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1467. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1468. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1469. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1470. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1471. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1472. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1473. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1474. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1475. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1476. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  1477. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  1478. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1479. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1480. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1481. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1482. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1483. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1484. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1485. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1486. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1487. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1488. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1489. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1490. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1491. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1492. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1493. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1494. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  1495. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1496. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1497. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1498. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1499. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1500. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  1501. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1502. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1503. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1504. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1505. package/dist/watch/glob-matcher.d.ts +4 -4
  1506. package/dist/watch/glob-matcher.js +1 -1
  1507. package/dist/watch/watch.d.ts +4 -4
  1508. package/dist/watch/watch.js +1 -1
  1509. package/dist/webhook/builders/webhook-builder.js +1 -1
  1510. package/package.json +58 -36
  1511. package/schema/domain-spec.json +1341 -217
  1512. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1513. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1514. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1515. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1516. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1517. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1518. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1519. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1520. package/dist/configurator/common/frontend-analytics.js +0 -1
  1521. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1522. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1523. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1524. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1525. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1526. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1527. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1528. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1529. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1530. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1531. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1532. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1533. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1534. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1535. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1536. package/dist/domain/application/resource-builder.d.ts +0 -13
  1537. package/dist/domain/application/resource-builder.js +0 -1
  1538. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  1539. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -26
  1540. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  1541. package/dist/domain/extensions/client-side-image.d.ts +0 -14
  1542. package/dist/domain/extensions/client-side-image.js +0 -1
  1543. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1544. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1545. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1546. package/dist/phoenix/services/lingui.d.ts +0 -7
  1547. package/dist/phoenix/services/lingui.js +0 -1
  1548. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1549. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1550. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1551. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  1552. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1553. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1554. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1555. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1556. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  1557. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1558. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1559. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/components/sdk-code-ref.js} +0 -0
  1560. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/expressions/sdk-expression-implementation.js} +0 -0
  1561. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1562. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1563. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1564. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1565. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1566. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1567. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
@@ -1,18 +1,22 @@
1
1
  import type { AnonymousExpression } from '../expression/index.js';
2
- import type { $DomainEntity, AliasMap, DomainEntity, ExpandAlias, TypeOrAlias } from '../model/index.js';
2
+ import { type $DomainEntity, type AnyAliasMap, type DomainEntity } from '../model/index.js';
3
3
  import { type AllOfTypeRelation } from './all-of-type-relation.js';
4
- import type { DirectRelation } from './direct-relation.js';
4
+ import { type DirectRelation } from './direct-relation.js';
5
5
  import { type IndirectRelation } from './indirect-relation.js';
6
- export type Relation<ENTITIES extends DomainEntity<string>, ALIASES extends Record<string, ENTITIES>, SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>> = DirectRelation<ENTITIES, ALIASES, SELF, TARGET> | AllOfTypeRelation<ENTITIES, ALIASES, TARGET> | IndirectRelation<ENTITIES, ALIASES, SELF, TARGET>;
7
- export interface RelationFactory<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<TypeOrAlias<ENTITIES, ALIASES>, $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>> {
8
- <SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>>(relation: Extract<Relation<ENTITIES, ALIASES, SELF, TARGET>, {
9
- cardinality: '0-1';
10
- }>): AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, SELF>, $MAP[TARGET] | null>;
11
- <SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>>(relation: Extract<Relation<ENTITIES, ALIASES, SELF, TARGET>, {
12
- cardinality: '1-1';
13
- }>): AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, SELF>, $MAP[TARGET]>;
14
- <SELF extends TypeOrAlias<ENTITIES, ALIASES>, TARGET extends TypeOrAlias<ENTITIES, ALIASES>>(relation: Extract<Relation<ENTITIES, ALIASES, SELF, TARGET>, {
15
- cardinality: '0-N' | '1-N';
16
- }>): AnonymousExpression<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ExpandAlias<ENTITIES, ALIASES, SELF>, ReadonlyArray<$MAP[TARGET]>>;
17
- }
18
- export declare const createRelationFactory: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<TypeOrAlias<ENTITIES, ALIASES>, $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ALIASES extends Record<string, ENTITIES>>(aliasMap: AliasMap<ALIASES>) => RelationFactory<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES>;
6
+ /** A relation as a spec declares it: where the related entities are found and how many there may be. */
7
+ export type Relation = DirectRelation | AllOfTypeRelation | IndirectRelation;
8
+ type RelatedEntity = $DomainEntity<DomainEntity<string>>;
9
+ /**
10
+ * The expression of a relation as a domain takes it. The entity and data types are erased, so that
11
+ * the domain of any project accepts it: an expression typed with the base entity type is not
12
+ * assignable to one typed with a project's entities. The type a project reads from a relation is
13
+ * the one its generated model declares for the relation's property.
14
+ */
15
+ type RelationExpression = AnonymousExpression<any, any, any, any, any, any, RelatedEntity | null | ReadonlyArray<RelatedEntity>>;
16
+ /**
17
+ * Makes the expression of one relation: it collects the related entities of an entity and returns
18
+ * them as the cardinality says, one entity, one entity or `null`, or an array.
19
+ */
20
+ export type RelationFactory = (relation: Relation) => RelationExpression;
21
+ export declare const createRelationFactory: (aliasMap: AnyAliasMap) => RelationFactory;
22
+ export {};
@@ -1 +1 @@
1
- import{match as t}from"ts-pattern";import{createAllOfTypeRelation as e}from"./all-of-type-relation.js";import{directRelation as r}from"./direct-relation.js";import{createIndirectRelation as i}from"./indirect-relation.js";export const createRelationFactory=n=>{let a=e(n),o=i(n);return e=>{let i=t(e).with({kind:"direct"},t=>r(t,n)).with({kind:"indirect"},t=>o(t)).with({kind:"allOfType"},t=>a(t)).exhaustive(),l=t(e).with({cardinality:"0-1"},()=>t=>{if(t.length>1)throw Error(`Expected at most one entity, but got ${t.length}`);return t.length>0?t[0]:null}).with({cardinality:"1-1"},()=>t=>{if(1!==t.length)throw Error(`Expected exactly one entity, but got ${t.length}`);return t[0]}).with({cardinality:"0-N"},()=>t=>t).with({cardinality:"1-N"},()=>t=>{if(0===t.length)throw Error("Expected at least one entity, but got none");return t}).exhaustive();return{meta:{alwaysEvaluate:!0,...e.meta},evaluate:(t,r,a)=>{let o=i(t,r,a.domain),d=a.domain.get$Entities(o,r);if(!d.every(t=>e.target in n?n[e.target].includes(t.type):t.type===e.target)){let t=d.map(t=>t.type).filter(t=>e.target in n?n[e.target].includes(t):t===e.target);throw Error(`Expected ${e.target} entities, but got ${t.join(", ")}`)}return l(d)}}}};
1
+ import{match as t}from"ts-pattern";import{expandAlias as e}from"../model/index.js";import{createAllOfTypeRelation as r}from"./all-of-type-relation.js";import{directRelation as i}from"./direct-relation.js";import{createIndirectRelation as n}from"./indirect-relation.js";export const createRelationFactory=o=>{let a=r(o),l=n(o);return r=>{let n=t(r).with({kind:"direct"},t=>i(t)).with({kind:"indirect"},t=>l(t)).with({kind:"allOfType"},t=>a(t)).exhaustive(),d=t(r).with({cardinality:"0-1"},()=>t=>{if(t.length>1)throw Error(`Expected at most one entity, but got ${t.length}`);return t[0]??null}).with({cardinality:"1-1"},()=>t=>{let[e,...r]=t;if(void 0===e||r.length>0)throw Error(`Expected exactly one entity, but got ${t.length}`);return e}).with({cardinality:"0-N"},()=>t=>t).with({cardinality:"1-N"},()=>t=>{if(0===t.length)throw Error("Expected at least one entity, but got none");return t}).exhaustive(),c=e(o,r.target);return{meta:{alwaysEvaluate:!0,...r.meta},evaluate:(t,e,i)=>{let o=n(t,e,i.domain),a=i.domain.get$Entities(o,e);if(!a.every(t=>c.includes(t.type))){let t=a.map(t=>t.type).filter(t=>!c.includes(t));throw Error(`Expected ${r.target} entities, but got ${t.join(", ")}`)}return d(a)}}}};
@@ -1 +1 @@
1
- import{createAjvSchemaValidator as e}from"./create-ajv-schema-validator.js";import{createCspSchemaValidator as a}from"./create-csp-schema-validator.js";let t="csp-compatible"===globalThis.PHX_SCHEMA_VALIDATOR?a:e;export const getExtendedSchemaValidator=()=>{let e=t();return e.addKeyword("tsType"),e.addKeyword("import"),e.addKeyword("declared"),e};export const extendedSchemaValidator=getExtendedSchemaValidator();
1
+ import{createAjvSchemaValidator as e}from"./create-ajv-schema-validator.js";import{createCspSchemaValidator as a}from"./create-csp-schema-validator.js";export const getExtendedSchemaValidator=()=>{let t="csp-compatible"===globalThis.PHX_SCHEMA_VALIDATOR?a():e();return t.addKeyword("tsType"),t.addKeyword("import"),t.addKeyword("declared"),t};export const extendedSchemaValidator=getExtendedSchemaValidator();
@@ -6,4 +6,4 @@ export interface DomainState<ENTITIES extends DomainEntity<string>> {
6
6
  readonly ephemeralRecords: ReadonlyArray<ComponentSnapshot<SystemComponentTypeConstraint>>;
7
7
  }
8
8
  export type DomainStateFactory<ENTITIES extends DomainEntity<string>> = (entities: readonly ENTITIES[], ephemeralRecords: ReadonlyArray<ComponentSnapshot<SystemComponentTypeConstraint>>, rootEntityType: ENTITIES['type']) => DomainState<ENTITIES>;
9
- export declare const createInitialDomainState: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES>(entities: readonly ENTITIES[], rootEntityType: ALLOWED_ROOT_ENTITIES['type']) => DomainState<ENTITIES>;
9
+ export declare const createInitialDomainState: <ENTITIES extends DomainEntity<string>>(entities: readonly ENTITIES[], rootEntityType: ENTITIES['type']) => DomainState<ENTITIES>;
@@ -24,11 +24,17 @@ export declare class DomainBuilder<ENTITIES extends DomainEntity<string>, ALLOWE
24
24
  withMigrate(migration: MigrateFunction<ENTITIES>): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
25
25
  withExpressions(implementation: AliasedExpressions<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ALIASES>): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
26
26
  /**
27
- * Adds the expressions of the `src/expressions/` files, as the generated barrel lists them. Each file
28
- * is checked against the folder's contract and added on its own, so an expression defined twice is
29
- * reported with both files instead of being overwritten by file order.
27
+ * Adds the expressions of the `src/expressions/` files, as the generated barrel lists them. The
28
+ * files are merged by `mergeExpressionModules`, which checks each one and throws every wrong file,
29
+ * every expression defined twice and every expression the domain already has, such as a generated
30
+ * one, together as one `ImplementationErrors` of `DUPLICATE_DEFINITION`s.
30
31
  */
31
32
  withExpressionModules(modules: readonly ProjectModule[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
33
+ /**
34
+ * Adds expressions already expanded to entity types, each with its origin. An expression that the
35
+ * domain, or an earlier one of the list, defines for the same entity type is an error.
36
+ */
37
+ private withEntityExpressions;
32
38
  /** Declares the actions of the domain, as the generated `domain-spec.ts` reads them from the spec's `actions` section. */
33
39
  withActions(actions: readonly ActionDefinition[]): DomainBuilder<ENTITIES, ALLOWED_ROOT_ENTITIES, ALIASES, $MAP, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>;
34
40
  /** Adds the action implementations of the `src/actions/` files, as the generated barrel lists them, after checking each file against the folder's contract. */
@@ -1 +1 @@
1
- import{DomainFactory as t,createMigrateFunction as i,expandAlias as e}from"./core/index.js";import{resolveActionModules as s,resolveExpressionModules as n}from"./domain-runtime/index.js";import{withProfilerLabel as a}from"./utils/profiler-label.js";export class DomainBuilder{entities;aliasMap;$entityReflections;allowedRootEntityTypes;implemented;modelVersion;publishedData;sessionData;frontendData;backendData;migrate;isAdminDomain;actions;actionImplementations;constructor(t,i,e,s,n,a,o,h,l,m,r,d,p,c){this.entities=t,this.aliasMap=i,this.$entityReflections=e,this.allowedRootEntityTypes=s,this.implemented=n,this.modelVersion=a,this.publishedData=o,this.sessionData=h,this.frontendData=l,this.backendData=m,this.migrate=r,this.isAdminDomain=d,this.actions=p,this.actionImplementations=c}static from(t,e,s,n,a,o,h,l,m,r){let d=i({1:t},1,{});return new DomainBuilder(t,e,s,n,{},a,o,h,l,m,d,r,{},{})}withMigrate(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,t,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressions(t){let i={...this.implemented};return Object.entries(t).forEach(([t,s])=>{e(this.aliasMap,t).forEach(e=>{let n={...i[e]};i[e]=n,Object.entries(s).forEach(([i,s])=>{let o=n[i];if(o)throw Error(`Duplicate expression ${e}.${i}: The expression is defined on both ${t} and ${o.origin.typeOrAlias}, which would lead to ambiguous usage. Please ensure that expressions are only defined once.`);n[i]={...s,evaluate:a(`${e}_${i}`,s.evaluate),origin:{name:i,typeOrAlias:t}}})})}),new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,i,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressionModules(t){return n(t,this.aliasMap).reduce((t,i)=>t.withExpressions(i.expressions),this)}withActions(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,Object.fromEntries(t.map(t=>[t.name,t])),this.actionImplementations)}withActionModules(t){return this.withActionImplementations(s(t))}withActionImplementations(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,{...this.actionImplementations,...t})}build=()=>{let e=this.implemented,s=this.migrate??i({1:this.entities},1,{});return new t({aliasMap:this.aliasMap,entityReflections:this.entities,$entityReflections:this.$entityReflections,expressions:e,allowedRootEntityTypes:this.allowedRootEntityTypes,modelVersion:this.modelVersion,migrate:s,publishedData:this.publishedData,sessionData:this.sessionData,frontendData:this.frontendData,backendData:this.backendData,isAdminDomain:this.isAdminDomain,actions:this.actions,actionImplementations:this.actionImplementations})}}
1
+ import{DomainFactory as t,createMigrateFunction as i,expandAlias as e}from"./core/index.js";import{mergeExpressionModules as s,resolveActionModules as n}from"./domain-runtime/index.js";import{withProfilerLabel as a}from"./utils/profiler-label.js";export class DomainBuilder{entities;aliasMap;$entityReflections;allowedRootEntityTypes;implemented;modelVersion;publishedData;sessionData;frontendData;backendData;migrate;isAdminDomain;actions;actionImplementations;constructor(t,i,e,s,n,a,o,h,l,m,r,d,p,c){this.entities=t,this.aliasMap=i,this.$entityReflections=e,this.allowedRootEntityTypes=s,this.implemented=n,this.modelVersion=a,this.publishedData=o,this.sessionData=h,this.frontendData=l,this.backendData=m,this.migrate=r,this.isAdminDomain=d,this.actions=p,this.actionImplementations=c}static from(t,e,s,n,a,o,h,l,m,r){let d=i({1:t},1,{});return new DomainBuilder(t,e,s,n,{},a,o,h,l,m,d,r,{},{})}withMigrate(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,t,this.isAdminDomain,this.actions,this.actionImplementations)}withExpressions(t){let i=Object.entries(t);return this.withEntityExpressions(i.flatMap(([t,i])=>e(this.aliasMap,t).flatMap(e=>Object.entries(i).map(([i,s])=>({type:e,expression:{...s,origin:{name:i,typeOrAlias:t}}})))))}withExpressionModules(t){let i=new Map(Object.entries(this.implemented).map(([t,i])=>[t,new Set(Object.keys(i))]));return this.withEntityExpressions(Object.entries(s(t,this.aliasMap,void 0,i)).flatMap(([t,i])=>Object.values(i).map(i=>({type:t,expression:i}))))}withEntityExpressions(t){let i={...this.implemented};return t.forEach(({type:t,expression:e})=>{let{name:s,typeOrAlias:n}=e.origin,o={...i[t]},h=o[s];if(h)throw Error(`Duplicate expression ${t}.${s}: The expression is defined on both ${n} and ${h.origin.typeOrAlias}, which would lead to ambiguous usage. Please ensure that expressions are only defined once.`);o[s]={...e,evaluate:a(`${t}_${s}`,e.evaluate)},i[t]=o}),new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,i,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,this.actionImplementations)}withActions(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,Object.fromEntries(t.map(t=>[t.name,t])),this.actionImplementations)}withActionModules(t){return this.withActionImplementations(n(t))}withActionImplementations(t){return new DomainBuilder(this.entities,this.aliasMap,this.$entityReflections,this.allowedRootEntityTypes,this.implemented,this.modelVersion,this.publishedData,this.sessionData,this.frontendData,this.backendData,this.migrate,this.isAdminDomain,this.actions,{...this.actionImplementations,...t})}build=()=>{let e=this.implemented,s=this.migrate??i({1:this.entities},1,{});return new t({aliasMap:this.aliasMap,entityReflections:this.entities,$entityReflections:this.$entityReflections,expressions:e,allowedRootEntityTypes:this.allowedRootEntityTypes,modelVersion:this.modelVersion,migrate:s,publishedData:this.publishedData,sessionData:this.sessionData,frontendData:this.frontendData,backendData:this.backendData,isAdminDomain:this.isAdminDomain,actions:this.actions,actionImplementations:this.actionImplementations})}}
@@ -2,7 +2,7 @@ export { type AnalyticsSystem, NoopAnalyticsSystem, type AnalyticsEvent, Analyti
2
2
  export { NavigationUpdateTag, isInitialNavigationUpdate, isNavigationUpdate, isInitialViewUpdate, isViewUpdate, isInitialSelectionUpdate, isSelectUpdate, isDeselectUpdate, isInitialFullscreenUpdate, isToggleFullscreenUpdate, isInitialDebugUpdate, isInitialViewportUpdate, isSetViewportUpdate, isInitialDragUpdate, isDragStartUpdate, isDragEndUpdate, isInitialToolUpdate, isToolUpdate, isExportUpdate, createAutoSelectionTransformer, NavigationSystem, type NavigationSystemContext, createResetSelectionOnNavigationTransformer, createNavigationOnSelectionTransformer, createNavigationOnDeselectTransformer, createSelectParentOnDeselectionTransformer, createNavigationOnSelectionChangeTransformer, type AnyNavigationSystem, } from './navigation-system/index.js';
3
3
  export { StoreSystem, type TransformerRegistration, type UpdateTransformer, type TransformerLogFunction, type Transformers, type StateSliceName, type StateEmissionKind, type CommitPreparedOutcome, nextDomainEntityId, getIdSequence, applyUpdates, SystemState, SystemStateInitialUpdateTag, SystemStateUpdateTag, type SystemStateContext, type AnyCreateTransformersFactory, type AnyStoreSystem, type Unregister, } from './store-system/index.js';
4
4
  export { createRefReplaceTransformer, createCascadeDeletesTransformer, createCascadeRefPruningTransformer, createCreateEntityRefsTransformer, } from './relation-transformers/index.js';
5
- export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, type AnyUndoSystem, } from './undo-system.js';
5
+ export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, type UndoStep, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, type AnyUndoSystem, } from './undo-system.js';
6
6
  export { DimensionSystem, type AnyDimensionSystem, type DimensionSystemContext, type AngleDimensionViolation, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system/index.js';
7
7
  export { ActionSystem, type AnyActionSystem, type ActionSystemContext } from './action-system/index.js';
8
8
  export { RecipeCookerSystem, type AnyRecipeCookerSystem, type RecipeCookerSystemContext, ReplaceRecipeUpdateTag, isReplaceEntityUpdate, type IsReplaceRecipeUpdate, CreateRecipeUpdateTag, isCreateEntityUpdate, type IsCreateRecipeUpdate, } from './recipe-system/index.js';
@@ -53,6 +53,11 @@ export declare class StoreSystem<ENTITIES extends DomainEntity<string>, $MAP ext
53
53
  private readonly _context;
54
54
  readonly stateSlices: Readonly<Record<StateSliceName, ObservableWithLastValue<StateEmission<ENTITIES, $MAP>>>>;
55
55
  get isInitialized(): boolean;
56
+ /**
57
+ * True while a change the user is making, such as a drag, is staged and neither committed nor
58
+ * rolled back. A hover is shown through a staged emission too, but stages no updates.
59
+ */
60
+ get hasStagedUpdates(): boolean;
56
61
  private _onBeforeCommitHooks;
57
62
  private readonly committed;
58
63
  private readonly potentiallyInvalid;
@@ -1,2 +1,2 @@
1
- import{CompositeKeyMap as e,assertExistence as t,isEqualArray as i}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as r,dragStateComponent as o,getComponentSystemFilterState as s,hoverStateComponent as n,isEqualComponentInstance as a,isSystemViewportStateComponentSnapshot as d,isVirtualEntityId as m,selectionStateComponent as l,systemUpdateFactory as c,systemVirtualEntityId as p}from"../../core/index.js";import{projectedEntitiesComponent as h}from"../../system-components/index.js";import{cloneEvalCache as v,createEvalCacheToken as f,getEvalCache as g,setEvalCache as u}from"../../utils/eval-cache.js";import{createCascadeDeletesTransformer as y,createCascadeRefPruningTransformer as S}from"../relation-transformers/index.js";import{applyUpdates as I}from"./apply-updates.js";import{LifecycleStateSlice as _}from"./lifecycle-state-slice.js";import{mergeReconciliationsUpdates as x,reconcileProjectedEntities as T}from"./reconcile-projected-entities.js";let E={uninitializedError:"StoreSystem is not initialized."},k=f({clone:e=>e}),w=class InvalidInitialStateError extends Error{emission;childError;constructor(e,t,i){let r="";"uncaught"===e.validity.severity&&(r=`: ${e.validity.error.message}`),("fatal"===e.validity.severity||"fixable"===e.validity.severity)&&(r=`: ${e.validity.entityViolations.map(e=>{let i=e.violation.message;return null!=i?t(i):e.violation.type}).join(", ")}`),super(`Initial state is not valid! Severity: ${e.validity.severity}, Cause: ${r}`),this.emission=e,this.childError=i,this.name="InvalidInitialStateError"}},b=(e,t)=>{try{return e()}catch(e){throw t(e),e}};export class StoreSystem{_context;stateSlices;get isInitialized(){return this.committed.isInitialized}_onBeforeCommitHooks=[];committed=new _(E);potentiallyInvalid=new _(E);rendered=new _(E);stagedUpdates=void 0;transformToDataUpdates=(e,t)=>{let i=!1,r=e.map(e=>"modifyComponent"===e.kind?(i=!0,this.componentModificationToDataUpdate(e,t)):e);return i?r:e};createInitialTransformPipe=()=>[{transformer:this.transformToDataUpdates,priority:1/0,registrationToken:{},name:"TransformToDataUpdates"}];transformPipe=this.createInitialTransformPipe();_cascadeDeletesTransformer=(...e)=>(this._cascadeDeletesTransformerMemo??=y(this._context.selectors.getCompositionProjections()))(...e);_cascadeDeletesTransformerMemo;_refPruningTransformer=(...e)=>(this._refPruningTransformerMemo??=S(this._context.selectors.getComponentReader()))(...e);_refPruningTransformerMemo;_deselectOnDeleteTransformer=(e,t)=>{let i=new Set(e.filter(e=>"deleteEntity"===e.kind).map(e=>e.entityId));if(0===i.size)return e;let r=s(t).selectedEntityId;return r&&i.has(r)?[...e,c.EphemeralRecordModification({componentInstance:{entityId:p,componentType:l},updateTag:"AutoDeselectRemovedProjectedEntity",writableState:{selectedEntityId:t.rootEntityId}})]:e};constructor(e){this._context=e,this.stateSlices={committed:this.committed.observable,rendered:this.rendered.observable,potentiallyInvalid:this.potentiallyInvalid.observable}}_validateState=e=>this._context.selectors.getValidationProjections().validateState(e);initialize=()=>{let e=this._context.selectors.getInitialDomainState();this.stagedUpdates=void 0;let t=this._validateState(e),i={kind:"reset",state:e,validity:t,tag:void 0,transformationLog:void 0},r=i;if(!r.validity.valid&&"fatal"===r.validity.severity||"fixable"===r.validity.severity){this._context.domainServicesSelectors.getLogger().debug("Trying to fix initial emission:",r);let e=r.state,{transformedUpdates:t,transformationLog:i}=this.applyTransformers([],e,"committed"),o=I(this.transformToDataUpdates(t,e),e);v(e,o),r={kind:"reset",state:o,validity:this._validateState(o),tag:"fixed",transformationLog:i}}if(!r.validity.valid){if(this._context.domainServicesSelectors.getLogger().error("Invalid initial emission:",{initialEmission:i,fixedEmission:r}),"uncaught"===r.validity.severity)throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable(),r.validity.error??void 0);throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable())}this.committed.next(r),this.rendered.next(r),this.potentiallyInvalid.next(r)};registerTransformer(e,i,r){let o={};return((e,i,r)=>{let o=0;for(;o<e.length&&0>=r(t(e[o]),i);)o++;e.splice(o,0,i)})(this.transformPipe,{registrationToken:o,transformer:i,priority:e,name:r},(e,t)=>e.priority===t.priority?0:e.priority<t.priority?-1:1),()=>{let e=this.transformPipe.findIndex(e=>e.registrationToken===o);-1!==e&&this.transformPipe.splice(e,1)}}onBeforeCommit(e){return this._onBeforeCommitHooks.push(e),()=>{this._onBeforeCommitHooks=this._onBeforeCommitHooks.filter(t=>t!==e)}}componentModificationToDataUpdate=(e,t)=>{let i=e.entityId;if(!m(i)){let t=this._context.selectors.getComponentReaderIndexes().opticMap.get(r(i))?.get(e.componentInstance.componentType)?.get(e.componentInstance.instanceName);if(t?.kind==="simple"){let r=t.write(e.writableState);return{kind:"modifyDomainEntity",entityId:i,updateTag:e.updateTag,stateDelta:r,hint:e.hint,agentHint:e.agentHint,origin:e}}}let o=t.ephemeralRecords.find(t=>a(t.componentInstance,e.componentInstance));if(o)return{kind:"modifyEphemeralRecord",entityId:e.entityId,updateTag:e.updateTag,componentInstance:o.componentInstance,writableState:e.writableState,hint:e.hint,agentHint:e.agentHint};throw Error(`Component ${e.componentInstance.componentType.name} is not attached on entity #${e.entityId}`)};getNewState=(e,t)=>{let i=I(this.transformToDataUpdates(e,t),t);return v(this.rendered.isInitialized?this.rendered.value.state:t,i),i};applyTransformers(e,t,i){let r=this._context.environmentSelectors.getEnvironmentIsDev()?[]:void 0;return{transformedUpdates:this.transformPipe.reduce((e,{transformer:o,name:s})=>{let n,a=r?[]:void 0,d=a?(e,t,i)=>{n=e,a.push({phase:e,message:t,data:i})}:void 0,m=b(()=>o(e,t,i,d),o=>{this._context.domainServicesSelectors.getLogger().error("Error while applying transformer!",{name:s,updates:e,previousState:t,kind:i,transformationLog:r},o instanceof Error?o:Error(String(o)))});return a&&r&&r.push({name:s,status:n??(m===e?"no-event":"apply"),entries:a,updatesIn:e,updatesOut:m}),m},e),transformationLog:r}}_updateProjectedEntities(e,t,r){if(!e.validity.valid)return e;let o=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[h]},e.state),s=g(e.previousState,k);if(s&&i(s,o))return e;let n=0,a=e,d=[];for(;a.validity.valid;){n++;let i=T(a.state.entities,o,t);if(0===i.length)break;if(n>10)throw Error(`Maximum number of reconciliation rounds reached: 10. Projected entities seem to be recursively depending on themselves.
1
+ import{CompositeKeyMap as e,assertExistence as t,isEqualArray as i}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as r,dragStateComponent as o,getComponentSystemFilterState as s,hoverStateComponent as n,isEqualComponentInstance as a,isSystemViewportStateComponentSnapshot as d,isVirtualEntityId as m,selectionStateComponent as l,systemUpdateFactory as c,systemVirtualEntityId as p}from"../../core/index.js";import{projectedEntitiesComponent as h}from"../../system-components/index.js";import{cloneEvalCache as v,createEvalCacheToken as f,getEvalCache as g,setEvalCache as u}from"../../utils/eval-cache.js";import{createCascadeDeletesTransformer as y,createCascadeRefPruningTransformer as S}from"../relation-transformers/index.js";import{applyUpdates as I}from"./apply-updates.js";import{LifecycleStateSlice as _}from"./lifecycle-state-slice.js";import{mergeReconciliationsUpdates as x,reconcileProjectedEntities as T}from"./reconcile-projected-entities.js";let E={uninitializedError:"StoreSystem is not initialized."},k=f({clone:e=>e}),w=class InvalidInitialStateError extends Error{emission;childError;constructor(e,t,i){let r="";"uncaught"===e.validity.severity&&(r=`: ${e.validity.error.message}`),("fatal"===e.validity.severity||"fixable"===e.validity.severity)&&(r=`: ${e.validity.entityViolations.map(e=>{let i=e.violation.message;return null!=i?t(i):e.violation.type}).join(", ")}`),super(`Initial state is not valid! Severity: ${e.validity.severity}, Cause: ${r}`),this.emission=e,this.childError=i,this.name="InvalidInitialStateError"}},b=(e,t)=>{try{return e()}catch(e){throw t(e),e}};export class StoreSystem{_context;stateSlices;get isInitialized(){return this.committed.isInitialized}get hasStagedUpdates(){return void 0!==this.stagedUpdates}_onBeforeCommitHooks=[];committed=new _(E);potentiallyInvalid=new _(E);rendered=new _(E);stagedUpdates=void 0;transformToDataUpdates=(e,t)=>{let i=!1,r=e.map(e=>"modifyComponent"===e.kind?(i=!0,this.componentModificationToDataUpdate(e,t)):e);return i?r:e};createInitialTransformPipe=()=>[{transformer:this.transformToDataUpdates,priority:1/0,registrationToken:{},name:"TransformToDataUpdates"}];transformPipe=this.createInitialTransformPipe();_cascadeDeletesTransformer=(...e)=>(this._cascadeDeletesTransformerMemo??=y(this._context.selectors.getCompositionProjections()))(...e);_cascadeDeletesTransformerMemo;_refPruningTransformer=(...e)=>(this._refPruningTransformerMemo??=S(this._context.selectors.getComponentReader()))(...e);_refPruningTransformerMemo;_deselectOnDeleteTransformer=(e,t)=>{let i=new Set(e.filter(e=>"deleteEntity"===e.kind).map(e=>e.entityId));if(0===i.size)return e;let r=s(t).selectedEntityId;return r&&i.has(r)?[...e,c.EphemeralRecordModification({componentInstance:{entityId:p,componentType:l},updateTag:"AutoDeselectRemovedProjectedEntity",writableState:{selectedEntityId:t.rootEntityId}})]:e};constructor(e){this._context=e,this.stateSlices={committed:this.committed.observable,rendered:this.rendered.observable,potentiallyInvalid:this.potentiallyInvalid.observable}}_validateState=e=>this._context.selectors.getValidationProjections().validateState(e);initialize=()=>{let e=this._context.selectors.getInitialDomainState();this.stagedUpdates=void 0;let t=this._validateState(e),i={kind:"reset",state:e,validity:t,tag:void 0,transformationLog:void 0},r=i;if(!r.validity.valid&&"fatal"===r.validity.severity||"fixable"===r.validity.severity){this._context.domainServicesSelectors.getLogger().debug("Trying to fix initial emission:",r);let e=r.state,{transformedUpdates:t,transformationLog:i}=this.applyTransformers([],e,"committed"),o=I(this.transformToDataUpdates(t,e),e);v(e,o),r={kind:"reset",state:o,validity:this._validateState(o),tag:"fixed",transformationLog:i}}if(!r.validity.valid){if(this._context.domainServicesSelectors.getLogger().error("Invalid initial emission:",{initialEmission:i,fixedEmission:r}),"uncaught"===r.validity.severity)throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable(),r.validity.error??void 0);throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable())}this.committed.next(r),this.rendered.next(r),this.potentiallyInvalid.next(r)};registerTransformer(e,i,r){let o={};return((e,i,r)=>{let o=0;for(;o<e.length&&0>=r(t(e[o]),i);)o++;e.splice(o,0,i)})(this.transformPipe,{registrationToken:o,transformer:i,priority:e,name:r},(e,t)=>e.priority===t.priority?0:e.priority<t.priority?-1:1),()=>{let e=this.transformPipe.findIndex(e=>e.registrationToken===o);-1!==e&&this.transformPipe.splice(e,1)}}onBeforeCommit(e){return this._onBeforeCommitHooks.push(e),()=>{this._onBeforeCommitHooks=this._onBeforeCommitHooks.filter(t=>t!==e)}}componentModificationToDataUpdate=(e,t)=>{let i=e.entityId;if(!m(i)){let t=this._context.selectors.getComponentReaderIndexes().opticMap.get(r(i))?.get(e.componentInstance.componentType)?.get(e.componentInstance.instanceName);if(t?.kind==="simple"){let r=t.write(e.writableState);return{kind:"modifyDomainEntity",entityId:i,updateTag:e.updateTag,stateDelta:r,hint:e.hint,agentHint:e.agentHint,origin:e}}}let o=t.ephemeralRecords.find(t=>a(t.componentInstance,e.componentInstance));if(o)return{kind:"modifyEphemeralRecord",entityId:e.entityId,updateTag:e.updateTag,componentInstance:o.componentInstance,writableState:e.writableState,hint:e.hint,agentHint:e.agentHint};throw Error(`Component ${e.componentInstance.componentType.name} is not attached on entity #${e.entityId}`)};getNewState=(e,t)=>{let i=I(this.transformToDataUpdates(e,t),t);return v(this.rendered.isInitialized?this.rendered.value.state:t,i),i};applyTransformers(e,t,i){let r=this._context.environmentSelectors.getEnvironmentIsDev()?[]:void 0;return{transformedUpdates:this.transformPipe.reduce((e,{transformer:o,name:s})=>{let n,a=r?[]:void 0,d=a?(e,t,i)=>{n=e,a.push({phase:e,message:t,data:i})}:void 0,m=b(()=>o(e,t,i,d),o=>{this._context.domainServicesSelectors.getLogger().error("Error while applying transformer!",{name:s,updates:e,previousState:t,kind:i,transformationLog:r},o instanceof Error?o:Error(String(o)))});return a&&r&&r.push({name:s,status:n??(m===e?"no-event":"apply"),entries:a,updatesIn:e,updatesOut:m}),m},e),transformationLog:r}}_updateProjectedEntities(e,t,r){if(!e.validity.valid)return e;let o=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[h]},e.state),s=g(e.previousState,k);if(s&&i(s,o))return e;let n=0,a=e,d=[];for(;a.validity.valid;){n++;let i=T(a.state.entities,o,t);if(0===i.length)break;if(n>10)throw Error(`Maximum number of reconciliation rounds reached: 10. Projected entities seem to be recursively depending on themselves.
2
2
  If expressions populating 'projectedEntities' components rely on other projected entities, make sure that the dependencies do not have cycles.`);let s=(d=x(d,i)).map(e=>e.dataUpdate),m=this._cascadeDeletesTransformer(s,e.previousState,r,void 0,t),l=this._refPruningTransformer(m,e.previousState,r,void 0,t),c=this._deselectOnDeleteTransformer(l,e.previousState,r,void 0,t);if(!(a=this.prepareStateEmissionWithoutTransformation([...t,...c],e.previousState,r)).validity.valid)return this._context.domainServicesSelectors.getLogger().error("Reconciliation of projected entities led to an invalid state! Reconciliation skipped.",{emission:a}),e;o=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[h]},a.state)}return u(a.state,k,o),a}prepareStateEmission(e,t,i){let{transformedUpdates:r,transformationLog:o}=this.applyTransformers(e,t,i),s=this.prepareStateEmissionWithoutTransformation(r,t,i);return{...this._updateProjectedEntities(s,r,i),transformationLog:o}}emissionCache=new e([Map,WeakMap,WeakMap,WeakMap,WeakMap]);getEmissionCacheKey=(e,t,i)=>[e,t,i,this._context.selectors.getStoreRuntimeDependencies(),this._context.selectors.getExpressionContext()];prepareStateEmissionWithoutTransformation=(e,t,i)=>{let r=this.getEmissionCacheKey(i,t,e),o=this.emissionCache.get(r);if(o)return o;let s=b(()=>this.transformToDataUpdates(e,t),r=>{this._context.domainServicesSelectors.getLogger().error("Error while transforming updates to data updates!",{updates:e,previousState:t,kind:i},r instanceof Error?r:Error(String(r)))}),n=b(()=>I(s,t),r=>{this._context.domainServicesSelectors.getLogger().error("Error while applying updates!",{updates:e,previousState:t,kind:i,dataUpdates:s},r instanceof Error?r:Error(String(r)))});v(this.rendered.isInitialized?this.rendered.value.state:t,n);let a=this._validateState(n);"uncaught"===a.severity&&this._context.domainServicesSelectors.getLogger().error("There was an uncaught validation error:",{updates:e,dataUpdates:s,previousState:t,newState:n,kind:i},a.error);let d={kind:i,previousState:t,state:n,updates:s,validity:a,transformationLog:void 0};return this.emissionCache.set(r,d),d};stage(e,t=!0){this.stagedUpdates=e;let i=this.prepareStateEmission(e,this.committed.value.state,"staged");return t&&this.emit(i),i}emit(e){"staged"===e.kind?e.validity.valid&&this.rendered.nextIfDifferent(e):(e.validity.valid?(this.committed.nextIfDifferent(e),this.rendered.nextIfDifferent(e)):this.rendered.nextIfDifferent(this.committed.value),this.potentiallyInvalid.nextIfDifferent(e))}commit=()=>{if(void 0===this.stagedUpdates)return;let e=this.prepareStateEmission(this.stagedUpdates,this.committed.value.state,"committed"),t=()=>{if(this._onBeforeCommitHooks.some(i=>!1===i(e,t))){this._context.domainServicesSelectors.getLogger().debug("Commit was canceled by one of the onBeforeCommit hooks! Resetting rendered state.",e),this.rollback();return}this.stagedUpdates=void 0,this._context.domainServicesSelectors.getLogger().debug("commit",e),this.emit(e)};t()};commitPrepared=e=>{if("committed"!==e.kind||!e.validity.valid)throw Error(`commitPrepared received a ${e.validity.valid?e.kind:"invalid"} emission, but only a valid committed emission can become the committed state. Prepare the emission with kind "committed" and check its validity before committing it.`);let t=()=>e.previousState===this.committed.value.state;if(!t())return"conflict";let i=()=>{t()?r():this._context.domainServicesSelectors.getLogger().warn("A held commit was dropped, because the committed state changed since it was prepared.",e)},r=()=>this._onBeforeCommitHooks.some(t=>!1===t(e,i))?(this._context.domainServicesSelectors.getLogger().debug("A prepared commit was held by one of the onBeforeCommit hooks.",e),!1):(this._context.domainServicesSelectors.getLogger().debug("commitPrepared",e),this.stagedUpdates=void 0,this.emit(e),!0);return r()?"committed":"held"};rollback=()=>{void 0!==this.stagedUpdates&&(this.stagedUpdates=void 0,this.emit(this.committed.value))};_resetInteractionState(e){return e.ephemeralRecords.some(e=>{let t;return(t=e.componentInstance.componentType)===n||t===o})?{...e,ephemeralRecords:e.ephemeralRecords.map(e=>e.componentInstance.componentType===n?{...e,state:{hoveredEntityId:null}}:e.componentInstance.componentType===o?{...e,state:{draggedEntityId:null}}:e)}:e}_preserveViewportState(e,t){let i=t.ephemeralRecords.find(d),r=e.ephemeralRecords.filter(e=>!d(e));return{...e,ephemeralRecords:i?[...r,i]:r}}reset(e,t){let i=this.committed.value.state,r=this._preserveViewportState(e,i),o=this._resetInteractionState(r),s=this._validateState(o);if(!s.valid)throw Error("Cannot reset to an invalid state");this.stagedUpdates=void 0,this.emit({kind:"reset",state:o,validity:s,tag:t,transformationLog:void 0})}stageAndCommit(e){if(0!==e.length){this.stagedUpdates=e;try{this.commit()}finally{this.stagedUpdates=void 0}}}}
@@ -1,10 +1,31 @@
1
1
  import type { ObservableWithLastValue } from '@salsita-ai/common/utils';
2
- import type { $DomainEntity, DomainEntity, ResetStateEmission, StateEmission } from '../core/index.js';
2
+ import type { $DomainEntity, DomainEntity, DomainState, ResetStateEmission, StateEmission } from '../core/index.js';
3
3
  import type { DomainContextSelectors } from '../domain-runtime/index.js';
4
4
  export interface UndoCapabilities {
5
5
  readonly canUndo: boolean;
6
6
  readonly canRedo: boolean;
7
7
  }
8
+ /**
9
+ * One step of the undo history: a state that undo and redo return to.
10
+ *
11
+ * A step is made by an undoable change. The non-undoable commits made on top of it afterwards, such
12
+ * as a selection or a navigation, do not make steps of their own; returning to the step keeps them,
13
+ * so undoing a later change does not also take back what the user selected since. A step therefore
14
+ * holds two states: the one that identifies it and the one it returns to.
15
+ */
16
+ export interface UndoStep<ENTITIES extends DomainEntity<string>> {
17
+ /**
18
+ * The state the undoable change committed. It identifies the step and never changes, so a caller
19
+ * that knows which state its own change committed can tell whether that change is the step the
20
+ * configuration is at.
21
+ */
22
+ readonly committedState: DomainState<ENTITIES>;
23
+ /**
24
+ * What undo or redo resets the store to: `committedState` plus the non-undoable commits made on
25
+ * top of it before the next undoable change.
26
+ */
27
+ readonly restoreState: DomainState<ENTITIES>;
28
+ }
8
29
  export interface CanBeUndoneContext<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> {
9
30
  oldEmission: StateEmission<ENTITIES, $MAP>;
10
31
  newEmission: StateEmission<ENTITIES, $MAP>;
@@ -39,6 +60,12 @@ export declare class UndoSystem<ENTITIES extends DomainEntity<string>, $MAP exte
39
60
  private _activeIsUndoable;
40
61
  private readonly _canSubject;
41
62
  readonly can$: ObservableWithLastValue<UndoCapabilities>;
63
+ private readonly _tipSubject;
64
+ /**
65
+ * The step the configuration is at: the top of the stack, or the step an undo or redo returned to.
66
+ * Nothing while the stack is empty, before the first undoable change and after a reset.
67
+ */
68
+ readonly tip$: ObservableWithLastValue<UndoStep<ENTITIES> | undefined>;
42
69
  constructor(_context: UndoSystemContext);
43
70
  initialize: () => void;
44
71
  /**
@@ -1 +1 @@
1
- import{BehaviorSubject as t,pairwise as e}from"rxjs";let s=t=>t.oldEmission.state.entities!==t.newEmission.state.entities;export const UNDO_REDO_RESET_TAG={};export const isUndoRedoReset=t=>"reset"===t.kind&&t.tag===UNDO_REDO_RESET_TAG;export class UndoSystem{_context;_stack=[];_currentIndex=-1;_activeIsUndoable;_canSubject=new t({canUndo:!1,canRedo:!1});can$=this._canSubject;constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(e()).subscribe(([t,e])=>{if("reset"===e.kind&&e.tag!==UNDO_REDO_RESET_TAG)return void this.resetStack();let n=this._activeIsUndoable?.handler??s;("reset"!==e.kind||e.tag!==UNDO_REDO_RESET_TAG)&&n({oldEmission:t,newEmission:e})&&(this._stack=[...this._stack.slice(0,this._currentIndex),t.state,e.state],this._currentIndex=this._stack.length-1,this._refresh())})}initialize=()=>{this.resetStack()};registerIsUndoable(t){let e={handler:t};return this._activeIsUndoable=e,()=>{this._activeIsUndoable===e&&(this._activeIsUndoable=void 0)}}resetStack(){this._stack=[],this._currentIndex=-1,this._refresh()}_refresh(){this._canSubject.next({canUndo:this.canUndo(),canRedo:this.canRedo()})}canUndo(){return this._currentIndex>0}canRedo(){return this._currentIndex<this._stack.length-1}undo(){let t=this._stack[this._currentIndex-1];void 0!==t&&(this._currentIndex--,this._context.selectors.getStoreSystem().reset(t,UNDO_REDO_RESET_TAG),this._refresh())}redo(){let t=this._stack[this._currentIndex+1];void 0!==t&&(this._currentIndex++,this._context.selectors.getStoreSystem().reset(t,UNDO_REDO_RESET_TAG),this._refresh())}}
1
+ import{BehaviorSubject as t,pairwise as e}from"rxjs";let s=t=>t.oldEmission.state.entities!==t.newEmission.state.entities;export const UNDO_REDO_RESET_TAG={};export const isUndoRedoReset=t=>"reset"===t.kind&&t.tag===UNDO_REDO_RESET_TAG;export class UndoSystem{_context;_stack=[];_currentIndex=-1;_activeIsUndoable;_canSubject=new t({canUndo:!1,canRedo:!1});can$=this._canSubject;_tipSubject=new t(void 0);tip$=this._tipSubject;constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(e()).subscribe(([t,e])=>{if("reset"===e.kind&&e.tag!==UNDO_REDO_RESET_TAG)return void this.resetStack();let i=this._activeIsUndoable?.handler??s;if("reset"===e.kind&&e.tag===UNDO_REDO_RESET_TAG||!i({oldEmission:t,newEmission:e}))return;let r=this._stack[this._currentIndex],n={committedState:r?.committedState??t.state,restoreState:t.state},c={committedState:e.state,restoreState:e.state};this._stack=[...this._stack.slice(0,this._currentIndex),n,c],this._currentIndex=this._stack.length-1,this._refresh()})}initialize=()=>{this.resetStack()};registerIsUndoable(t){let e={handler:t};return this._activeIsUndoable=e,()=>{this._activeIsUndoable===e&&(this._activeIsUndoable=void 0)}}resetStack(){this._stack=[],this._currentIndex=-1,this._refresh()}_refresh(){this._canSubject.next({canUndo:this.canUndo(),canRedo:this.canRedo()}),this._tipSubject.next(this._stack[this._currentIndex])}canUndo(){return this._currentIndex>0}canRedo(){return this._currentIndex<this._stack.length-1}undo(){let t=this._stack[this._currentIndex-1];void 0!==t&&(this._currentIndex--,this._context.selectors.getStoreSystem().reset(t.restoreState,UNDO_REDO_RESET_TAG),this._refresh())}redo(){let t=this._stack[this._currentIndex+1];void 0!==t&&(this._currentIndex++,this._context.selectors.getStoreSystem().reset(t.restoreState,UNDO_REDO_RESET_TAG),this._refresh())}}
@@ -1,3 +1,4 @@
1
+ import { AccessLevel } from '@salsita-ai/contracts/api';
1
2
  import type { OverridesSelectorState, OverridesSelectors } from '../overrides/index.js';
2
3
  import type { AccessService, ApplicationAccessInfo } from './types.js';
3
4
  /**
@@ -17,24 +18,28 @@ export declare const requireAccessService: (applicationName: 'configurator' | 'a
17
18
  export declare const createAccessInfoSelectors: (context: Context) => {
18
19
  selectConfiguratorRawAccessInfo: import("@salsita-ai/common/utils").Selector<AccessSelectorState, {
19
20
  raw: string;
21
+ access: AccessLevel;
20
22
  viewMode: boolean;
21
23
  revisionId: string | undefined;
22
24
  configurationId: string;
23
25
  } | null>;
24
26
  selectAdminRawAccessInfo: import("@salsita-ai/common/utils").Selector<AccessSelectorState, {
25
27
  raw: string;
28
+ access: AccessLevel;
26
29
  viewMode: boolean;
27
30
  revisionId: string | undefined;
28
31
  configurationId: string;
29
32
  } | null>;
30
33
  selectConfiguratorAccessInfo: import("@salsita-ai/common/utils").Selector<AccessSelectorState, {
31
34
  raw: string;
35
+ access: AccessLevel;
32
36
  viewMode: boolean;
33
37
  revisionId: string | undefined;
34
38
  configurationId: string;
35
39
  }>;
36
40
  selectAdminAccessInfo: import("@salsita-ai/common/utils").Selector<AccessSelectorState, {
37
41
  raw: string;
42
+ access: AccessLevel;
38
43
  viewMode: boolean;
39
44
  revisionId: string | undefined;
40
45
  configurationId: string;
@@ -47,24 +52,28 @@ export declare const createAccessInfoSelectors: (context: Context) => {
47
52
  selectAdminConfigurationId: import("@salsita-ai/common/utils").Selector<AccessSelectorState, string>;
48
53
  getConfiguratorRawAccessInfo: () => {
49
54
  raw: string;
55
+ access: AccessLevel;
50
56
  viewMode: boolean;
51
57
  revisionId: string | undefined;
52
58
  configurationId: string;
53
59
  } | null;
54
60
  getAdminRawAccessInfo: () => {
55
61
  raw: string;
62
+ access: AccessLevel;
56
63
  viewMode: boolean;
57
64
  revisionId: string | undefined;
58
65
  configurationId: string;
59
66
  } | null;
60
67
  getConfiguratorAccessInfo: () => {
61
68
  raw: string;
69
+ access: AccessLevel;
62
70
  viewMode: boolean;
63
71
  revisionId: string | undefined;
64
72
  configurationId: string;
65
73
  };
66
74
  getAdminAccessInfo: () => {
67
75
  raw: string;
76
+ access: AccessLevel;
68
77
  viewMode: boolean;
69
78
  revisionId: string | undefined;
70
79
  configurationId: string;
@@ -1 +1 @@
1
- import{createSelector as e}from"@salsita-ai/common/utils";let c=e=>Error(`Cannot read ${e} access info because valid access is not loaded. Access info is written by the ${e} lifecycle after token validation. Move this read into the loaded ${e} lifecycle.`),i=e=>({accessInfo:e,configurationId:e.configurationId});export const requireAccessService=(e,i)=>{if(null===i)throw c(e);return i};export const createAccessInfoSelectors=n=>{let{getState:o,overridesSelectors:r}=n,s=e.withTypes(),t=s([s.leaf(e=>e.access.configuratorAccessInfo)],e=>e),a=s([s.leaf(e=>e.access.adminAccessInfo)],e=>e),l=s([t],e=>{if(null===e)throw c("configurator");return e}),f=s([a],e=>{if(null===e)throw c("admin");return e}),u=s([t,r.selectAccessService,r.selectAccessLevel],(e,c,n)=>{var o;let r,s,t=c??(null===e?null:i(e));return null===t||null===n?t:(o={configurationId:t.configurationId,...void 0===t.accessInfo.revisionId?{}:{revisionId:t.accessInfo.revisionId},access:n},r=e=>btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),s=`${r({alg:"none",typ:"JWT"})}.${r(o)}.`,{configurationId:t.configurationId,accessInfo:{raw:s,viewMode:"read-revision"===n,revisionId:t.accessInfo.revisionId,configurationId:t.configurationId}})}),d=s([a,r.selectAccessService],(e,c)=>null!==c?c:null===e?null:i(e)),g=s([u],e=>requireAccessService("configurator",e)),I=s([d],e=>requireAccessService("admin",e)),A=s([g],e=>e.configurationId),v=s([I],e=>e.configurationId);return{selectConfiguratorRawAccessInfo:t,selectAdminRawAccessInfo:a,selectConfiguratorAccessInfo:l,selectAdminAccessInfo:f,selectConfiguratorRawAccessService:u,selectAdminRawAccessService:d,selectConfiguratorAccessService:g,selectAdminAccessService:I,selectConfiguratorConfigurationId:A,selectAdminConfigurationId:v,getConfiguratorRawAccessInfo:()=>t(o()),getAdminRawAccessInfo:()=>a(o()),getConfiguratorAccessInfo:()=>l(o()),getAdminAccessInfo:()=>f(o()),getConfiguratorRawAccessService:()=>u(o()),getAdminRawAccessService:()=>d(o()),getConfiguratorAccessService:()=>g(o()),getAdminAccessService:()=>I(o()),getConfiguratorConfigurationId:()=>A(o()),getAdminConfigurationId:()=>v(o())}};
1
+ import{createSelector as e}from"@salsita-ai/common/utils";import{AccessLevel as c}from"@salsita-ai/contracts/api";let i=e=>Error(`Cannot read ${e} access info because valid access is not loaded. Access info is written by the ${e} lifecycle after token validation. Move this read into the loaded ${e} lifecycle.`),n=e=>({accessInfo:e,configurationId:e.configurationId});export const requireAccessService=(e,c)=>{if(null===c)throw i(e);return c};export const createAccessInfoSelectors=o=>{let{getState:r,overridesSelectors:s}=o,t=e.withTypes(),a=t([t.leaf(e=>e.access.configuratorAccessInfo)],e=>e),l=t([t.leaf(e=>e.access.adminAccessInfo)],e=>e),f=t([a],e=>{if(null===e)throw i("configurator");return e}),u=t([l],e=>{if(null===e)throw i("admin");return e}),d=t([a,s.selectAccessService,s.selectAccessLevel],(e,i,o)=>{var r;let s,t,a=i??(null===e?null:n(e));return null===a||null===o?a:(r={configurationId:a.configurationId,...void 0===a.accessInfo.revisionId?{}:{revisionId:a.accessInfo.revisionId},access:o},s=e=>btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),t=`${s({alg:"none",typ:"JWT"})}.${s(r)}.`,{configurationId:a.configurationId,accessInfo:{raw:t,access:"owner"===o?c.Owner:"read-revision"===o?c.ReadRevision:c.Read,viewMode:"read-revision"===o,revisionId:a.accessInfo.revisionId,configurationId:a.configurationId}})}),g=t([l,s.selectAccessService],(e,c)=>null!==c?c:null===e?null:n(e)),I=t([d],e=>requireAccessService("configurator",e)),v=t([g],e=>requireAccessService("admin",e)),A=t([I],e=>e.configurationId),m=t([v],e=>e.configurationId);return{selectConfiguratorRawAccessInfo:a,selectAdminRawAccessInfo:l,selectConfiguratorAccessInfo:f,selectAdminAccessInfo:u,selectConfiguratorRawAccessService:d,selectAdminRawAccessService:g,selectConfiguratorAccessService:I,selectAdminAccessService:v,selectConfiguratorConfigurationId:A,selectAdminConfigurationId:m,getConfiguratorRawAccessInfo:()=>a(r()),getAdminRawAccessInfo:()=>l(r()),getConfiguratorAccessInfo:()=>f(r()),getAdminAccessInfo:()=>u(r()),getConfiguratorRawAccessService:()=>d(r()),getAdminRawAccessService:()=>g(r()),getConfiguratorAccessService:()=>I(r()),getAdminAccessService:()=>v(r()),getConfiguratorConfigurationId:()=>A(r()),getAdminConfigurationId:()=>m(r())}};
@@ -1,5 +1,7 @@
1
+ import { AccessLevel } from '@salsita-ai/contracts/api';
1
2
  export declare const decodeAccessInfo: (accessToken: string, configurationId: string) => {
2
3
  raw: string;
4
+ access: AccessLevel;
3
5
  viewMode: boolean;
4
6
  revisionId: string | undefined;
5
7
  configurationId: string;
@@ -1 +1 @@
1
- import{jwtDecode as o}from"jwt-decode";import{AccessLevel as e}from"@salsita-ai/contracts/api";export const decodeAccessInfo=(i,r)=>{try{let n=o(i),t=n.exp;if(void 0!==t&&t<Date.now()/1e3||n.configurationId!==r)return null;return{raw:i,viewMode:n.access===e.ReadRevision,revisionId:n.revisionId,configurationId:n.configurationId}}catch(o){return null}};
1
+ import{jwtDecode as e}from"jwt-decode";import{AccessLevel as o}from"@salsita-ai/contracts/api";export const decodeAccessInfo=(i,r)=>{try{let c=e(i),n=c.exp;if(void 0!==n&&n<Date.now()/1e3||c.configurationId!==r)return null;return{raw:i,access:c.access,viewMode:c.access===o.ReadRevision,revisionId:c.revisionId,configurationId:c.configurationId}}catch(e){return null}};
@@ -0,0 +1,39 @@
1
+ import type { AnyApplicationConfig, DefaultEnvs } from '../application/index.js';
2
+ import type { PersistenceConfig } from './environment/index.js';
3
+ import { type ApplicationSpec } from './spec/index.js';
4
+ /**
5
+ * The environment an application runs in, before the runtime resolves it: the values of the
6
+ * phoenix runtime config (`defaultEnvs`), and the deployment id, the development flag and the
7
+ * persistence when the host sets them explicitly.
8
+ */
9
+ interface ApplicationEnvironmentInput {
10
+ readonly defaultEnvs?: DefaultEnvs | undefined;
11
+ readonly deploymentId?: string | undefined;
12
+ readonly isDev?: boolean | undefined;
13
+ readonly persistence?: PersistenceConfig | undefined;
14
+ }
15
+ /**
16
+ * An application ready to run: the spec slice of the domain runtime, the environment it runs in,
17
+ * the services it uses (i18n, and a logger, analytics or admin integration a host provides) and the
18
+ * tag of the web component it mounts as.
19
+ *
20
+ * `createApplication` of `@salsita-ai/sdk/application-spec` builds one from an
21
+ * application's runtime spec and its project modules, without a builder or an `ApplicationConfig`.
22
+ * `TYPES` is the project's types; no value carries it at run time.
23
+ */
24
+ export interface Application<TYPES = unknown> {
25
+ readonly spec: ApplicationSpec;
26
+ readonly environment: ApplicationEnvironmentInput;
27
+ readonly services: NonNullable<AnyApplicationConfig['services']>;
28
+ readonly tag: string;
29
+ /** Never set: it carries `TYPES` to the functions that take the application. */
30
+ readonly '~types'?: TYPES;
31
+ }
32
+ /**
33
+ * Converts the config of a project built with `ConfiguratorBuilder` to the application a runtime
34
+ * starts from. It checks the project's files (`initializeSpec`) and throws every mistake together,
35
+ * so a host converts it where it shows a failed start: a mount when an element starts, the domain
36
+ * runtime when it initializes.
37
+ */
38
+ export declare const applicationFromConfig: (config: AnyApplicationConfig) => Application;
39
+ export {};
@@ -0,0 +1 @@
1
+ import{initializeSpec as e}from"./spec/index.js";export const applicationFromConfig=s=>({spec:e(s),environment:{defaultEnvs:s.defaultEnvs,deploymentId:s.deploymentId,isDev:s.isDev,persistence:s.persistence},services:s.services??{},tag:s.mount.tag});
@@ -1,4 +1,4 @@
1
- import { type AnyDomain, type AnyDomainFactory, type DomainComponentOptic, type DomainEntity, type DomainMode, type SystemComponentTypeConstraint } from '../../core/index.js';
1
+ import { type AnyDomain, type AnyDomainFactory, type DomainComponentOptic, type DomainMode, type SystemComponentTypeConstraint } from '../../core/index.js';
2
2
  import { type AnyActionSystem, type AnyDimensionSystem, type AnyDomainContextSystems, type AnyNavigationSystem, type AnyRecipeCookerSystem, type AnyStoreSystem, type AnyUndoSystem } from '../../domain-context/index.js';
3
3
  import { type AnyBlenderProjections, type AnyCollisionProjections, type AnyCompositionProjections, type AnyConstraintProjections, type AnyPositionProjections, type AnyProjectedEntitiesProjections, type AnySnappingProjections, type AnyValidationProjections } from '../../projections/index.js';
4
4
  import { type AnySketchingProjections } from '../../sketching/sketching-projections.js';
@@ -15,17 +15,18 @@ import { type AnyComponentReader } from './component-reader.js';
15
15
  import { DomainContext } from './domain-context.js';
16
16
  import type { AnyExpressionContext } from './expression-context.js';
17
17
  import type { ApplicationDomainContextState, DomainApplicationType, DomainContextInitializationContext, DomainContextInitializationIdentity, DomainContextInitializationState, InitializableSystem, SchemaCoherence } from './types.js';
18
- type ComponentOptic<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>> = DomainComponentOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ENTITIES, SystemComponentTypeConstraint>;
18
+ /** A component optic of any project, for any component type. */
19
+ type ComponentOptic = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
19
20
  /**
20
21
  * Lookup indexes derived from the current component optics. The component reader and the
21
22
  * component write systems share this representation so a runtime optic update is observed
22
23
  * consistently across reads and writes.
23
24
  */
24
- export interface ComponentReaderIndexes<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>> {
25
- readonly opticMap: ReadonlyMap<ENTITIES['type'], ReadonlyMap<SystemComponentTypeConstraint, ReadonlyMap<string, ComponentOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>>>>;
26
- readonly allComponentTypes: ReadonlyMap<ENTITIES['type'], ReadonlySet<SystemComponentTypeConstraint>>;
27
- readonly allComponentInstanceNames: ReadonlyMap<ENTITIES['type'], ReadonlyMap<SystemComponentTypeConstraint, ReadonlySet<string>>>;
28
- readonly dynamicInstanceNames: ReadonlyMap<ENTITIES['type'], ReadonlyMap<SystemComponentTypeConstraint, readonly string[]>>;
25
+ export interface ComponentReaderIndexes {
26
+ readonly opticMap: ReadonlyMap<string, ReadonlyMap<SystemComponentTypeConstraint, ReadonlyMap<string, ComponentOptic>>>;
27
+ readonly allComponentTypes: ReadonlyMap<string, ReadonlySet<SystemComponentTypeConstraint>>;
28
+ readonly allComponentInstanceNames: ReadonlyMap<string, ReadonlyMap<SystemComponentTypeConstraint, ReadonlySet<string>>>;
29
+ readonly dynamicInstanceNames: ReadonlyMap<string, ReadonlyMap<SystemComponentTypeConstraint, readonly string[]>>;
29
30
  }
30
31
  interface Context {
31
32
  readonly applicationType: DomainApplicationType;
@@ -69,7 +70,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
69
70
  selectAliasMap: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyAliasMap>;
70
71
  selectAllowedRootEntityTypes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyAllowedRootEntityTypes>;
71
72
  selectEntityReflections: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyEntityReflections>;
72
- selectMigrate: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").MigrateFunction<DomainEntity<string>>>;
73
+ selectMigrate: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").MigrateFunction<import("../../index.js").DomainEntity<string>>>;
73
74
  selectLatestMode: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainMode>;
74
75
  selectLatestConfigurationId: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, string | null>;
75
76
  selectLatestSessionContext: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainSessionContext> | import("@salsita-ai/common/utils").Selector<SessionContextSelectorState, DomainSessionContext | null>;
@@ -81,9 +82,9 @@ export declare const createDomainContextSelectors: (context: Context) => {
81
82
  selectIsViewMode: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, boolean>;
82
83
  selectInitializationState: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainContextInitializationState>;
83
84
  selectComponentOptics: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly import("../../index.js").AnyDomainComponentOptic[]>;
84
- selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, ComponentReaderIndexes<any, any, any, any, any>>;
85
+ selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, ComponentReaderIndexes>;
85
86
  selectStoreRuntimeDependencies: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, {
86
- componentReaderIndexes: ComponentReaderIndexes<any, any, any, any, any>;
87
+ componentReaderIndexes: ComponentReaderIndexes;
87
88
  domainExpressions: import("../../index.js").AnyExpressions;
88
89
  allowedRootEntityTypes: import("../../index.js").AnyAllowedRootEntityTypes;
89
90
  }>;
@@ -120,12 +121,13 @@ export declare const createDomainContextSelectors: (context: Context) => {
120
121
  getAliasMap: () => import("../../index.js").AnyAliasMap;
121
122
  getAllowedRootEntityTypes: () => import("../../index.js").AnyAllowedRootEntityTypes;
122
123
  getEntityReflections: () => import("../../index.js").AnyEntityReflections;
123
- getMigrate: () => import("../../index.js").MigrateFunction<DomainEntity<string>>;
124
+ getMigrate: () => import("../../index.js").MigrateFunction<import("../../index.js").DomainEntity<string>>;
124
125
  getActiveMode: () => DomainMode;
125
126
  getIsInitialized: () => boolean;
126
- getComponentReaderIndexes: () => ComponentReaderIndexes<any, any, any, any, any>;
127
+ getIsViewMode: () => boolean;
128
+ getComponentReaderIndexes: () => ComponentReaderIndexes;
127
129
  getStoreRuntimeDependencies: () => {
128
- componentReaderIndexes: ComponentReaderIndexes<any, any, any, any, any>;
130
+ componentReaderIndexes: ComponentReaderIndexes;
129
131
  domainExpressions: import("../../index.js").AnyExpressions;
130
132
  allowedRootEntityTypes: import("../../index.js").AnyAllowedRootEntityTypes;
131
133
  };
@@ -1 +1 @@
1
- import{createSelector as e}from"@salsita-ai/common/utils";import{Domain as t,createInitialDomainState as n}from"../../core/index.js";import{ActionSystem as o,DimensionSystem as i,NavigationSystem as a,RecipeCookerSystem as s,StoreSystem as r,UndoSystem as c}from"../../domain-context/index.js";import{BlenderProjections as l,CollisionProjections as m,CompositionProjections as d,ConstraintProjections as g,PositionProjections as f,ProjectedEntitiesProjections as u,SnappingProjections as p,ValidationProjections as y}from"../../projections/index.js";import{SketchingProjections as w}from"../../sketching/sketching-projections.js";import{requireAccessService as h}from"../access/index.js";import{prepareActionImplementations as S,prepareDomainExpressions as x}from"../spec/index.js";import{ComponentReader as C}from"./component-reader.js";import{DomainContext as D}from"./domain-context.js";let j=e.withTypes(),v=[],I={},P={role:"admin",data:I},M=e=>{if(null!==e)return e;throw Error("Cannot read the session role and data because the domain session context is not set. The session context is written into the domain runtime by the session lifecycle after authentication. Move this read into the loaded session lifecycle.")};export const createDomainContextSelectors=e=>{let{applicationType:A,getState:R,actions:E,specSelectors:T,accessSelectors:b,webComponentSelectors:$,domainDataSelectors:k,sessionContextSelectors:N,domainServicesSelectors:z,environmentSelectors:L,getExtensionSystems:V}=e,B="configurator"===A?T.selectConfiguratorSpec:T.selectAdminSpec,F="configurator"===A?b.selectConfiguratorRawAccessService:b.selectAdminRawAccessService,W=j.leaf(e=>e.domainContext[A]),_=j([W],e=>e.initializationContext),q=j([_],e=>{if(null===e)throw Error(`Domain lifecycle context is not available for ${A}! Read it from an active domain lifecycle.`);return e}),O=j([W],e=>e.executionMode),U=j([W],e=>e.isInitialized),G=j([B],e=>e.factory),H=j([B],e=>e.expressions),J=j([B],e=>e.actions),K=j([B],e=>e.actionImplementations),Q=j([J,K],S),X=j([B],e=>e.$entityReflections),Y=j([H,X],(e,t)=>x({expressions:e,$entityReflections:t})),Z=j([B],e=>e.modelVersion),ee=j([B],e=>e.aliasMap),et=j([B],e=>e.allowedRootEntityTypes),en=j([B],e=>e.entityReflections),eo=j([B],e=>e.migrate),ei=j([O,$.selectReadonly,F],(e,t,n)=>"finalize"===e?"finalize":h(A,n).accessInfo.viewMode||t?"read":"owner"),ea=j([F],e=>e?.configurationId??null),es="configurator"===A?N.selectSessionContext:j([],()=>P),er=j([es],e=>e?.role??null),ec=j([es],e=>e?.data??null),el=j([j.leaf(e=>e.loadedData)],e=>"configurator"===A?e.configuratorLoadedData:e.adminLoadedData),em=j([el],e=>e?.schemaIdentity??null),ed=j([el,G],(e,t)=>{if(null===e)return"coherent";let n=e.schemaIdentity;return void 0===n?"missing-stamp":n===t?"coherent":"schema-mismatch"}),eg=j([ea,er,ec,em,ed],(e,t,n,o,i)=>null===e||null===t||null===n||null===o||"coherent"!==i?null:{configurationId:e,role:t,schemaIdentity:o,sessionData:n}),ef=j([F,$.selectReadonly],(e,t)=>e?.accessInfo.viewMode===!0||t),eu=j([eg,_,U,ef],(e,t,n,o)=>{let i=null!==e&&null!==t&&n&&t.configurationId===e.configurationId&&t.role===e.role&&t.schemaIdentity===e.schemaIdentity&&t.sessionData===e.sessionData;return{identity:e,isCurrent:i,isViewMode:o}}),ep=j([B],e=>e.componentOptics),ey=j([ep],e=>(e=>{let t=new Map,n=new Map,o=new Map,i=new Map;for(let n of e)for(let e of n.entityTypes){let o=t.get(e);o||(o=new Map,t.set(e,o));let a=o.get(n.componentType);if(a||(a=new Map,o.set(n.componentType,a)),a.has(n.instanceName))throw Error(`Component instance ${n.instanceName} already exists for type ${n.componentType.name} in entity ${e}. This is likely a bug in the component definition! InstanceNames must be unique within an entity and component.`);if(a.set(n.instanceName,n),"dynamic"===n.kind){let t=i.get(e);t||(t=new Map,i.set(e,t));let o=t.get(n.componentType)??[],a=o.find(e=>{var t;return t=n.instanceName,e.startsWith(`${t}_`)||t.startsWith(`${e}_`)});if(a)throw Error(`Cannot register dynamic component instance ${n.instanceName} for component ${n.componentType.name} on entity ${e} because it overlaps with dynamic instance ${a}. Rename one dynamic instance so compound names cannot be ambiguous.`);t.set(n.componentType,[...o,n.instanceName])}}for(let[e,i]of t.entries()){n.set(e,new Set(i.keys()));let t=new Map;for(let[n,a]of(o.set(e,t),i.entries()))t.set(n,new Set(a.keys()))}return{opticMap:t,allComponentTypes:n,allComponentInstanceNames:o,dynamicInstanceNames:i}})(e)),ew=j([ey,Y,et],(e,t,n)=>({componentReaderIndexes:e,domainExpressions:t,allowedRootEntityTypes:n})),eh=j([B],e=>e.navigationStates),eS=j([B],e=>e.viewStates),ex="configurator"===A?j([T.selectConfiguratorSpec],e=>e.toolStates):j([],()=>v),eC="configurator"===A?j([T.selectConfiguratorSpec],e=>e.exportStates):j([],()=>v),eD="configurator"===A?j([T.selectConfiguratorSpec],e=>e.createTransformers):j([],()=>void 0),ej=j([el],e=>{if(null===e)throw Error(`Loaded data is not available for ${A}! Loaded data is written after the configuration fetch succeeds and before the domain context initialization starts.`);return e}),ev=j([ej,G],(e,t)=>n(t.validateAndMigrateState(e.initialEntities,e.modelVersion),e.rootEntityType)),eI="configurator"===A?k.selectConfiguratorFrontendData:k.selectAdminFrontendData,eP="configurator"===A?k.selectConfiguratorBackendData:k.selectAdminBackendData,eM="configurator"===A?k.selectConfiguratorPublishedData:k.selectAdminPublishedData,eA="configurator"===A?j([N.selectSessionContext],e=>M(e).role):j([],()=>"admin"),eR="configurator"===A?j([N.selectSessionContext],e=>M(e).data):j([],()=>I),eE=j([ea,ei,eA,eR,ej],(e,t,n,o,i)=>({configurationId:e,mode:t,role:n,schemaIdentity:i.schemaIdentity,sessionData:o})),eT=j([q],e=>e.mode),eb=j([q],e=>{let t=e.configurationId;if(null===t)throw Error(`Configuration id is not available for ${A}! Read it from an active interactive domain lifecycle.`);return t}),e$=j([q],e=>e.role),ek=j([q],e=>e.sessionData),eN=j([eT,e$,ek,eI,eP,eM,eo],(e,t,n,o,i,a,s)=>({mode:e,role:t,sessionData:n,frontendData:o,backendData:i,publishedData:a,migrate:s,domain:eL,componentReader:eV,positionProjections:eq,sketchingProjections:e_,collisionProjections:eO,constraintProjections:eG,snappingProjections:eU,projectedEntitiesProjections:eH})),ez={selectApplicationSpec:B,selectRawAccessService:F,selectDomainContextState:W,selectInitializationContext:_,selectActiveInitializationContext:q,selectExecutionMode:O,selectIsInitialized:U,selectFactory:G,selectSpecExpressions:H,select$SpecEntityReflections:X,selectDomainExpressions:Y,selectModelVersion:Z,selectAliasMap:ee,selectAllowedRootEntityTypes:et,selectEntityReflections:en,selectMigrate:eo,selectLatestMode:ei,selectLatestConfigurationId:ea,selectLatestSessionContext:es,selectLatestRoleOrNull:er,selectLatestSessionDataOrNull:ec,selectLatestSchemaIdentity:em,selectSchemaCoherence:ed,selectInitializationIdentity:eg,selectIsViewMode:ef,selectInitializationState:eu,selectComponentOptics:ep,selectComponentReaderIndexes:ey,selectStoreRuntimeDependencies:ew,selectNavigationStates:eh,selectViewStates:eS,selectToolStates:ex,selectExportStates:eC,selectCreateTransformers:eD,selectLatestLoadedData:el,selectLoadedData:ej,selectInitialDomainState:ev,selectFrontendData:eI,selectBackendData:eP,selectPublishedData:eM,selectLatestRole:eA,selectLatestSessionData:eR,selectNextInitializationContext:eE,selectActiveMode:eT,selectActiveConfigurationId:eb,selectActiveRole:e$,selectActiveSessionData:ek,selectExpressionContext:eN,getInitializationContext:()=>_(R()),getInitializationState:()=>eu(R()),getNextInitializationContext:()=>eE(R()),getLatestLoadedData:()=>el(R()),getSchemaCoherence:()=>ed(R()),getActiveConfigurationId:()=>eb(R()),getFactory:()=>G(R()),getDomainExpressions:()=>Y(R()),getActionDefinitions:()=>J(R()),getActionImplementations:()=>Q(R()),getModelVersion:()=>Z(R()),getAliasMap:()=>ee(R()),getAllowedRootEntityTypes:()=>et(R()),getEntityReflections:()=>en(R()),getMigrate:()=>eo(R()),getActiveMode:()=>eT(R()),getIsInitialized:()=>U(R()),getComponentReaderIndexes:()=>ey(R()),getStoreRuntimeDependencies:()=>ew(R()),getNavigationStates:()=>eh(R()),getViewStates:()=>eS(R()),getToolStates:()=>ex(R()),getExportStates:()=>eC(R()),getCreateTransformers:()=>eD(R()),getLoadedData:()=>ej(R()),getInitialDomainState:()=>ev(R()),getFrontendData:()=>eI(R()),getBackendData:()=>eP(R()),getPublishedData:()=>eM(R()),getActiveRole:()=>e$(R()),getActiveSessionData:()=>ek(R()),getDomain:()=>eL,getComponentReader:()=>eV,getCompositionProjections:()=>eB,getDimensionSystem:()=>eF,getValidationProjections:()=>eW,getSketchingProjections:()=>e_,getPositionProjections:()=>eq,getCollisionProjections:()=>eO,getSnappingProjections:()=>eU,getConstraintProjections:()=>eG,getProjectedEntitiesProjections:()=>eH,getStoreSystem:()=>eJ,getNavigationSystem:()=>eK,getUndoSystem:()=>eQ,getRecipeCookerSystem:()=>eX,getActionSystem:()=>eY,getBlenderProjections:()=>eZ,getExpressionContext:()=>eN(R()),getDomainSystems:function(){return e0},getDomainContext:function(){return e1}},eL=new t({selectors:ez}),eV=new C({selectors:ez}),eB=new d({selectors:ez}),eF=new i({selectors:ez}),eW=new y({selectors:ez}),e_=new w({selectors:ez}),eq=new f({selectors:ez}),eO=new m({selectors:ez}),eU=new p({selectors:ez}),eG=new g({selectors:ez}),eH=new u({selectors:ez}),eJ=new r({selectors:ez,domainServicesSelectors:z,environmentSelectors:L}),eK=new a({selectors:ez,domainServicesSelectors:z}),eQ=new c({selectors:ez}),eX=new s({selectors:ez}),eY=new o({selectors:ez}),eZ=new l({selectors:ez,domainServicesSelectors:z}),e0={domainContextSelectors:ez,domain:eL,componentReader:eV,compositionProjections:eB,blenderProjections:eZ,validationProjections:eW,storeSystem:eJ,navigationSystem:eK,dimensionSystem:eF,undoSystem:eQ,recipeCooker:eX,actionSystem:eY,sketchingProjections:e_,collisionProjections:eO,positionProjections:eq,snappingProjections:eU,projectedEntitiesProjections:eH,constraintProjections:eG},e1=new D({selectors:ez,actions:E,getExtensionSystems:V});return ez};
1
+ import{createSelector as e}from"@salsita-ai/common/utils";import{Domain as t,createInitialDomainState as n}from"../../core/index.js";import{ActionSystem as o,DimensionSystem as i,NavigationSystem as a,RecipeCookerSystem as s,StoreSystem as r,UndoSystem as c}from"../../domain-context/index.js";import{BlenderProjections as l,CollisionProjections as d,CompositionProjections as m,ConstraintProjections as g,PositionProjections as f,ProjectedEntitiesProjections as u,SnappingProjections as p,ValidationProjections as y}from"../../projections/index.js";import{SketchingProjections as w}from"../../sketching/sketching-projections.js";import{requireAccessService as h}from"../access/index.js";import{prepareActionImplementations as S,prepareDomainExpressions as x}from"../spec/index.js";import{ComponentReader as C}from"./component-reader.js";import{DomainContext as D}from"./domain-context.js";let j=e.withTypes(),I=[],v={},P={role:"admin",data:v},M=e=>{if(null!==e)return e;throw Error("Cannot read the session role and data because the domain session context is not set. The session context is written into the domain runtime by the session lifecycle after authentication. Move this read into the loaded session lifecycle.")};export const createDomainContextSelectors=e=>{let{applicationType:A,getState:R,actions:E,specSelectors:T,accessSelectors:b,webComponentSelectors:$,domainDataSelectors:k,sessionContextSelectors:N,domainServicesSelectors:z,environmentSelectors:L,getExtensionSystems:V}=e,B="configurator"===A?T.selectConfiguratorSpec:T.selectAdminSpec,F="configurator"===A?b.selectConfiguratorRawAccessService:b.selectAdminRawAccessService,W=j.leaf(e=>e.domainContext[A]),_=j([W],e=>e.initializationContext),q=j([_],e=>{if(null===e)throw Error(`Domain lifecycle context is not available for ${A}! Read it from an active domain lifecycle.`);return e}),O=j([W],e=>e.executionMode),U=j([W],e=>e.isInitialized),G=j([B],e=>e.factory),H=j([B],e=>e.expressions),J=j([B],e=>e.actions),K=j([B],e=>e.actionImplementations),Q=j([J,K],S),X=j([B],e=>e.$entityReflections),Y=j([H,X],(e,t)=>x({expressions:e,$entityReflections:t})),Z=j([B],e=>e.modelVersion),ee=j([B],e=>e.aliasMap),et=j([B],e=>e.allowedRootEntityTypes),en=j([B],e=>e.entityReflections),eo=j([B],e=>e.migrate),ei=j([O,$.selectReadonly,F],(e,t,n)=>"finalize"===e?"finalize":h(A,n).accessInfo.viewMode||t?"read":"owner"),ea=j([F],e=>e?.configurationId??null),es="configurator"===A?N.selectSessionContext:j([],()=>P),er=j([es],e=>e?.role??null),ec=j([es],e=>e?.data??null),el=j([j.leaf(e=>e.loadedData)],e=>"configurator"===A?e.configuratorLoadedData:e.adminLoadedData),ed=j([el],e=>e?.schemaIdentity??null),em=j([el,G],(e,t)=>{if(null===e)return"coherent";let n=e.schemaIdentity;return void 0===n?"missing-stamp":n===t?"coherent":"schema-mismatch"}),eg=j([ea,er,ec,ed,em,F],(e,t,n,o,i,a)=>null===e||null===a||null===t||null===n||null===o||"coherent"!==i?null:{access:a.accessInfo.access,configurationId:e,role:t,schemaIdentity:o,sessionData:n}),ef=j([F,$.selectReadonly],(e,t)=>e?.accessInfo.viewMode===!0||t),eu=j([eg,_,U,ef],(e,t,n,o)=>{let i=null!==e&&null!==t&&n&&t.access===e.access&&t.configurationId===e.configurationId&&t.role===e.role&&t.schemaIdentity===e.schemaIdentity&&t.sessionData===e.sessionData;return{identity:e,isCurrent:i,isViewMode:o}}),ep=j([B],e=>e.componentOptics),ey=j([ep],e=>(e=>{let t=new Map,n=new Map,o=new Map,i=new Map;for(let n of e)for(let e of n.entityTypes){let o=t.get(e);o||(o=new Map,t.set(e,o));let a=o.get(n.componentType);if(a||(a=new Map,o.set(n.componentType,a)),a.has(n.instanceName))throw Error(`Component instance ${n.instanceName} already exists for type ${n.componentType.name} in entity ${e}. This is likely a bug in the component definition! InstanceNames must be unique within an entity and component.`);if(a.set(n.instanceName,n),"dynamic"===n.kind){let t=i.get(e);t||(t=new Map,i.set(e,t));let o=t.get(n.componentType)??[],a=o.find(e=>{var t;return t=n.instanceName,e.startsWith(`${t}_`)||t.startsWith(`${e}_`)});if(a)throw Error(`Cannot register dynamic component instance ${n.instanceName} for component ${n.componentType.name} on entity ${e} because it overlaps with dynamic instance ${a}. Rename one dynamic instance so compound names cannot be ambiguous.`);t.set(n.componentType,[...o,n.instanceName])}}for(let[e,i]of t.entries()){n.set(e,new Set(i.keys()));let t=new Map;for(let[n,a]of(o.set(e,t),i.entries()))t.set(n,new Set(a.keys()))}return{opticMap:t,allComponentTypes:n,allComponentInstanceNames:o,dynamicInstanceNames:i}})(e)),ew=j([ey,Y,et],(e,t,n)=>({componentReaderIndexes:e,domainExpressions:t,allowedRootEntityTypes:n})),eh=j([B],e=>e.navigationStates),eS=j([B],e=>e.viewStates),ex="configurator"===A?j([T.selectConfiguratorSpec],e=>e.toolStates):j([],()=>I),eC="configurator"===A?j([T.selectConfiguratorSpec],e=>e.exportStates):j([],()=>I),eD="configurator"===A?j([T.selectConfiguratorSpec],e=>e.createTransformers):j([],()=>void 0),ej=j([el],e=>{if(null===e)throw Error(`Loaded data is not available for ${A}! Loaded data is written after the configuration fetch succeeds and before the domain context initialization starts.`);return e}),eI=j([ej,G],(e,t)=>n(t.validateAndMigrateState(e.initialEntities,e.modelVersion),e.rootEntityType)),ev="configurator"===A?k.selectConfiguratorFrontendData:k.selectAdminFrontendData,eP="configurator"===A?k.selectConfiguratorBackendData:k.selectAdminBackendData,eM="configurator"===A?k.selectConfiguratorPublishedData:k.selectAdminPublishedData,eA="configurator"===A?j([N.selectSessionContext],e=>M(e).role):j([],()=>"admin"),eR="configurator"===A?j([N.selectSessionContext],e=>M(e).data):j([],()=>v),eE=j([ea,ei,eA,eR,ej,F],(e,t,n,o,i,a)=>({access:a?.accessInfo.access??null,configurationId:e,mode:t,role:n,schemaIdentity:i.schemaIdentity,sessionData:o})),eT=j([q],e=>e.mode),eb=j([q],e=>{let t=e.configurationId;if(null===t)throw Error(`Configuration id is not available for ${A}! Read it from an active interactive domain lifecycle.`);return t}),e$=j([q],e=>e.role),ek=j([q],e=>e.sessionData),eN=j([eT,e$,ek,ev,eP,eM,eo],(e,t,n,o,i,a,s)=>({mode:e,role:t,sessionData:n,frontendData:o,backendData:i,publishedData:a,migrate:s,domain:eL,componentReader:eV,positionProjections:eq,sketchingProjections:e_,collisionProjections:eO,constraintProjections:eG,snappingProjections:eU,projectedEntitiesProjections:eH})),ez={selectApplicationSpec:B,selectRawAccessService:F,selectDomainContextState:W,selectInitializationContext:_,selectActiveInitializationContext:q,selectExecutionMode:O,selectIsInitialized:U,selectFactory:G,selectSpecExpressions:H,select$SpecEntityReflections:X,selectDomainExpressions:Y,selectModelVersion:Z,selectAliasMap:ee,selectAllowedRootEntityTypes:et,selectEntityReflections:en,selectMigrate:eo,selectLatestMode:ei,selectLatestConfigurationId:ea,selectLatestSessionContext:es,selectLatestRoleOrNull:er,selectLatestSessionDataOrNull:ec,selectLatestSchemaIdentity:ed,selectSchemaCoherence:em,selectInitializationIdentity:eg,selectIsViewMode:ef,selectInitializationState:eu,selectComponentOptics:ep,selectComponentReaderIndexes:ey,selectStoreRuntimeDependencies:ew,selectNavigationStates:eh,selectViewStates:eS,selectToolStates:ex,selectExportStates:eC,selectCreateTransformers:eD,selectLatestLoadedData:el,selectLoadedData:ej,selectInitialDomainState:eI,selectFrontendData:ev,selectBackendData:eP,selectPublishedData:eM,selectLatestRole:eA,selectLatestSessionData:eR,selectNextInitializationContext:eE,selectActiveMode:eT,selectActiveConfigurationId:eb,selectActiveRole:e$,selectActiveSessionData:ek,selectExpressionContext:eN,getInitializationContext:()=>_(R()),getInitializationState:()=>eu(R()),getNextInitializationContext:()=>eE(R()),getLatestLoadedData:()=>el(R()),getSchemaCoherence:()=>em(R()),getActiveConfigurationId:()=>eb(R()),getFactory:()=>G(R()),getDomainExpressions:()=>Y(R()),getActionDefinitions:()=>J(R()),getActionImplementations:()=>Q(R()),getModelVersion:()=>Z(R()),getAliasMap:()=>ee(R()),getAllowedRootEntityTypes:()=>et(R()),getEntityReflections:()=>en(R()),getMigrate:()=>eo(R()),getActiveMode:()=>eT(R()),getIsInitialized:()=>U(R()),getIsViewMode:()=>ef(R()),getComponentReaderIndexes:()=>ey(R()),getStoreRuntimeDependencies:()=>ew(R()),getNavigationStates:()=>eh(R()),getViewStates:()=>eS(R()),getToolStates:()=>ex(R()),getExportStates:()=>eC(R()),getCreateTransformers:()=>eD(R()),getLoadedData:()=>ej(R()),getInitialDomainState:()=>eI(R()),getFrontendData:()=>ev(R()),getBackendData:()=>eP(R()),getPublishedData:()=>eM(R()),getActiveRole:()=>e$(R()),getActiveSessionData:()=>ek(R()),getDomain:()=>eL,getComponentReader:()=>eV,getCompositionProjections:()=>eB,getDimensionSystem:()=>eF,getValidationProjections:()=>eW,getSketchingProjections:()=>e_,getPositionProjections:()=>eq,getCollisionProjections:()=>eO,getSnappingProjections:()=>eU,getConstraintProjections:()=>eG,getProjectedEntitiesProjections:()=>eH,getStoreSystem:()=>eJ,getNavigationSystem:()=>eK,getUndoSystem:()=>eQ,getRecipeCookerSystem:()=>eX,getActionSystem:()=>eY,getBlenderProjections:()=>eZ,getExpressionContext:()=>eN(R()),getDomainSystems:function(){return e0},getDomainContext:function(){return e1}},eL=new t({selectors:ez}),eV=new C({selectors:ez}),eB=new m({selectors:ez}),eF=new i({selectors:ez}),eW=new y({selectors:ez}),e_=new w({selectors:ez}),eq=new f({selectors:ez}),eO=new d({selectors:ez}),eU=new p({selectors:ez}),eG=new g({selectors:ez}),eH=new u({selectors:ez}),eJ=new r({selectors:ez,domainServicesSelectors:z,environmentSelectors:L}),eK=new a({selectors:ez,domainServicesSelectors:z}),eQ=new c({selectors:ez}),eX=new s({selectors:ez}),eY=new o({selectors:ez}),eZ=new l({selectors:ez,domainServicesSelectors:z}),e0={domainContextSelectors:ez,domain:eL,componentReader:eV,compositionProjections:eB,blenderProjections:eZ,validationProjections:eW,storeSystem:eJ,navigationSystem:eK,dimensionSystem:eF,undoSystem:eQ,recipeCooker:eX,actionSystem:eY,sketchingProjections:e_,collisionProjections:eO,positionProjections:eq,snappingProjections:eU,projectedEntitiesProjections:eH,constraintProjections:eG},e1=new D({selectors:ez,actions:E,getExtensionSystems:V});return ez};
@@ -1,4 +1,4 @@
1
- import type { SessionRole } from '@salsita-ai/contracts/api';
1
+ import type { AccessLevel, SessionRole } from '@salsita-ai/contracts/api';
2
2
  import type { AnyDomainFactory, DomainMode } from '../../core/index.js';
3
3
  /** A retained system that refreshes its configuration-owned state on every initialization. */
4
4
  export interface InitializableSystem {
@@ -26,6 +26,7 @@ export type DomainExecutionMode = 'interactive' | 'finalize';
26
26
  export type SchemaCoherence = 'coherent' | 'schema-mismatch' | 'missing-stamp';
27
27
  /** Runtime inputs that identify the interactive configuration rendered by a lifecycle host. */
28
28
  export interface DomainContextInitializationIdentity {
29
+ readonly access: AccessLevel;
29
30
  readonly configurationId: string;
30
31
  readonly role: SessionRole;
31
32
  readonly schemaIdentity: AnyDomainFactory;
@@ -33,6 +34,8 @@ export interface DomainContextInitializationIdentity {
33
34
  }
34
35
  /** Inputs captured by the latest successful domain-context initialization. */
35
36
  export interface DomainContextInitializationContext {
37
+ /** Token access captured with the session inputs; finalization has no interactive access. */
38
+ readonly access: AccessLevel | null;
36
39
  /** Finalization has no interactive access and therefore no configuration id. */
37
40
  readonly configurationId: string | null;
38
41
  readonly mode: DomainMode;