@salsita-ai/sdk 0.50.0-develop.97a772d197 → 0.50.0-develop.996c9540be

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 (890) hide show
  1. package/README.md +13 -12
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +11 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +14 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  39. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  40. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +17 -5
  41. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  42. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  43. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  44. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  45. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  46. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  47. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  48. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  49. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  50. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  51. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  52. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  53. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  55. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  57. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  58. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  59. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  60. package/dist/application-spec/generate-application/code/templates/gitignore.js +1 -2
  61. package/dist/application-spec/generate-application/code/templates/globals.js +3 -3
  62. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -8
  63. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  66. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  68. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  69. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  70. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  71. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +24 -18
  72. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  73. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  74. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  75. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  76. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  77. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  78. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  79. package/dist/application-spec/generate-application/index.d.ts +2 -0
  80. package/dist/application-spec/generate-application/index.js +1 -1
  81. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +6 -2
  82. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  83. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -3
  84. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  85. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +5 -3
  86. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  87. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  88. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  89. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  90. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  91. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  92. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  93. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  94. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  95. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  96. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  97. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  98. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  99. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  100. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  101. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  102. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  103. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  104. package/dist/application-spec/index.d.ts +1 -0
  105. package/dist/application-spec/index.js +1 -1
  106. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +16 -0
  107. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  108. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  109. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  110. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  111. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  112. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  113. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  114. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  115. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  116. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  117. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  118. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  119. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  120. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  121. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +4 -0
  122. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  123. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  124. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  125. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  126. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  127. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  128. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  129. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  130. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  131. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  132. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  133. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  134. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  135. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  136. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  137. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  138. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  139. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  140. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  141. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  142. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  143. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  144. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  145. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  146. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  147. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +3 -0
  148. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  149. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +4 -4
  150. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  151. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  152. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  153. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  154. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  155. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  156. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  157. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  158. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  159. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  160. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  161. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  162. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  163. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  164. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  165. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  166. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  167. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  168. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  169. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  170. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  171. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  172. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  173. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  174. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  175. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  176. package/dist/client/authorized-client.d.ts +3 -1
  177. package/dist/client/authorized-client.js +1 -1
  178. package/dist/client/contract.d.ts +34 -0
  179. package/dist/client/contract.js +1 -1
  180. package/dist/client/index.d.ts +2 -2
  181. package/dist/client/index.js +1 -1
  182. package/dist/client/local-authorized-client.d.ts +3 -1
  183. package/dist/client/local-authorized-client.js +1 -1
  184. package/dist/client/memory-authorized-client.d.ts +3 -1
  185. package/dist/client/memory-authorized-client.js +1 -1
  186. package/dist/client/phoenix-api.d.ts +797 -121
  187. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  188. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  189. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  190. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +120 -2
  191. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  192. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  193. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  194. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  195. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  196. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  197. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  198. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  199. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  200. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  201. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  202. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  203. package/dist/configurator/common/configurator-interface.js +1 -1
  204. package/dist/configurator/common/frontend-analytics.d.ts +2 -0
  205. package/dist/configurator/common/frontend-analytics.js +1 -1
  206. package/dist/configurator/common/index.d.ts +2 -0
  207. package/dist/configurator/common/index.js +1 -1
  208. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  209. package/dist/configurator/common/use-finalize-action.js +1 -0
  210. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  211. package/dist/configurator/common/use-reset-camera.js +1 -0
  212. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  213. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  214. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  215. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  216. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  217. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  218. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -0
  219. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  220. package/dist/configurator/pages/index.d.ts +1 -0
  221. package/dist/configurator/pages/index.js +1 -1
  222. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  223. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  224. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  225. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  226. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  227. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  228. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  229. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  230. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  231. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  232. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  233. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  234. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  235. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  236. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  237. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  238. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  239. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  240. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  241. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  242. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  243. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  244. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  245. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  246. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  247. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  248. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  249. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  250. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  251. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  252. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  253. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  254. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  255. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  256. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  257. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  258. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  259. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  260. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  261. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  262. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  263. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  264. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  265. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  266. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  267. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  268. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  269. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  270. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  271. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  272. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  273. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  274. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  275. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  276. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  277. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  278. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  279. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  280. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  281. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  282. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  283. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  284. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  285. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  286. package/dist/docs/index.json +42 -1
  287. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  288. package/dist/docs/layouts/custom-layout.mdx +2125 -0
  289. package/dist/docs/layouts/header/fixed.mdx +2 -2
  290. package/dist/docs/layouts/header/floating.mdx +2 -2
  291. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  292. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  293. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  294. package/dist/docs/other-features/side-effects.mdx +8 -11
  295. package/dist/docs/other-features/transformers.mdx +4 -0
  296. package/dist/docs/other-features/violation-messages.mdx +52 -56
  297. package/dist/docs/phoenix/application-states.mdx +9 -7
  298. package/dist/docs/phoenix/components.mdx +6 -0
  299. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  300. package/dist/docs/phoenix/deployments.mdx +2 -6
  301. package/dist/docs/phoenix/domain-model.mdx +4 -0
  302. package/dist/docs/phoenix/expression-context.mdx +11 -3
  303. package/dist/docs/phoenix/finalization.mdx +1 -1
  304. package/dist/docs/phoenix/getting-started.mdx +2 -1
  305. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  306. package/dist/docs/phoenix/localization.mdx +4 -4
  307. package/dist/docs/phoenix/migration-guide.mdx +19 -8
  308. package/dist/docs/phoenix/phoenix-cli.mdx +66 -34
  309. package/dist/docs/phoenix/project-structure.mdx +38 -16
  310. package/dist/docs/phoenix/quickstart.mdx +2 -2
  311. package/dist/docs/phoenix/sdk-builder-workflow.mdx +3 -3
  312. package/dist/docs/phoenix/testing.mdx +140 -0
  313. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  314. package/dist/docs/phoenix/webhooks.mdx +23 -6
  315. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  316. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  317. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  318. package/dist/domain/admin-domain/index.d.ts +7 -2
  319. package/dist/domain/admin-domain/index.js +1 -1
  320. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  321. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  322. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  323. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  324. package/dist/domain/application/application-config.d.ts +9 -26
  325. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  326. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  327. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  328. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  329. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  330. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  331. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  332. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  333. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  334. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  335. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  336. package/dist/domain/application/assistant/index.d.ts +6 -1
  337. package/dist/domain/application/assistant/index.js +1 -1
  338. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  339. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  340. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  341. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  342. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  343. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  344. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  345. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  346. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  347. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  348. package/dist/domain/application/assistant-mutations.d.ts +2 -1
  349. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  350. package/dist/domain/application/configurator-builder.d.ts +5 -2
  351. package/dist/domain/application/configurator-builder.js +1 -1
  352. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  353. package/dist/domain/application/index.d.ts +1 -5
  354. package/dist/domain/application/index.js +1 -1
  355. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  356. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  357. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  358. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  359. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  360. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  361. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  362. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  363. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  364. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  365. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  366. package/dist/domain/available-system-components.js +1 -1
  367. package/dist/domain/core/action/action-factory.d.ts +2 -2
  368. package/dist/domain/core/action/action.d.ts +19 -14
  369. package/dist/domain/core/component/domain-component-optic.d.ts +29 -40
  370. package/dist/domain/core/component/domain-component-optic.js +2 -2
  371. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  372. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  373. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  374. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  375. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  376. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  377. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  378. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  379. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  380. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  381. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  382. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  383. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  384. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  385. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  386. package/dist/domain/core/data-schema/data-schema.js +1 -0
  387. package/dist/domain/core/data-schema/index.d.ts +7 -0
  388. package/dist/domain/core/data-schema/index.js +1 -0
  389. package/dist/domain/core/domain.d.ts +2 -2
  390. package/dist/domain/core/emission/index.d.ts +8 -0
  391. package/dist/domain/core/emission/index.js +1 -0
  392. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  393. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  394. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  395. package/dist/domain/core/emission/state-emission.js +1 -0
  396. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  397. package/dist/domain/core/emission/state-update-emission.js +1 -0
  398. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  399. package/dist/domain/core/emission/state-validation-result.js +1 -0
  400. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  401. package/dist/domain/core/emission/transformation-log.js +1 -0
  402. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  403. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  404. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  405. package/dist/domain/core/emission/transformer-log.js +1 -0
  406. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  407. package/dist/domain/core/emission/transformer-phase.js +1 -0
  408. package/dist/domain/core/expression/aliased-expressions.d.ts +2 -2
  409. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  410. package/dist/domain/core/expression/constant-expressions.js +1 -1
  411. package/dist/domain/core/expression/custom-expression.d.ts +20 -7
  412. package/dist/domain/core/expression/custom-expression.js +1 -1
  413. package/dist/domain/core/expression/expression.d.ts +15 -17
  414. package/dist/domain/core/index.d.ts +2 -0
  415. package/dist/domain/core/invariant/custom-invariants.d.ts +8 -16
  416. package/dist/domain/core/invariant/index.d.ts +1 -1
  417. package/dist/domain/core/invariant/index.js +1 -1
  418. package/dist/domain/core/invariant/invariants.d.ts +4 -70
  419. package/dist/domain/core/invariant/invariants.js +1 -1
  420. package/dist/domain/core/invariant/violation.d.ts +51 -3
  421. package/dist/domain/core/invariant/violation.js +1 -1
  422. package/dist/domain/core/model/model.d.ts +1 -1
  423. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  424. package/dist/domain/core/recipe/recipes.js +1 -1
  425. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  426. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  427. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  428. package/dist/domain/core/relation/index.d.ts +0 -1
  429. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  430. package/dist/domain/core/relation/indirect-relation.js +1 -1
  431. package/dist/domain/core/relation/reference-component.d.ts +2 -2
  432. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  433. package/dist/domain/core/relation/relation-factory.js +1 -1
  434. package/dist/domain/core/state/migrations.d.ts +14 -45
  435. package/dist/domain/core/state/migrations.js +1 -1
  436. package/dist/domain/core/state/state.d.ts +1 -1
  437. package/dist/domain/domain-builder.d.ts +1 -1
  438. package/dist/domain/domain-builder.js +1 -1
  439. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  440. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  441. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  442. package/dist/domain/domain-context/action-system/index.js +1 -0
  443. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  444. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  445. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  446. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  447. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  448. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  449. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  450. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  451. package/dist/domain/domain-context/index.d.ts +8 -17
  452. package/dist/domain/domain-context/index.js +1 -1
  453. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  454. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  455. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  456. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  457. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  458. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  459. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  460. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  461. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  462. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  463. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  464. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  465. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  466. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  467. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  468. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  469. package/dist/domain/domain-context/store-system/index.js +1 -0
  470. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  471. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -35
  472. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  473. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  474. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  475. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  476. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  477. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  478. package/dist/domain/domain-context/transformers/context.d.ts +2 -3
  479. package/dist/domain/domain-context/transformers/context.js +1 -1
  480. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  481. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  482. package/dist/domain/domain-context/transformers/index.js +1 -1
  483. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  484. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  485. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  486. package/dist/domain/domain-context/undo-system.js +1 -1
  487. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  488. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  489. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  490. package/dist/domain/domain-runtime/access/types.js +1 -1
  491. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  492. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  493. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  494. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  495. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  496. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  497. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  498. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  499. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +18 -22
  500. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  501. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  502. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  503. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  504. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  505. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  506. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  507. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  508. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  509. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  510. package/dist/domain/domain-runtime/errors/index.js +1 -0
  511. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  512. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  513. package/dist/domain/domain-runtime/index.d.ts +1 -0
  514. package/dist/domain/domain-runtime/index.js +1 -1
  515. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  516. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  517. package/dist/domain/domain-runtime/spec/index.d.ts +2 -0
  518. package/dist/domain/domain-runtime/spec/index.js +1 -1
  519. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  520. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  521. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +2 -2
  522. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  523. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  524. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  525. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  526. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  527. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  528. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  529. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  530. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  531. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  532. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  533. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  534. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  535. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  536. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  537. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  538. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  539. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  540. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  541. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  542. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  543. package/dist/domain/extensions/attribute-switch.js +1 -0
  544. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  545. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +1 -1
  546. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  547. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  548. package/dist/domain/{system-components → extensions}/client-side-image.js +1 -1
  549. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  550. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  551. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  552. package/dist/domain/extensions/common/index.d.ts +4 -0
  553. package/dist/domain/extensions/common/index.js +1 -0
  554. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  555. package/dist/domain/extensions/custom-header.js +1 -0
  556. package/dist/domain/{system-components → extensions}/custom-price-footer.js +1 -1
  557. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  558. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  559. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  560. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  561. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  562. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  563. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  564. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  565. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  566. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  567. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  568. package/dist/domain/extensions/entity-header.js +1 -0
  569. package/dist/domain/{system-components → extensions}/finalize-component.js +1 -1
  570. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  571. package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.js +1 -1
  572. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  573. package/dist/domain/extensions/index.d.ts +69 -0
  574. package/dist/domain/extensions/index.js +1 -0
  575. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  576. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  577. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  578. package/dist/domain/extensions/offset-indicator.js +1 -0
  579. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  580. package/dist/domain/extensions/property-page.js +1 -0
  581. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +1 -1
  582. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  583. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  584. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  585. package/dist/domain/{system-components → extensions}/save-template-thumbnail.js +1 -1
  586. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  587. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  588. package/dist/domain/{system-components → extensions}/scene-entity-animation.js +1 -1
  589. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  590. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  591. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  592. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  593. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  594. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  595. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  596. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  597. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  598. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  599. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  600. package/dist/domain/extensions/sketching-edit.js +1 -0
  601. package/dist/domain/{system-components → extensions}/summary-component.js +1 -1
  602. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  603. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  604. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  605. package/dist/domain/extensions/toolbar.js +1 -0
  606. package/dist/domain/index.d.ts +1 -1
  607. package/dist/domain/index.js +1 -1
  608. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  609. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  610. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  611. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  612. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  613. package/dist/domain/mocks/create-mock-domain.js +1 -1
  614. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  615. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  616. package/dist/domain/mocks/create-test-application-config.js +1 -0
  617. package/dist/domain/mocks/index.d.ts +1 -0
  618. package/dist/domain/mocks/index.js +1 -1
  619. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  620. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  621. package/dist/domain/projections/collision-projections.d.ts +1 -1
  622. package/dist/domain/projections/composition-projections.d.ts +1 -1
  623. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  624. package/dist/domain/projections/index.d.ts +1 -1
  625. package/dist/domain/projections/position-projections.d.ts +1 -1
  626. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  627. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  628. package/dist/domain/projections/validation-projections.d.ts +3 -19
  629. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  630. package/dist/domain/system-components/application-config.d.ts +2 -2
  631. package/dist/domain/system-components/child-entity-selection.js +1 -1
  632. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  633. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  634. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  635. package/dist/domain/system-components/common/index.d.ts +0 -4
  636. package/dist/domain/system-components/common/index.js +1 -1
  637. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  638. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  639. package/dist/domain/system-components/common/recipes.js +1 -1
  640. package/dist/domain/system-components/constraint.d.ts +10 -23
  641. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  642. package/dist/domain/system-components/drag-handle.js +1 -1
  643. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  644. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  645. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  646. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  647. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  648. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  649. package/dist/domain/system-components/index.d.ts +0 -68
  650. package/dist/domain/system-components/index.js +1 -1
  651. package/dist/domain/system-components/material-swatch.js +1 -1
  652. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  653. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  654. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  655. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  656. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  657. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  658. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  659. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  660. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  661. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  662. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  663. package/dist/domain/utils/eval-cache.d.ts +1 -1
  664. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  665. package/dist/domain/utils/memo-eval.d.ts +2 -2
  666. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  667. package/dist/editor/mocks/EditorMockContext.js +1 -1
  668. package/dist/globals/index.d.ts +2 -0
  669. package/dist/i18n/locales/cs/messages.js +1 -1
  670. package/dist/i18n/locales/da/messages.js +1 -1
  671. package/dist/i18n/locales/de/messages.js +1 -1
  672. package/dist/i18n/locales/de-AT/messages.js +1 -1
  673. package/dist/i18n/locales/en/messages.js +1 -1
  674. package/dist/i18n/locales/en-AU/messages.js +1 -1
  675. package/dist/i18n/locales/en-GB/messages.js +1 -1
  676. package/dist/i18n/locales/es/messages.js +1 -1
  677. package/dist/i18n/locales/fr/messages.js +1 -1
  678. package/dist/i18n/locales/hu/messages.js +1 -1
  679. package/dist/i18n/locales/it/messages.js +1 -1
  680. package/dist/i18n/locales/nl/messages.js +1 -1
  681. package/dist/i18n/locales/pl/messages.js +1 -1
  682. package/dist/i18n/locales/pt/messages.js +1 -1
  683. package/dist/i18n/locales/ro/messages.js +1 -1
  684. package/dist/i18n/locales/sk/messages.js +1 -1
  685. package/dist/i18n/locales/tr/messages.js +1 -1
  686. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  687. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  688. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  689. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  690. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  691. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  692. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  693. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  694. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +81 -68
  695. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  696. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  697. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  698. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  699. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  700. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  701. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  702. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -16
  703. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  704. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +13 -11
  705. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  706. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  707. package/dist/phoenix/application-spec/project-files.js +1 -1
  708. package/dist/phoenix/cli.js +1 -1
  709. package/dist/phoenix/commands/check.js +1 -1
  710. package/dist/phoenix/commands/deploy.js +1 -1
  711. package/dist/phoenix/commands/deps/deps.d.ts +52 -0
  712. package/dist/phoenix/commands/deps/deps.js +3 -0
  713. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  714. package/dist/phoenix/commands/deps/index.js +1 -0
  715. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  716. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  717. package/dist/phoenix/commands/dev.js +5 -5
  718. package/dist/phoenix/commands/fix.js +1 -1
  719. package/dist/phoenix/commands/index.d.ts +1 -0
  720. package/dist/phoenix/commands/index.js +1 -1
  721. package/dist/phoenix/commands/init.d.ts +4 -4
  722. package/dist/phoenix/commands/init.js +1 -1
  723. package/dist/phoenix/commands/prettier.js +1 -1
  724. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -0
  725. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  726. package/dist/phoenix/services/source-archive.d.ts +1 -0
  727. package/dist/phoenix/services/source-archive.js +1 -1
  728. package/dist/phoenix/services/swc.js +1 -1
  729. package/dist/phoenix/utils/git/index.d.ts +1 -0
  730. package/dist/phoenix/utils/git/index.js +1 -0
  731. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  732. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  733. package/dist/phoenix/utils/index.d.ts +2 -0
  734. package/dist/phoenix/utils/index.js +1 -1
  735. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  736. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  737. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  738. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  739. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  740. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  741. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  742. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  743. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  744. package/dist/react-sdk/domain-context/index.js +1 -1
  745. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  746. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  747. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  748. package/dist/ui-sdk/theme/types.d.ts +1 -1
  749. package/dist/webhook/builders/common.d.ts +5 -0
  750. package/dist/webhook/builders/webhook-builder.js +1 -1
  751. package/package.json +33 -29
  752. package/schema/domain-spec.json +1115 -209
  753. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  754. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  755. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  756. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  757. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  758. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  759. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  760. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  761. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  762. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  763. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  764. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  765. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  766. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  767. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  768. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  769. package/dist/domain/application/element-registration.js +0 -1
  770. package/dist/domain/application/handler-registration.js +0 -1
  771. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  772. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  773. package/dist/domain/application/resource-builder.d.ts +0 -13
  774. package/dist/domain/application/resource-builder.js +0 -1
  775. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  776. package/dist/domain/project-modules/index.d.ts +0 -1
  777. package/dist/domain/project-modules/index.js +0 -1
  778. package/dist/domain/project-modules/project-modules.js +0 -1
  779. package/dist/domain/system-components/attribute-switch.js +0 -1
  780. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  781. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  782. package/dist/domain/system-components/custom-header.js +0 -1
  783. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  784. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  785. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  786. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  787. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  788. package/dist/domain/system-components/entity-header.js +0 -1
  789. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  790. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  791. package/dist/domain/system-components/offset-indicator.js +0 -1
  792. package/dist/domain/system-components/property-page.js +0 -1
  793. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  794. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  795. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  796. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  797. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  798. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  799. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  800. package/dist/domain/system-components/sketching-edit.js +0 -1
  801. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  802. package/dist/domain/system-components/toolbar.js +0 -1
  803. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  804. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  805. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  806. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  807. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  808. /package/dist/domain/{system-components → extensions}/angle-indicator.js +0 -0
  809. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +0 -0
  810. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.js +0 -0
  811. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  812. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.js +0 -0
  813. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  814. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.js +0 -0
  815. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  816. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.js +0 -0
  817. /package/dist/domain/{system-components → extensions}/canvas-config.js +0 -0
  818. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  819. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.js +0 -0
  820. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  821. /package/dist/domain/{system-components → extensions}/canvas-padding.js +0 -0
  822. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  823. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.js +0 -0
  824. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  825. /package/dist/domain/{system-components → extensions}/color-value.js +0 -0
  826. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  827. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  828. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  829. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  830. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  831. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  832. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  833. /package/dist/domain/{system-components → extensions}/dimension-indicator.js +0 -0
  834. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  835. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.js +0 -0
  836. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  837. /package/dist/domain/{system-components → extensions}/finalize-action.js +0 -0
  838. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  839. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  840. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  841. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  842. /package/dist/domain/{system-components → extensions}/fixed-header.js +0 -0
  843. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  844. /package/dist/domain/{system-components → extensions}/floating-header.js +0 -0
  845. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  846. /package/dist/domain/{system-components → extensions}/hidden-header.js +0 -0
  847. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  848. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.js +0 -0
  849. /package/dist/domain/{system-components → extensions}/horizontal-tabs.js +0 -0
  850. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  851. /package/dist/domain/{system-components → extensions}/multilingual-text-value.js +0 -0
  852. /package/dist/domain/{system-components → extensions}/navigation-steps.js +0 -0
  853. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  854. /package/dist/domain/{system-components → extensions}/offset-anchors.js +0 -0
  855. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  856. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  857. /package/dist/domain/{system-components → extensions}/offset.js +0 -0
  858. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  859. /package/dist/domain/{system-components → extensions}/other-action.js +0 -0
  860. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  861. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.js +0 -0
  862. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  863. /package/dist/domain/{system-components → extensions}/rotatable.js +0 -0
  864. /package/dist/domain/{system-components → extensions}/rotation-handle.js +0 -0
  865. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  866. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  867. /package/dist/domain/{system-components → extensions}/scene-entity-control.js +0 -0
  868. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  869. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.js +0 -0
  870. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  871. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.js +0 -0
  872. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  873. /package/dist/domain/{system-components → extensions}/selectable-component.js +0 -0
  874. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  875. /package/dist/domain/{system-components → extensions}/sidebar-tabs.js +0 -0
  876. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  877. /package/dist/domain/{system-components → extensions}/simple-summary.js +0 -0
  878. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  879. /package/dist/domain/{system-components → extensions}/size.js +0 -0
  880. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  881. /package/dist/domain/{system-components → extensions}/sketching-draw.js +0 -0
  882. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  883. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  884. /package/dist/domain/{system-components → extensions}/text-value.js +0 -0
  885. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  886. /package/dist/domain/{system-components → extensions}/tool-controls.js +0 -0
  887. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  888. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.js +0 -0
  889. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
  890. /package/dist/domain/{system-components → extensions}/view-controls.js +0 -0
@@ -1,7 +1,6 @@
1
1
  import { type $DomainEntity, type ComponentModification, type DomainEntity, type DomainEntityId, type EphemeralRecordModification, type StateUpdate, type SystemComponentTypeConstraint, type navigationStateComponent, type toolStateComponent, type viewStateComponent } from '../../core/index.js';
2
- import type { DragHandleComponent } from '../../system-components/drag-handle.js';
3
- import type { HotspotDragHandleComponent } from '../../system-components/hotspot-drag-handle.js';
4
- import type { StateEmissionKind } from '../store-system/store-system.js';
2
+ import type { DragHandleComponent, HotspotDragHandleComponent } from '../../system-components/index.js';
3
+ import type { StateEmissionKind } from '../store-system/index.js';
5
4
  import type { AllActions } from './actions-builder.js';
6
5
  import { type AutoSnapMetadata, type AutoSnapType } from './auto-snap-transformer.js';
7
6
  import type { BaseTransformerBuilderContext, ContextFactoryFilter, ContextWithUpdate } from './context.js';
@@ -1 +1 @@
1
- import{domainEntityTypeFromId as t,isDomainEntityId as e}from"../../core/index.js";import{isNavigationUpdate as n,isToolUpdate as o,isViewUpdate as i}from"../navigation-system/navigation-updates.js";import{updateActions as r}from"./actions-builder.js";import{isAutoSnapUpdate as a}from"./auto-snap-transformer.js";import{createBaseContext as s}from"./context.js";import{entityBuilder as m}from"./entity-builder.js";import{tagBuilder as f,thenAndCausesBuilder as l,thenBuilder as d}from"./then-builder.js";let p=n=>({...f(r(!1),n),onEntity:o=>f(r(!1),(i,r,a,s,m)=>{let f=n(i,r,a,s,m);if(!f.length)return[];let l=f.filter(n=>e(n.update.entityId)&&o.includes(t(n.update.entityId)));return l.length||m?.("no-match",`No matching update for entity ${o.join(", ")} found, skipping transformer`,{updates:i}),l.map(t=>{let e=t.update.entityId;return{...t,getOld$Entity:()=>s.domain.get$Entity(e,r),getNew$Entity:()=>s.domain.get$Entity(e,t.getNewState()),entityId:e}})})}),g=(t,e,n)=>p(t()((t,o,i,r,a)=>{let m=t.filter(t=>"modifyComponent"===t.kind);if(0===m.length)return a?.("no-event","No component modification updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>e.includes(t.componentInstance.componentType));return 0===f.length?(a?.("no-match",`No modification updates for component ${e.join(", ")}, skipping transformer`,{updates:t}),[]):(void 0===n?f:f.filter(t=>n.includes(t.componentInstance.instanceName))).map(e=>({...s(r,o,i,t,a),update:e}))}));export const whenBuilder=t=>({component:e=>({modified:g(t,e),instance:n=>({modified:g(t,e,n)})}),update:e=>({fired:p(t()((t,n,o,i,r)=>{let a=t.filter(t=>e.includes(t.kind));return 0===a.length?(r?.("no-event",`No updates of kind ${e.join(", ")} found, skipping transformer`,{updates:t}),[]):a.map(e=>({...s(i,n,o,t,r),update:e}))}))}),entity:e=>m(e,t),snapped:()=>l(r(!0),t()((t,e,n,o,i)=>{let r=t.filter(a);if(0===r.length)return i?.("no-event","No auto-snap updates found, skipping transformer",{updates:t}),[];i?.("match",`Found ${r.length} auto-snap update(s), processing transformer`);let m=s(o,e,n,t,i);return r.map(t=>({...m,update:t,entityId:t.componentInstance.entityId,snapMatch:t.metadata.snapMatch,snapType:t.metadata.snapType}))})),navigated:e=>l(r(!0),t()((t,o,i,r,a)=>{let m=t.filter(n);if(0===m.length)return a?.("no-event","No navigation updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let n=t.writableState.activeState,i=r.navigationSystem.getActiveNavigationState(o);return(e?.to===void 0||e.to.includes(n))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No navigation updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`Navigation state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,o,i,t,a);return f.map(t=>{let e=t.writableState.activeState,n=r.navigationSystem.getActiveNavigationState(o);return{...l,update:t,getFrom:()=>n,getTo:()=>e}})})),viewChanged:e=>l(r(!0),t()((t,n,o,r,a)=>{let m=t.filter(i);if(0===m.length)return a?.("no-event","No view updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let o=t.writableState.activeState,i=r.navigationSystem.getActiveViewState(n);return(e?.to===void 0||e.to.includes(o))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No view updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`View state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,n,o,t,a);return f.map(t=>{let e=t.writableState.activeState,o=r.navigationSystem.getActiveViewState(n);return{...l,update:t,getFrom:()=>o,getTo:()=>e}})})),toolChanged:e=>l(r(!0),t()((t,n,i,r,a)=>{let m=t.filter(o);if(0===m.length)return a?.("no-event","No tool updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let o=t.writableState.activeState,i=r.navigationSystem.getActiveToolState(n);return(e?.to===void 0||e.to.includes(o))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No tool updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`Tool state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,n,i,t,a);return f.map(t=>{let e=t.writableState.activeState,o=r.navigationSystem.getActiveToolState(n);return{...l,update:t,getFrom:()=>o,getTo:()=>e}})}))});export const createTransformerBuilder=()=>({when:whenBuilder(()=>t=>t),onEmissionsOfKind:t=>({when:whenBuilder(()=>e=>(n,o,i,r,a)=>t.includes(i)?e(n,o,i,r,a):(a?.("no-event",`Emission kind ${i} is not supposed to trigger this transformer, only ${t.join(", ")} is, skipping transformer`,{updates:n}),[]))}),always:d(r(!1),(t,e,n,o,i)=>[s(o,e,n,t,i)])});
1
+ import{domainEntityTypeFromId as t,isDomainEntityId as e}from"../../core/index.js";import{isNavigationUpdate as n,isToolUpdate as o,isViewUpdate as i}from"../navigation-system/index.js";import{updateActions as r}from"./actions-builder.js";import{isAutoSnapUpdate as a}from"./auto-snap-transformer.js";import{createBaseContext as s}from"./context.js";import{entityBuilder as m}from"./entity-builder.js";import{tagBuilder as f,thenAndCausesBuilder as l,thenBuilder as d}from"./then-builder.js";let p=n=>({...f(r(!1),n),onEntity:o=>f(r(!1),(i,r,a,s,m)=>{let f=n(i,r,a,s,m);if(!f.length)return[];let l=f.filter(n=>e(n.update.entityId)&&o.includes(t(n.update.entityId)));return l.length||m?.("no-match",`No matching update for entity ${o.join(", ")} found, skipping transformer`,{updates:i}),l.map(t=>{let e=t.update.entityId;return{...t,getOld$Entity:()=>s.domain.get$Entity(e,r),getNew$Entity:()=>s.domain.get$Entity(e,t.getNewState()),entityId:e}})})}),g=(t,e,n)=>p(t()((t,o,i,r,a)=>{let m=t.filter(t=>"modifyComponent"===t.kind);if(0===m.length)return a?.("no-event","No component modification updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>e.includes(t.componentInstance.componentType));return 0===f.length?(a?.("no-match",`No modification updates for component ${e.join(", ")}, skipping transformer`,{updates:t}),[]):(void 0===n?f:f.filter(t=>n.includes(t.componentInstance.instanceName))).map(e=>({...s(r,o,i,t,a),update:e}))}));export const whenBuilder=t=>({component:e=>({modified:g(t,e),instance:n=>({modified:g(t,e,n)})}),update:e=>({fired:p(t()((t,n,o,i,r)=>{let a=t.filter(t=>e.includes(t.kind));return 0===a.length?(r?.("no-event",`No updates of kind ${e.join(", ")} found, skipping transformer`,{updates:t}),[]):a.map(e=>({...s(i,n,o,t,r),update:e}))}))}),entity:e=>m(e,t),snapped:()=>l(r(!0),t()((t,e,n,o,i)=>{let r=t.filter(a);if(0===r.length)return i?.("no-event","No auto-snap updates found, skipping transformer",{updates:t}),[];i?.("match",`Found ${r.length} auto-snap update(s), processing transformer`);let m=s(o,e,n,t,i);return r.map(t=>({...m,update:t,entityId:t.componentInstance.entityId,snapMatch:t.metadata.snapMatch,snapType:t.metadata.snapType}))})),navigated:e=>l(r(!0),t()((t,o,i,r,a)=>{let m=t.filter(n);if(0===m.length)return a?.("no-event","No navigation updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let n=t.writableState.activeState,i=r.navigationSystem.getActiveNavigationState(o);return(e?.to===void 0||e.to.includes(n))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No navigation updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`Navigation state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,o,i,t,a);return f.map(t=>{let e=t.writableState.activeState,n=r.navigationSystem.getActiveNavigationState(o);return{...l,update:t,getFrom:()=>n,getTo:()=>e}})})),viewChanged:e=>l(r(!0),t()((t,n,o,r,a)=>{let m=t.filter(i);if(0===m.length)return a?.("no-event","No view updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let o=t.writableState.activeState,i=r.navigationSystem.getActiveViewState(n);return(e?.to===void 0||e.to.includes(o))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No view updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`View state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,n,o,t,a);return f.map(t=>{let e=t.writableState.activeState,o=r.navigationSystem.getActiveViewState(n);return{...l,update:t,getFrom:()=>o,getTo:()=>e}})})),toolChanged:e=>l(r(!0),t()((t,n,i,r,a)=>{let m=t.filter(o);if(0===m.length)return a?.("no-event","No tool updates found, skipping transformer",{updates:t}),[];let f=m.filter(t=>{let o=t.writableState.activeState,i=r.navigationSystem.getActiveToolState(n);return(e?.to===void 0||e.to.includes(o))&&(e?.from===void 0||e.from.includes(i))});if(0===f.length)return a?.("no-match",`No tool updates matching filter from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, skipping transformer`,{updates:t}),[];a?.("match",`Tool state changed from ${e?.from?.join(", ")??"any"} to ${e?.to?.join(", ")??"any"}, processing transformer`,{updates:t});let l=s(r,n,i,t,a);return f.map(t=>{let e=t.writableState.activeState,o=r.navigationSystem.getActiveToolState(n);return{...l,update:t,getFrom:()=>o,getTo:()=>e}})}))});export const createTransformerBuilder=()=>({when:whenBuilder(()=>t=>t),onEmissionsOfKind:t=>({when:whenBuilder(()=>e=>(n,o,i,r,a)=>t.includes(i)?e(n,o,i,r,a):(a?.("no-event",`Emission kind ${i} is not supposed to trigger this transformer, only ${t.join(", ")} is, skipping transformer`,{updates:n}),[]))}),always:d(r(!1),(t,e,n,o,i)=>[s(o,e,n,t,i)])});
@@ -1,11 +1,31 @@
1
1
  import type { ObservableWithLastValue } from '@salsita-ai/common/utils';
2
- import type { $DomainEntity, DomainEntity } from '../core/index.js';
3
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
4
- import type { ResetStateEmission, StateEmission } from './store-system/store-system.js';
2
+ import type { $DomainEntity, DomainEntity, DomainState, ResetStateEmission, StateEmission } from '../core/index.js';
3
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
5
4
  export interface UndoCapabilities {
6
5
  readonly canUndo: boolean;
7
6
  readonly canRedo: boolean;
8
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
+ }
9
29
  export interface CanBeUndoneContext<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> {
10
30
  oldEmission: StateEmission<ENTITIES, $MAP>;
11
31
  newEmission: StateEmission<ENTITIES, $MAP>;
@@ -40,6 +60,12 @@ export declare class UndoSystem<ENTITIES extends DomainEntity<string>, $MAP exte
40
60
  private _activeIsUndoable;
41
61
  private readonly _canSubject;
42
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>;
43
69
  constructor(_context: UndoSystemContext);
44
70
  initialize: () => void;
45
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,11 @@
1
+ import type { $DomainEntity, DomainEntity, OpenActionContext } from '../../core/index.js';
2
+ import type { DomainContextSystems } from '../../domain-context/index.js';
3
+ import type { RuntimeExpressionContext } from './runtime-expression-context.js';
4
+ /**
5
+ * The context the domain runtime runs an action implementation with: core's part, with the
6
+ * expression context the runtime evaluates expressions in and the domain systems of the application.
7
+ * `ActionSystem.createContext` builds it.
8
+ */
9
+ export interface ActionContext<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string> extends OpenActionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, RuntimeExpressionContext<ENTITIES>, DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>> {
10
+ }
11
+ export type AnyActionContext = ActionContext<any, any, any, any, any, any, any, any, any, any>;
@@ -1 +1 @@
1
- import{createCascadeDeletesTransformer as e}from"../../domain-context/relation-transformers/cascade-deletes.js";import{createCascadeRefPruningTransformer as t}from"../../domain-context/relation-transformers/cascade-ref-pruning.js";import{createCreateEntityRefsTransformer as s}from"../../domain-context/relation-transformers/create-entity-refs.js";import{createRefReplaceTransformer as r}from"../../domain-context/relation-transformers/replace-refs.js";import{createAutoSnapTransformer as n}from"../../domain-context/transformers/auto-snap-transformer.js";export class DomainContext{_context;_connected=!1;_activeCreateTransformers=void 0;_userTransformerUnregisters=[];_lastExpressionContext=null;_lastDomainExpressions=null;_lastComponentReaderIndexes=null;_lastLoadedData=null;constructor(e){this._context=e}initialize(){let{selectors:o,actions:a,getExtensionSystems:i}=this._context;this._assertSchemaCoherence();let m=o.getStoreSystem();try{for(let i of(a.setInitializationContext(o.getNextInitializationContext()),this._connected||(m.registerTransformer(10,e(o.getCompositionProjections()),"CascadeDeletes"),m.registerTransformer(20,t(o.getComponentReader()),"CascadeRefPruning"),m.registerTransformer(25,s(o.getComponentReader()),"CreateEntityRefs"),m.registerTransformer(30,r(o.getComponentReader()),"RefReplace"),m.registerTransformer(40,n(o.getComponentReader(),o.getSnappingProjections(),o.getDimensionSystem(),o.getPositionProjections(),m),"AutoSnap"),this._connected=!0),this._reconcileUserTransformers(),[m,o.getUndoSystem()]))i.initialize();for(let e of(m.stageAndCommit(o.getDimensionSystem().initialize(m.stateSlices.committed.value.state)),[o.getNavigationSystem(),...i()]))e.initialize();o.getActionImplementations(),this._lastExpressionContext=o.getExpressionContext(),this._lastDomainExpressions=o.getDomainExpressions(),this._lastComponentReaderIndexes=o.getComponentReaderIndexes(),this._lastLoadedData=o.getLoadedData(),a.completeInitialization()}catch(e){throw a.failInitialization(),e}}reconcile=()=>{this._context.selectors.getInitializationState().isCurrent&&(this._reconcileUserTransformers(),this._refreshIfLoadedDataChanged(),this._refreshIfExpressionContextChanged())};_assertSchemaCoherence(){switch(this._context.selectors.getSchemaCoherence()){case"coherent":return;case"missing-stamp":throw Error("Cannot initialize the domain context: the loaded data carries no schema identity.");case"schema-mismatch":throw Error("Cannot initialize the domain context: the loaded data belongs to a different schema identity than the active spec.")}}_registerUserTransformers(e){let t=this._context.selectors.getStoreSystem();for(let s of e)this._userTransformerUnregisters.push(t.registerTransformer(s.priority,s.transformer,s.name??"Anonymous"))}_unregisterUserTransformers(){for(let e of this._userTransformerUnregisters)e();this._userTransformerUnregisters=[]}_reconcileUserTransformers(){let e=this._context.selectors.getCreateTransformers();if(this._activeCreateTransformers===e)return;let t=e?.(this._context.selectors.getDomainSystems())??[];this._unregisterUserTransformers(),this._activeCreateTransformers=e,this._registerUserTransformers(t)}_refreshIfExpressionContextChanged(){let{selectors:e}=this._context,t=e.getExpressionContext(),s=e.getDomainExpressions(),r=e.getComponentReaderIndexes();if(this._lastExpressionContext===t&&this._lastDomainExpressions===s&&this._lastComponentReaderIndexes===r)return;let n=e.getStoreSystem();n.reset(n.stateSlices.committed.value.state,"expressionContextRefreshed"),this._lastExpressionContext=t,this._lastDomainExpressions=s,this._lastComponentReaderIndexes=r}_refreshIfLoadedDataChanged(){let{selectors:e}=this._context,t=e.getLatestLoadedData();null!==t&&this._lastLoadedData!==t&&(e.getStoreSystem().reset(e.getInitialDomainState(),"loadedDataRefreshed"),this._lastLoadedData=t)}}
1
+ import{createAutoSnapTransformer as e,createCascadeDeletesTransformer as t,createCascadeRefPruningTransformer as s,createCreateEntityRefsTransformer as r,createRefReplaceTransformer as n}from"../../domain-context/index.js";export class DomainContext{_context;_connected=!1;_activeCreateTransformers=void 0;_userTransformerUnregisters=[];_lastExpressionContext=null;_lastDomainExpressions=null;_lastComponentReaderIndexes=null;_lastLoadedData=null;constructor(e){this._context=e}initialize(){let{selectors:o,actions:i,getExtensionSystems:a}=this._context;this._assertSchemaCoherence();let m=o.getStoreSystem();try{for(let a of(i.setInitializationContext(o.getNextInitializationContext()),this._connected||(m.registerTransformer(10,t(o.getCompositionProjections()),"CascadeDeletes"),m.registerTransformer(20,s(o.getComponentReader()),"CascadeRefPruning"),m.registerTransformer(25,r(o.getComponentReader()),"CreateEntityRefs"),m.registerTransformer(30,n(o.getComponentReader()),"RefReplace"),m.registerTransformer(40,e(o.getComponentReader(),o.getSnappingProjections(),o.getDimensionSystem(),o.getPositionProjections(),m),"AutoSnap"),this._connected=!0),this._reconcileUserTransformers(),[m,o.getUndoSystem()]))a.initialize();for(let e of(m.stageAndCommit(o.getDimensionSystem().initialize(m.stateSlices.committed.value.state)),[o.getNavigationSystem(),...a()]))e.initialize();o.getActionImplementations(),this._lastExpressionContext=o.getExpressionContext(),this._lastDomainExpressions=o.getDomainExpressions(),this._lastComponentReaderIndexes=o.getComponentReaderIndexes(),this._lastLoadedData=o.getLoadedData(),i.completeInitialization()}catch(e){throw i.failInitialization(),e}}reconcile=()=>{this._context.selectors.getInitializationState().isCurrent&&(this._reconcileUserTransformers(),this._refreshIfLoadedDataChanged(),this._refreshIfExpressionContextChanged())};_assertSchemaCoherence(){switch(this._context.selectors.getSchemaCoherence()){case"coherent":return;case"missing-stamp":throw Error("Cannot initialize the domain context: the loaded data carries no schema identity.");case"schema-mismatch":throw Error("Cannot initialize the domain context: the loaded data belongs to a different schema identity than the active spec.")}}_registerUserTransformers(e){let t=this._context.selectors.getStoreSystem();for(let s of e)this._userTransformerUnregisters.push(t.registerTransformer(s.priority,s.transformer,s.name??"Anonymous"))}_unregisterUserTransformers(){for(let e of this._userTransformerUnregisters)e();this._userTransformerUnregisters=[]}_reconcileUserTransformers(){let e=this._context.selectors.getCreateTransformers();if(this._activeCreateTransformers===e)return;let t=e?.(this._context.selectors.getDomainSystems())??[];this._unregisterUserTransformers(),this._activeCreateTransformers=e,this._registerUserTransformers(t)}_refreshIfExpressionContextChanged(){let{selectors:e}=this._context,t=e.getExpressionContext(),s=e.getDomainExpressions(),r=e.getComponentReaderIndexes();if(this._lastExpressionContext===t&&this._lastDomainExpressions===s&&this._lastComponentReaderIndexes===r)return;let n=e.getStoreSystem();n.reset(n.stateSlices.committed.value.state,"expressionContextRefreshed"),this._lastExpressionContext=t,this._lastDomainExpressions=s,this._lastComponentReaderIndexes=r}_refreshIfLoadedDataChanged(){let{selectors:e}=this._context,t=e.getLatestLoadedData();null!==t&&this._lastLoadedData!==t&&(e.getStoreSystem().reset(e.getInitialDomainState(),"loadedDataRefreshed"),this._lastLoadedData=t)}}
@@ -0,0 +1,8 @@
1
+ import type { CoreExpressionContext, DomainEntity } from '../../core/index.js';
2
+ import type { RuntimeExpressionContext } from './runtime-expression-context.js';
3
+ /**
4
+ * The context the domain runtime evaluates expressions in: core's part and the runtime's own part.
5
+ */
6
+ export interface ExpressionContext<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>> extends CoreExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>, RuntimeExpressionContext<ENTITIES> {
7
+ }
8
+ export type AnyExpressionContext = ExpressionContext<any, any, any, any, any>;
@@ -1,6 +1,9 @@
1
+ export type * from './action-context.js';
1
2
  export * from './actions.js';
2
3
  export { ComponentReader, type AnyComponentReader } from './component-reader.js';
3
4
  export { DomainContext } from './domain-context.js';
5
+ export type * from './expression-context.js';
4
6
  export * from './initialize.js';
7
+ export type * from './runtime-expression-context.js';
5
8
  export * from './selectors.js';
6
9
  export type * from './types.js';
@@ -0,0 +1,18 @@
1
+ import type { DomainEntity } from '../../core/index.js';
2
+ import type { CollisionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections } from '../../projections/index.js';
3
+ import type { SketchingProjections } from '../../sketching/index.js';
4
+ import type { ComponentReader } from './component-reader.js';
5
+ /**
6
+ * What the domain runtime adds to the expression context of core: the component reader and the
7
+ * projections it builds for every application. It is the context extension that generated project
8
+ * code closes the factories of core with.
9
+ */
10
+ export interface RuntimeExpressionContext<ENTITIES extends DomainEntity<string>> {
11
+ readonly componentReader: ComponentReader<ENTITIES>;
12
+ readonly positionProjections: PositionProjections<ENTITIES>;
13
+ readonly sketchingProjections: SketchingProjections<ENTITIES>;
14
+ readonly collisionProjections: CollisionProjections<ENTITIES>;
15
+ readonly constraintProjections: ConstraintProjections<ENTITIES>;
16
+ readonly snappingProjections: SnappingProjections<ENTITIES>;
17
+ readonly projectedEntitiesProjections: ProjectedEntitiesProjections<ENTITIES>;
18
+ }
@@ -1,11 +1,5 @@
1
- import { type AnyDomain, type AnyDomainFactory, type AnyExpressionContext, type DomainComponentOptic, type DomainEntity, type DomainMode, type SystemComponentTypeConstraint } from '../../core/index.js';
2
- import { type AnyActionSystem } from '../../domain-context/action-system/action-system.js';
3
- import { type AnyDimensionSystem } from '../../domain-context/dimension-system/dimension-system.js';
4
- import type { AnyDomainContextSystems } from '../../domain-context/domain-context-systems.js';
5
- import { type AnyNavigationSystem } from '../../domain-context/navigation-system/navigation-system.js';
6
- import { type AnyRecipeCookerSystem } from '../../domain-context/recipe-system/recipe-cooker-system.js';
7
- import { type AnyStoreSystem } from '../../domain-context/store-system/store-system.js';
8
- import { type AnyUndoSystem } from '../../domain-context/undo-system.js';
1
+ import { type AnyDomain, type AnyDomainFactory, type DomainComponentOptic, type DomainMode, type SystemComponentTypeConstraint } from '../../core/index.js';
2
+ import { type AnyActionSystem, type AnyDimensionSystem, type AnyDomainContextSystems, type AnyNavigationSystem, type AnyRecipeCookerSystem, type AnyStoreSystem, type AnyUndoSystem } from '../../domain-context/index.js';
9
3
  import { type AnyBlenderProjections, type AnyCollisionProjections, type AnyCompositionProjections, type AnyConstraintProjections, type AnyPositionProjections, type AnyProjectedEntitiesProjections, type AnySnappingProjections, type AnyValidationProjections } from '../../projections/index.js';
10
4
  import { type AnySketchingProjections } from '../../sketching/sketching-projections.js';
11
5
  import type { AccessInfoSelectors, AccessSelectorState } from '../access/index.js';
@@ -19,18 +13,20 @@ import type { WebComponentSelectorState, WebComponentSelectors } from '../web-co
19
13
  import type { DomainContextApplicationActions } from './actions.js';
20
14
  import { type AnyComponentReader } from './component-reader.js';
21
15
  import { DomainContext } from './domain-context.js';
16
+ import type { AnyExpressionContext } from './expression-context.js';
22
17
  import type { ApplicationDomainContextState, DomainApplicationType, DomainContextInitializationContext, DomainContextInitializationIdentity, DomainContextInitializationState, InitializableSystem, SchemaCoherence } from './types.js';
23
- 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>;
24
20
  /**
25
21
  * Lookup indexes derived from the current component optics. The component reader and the
26
22
  * component write systems share this representation so a runtime optic update is observed
27
23
  * consistently across reads and writes.
28
24
  */
29
- 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>> {
30
- readonly opticMap: ReadonlyMap<ENTITIES['type'], ReadonlyMap<SystemComponentTypeConstraint, ReadonlyMap<string, ComponentOptic<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>>>>;
31
- readonly allComponentTypes: ReadonlyMap<ENTITIES['type'], ReadonlySet<SystemComponentTypeConstraint>>;
32
- readonly allComponentInstanceNames: ReadonlyMap<ENTITIES['type'], ReadonlyMap<SystemComponentTypeConstraint, ReadonlySet<string>>>;
33
- 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[]>>;
34
30
  }
35
31
  interface Context {
36
32
  readonly applicationType: DomainApplicationType;
@@ -74,7 +70,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
74
70
  selectAliasMap: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyAliasMap>;
75
71
  selectAllowedRootEntityTypes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyAllowedRootEntityTypes>;
76
72
  selectEntityReflections: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyEntityReflections>;
77
- 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>>>;
78
74
  selectLatestMode: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainMode>;
79
75
  selectLatestConfigurationId: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, string | null>;
80
76
  selectLatestSessionContext: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainSessionContext> | import("@salsita-ai/common/utils").Selector<SessionContextSelectorState, DomainSessionContext | null>;
@@ -86,9 +82,9 @@ export declare const createDomainContextSelectors: (context: Context) => {
86
82
  selectIsViewMode: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, boolean>;
87
83
  selectInitializationState: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, DomainContextInitializationState>;
88
84
  selectComponentOptics: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly import("../../index.js").AnyDomainComponentOptic[]>;
89
- selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, ComponentReaderIndexes<any, any, any, any, any>>;
85
+ selectComponentReaderIndexes: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, ComponentReaderIndexes>;
90
86
  selectStoreRuntimeDependencies: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, {
91
- componentReaderIndexes: ComponentReaderIndexes<any, any, any, any, any>;
87
+ componentReaderIndexes: ComponentReaderIndexes;
92
88
  domainExpressions: import("../../index.js").AnyExpressions;
93
89
  allowedRootEntityTypes: import("../../index.js").AnyAllowedRootEntityTypes;
94
90
  }>;
@@ -96,7 +92,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
96
92
  selectViewStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
97
93
  selectToolStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
98
94
  selectExportStates: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, readonly string[]>;
99
- selectCreateTransformers: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../domain-context/store-system/store-system.js").AnyCreateTransformersFactory>;
95
+ selectCreateTransformers: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, undefined> | import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").AnyCreateTransformersFactory>;
100
96
  selectLatestLoadedData: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../index.js").ConfiguratorLoadedData | null>;
101
97
  selectLoadedData: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../index.js").ConfiguratorLoadedData>;
102
98
  selectInitialDomainState: import("@salsita-ai/common/utils").Selector<DomainContextSelectorState, import("../../index.js").DomainState<any>>;
@@ -125,12 +121,12 @@ export declare const createDomainContextSelectors: (context: Context) => {
125
121
  getAliasMap: () => import("../../index.js").AnyAliasMap;
126
122
  getAllowedRootEntityTypes: () => import("../../index.js").AnyAllowedRootEntityTypes;
127
123
  getEntityReflections: () => import("../../index.js").AnyEntityReflections;
128
- getMigrate: () => import("../../index.js").MigrateFunction<DomainEntity<string>>;
124
+ getMigrate: () => import("../../index.js").MigrateFunction<import("../../index.js").DomainEntity<string>>;
129
125
  getActiveMode: () => DomainMode;
130
126
  getIsInitialized: () => boolean;
131
- getComponentReaderIndexes: () => ComponentReaderIndexes<any, any, any, any, any>;
127
+ getComponentReaderIndexes: () => ComponentReaderIndexes;
132
128
  getStoreRuntimeDependencies: () => {
133
- componentReaderIndexes: ComponentReaderIndexes<any, any, any, any, any>;
129
+ componentReaderIndexes: ComponentReaderIndexes;
134
130
  domainExpressions: import("../../index.js").AnyExpressions;
135
131
  allowedRootEntityTypes: import("../../index.js").AnyAllowedRootEntityTypes;
136
132
  };
@@ -138,7 +134,7 @@ export declare const createDomainContextSelectors: (context: Context) => {
138
134
  getViewStates: () => readonly string[];
139
135
  getToolStates: () => readonly string[];
140
136
  getExportStates: () => readonly string[];
141
- getCreateTransformers: () => import("../../domain-context/store-system/store-system.js").AnyCreateTransformersFactory | undefined;
137
+ getCreateTransformers: () => import("../../index.js").AnyCreateTransformersFactory | undefined;
142
138
  getLoadedData: () => import("../index.js").ConfiguratorLoadedData;
143
139
  getInitialDomainState: () => import("../../index.js").DomainState<any>;
144
140
  getFrontendData: () => Record<string, unknown>;
@@ -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}from"../../domain-context/action-system/action-system.js";import{DimensionSystem as i}from"../../domain-context/dimension-system/dimension-system.js";import{NavigationSystem as a}from"../../domain-context/navigation-system/navigation-system.js";import{RecipeCookerSystem as s}from"../../domain-context/recipe-system/recipe-cooker-system.js";import{StoreSystem as r}from"../../domain-context/store-system/store-system.js";import{UndoSystem as c}from"../../domain-context/undo-system.js";import{BlenderProjections as l,CollisionProjections as m,CompositionProjections as d,ConstraintProjections as g,PositionProjections as f,ProjectedEntitiesProjections as p,SnappingProjections as u,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 j}from"./component-reader.js";import{DomainContext as C}from"./domain-context.js";let D=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:k,domainDataSelectors:$,sessionContextSelectors:N,domainServicesSelectors:z,environmentSelectors:L,getExtensionSystems:V}=e,B="configurator"===A?T.selectConfiguratorSpec:T.selectAdminSpec,F="configurator"===A?b.selectConfiguratorRawAccessService:b.selectAdminRawAccessService,W=D.leaf(e=>e.domainContext[A]),_=D([W],e=>e.initializationContext),q=D([_],e=>{if(null===e)throw Error(`Domain lifecycle context is not available for ${A}! Read it from an active domain lifecycle.`);return e}),O=D([W],e=>e.executionMode),U=D([W],e=>e.isInitialized),G=D([B],e=>e.factory),H=D([B],e=>e.expressions),J=D([B],e=>e.actions),K=D([B],e=>e.actionImplementations),Q=D([J,K],S),X=D([B],e=>e.$entityReflections),Y=D([H,X],(e,t)=>x({expressions:e,$entityReflections:t})),Z=D([B],e=>e.modelVersion),ee=D([B],e=>e.aliasMap),et=D([B],e=>e.allowedRootEntityTypes),en=D([B],e=>e.entityReflections),eo=D([B],e=>e.migrate),ei=D([O,k.selectReadonly,F],(e,t,n)=>"finalize"===e?"finalize":h(A,n).accessInfo.viewMode||t?"read":"owner"),ea=D([F],e=>e?.configurationId??null),es="configurator"===A?N.selectSessionContext:D([],()=>P),er=D([es],e=>e?.role??null),ec=D([es],e=>e?.data??null),el=D([D.leaf(e=>e.loadedData)],e=>"configurator"===A?e.configuratorLoadedData:e.adminLoadedData),em=D([el],e=>e?.schemaIdentity??null),ed=D([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=D([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=D([F,k.selectReadonly],(e,t)=>e?.accessInfo.viewMode===!0||t),ep=D([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}}),eu=D([B],e=>e.componentOptics),ey=D([eu],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=D([ey,Y,et],(e,t,n)=>({componentReaderIndexes:e,domainExpressions:t,allowedRootEntityTypes:n})),eh=D([B],e=>e.navigationStates),eS=D([B],e=>e.viewStates),ex="configurator"===A?D([T.selectConfiguratorSpec],e=>e.toolStates):D([],()=>v),ej="configurator"===A?D([T.selectConfiguratorSpec],e=>e.exportStates):D([],()=>v),eC="configurator"===A?D([T.selectConfiguratorSpec],e=>e.createTransformers):D([],()=>void 0),eD=D([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=D([eD,G],(e,t)=>n(t.validateAndMigrateState(e.initialEntities,e.modelVersion),e.rootEntityType)),eI="configurator"===A?$.selectConfiguratorFrontendData:$.selectAdminFrontendData,eP="configurator"===A?$.selectConfiguratorBackendData:$.selectAdminBackendData,eM="configurator"===A?$.selectConfiguratorPublishedData:$.selectAdminPublishedData,eA="configurator"===A?D([N.selectSessionContext],e=>M(e).role):D([],()=>"admin"),eR="configurator"===A?D([N.selectSessionContext],e=>M(e).data):D([],()=>I),eE=D([ea,ei,eA,eR,eD],(e,t,n,o,i)=>({configurationId:e,mode:t,role:n,schemaIdentity:i.schemaIdentity,sessionData:o})),eT=D([q],e=>e.mode),eb=D([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}),ek=D([q],e=>e.role),e$=D([q],e=>e.sessionData),eN=D([eT,ek,e$,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:ep,selectComponentOptics:eu,selectComponentReaderIndexes:ey,selectStoreRuntimeDependencies:ew,selectNavigationStates:eh,selectViewStates:eS,selectToolStates:ex,selectExportStates:ej,selectCreateTransformers:eC,selectLatestLoadedData:el,selectLoadedData:eD,selectInitialDomainState:ev,selectFrontendData:eI,selectBackendData:eP,selectPublishedData:eM,selectLatestRole:eA,selectLatestSessionData:eR,selectNextInitializationContext:eE,selectActiveMode:eT,selectActiveConfigurationId:eb,selectActiveRole:ek,selectActiveSessionData:e$,selectExpressionContext:eN,getInitializationContext:()=>_(R()),getInitializationState:()=>ep(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:()=>ej(R()),getCreateTransformers:()=>eC(R()),getLoadedData:()=>eD(R()),getInitialDomainState:()=>ev(R()),getFrontendData:()=>eI(R()),getBackendData:()=>eP(R()),getPublishedData:()=>eM(R()),getActiveRole:()=>ek(R()),getActiveSessionData:()=>e$(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 j({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 u({selectors:ez}),eG=new g({selectors:ez}),eH=new p({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 C({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 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(),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),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,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: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: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:()=>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:()=>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 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,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;