@salsita-ai/sdk 0.49.0 → 0.50.0-develop.016963b09e

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 (1127) hide show
  1. package/README.md +20 -12
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/errors/diagnostic-codes.d.ts +10 -0
  4. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  5. package/dist/application-spec/errors/diagnostic-messages.d.ts +10 -0
  6. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  7. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  8. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  9. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  10. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  11. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  12. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  13. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  14. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  15. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  16. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  17. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  18. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  19. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +2 -2
  20. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -13
  21. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  22. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  23. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  24. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  25. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  26. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.d.ts +3 -1
  27. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +71 -68
  28. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  29. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  30. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  31. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  32. package/dist/application-spec/generate-application/code/templates/domain-spec.js +7 -7
  33. package/dist/application-spec/generate-application/code/templates/domain.js +4 -4
  34. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.d.ts +11 -0
  35. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +8 -0
  36. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  37. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  38. package/dist/application-spec/generate-application/code/templates/globals.js +1 -0
  39. package/dist/application-spec/generate-application/code/templates/index.d.ts +6 -12
  40. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  41. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  42. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -0
  43. package/dist/application-spec/generate-application/code/templates/{phoenix-create-configurator-skill.d.ts → skills/phoenix-create-configurator-skill.d.ts} +1 -1
  44. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +166 -0
  45. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +54 -0
  46. package/dist/application-spec/generate-application/code/templates/{phoenix-review-skill.js → skills/phoenix-review-skill.js} +7 -5
  47. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -0
  48. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  49. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  50. package/dist/application-spec/generate-application/code/templates/{common → skills}/sdk-content.d.ts +60 -12
  51. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +79 -0
  52. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  53. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  54. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +1 -3
  55. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +3 -3
  56. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  57. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +14 -0
  58. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.js +1 -0
  59. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  60. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  61. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  62. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  63. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +1 -0
  64. package/dist/application-spec/generate-application/runtime/sections/index.js +1 -1
  65. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  66. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +3 -1
  67. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  68. package/dist/application-spec/parse-application-files/merge/index.d.ts +1 -0
  69. package/dist/application-spec/parse-application-files/merge/index.js +1 -1
  70. package/dist/application-spec/parse-application-files/merge/merged-actions.d.ts +11 -0
  71. package/dist/application-spec/parse-application-files/merge/merged-actions.js +1 -0
  72. package/dist/application-spec/parse-application-files/merge/merged-spec.d.ts +2 -0
  73. package/dist/application-spec/parse-application-files/merge/merged-spec.js +1 -1
  74. package/dist/application-spec/parse-application-files/raw-spec/index.d.ts +1 -0
  75. package/dist/application-spec/parse-application-files/raw-spec/index.js +1 -1
  76. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.d.ts +18 -0
  77. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.js +1 -0
  78. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +14 -2
  79. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  80. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.d.ts +2 -0
  81. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  82. package/dist/application-spec/parse-application-files/resolve/resolve-import-modules.js +1 -1
  83. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  84. package/dist/application-spec/parse-application-files/spec/application/application-spec.js +1 -1
  85. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.d.ts +4 -2
  86. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  87. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  88. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  89. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.d.ts +23 -0
  90. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.js +1 -0
  91. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  92. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  93. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +10 -0
  94. package/dist/application-spec/parse-application-files/spec/model/names/action-name.js +1 -0
  95. package/dist/application-spec/parse-application-files/spec/model/names/index.d.ts +1 -0
  96. package/dist/application-spec/parse-application-files/spec/model/names/index.js +1 -1
  97. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  98. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  99. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  100. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  101. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  102. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  103. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +35 -0
  104. package/dist/application-spec/parse-application-files/spec/sections/actions.js +1 -0
  105. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +5 -21
  106. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  107. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +14 -39
  108. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  109. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  110. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -19
  111. package/dist/application-spec/parse-application-files/spec/sections/index.d.ts +1 -0
  112. package/dist/application-spec/parse-application-files/spec/sections/index.js +1 -1
  113. package/dist/client/authorized-client.d.ts +3 -1
  114. package/dist/client/authorized-client.js +1 -1
  115. package/dist/client/contract.d.ts +34 -0
  116. package/dist/client/contract.js +1 -1
  117. package/dist/client/index.d.ts +2 -2
  118. package/dist/client/index.js +1 -1
  119. package/dist/client/local-authorized-client.d.ts +3 -1
  120. package/dist/client/local-authorized-client.js +1 -1
  121. package/dist/client/memory-authorized-client.d.ts +3 -1
  122. package/dist/client/memory-authorized-client.js +1 -1
  123. package/dist/client/phoenix-api.d.ts +276 -31
  124. package/dist/configurator/application-runtime/extensions/configurator-extension-systems.d.ts +2 -1
  125. package/dist/configurator/application-runtime/extensions/configurator-extension-systems.js +1 -1
  126. package/dist/configurator/application-runtime/extensions/selectors.d.ts +2 -1
  127. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  128. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +267 -0
  129. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -0
  130. package/dist/configurator/{assistant → application-runtime/extensions/systems/assistant-system}/browser-details.d.ts +1 -1
  131. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +1 -0
  132. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  133. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  134. package/dist/configurator/{assistant → application-runtime/extensions/systems/assistant-system}/graphql-tools.d.ts +20 -16
  135. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -0
  136. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  137. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  138. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +16 -1
  139. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  140. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  141. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  142. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -0
  143. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  144. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -0
  145. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  146. package/dist/configurator/common/frontend-analytics.d.ts +21 -21
  147. package/dist/configurator/index.d.ts +0 -1
  148. package/dist/configurator/index.js +1 -1
  149. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  150. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  151. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  152. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  153. package/dist/configurator/ui/assistant/AssistantChips.d.ts +11 -0
  154. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  155. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  156. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  157. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  158. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  159. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  160. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  161. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  162. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  163. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  164. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  165. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  166. package/dist/configurator/ui/assistant/index.js +1 -0
  167. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  168. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  169. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  170. package/dist/configurator/ui/assistant/theme.js +1 -0
  171. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  172. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  173. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  174. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  175. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  176. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  177. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  178. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  179. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +9 -9
  180. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  181. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  182. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +3 -3
  183. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  184. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  185. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  186. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  187. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  188. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  189. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  190. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  191. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  192. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  193. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  194. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  195. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  196. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  197. package/dist/docs/index.json +12 -2
  198. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  199. package/dist/docs/layouts/custom-price.mdx +14 -16
  200. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  201. package/dist/docs/layouts/toolbar.mdx +6 -0
  202. package/dist/docs/other-features/domain-actions.mdx +418 -0
  203. package/dist/docs/other-features/side-effects.mdx +76 -45
  204. package/dist/docs/other-features/transformers.mdx +1 -1
  205. package/dist/docs/other-features/violation-messages.mdx +52 -56
  206. package/dist/docs/phoenix/admin.mdx +11 -26
  207. package/dist/docs/phoenix/best-practices.mdx +1 -0
  208. package/dist/docs/phoenix/configurator-interface.mdx +100 -65
  209. package/dist/docs/phoenix/deployments.mdx +1 -1
  210. package/dist/docs/phoenix/domain-model.mdx +4 -0
  211. package/dist/docs/phoenix/expression-context.mdx +11 -3
  212. package/dist/docs/phoenix/finalization.mdx +1 -1
  213. package/dist/docs/phoenix/getting-started.mdx +1 -1
  214. package/dist/docs/phoenix/integration/headless-mode-external.mdx +5 -5
  215. package/dist/docs/phoenix/integration/widget-mode-external.mdx +5 -5
  216. package/dist/docs/phoenix/localization.mdx +3 -22
  217. package/dist/docs/phoenix/migrations.mdx +45 -5
  218. package/dist/docs/phoenix/phoenix-cli.mdx +181 -66
  219. package/dist/docs/phoenix/project-structure.mdx +28 -12
  220. package/dist/docs/phoenix/quickstart.mdx +2 -2
  221. package/dist/docs/phoenix/sdk-builder-workflow.mdx +20 -16
  222. package/dist/docs/phoenix/state-management.mdx +1 -1
  223. package/dist/docs/phoenix/webhooks.mdx +1 -1
  224. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  225. package/dist/docs/relations/hierarchy.mdx +13 -2
  226. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  227. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  228. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  229. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  230. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  231. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  232. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  233. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  234. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  235. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  236. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  237. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  238. package/dist/domain/admin-domain/index.d.ts +9 -5
  239. package/dist/domain/admin-domain/index.js +1 -1
  240. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  241. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  242. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  243. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  244. package/dist/domain/application/application-config.d.ts +28 -95
  245. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  246. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  247. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  248. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  249. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  250. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  251. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  252. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  253. package/dist/domain/application/assistant/index.d.ts +4 -0
  254. package/dist/domain/application/assistant/index.js +1 -0
  255. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  256. package/dist/domain/application/assistant-mutations.d.ts +16 -17
  257. package/dist/domain/application/assistant-mutations.js +1 -1
  258. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  259. package/dist/domain/application/configurator-builder.d.ts +33 -18
  260. package/dist/domain/application/configurator-builder.js +1 -1
  261. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  262. package/dist/domain/application/index.d.ts +3 -5
  263. package/dist/domain/application/index.js +1 -1
  264. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  265. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  266. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  267. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  268. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  269. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  270. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  271. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  272. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  273. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  274. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  275. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  276. package/dist/domain/available-system-components.js +1 -1
  277. package/dist/domain/core/action/action-factory.d.ts +11 -0
  278. package/dist/domain/core/action/action-factory.js +1 -0
  279. package/dist/domain/core/action/action.d.ts +71 -0
  280. package/dist/domain/core/action/index.d.ts +2 -0
  281. package/dist/domain/core/action/index.js +1 -0
  282. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  283. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  284. package/dist/domain/core/component/debug-state-component.js +1 -0
  285. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  286. package/dist/domain/core/component/domain-component-optic.js +16 -0
  287. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  288. package/dist/domain/core/component/drag-state-component.js +1 -0
  289. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  290. package/dist/domain/core/component/export-state-component.js +1 -0
  291. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  292. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  293. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  294. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  295. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  296. package/dist/domain/core/component/hover-state-component.js +1 -0
  297. package/dist/domain/core/component/index.d.ts +18 -0
  298. package/dist/domain/core/component/index.js +1 -0
  299. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  300. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  301. package/dist/domain/core/component/navigation-state-component.js +1 -0
  302. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  303. package/dist/domain/core/component/selection-state-component.js +1 -0
  304. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  305. package/dist/domain/core/component/system-component-builder.js +1 -0
  306. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
  307. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  308. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  309. package/dist/domain/core/component/tool-state-component.js +1 -0
  310. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  311. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  312. package/dist/domain/core/component/view-state-component.js +1 -0
  313. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  314. package/dist/domain/core/component/viewport-state-component.js +1 -0
  315. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  316. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  317. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  318. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  319. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  320. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  321. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  322. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  323. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  324. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  325. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  326. package/dist/domain/core/data-schema/data-schema.js +1 -0
  327. package/dist/domain/core/data-schema/index.d.ts +7 -0
  328. package/dist/domain/core/data-schema/index.js +1 -0
  329. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  330. package/dist/domain/core/decoder/create-decoder.js +1 -0
  331. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  332. package/dist/domain/core/decoder/decoder.js +1 -0
  333. package/dist/domain/core/decoder/index.d.ts +2 -0
  334. package/dist/domain/core/decoder/index.js +1 -0
  335. package/dist/domain/core/domain-factory.d.ts +7 -4
  336. package/dist/domain/core/domain-factory.js +1 -1
  337. package/dist/domain/core/domain.d.ts +4 -5
  338. package/dist/domain/core/domain.js +1 -1
  339. package/dist/domain/core/emission/index.d.ts +8 -0
  340. package/dist/domain/core/emission/index.js +1 -0
  341. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  342. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  343. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  344. package/dist/domain/core/emission/state-emission.js +1 -0
  345. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  346. package/dist/domain/core/emission/state-update-emission.js +1 -0
  347. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  348. package/dist/domain/core/emission/state-validation-result.js +1 -0
  349. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  350. package/dist/domain/core/emission/transformation-log.js +1 -0
  351. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  352. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  353. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  354. package/dist/domain/core/emission/transformer-log.js +1 -0
  355. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  356. package/dist/domain/core/emission/transformer-phase.js +1 -0
  357. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  358. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  359. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +3 -4
  360. package/dist/domain/core/expression/constant-expressions.js +1 -0
  361. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  362. package/dist/domain/core/expression/custom-expression.js +1 -0
  363. package/dist/domain/core/expression/expression.d.ts +46 -0
  364. package/dist/domain/core/expression/expression.js +1 -0
  365. package/dist/domain/core/expression/index.d.ts +4 -0
  366. package/dist/domain/core/expression/index.js +1 -0
  367. package/dist/domain/core/index.d.ts +13 -16
  368. package/dist/domain/core/index.js +1 -1
  369. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  370. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  371. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  372. package/dist/domain/core/invariant/index.d.ts +5 -0
  373. package/dist/domain/core/invariant/index.js +1 -0
  374. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  375. package/dist/domain/core/invariant/invariants.js +1 -0
  376. package/dist/domain/core/invariant/violation-component.js +1 -0
  377. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  378. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  379. package/dist/domain/core/model/index.d.ts +6 -0
  380. package/dist/domain/core/model/index.js +1 -0
  381. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  382. package/dist/domain/core/model/reflection.js +1 -0
  383. package/dist/domain/core/recipe/index.d.ts +1 -0
  384. package/dist/domain/core/recipe/index.js +1 -0
  385. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  386. package/dist/domain/core/recipe/recipes.js +1 -0
  387. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  388. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  389. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  390. package/dist/domain/core/relation/component-factories.js +1 -0
  391. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  392. package/dist/domain/core/relation/composed-of.js +1 -0
  393. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  394. package/dist/domain/core/relation/index.d.ts +8 -0
  395. package/dist/domain/core/relation/index.js +1 -0
  396. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  397. package/dist/domain/core/relation/indirect-relation.js +1 -0
  398. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  399. package/dist/domain/core/relation/reference-component.js +1 -0
  400. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  401. package/dist/domain/core/relation/reference-field.js +1 -0
  402. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  403. package/dist/domain/core/relation/relation-factory.js +1 -0
  404. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  405. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  406. package/dist/domain/core/schema/index.d.ts +3 -0
  407. package/dist/domain/core/schema/index.js +1 -0
  408. package/dist/domain/core/schema/schema-validator.js +1 -0
  409. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  410. package/dist/domain/core/state/id-sequence.js +1 -0
  411. package/dist/domain/core/state/index.d.ts +3 -0
  412. package/dist/domain/core/state/index.js +1 -0
  413. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  414. package/dist/domain/core/state/migrations.js +1 -0
  415. package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
  416. package/dist/domain/domain-builder.d.ts +16 -9
  417. package/dist/domain/domain-builder.js +1 -1
  418. package/dist/domain/domain-context/action-system/action-system.d.ts +38 -0
  419. package/dist/domain/domain-context/action-system/action-system.js +1 -0
  420. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  421. package/dist/domain/domain-context/action-system/index.js +1 -0
  422. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  423. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  424. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  425. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  426. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  427. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  428. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  429. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  430. package/dist/domain/domain-context/domain-context-systems.d.ts +11 -10
  431. package/dist/domain/domain-context/index.d.ts +8 -17
  432. package/dist/domain/domain-context/index.js +1 -1
  433. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  434. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  435. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  436. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  437. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  438. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  439. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  440. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  441. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  442. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  443. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  444. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  445. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  446. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  447. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  448. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  449. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  450. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  451. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  452. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  453. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  454. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  455. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  456. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  457. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  458. package/dist/domain/domain-context/store-system/index.js +1 -0
  459. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  460. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  461. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  462. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  463. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  464. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  465. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  466. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  467. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  468. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  469. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  470. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  471. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  472. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  473. package/dist/domain/domain-context/transformers/context.js +1 -1
  474. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  475. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  476. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  477. package/dist/domain/domain-context/transformers/index.js +1 -1
  478. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  479. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  480. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  481. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  482. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  483. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  484. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  485. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  486. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  487. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  488. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  489. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  490. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  491. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  492. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  493. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +22 -24
  494. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  495. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -72
  496. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  497. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  498. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  499. package/dist/domain/domain-runtime/spec/index.js +1 -1
  500. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  501. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  502. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  503. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  504. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  505. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  506. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  507. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  508. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +25 -0
  509. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  510. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  511. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  512. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  513. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  514. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  515. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  516. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  517. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  518. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  519. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  520. package/dist/domain/domain-runtime/spec/prepare-action-implementations.d.ts +15 -0
  521. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  522. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  523. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  524. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  525. package/dist/domain/domain-runtime/spec/types.d.ts +20 -6
  526. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  527. package/dist/domain/extensions/angle-indicator.js +1 -0
  528. package/dist/domain/extensions/attribute-switch.js +1 -0
  529. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  530. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  531. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  532. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  533. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  534. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  535. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  536. package/dist/domain/extensions/canvas-config.js +1 -0
  537. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  538. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  539. package/dist/domain/extensions/canvas-padding.js +1 -0
  540. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  541. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  542. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  543. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  544. package/dist/domain/extensions/client-side-image.js +1 -0
  545. package/dist/domain/extensions/color-value.js +1 -0
  546. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  547. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  548. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  549. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  550. package/dist/domain/extensions/common/index.d.ts +4 -0
  551. package/dist/domain/extensions/common/index.js +1 -0
  552. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  553. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  554. package/dist/domain/extensions/custom-price-footer.js +1 -0
  555. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  556. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  557. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  558. package/dist/domain/extensions/dimension-indicator.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 +3 -2
  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}/exit-tool-mode-fab.d.ts +1 -1
  570. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  571. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  572. package/dist/domain/extensions/finalize-action.js +1 -0
  573. package/dist/domain/extensions/finalize-component.js +1 -0
  574. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  575. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  576. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  577. package/dist/domain/extensions/fixed-header.js +1 -0
  578. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  579. package/dist/domain/extensions/floating-header.js +1 -0
  580. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  581. package/dist/domain/extensions/hidden-header.js +1 -0
  582. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  583. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  584. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  585. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  586. package/dist/domain/extensions/index.d.ts +69 -0
  587. package/dist/domain/extensions/index.js +1 -0
  588. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  589. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  590. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  591. package/dist/domain/extensions/navigation-steps.js +1 -0
  592. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  593. package/dist/domain/extensions/offset-anchors.js +1 -0
  594. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  595. package/dist/domain/extensions/offset-indicator.js +1 -0
  596. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  597. package/dist/domain/extensions/offset.js +1 -0
  598. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  599. package/dist/domain/extensions/other-action.js +1 -0
  600. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  601. package/dist/domain/extensions/property-page.js +1 -0
  602. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  603. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  604. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  605. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  606. package/dist/domain/extensions/rotatable.js +1 -0
  607. package/dist/domain/extensions/rotation-handle.js +1 -0
  608. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  609. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  610. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  611. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  612. package/dist/domain/extensions/scene-entity-control.js +1 -0
  613. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  614. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  615. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  616. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  617. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  618. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  619. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  620. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  621. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  622. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  623. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  624. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  625. package/dist/domain/extensions/selectable-component.js +1 -0
  626. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  627. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  628. package/dist/domain/extensions/simple-summary.js +1 -0
  629. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  630. package/dist/domain/extensions/size.js +1 -0
  631. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  632. package/dist/domain/extensions/sketching-draw.js +1 -0
  633. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  634. package/dist/domain/extensions/sketching-edit.js +1 -0
  635. package/dist/domain/extensions/summary-component.js +1 -0
  636. package/dist/domain/extensions/text-value.js +1 -0
  637. package/dist/domain/extensions/tool-controls.js +1 -0
  638. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  639. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  640. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  641. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  642. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  643. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  644. package/dist/domain/extensions/view-controls.js +1 -0
  645. package/dist/domain/index.d.ts +2 -30
  646. package/dist/domain/index.js +1 -1
  647. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  648. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  649. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +27 -21
  650. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  651. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  652. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  653. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  654. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  655. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  656. package/dist/domain/projections/collision-projections.d.ts +1 -1
  657. package/dist/domain/projections/composition-projections.d.ts +1 -1
  658. package/dist/domain/projections/composition-projections.js +1 -1
  659. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  660. package/dist/domain/projections/index.d.ts +1 -1
  661. package/dist/domain/projections/position-projections.d.ts +1 -1
  662. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  663. package/dist/domain/projections/snap-matching.d.ts +1 -2
  664. package/dist/domain/projections/snap-utils.d.ts +1 -2
  665. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  666. package/dist/domain/projections/validation-projections.d.ts +3 -20
  667. package/dist/domain/projections/validation-projections.js +1 -1
  668. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  669. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  670. package/dist/domain/system-components/admin-sidebar.js +1 -1
  671. package/dist/domain/system-components/angle-dimension.js +1 -1
  672. package/dist/domain/system-components/application-config.d.ts +1 -1
  673. package/dist/domain/system-components/application-config.js +1 -1
  674. package/dist/domain/system-components/attribute-selection.js +1 -1
  675. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  676. package/dist/domain/system-components/bounding-box-component.js +1 -1
  677. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  678. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  679. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  680. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  681. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  682. package/dist/domain/system-components/child-entity-selection.js +1 -1
  683. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  684. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  685. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  686. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  687. package/dist/domain/system-components/collision-geometry.js +1 -1
  688. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  689. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  690. package/dist/domain/system-components/common/index.d.ts +0 -4
  691. package/dist/domain/system-components/common/index.js +1 -1
  692. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  693. package/dist/domain/system-components/constraint.d.ts +1 -1
  694. package/dist/domain/system-components/constraint.js +1 -1
  695. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  696. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  697. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  698. package/dist/domain/system-components/detail.js +1 -1
  699. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  700. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  701. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  702. package/dist/domain/system-components/distance-dimension.js +1 -1
  703. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  704. package/dist/domain/system-components/drag-handle.js +1 -1
  705. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  706. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  707. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  708. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  709. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  710. package/dist/domain/system-components/generic-dimension.js +1 -1
  711. package/dist/domain/system-components/hidden-entity.js +1 -1
  712. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  713. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  714. package/dist/domain/system-components/index.d.ts +0 -68
  715. package/dist/domain/system-components/index.js +1 -1
  716. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  717. package/dist/domain/system-components/material-override-transformer.js +1 -1
  718. package/dist/domain/system-components/material-swatch.js +1 -1
  719. package/dist/domain/system-components/navigation-page.js +1 -1
  720. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  721. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  722. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  723. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  724. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  725. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  726. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  727. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  728. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  729. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  730. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  731. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  732. package/dist/domain/system-components/pivot-point.js +1 -1
  733. package/dist/domain/system-components/price.js +1 -1
  734. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  735. package/dist/domain/system-components/projected-entities.js +1 -1
  736. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  737. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  738. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  739. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  740. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  741. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  742. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  743. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  744. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  745. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  746. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  747. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  748. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  749. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  750. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  751. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  752. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  753. package/dist/domain/system-components/scene-entity-object.js +1 -1
  754. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  755. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  756. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  757. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  758. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  759. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  760. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  761. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  762. package/dist/domain/system-components/sketching-line.js +1 -1
  763. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  764. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  765. package/dist/domain/system-components/sketching.d.ts +1 -1
  766. package/dist/domain/system-components/sketching.js +1 -1
  767. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  768. package/dist/domain/system-components/snap-axis.js +1 -1
  769. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  770. package/dist/domain/system-components/snap-edge.js +1 -1
  771. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  772. package/dist/domain/system-components/snap-plane.js +1 -1
  773. package/dist/domain/system-components/snap-point.d.ts +1 -1
  774. package/dist/domain/system-components/snap-point.js +1 -1
  775. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  776. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  777. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  778. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  779. package/dist/domain/utils/eval-cache.d.ts +2 -3
  780. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  781. package/dist/domain/utils/memo-eval.d.ts +2 -4
  782. package/dist/editor/Editor.js +1 -1
  783. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  784. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  785. package/dist/editor/domain-editors/use-implementation-files.d.ts +12 -8
  786. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  787. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  788. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  789. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  790. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  791. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  792. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  793. package/dist/editor/variants/variant-preview-styles.js +1 -0
  794. package/dist/i18n/locales/cs/messages.js +1 -1
  795. package/dist/i18n/locales/da/messages.js +1 -1
  796. package/dist/i18n/locales/de/messages.js +1 -1
  797. package/dist/i18n/locales/de-AT/messages.js +1 -1
  798. package/dist/i18n/locales/en/messages.js +1 -1
  799. package/dist/i18n/locales/en-AU/messages.js +1 -1
  800. package/dist/i18n/locales/en-GB/messages.js +1 -1
  801. package/dist/i18n/locales/es/messages.js +1 -1
  802. package/dist/i18n/locales/fr/messages.js +1 -1
  803. package/dist/i18n/locales/hu/messages.js +1 -1
  804. package/dist/i18n/locales/it/messages.js +1 -1
  805. package/dist/i18n/locales/nl/messages.js +1 -1
  806. package/dist/i18n/locales/pl/messages.js +1 -1
  807. package/dist/i18n/locales/pt/messages.js +1 -1
  808. package/dist/i18n/locales/ro/messages.js +1 -1
  809. package/dist/i18n/locales/sk/messages.js +1 -1
  810. package/dist/i18n/locales/tr/messages.js +1 -1
  811. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  812. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  813. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  814. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  815. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  816. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  817. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  818. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  819. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +6 -0
  820. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  821. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  822. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  823. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +1 -0
  824. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  825. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  826. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  827. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  828. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  829. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  830. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  831. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  832. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  833. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  834. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  835. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  836. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  837. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  838. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  839. package/dist/phoenix/cli.js +1 -1
  840. package/dist/phoenix/commands/build.d.ts +5 -0
  841. package/dist/phoenix/commands/build.js +1 -1
  842. package/dist/phoenix/commands/deploy.js +2 -2
  843. package/dist/phoenix/commands/dev.js +5 -5
  844. package/dist/phoenix/commands/feedback.d.ts +2 -1
  845. package/dist/phoenix/commands/feedback.js +1 -1
  846. package/dist/phoenix/commands/index.d.ts +1 -0
  847. package/dist/phoenix/commands/index.js +1 -1
  848. package/dist/phoenix/commands/init.d.ts +4 -4
  849. package/dist/phoenix/commands/init.js +1 -1
  850. package/dist/phoenix/commands/login.d.ts +24 -6
  851. package/dist/phoenix/commands/login.js +2 -2
  852. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  853. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  854. package/dist/phoenix/commands/prettier.js +1 -1
  855. package/dist/phoenix/commands/story-dev.js +2 -2
  856. package/dist/phoenix/commands/variants.d.ts +35 -0
  857. package/dist/phoenix/commands/variants.js +1 -0
  858. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  859. package/dist/phoenix/editor-server/commands-router.js +1 -1
  860. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  861. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  862. package/dist/phoenix/editor-server/editor-server.js +1 -1
  863. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  864. package/dist/phoenix/editor-server/spec-router.js +1 -1
  865. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  866. package/dist/phoenix/scripts/build-admin.js +1 -1
  867. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  868. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  869. package/dist/phoenix/services/index.d.ts +5 -0
  870. package/dist/phoenix/services/index.js +1 -1
  871. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  872. package/dist/phoenix/services/phoenix-application.js +1 -0
  873. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  874. package/dist/phoenix/services/phoenix-store.js +1 -0
  875. package/dist/phoenix/services/phx-banner-plugin.d.ts +32 -0
  876. package/dist/phoenix/services/phx-banner-plugin.js +1 -0
  877. package/dist/phoenix/services/phx-licenses-plugin.d.ts +55 -0
  878. package/dist/phoenix/services/phx-licenses-plugin.js +8 -0
  879. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  880. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  881. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  882. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  883. package/dist/phoenix/services/variant-file-session.js +1 -0
  884. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  885. package/dist/phoenix/services/variant-preview-service.js +1 -0
  886. package/dist/phoenix/services/vite-config.d.ts +2 -0
  887. package/dist/phoenix/services/vite-config.js +1 -1
  888. package/dist/phoenix/utils/git/index.d.ts +1 -0
  889. package/dist/phoenix/utils/git/index.js +1 -0
  890. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  891. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  892. package/dist/phoenix/utils/index.d.ts +2 -0
  893. package/dist/phoenix/utils/index.js +1 -1
  894. package/dist/phoenix/utils/read-git-commit.d.ts +14 -0
  895. package/dist/phoenix/utils/read-git-commit.js +1 -0
  896. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  897. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  898. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  899. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  900. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  901. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  902. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  903. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +52 -40
  904. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +12 -9
  905. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  906. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  907. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  908. package/dist/ui-sdk/theme/types.d.ts +4 -0
  909. package/dist/webhook/builders/common.d.ts +8 -0
  910. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  911. package/dist/webhook/builders/webhook-builder.js +1 -1
  912. package/package.json +5 -8
  913. package/schema/domain-spec.json +24 -0
  914. package/dist/application-spec/generate-application/code/templates/agents-md.d.ts +0 -1
  915. package/dist/application-spec/generate-application/code/templates/agents-md.js +0 -2
  916. package/dist/application-spec/generate-application/code/templates/common/sdk-content.js +0 -67
  917. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  918. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  919. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  920. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  921. package/dist/application-spec/generate-application/code/templates/phoenix-cli-skill.js +0 -1
  922. package/dist/application-spec/generate-application/code/templates/phoenix-create-configurator-skill.js +0 -112
  923. package/dist/application-spec/generate-application/code/templates/phoenix-feedback-skill.js +0 -31
  924. package/dist/application-spec/generate-application/code/templates/phoenix-skill.js +0 -1
  925. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  926. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  927. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  928. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  929. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  930. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  931. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  932. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  933. package/dist/configurator/assistant/browser-details.js +0 -1
  934. package/dist/configurator/assistant/graphql-tools.js +0 -1
  935. package/dist/configurator/assistant/index.d.ts +0 -1
  936. package/dist/configurator/assistant/index.js +0 -1
  937. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  938. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  939. package/dist/domain/application/element-registration.js +0 -1
  940. package/dist/domain/application/handler-registration.js +0 -1
  941. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  942. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  943. package/dist/domain/components/debug-state-component.js +0 -1
  944. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  945. package/dist/domain/components/domain-component-optic.js +0 -16
  946. package/dist/domain/components/drag-state-component.js +0 -1
  947. package/dist/domain/components/export-state-component.js +0 -1
  948. package/dist/domain/components/fullscreen-state-component.js +0 -1
  949. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  950. package/dist/domain/components/hover-state-component.js +0 -1
  951. package/dist/domain/components/index.d.ts +0 -2
  952. package/dist/domain/components/index.js +0 -1
  953. package/dist/domain/components/navigation-state-component.js +0 -1
  954. package/dist/domain/components/selection-state-component.js +0 -1
  955. package/dist/domain/components/system-component-builder.js +0 -1
  956. package/dist/domain/components/system-virtual-entity.js +0 -1
  957. package/dist/domain/components/tool-state-component.js +0 -1
  958. package/dist/domain/components/view-state-component.js +0 -1
  959. package/dist/domain/components/viewport-state-component.js +0 -1
  960. package/dist/domain/core/expression.d.ts +0 -50
  961. package/dist/domain/core/json-schema.js +0 -1
  962. package/dist/domain/core/migrations.js +0 -1
  963. package/dist/domain/core/reflection.js +0 -1
  964. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  965. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  966. package/dist/domain/expressions/constant-expressions.js +0 -1
  967. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  968. package/dist/domain/expressions/custom-expression.js +0 -1
  969. package/dist/domain/expressions/index.d.ts +0 -1
  970. package/dist/domain/expressions/index.js +0 -1
  971. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  972. package/dist/domain/invariants/custom-invariants.js +0 -1
  973. package/dist/domain/invariants/invariants.d.ts +0 -68
  974. package/dist/domain/invariants/invariants.js +0 -1
  975. package/dist/domain/invariants/violation-component.js +0 -1
  976. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  977. package/dist/domain/relations/all-of-type-relation.js +0 -1
  978. package/dist/domain/relations/component-factories.js +0 -1
  979. package/dist/domain/relations/composed-of.js +0 -1
  980. package/dist/domain/relations/direct-relation.d.ts +0 -29
  981. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  982. package/dist/domain/relations/indirect-relation.js +0 -1
  983. package/dist/domain/relations/reference-component.js +0 -1
  984. package/dist/domain/relations/relation-factory.d.ts +0 -19
  985. package/dist/domain/relations/relation-factory.js +0 -1
  986. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  987. package/dist/domain/system-components/angle-indicator.js +0 -1
  988. package/dist/domain/system-components/attribute-switch.js +0 -1
  989. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  990. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  991. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  992. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  993. package/dist/domain/system-components/canvas-config.js +0 -1
  994. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  995. package/dist/domain/system-components/canvas-padding.js +0 -1
  996. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  997. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  998. package/dist/domain/system-components/client-side-image.js +0 -1
  999. package/dist/domain/system-components/color-value.js +0 -1
  1000. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1001. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1002. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1003. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1004. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1005. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1006. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1007. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1008. package/dist/domain/system-components/entity-header.js +0 -1
  1009. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1010. package/dist/domain/system-components/finalize-action.js +0 -1
  1011. package/dist/domain/system-components/finalize-component.js +0 -1
  1012. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1013. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1014. package/dist/domain/system-components/fixed-header.js +0 -1
  1015. package/dist/domain/system-components/floating-header.js +0 -1
  1016. package/dist/domain/system-components/hidden-header.js +0 -1
  1017. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1018. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1019. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1020. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1021. package/dist/domain/system-components/navigation-steps.js +0 -1
  1022. package/dist/domain/system-components/offset-anchors.js +0 -1
  1023. package/dist/domain/system-components/offset-indicator.js +0 -1
  1024. package/dist/domain/system-components/offset.js +0 -1
  1025. package/dist/domain/system-components/other-action.js +0 -1
  1026. package/dist/domain/system-components/property-page.js +0 -1
  1027. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1028. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1029. package/dist/domain/system-components/rotatable.js +0 -1
  1030. package/dist/domain/system-components/rotation-handle.js +0 -1
  1031. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1032. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1033. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1034. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1035. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1036. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1037. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1038. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1039. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1040. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1041. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1042. package/dist/domain/system-components/selectable-component.js +0 -1
  1043. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1044. package/dist/domain/system-components/simple-summary.js +0 -1
  1045. package/dist/domain/system-components/size.js +0 -1
  1046. package/dist/domain/system-components/sketching-draw.js +0 -1
  1047. package/dist/domain/system-components/sketching-edit.js +0 -1
  1048. package/dist/domain/system-components/summary-component.js +0 -1
  1049. package/dist/domain/system-components/text-value.js +0 -1
  1050. package/dist/domain/system-components/tool-controls.js +0 -1
  1051. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1052. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1053. package/dist/domain/system-components/view-controls.js +0 -1
  1054. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  1055. package/dist/extras/assistant/AssistantChat.js +0 -1
  1056. package/dist/extras/assistant/index.d.ts +0 -1
  1057. package/dist/extras/assistant/index.js +0 -1
  1058. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  1059. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1060. /package/dist/application-spec/generate-application/code/templates/{common → skills}/agent-skill.d.ts +0 -0
  1061. /package/dist/application-spec/generate-application/code/templates/{common → skills}/agent-skill.js +0 -0
  1062. /package/dist/application-spec/generate-application/code/templates/{phoenix-cli-skill.d.ts → skills/phoenix-cli-skill.d.ts} +0 -0
  1063. /package/dist/application-spec/generate-application/code/templates/{phoenix-feedback-skill.d.ts → skills/phoenix-feedback-skill.d.ts} +0 -0
  1064. /package/dist/application-spec/generate-application/code/templates/{phoenix-review-skill.d.ts → skills/phoenix-review-skill.d.ts} +0 -0
  1065. /package/dist/application-spec/generate-application/code/templates/{phoenix-skill.d.ts → skills/phoenix-skill.d.ts} +0 -0
  1066. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  1067. /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  1068. /package/dist/domain/core/{expression.js → action/action.js} +0 -0
  1069. /package/dist/domain/core/{schema-validator.js → component/component-reader-types.js} +0 -0
  1070. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1071. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1072. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1073. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1074. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-cell-value.js} +0 -0
  1075. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-array-field.js} +0 -0
  1076. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1077. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1078. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  1079. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1080. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1081. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1082. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1083. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1084. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  1085. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1086. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1087. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1088. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1089. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1090. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1091. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1092. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1093. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1094. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1095. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1096. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1097. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1098. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1099. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  1100. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1101. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1102. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1103. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  1104. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1105. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1106. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1107. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1108. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1109. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1110. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1111. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1112. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1113. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1114. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  1115. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1116. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  1117. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  1118. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1119. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1120. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1121. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1122. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1123. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1124. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1125. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1126. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1127. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -153,10 +153,10 @@ The `formatControlViolationMessage` function is where the magic happens. It rece
153
153
  3. **Actionable guidance**: Tell users exactly what values are valid or how to fix the problem
154
154
  4. **Consistent terminology**: Use the same terms and units throughout your application
155
155
 
156
- Implement violations with custom message formatting in your domain TypeScript file:
156
+ Implement violations with custom message formatting in a file of `src/invariants/`:
157
157
 
158
158
  ```typescript
159
- // domain/index.ts
159
+ // src/invariants/invariants.ts
160
160
 
161
161
  // Pre-define translatable labels for nested localization
162
162
  const colorLabels = {
@@ -166,60 +166,56 @@ const colorLabels = {
166
166
  yellow: msg`yellow`,
167
167
  } as const
168
168
 
169
- const violationExpressions = invariantBuilder
170
- .withInvariants(
171
- implementCustomInvariants({
172
- Scene: {
173
- itIsNotZero: s => {
174
- if (s.x !== 0) {
175
- return [
176
- {
177
- type: 'itIsNotZero',
178
- severity: 'fatal',
179
- message: 'Scene is not zero',
180
- controlViolationPriority: 1,
181
- formatControlViolationMessage: () => {
182
- return msg({
183
- message: `Scene is not zero: The position would be ${s.x} which is not equal to 0`,
184
- })
185
- },
186
- },
187
- ]
188
- }
189
- return []
190
- },
191
- // ... tooMuchRight omitted for brevity ...
192
-
193
- // Static violation: severity, message and controlViolationPriority
194
- // are declared in YAML. Implementation only returns a boolean.
195
- wayTooFarRight: s => s.x < 200,
196
-
197
- colorPositionIncompatible: s => {
198
- const compatibleColors = ['red', 'blue', 'green'] as const
199
- if (s.x >= 200 && !compatibleColors.includes(s.color)) {
200
- return [
201
- {
202
- type: 'colorPositionIncompatible',
203
- severity: 'fatal',
204
- message: 'Color is not compatible with far right position',
205
- controlViolationPriority: 3,
206
- formatControlViolationMessage: (_emission, { i18n }) => {
207
- const labels = new Intl.ListFormat(i18n.locale, {
208
- style: 'long',
209
- type: 'disjunction',
210
- }).format(compatibleColors.map(c => i18n.t(colorLabels[c])))
211
-
212
- return msg({ message: `Far right position is only available for ${labels}` })
213
- },
214
- },
215
- ]
216
- }
217
- return []
218
- },
219
- },
220
- })
221
- )
222
- .buildViolationExpressions()
169
+ export default phx.domain.implementCustomInvariants({
170
+ Buckyball: {
171
+ itIsNotZero: s => {
172
+ if (s.x !== 0) {
173
+ return [
174
+ {
175
+ type: 'itIsNotZero',
176
+ severity: 'fatal',
177
+ message: 'Scene is not zero',
178
+ controlViolationPriority: 1,
179
+ formatControlViolationMessage: () => {
180
+ return msg({
181
+ message: `Scene is not zero: The position would be ${s.x} which is not equal to 0`,
182
+ })
183
+ },
184
+ },
185
+ ]
186
+ }
187
+ return []
188
+ },
189
+ // ... tooMuchRight omitted for brevity ...
190
+
191
+ // Static violation: severity, message and controlViolationPriority
192
+ // are declared in YAML. Implementation only returns a boolean.
193
+ wayTooFarRight: s => s.x < 200,
194
+
195
+ colorPositionIncompatible: s => {
196
+ const compatibleColors = ['red', 'blue', 'green'] as const
197
+ if (s.x >= 200 && !compatibleColors.includes(s.color)) {
198
+ return [
199
+ {
200
+ type: 'colorPositionIncompatible',
201
+ severity: 'fatal',
202
+ message: 'Color is not compatible with far right position',
203
+ controlViolationPriority: 3,
204
+ formatControlViolationMessage: (_emission, { i18n }) => {
205
+ const labels = new Intl.ListFormat(i18n.locale, {
206
+ style: 'long',
207
+ type: 'disjunction',
208
+ }).format(compatibleColors.map(c => i18n.t(colorLabels[c])))
209
+
210
+ return msg({ message: `Far right position is only available for ${labels}` })
211
+ },
212
+ },
213
+ ]
214
+ }
215
+ return []
216
+ },
217
+ },
218
+ })
223
219
  ```
224
220
 
225
221
  ### Internationalization with Dynamic Content
@@ -421,49 +421,34 @@ export const handler = webhookBuilder
421
421
 
422
422
  The publishing workflow validates admin state, transforms entities, and stores JSON to S3. Configurators access published data via `ctx.publishedData` in expressions.
423
423
 
424
- For implementation examples, see `packages/demos/demo-finalize/src/handlers/map-published-revision-data.ts`.
424
+ For implementation examples, see `packages/demos/demo-catalog-builder/src/handlers/map-published-chunked-data.ts`.
425
425
 
426
426
  For technical details about data transformation and storage, see [Data Sources - Published Data](?path=/docs/phoenix-data-sources--docs#published-data).
427
427
 
428
428
  ## Web Component Integration
429
429
 
430
- Admin functionality integrates through the configurator builder rather than requiring separate web component setup.
430
+ Admin functionality is part of the same application as the configurator and needs no separate web component setup.
431
431
 
432
- ### Configurator Builder Setup
432
+ ### Registering Admin Components
433
433
 
434
- In phx-cli projects, frontend entry is auto-generated in `.phoenix/`. Admin components are registered through `src/admin/components/`:
434
+ The frontend entry is generated into `.phoenix/`, so a project never calls the configurator builder itself. Every file
435
+ in `src/admin/components/` is picked up by its location and its default export is registered as admin components:
435
436
 
436
437
  ```typescript
437
438
  // src/admin/components/admin-components.tsx
438
- import { configuratorBuilder } from '.phoenix/frontend.js'
439
- import { customAdminOptics } from './optics.js'
440
- import { NotAuthenticatedPage } from '../pages/NotAuthenticatedPage.js'
441
-
442
- const config = configuratorBuilder
443
- .withComponentOptics(customConfiguratorComponents)
444
- .withAdminComponentOptics(customAdminOptics) // Register admin components
445
- .buildConfig({
446
- deploymentId: phx.runtimeConfig.DEPLOYMENT_ID,
447
- persistence: {
448
- type: 'server',
449
- serverUrl: phx.runtimeConfig.SERVER_URL,
450
- },
451
- ui: {
452
- notAuthenticatedPage: <NotAuthenticatedPage />, // Show when user not authenticated
453
- },
454
- // ... other config
455
- })
439
+ // ... customAdminOptics as defined in the example above
456
440
 
457
- phx.frontend.mountApplication(config)
441
+ export default customAdminOptics
458
442
  ```
459
443
 
460
- Admin component files go in `src/admin/components/` and are automatically discovered by phx-cli.
444
+ The page shown to a user who is not authenticated is an element. Create it with
445
+ `phx.frontend.createNotAuthenticatedPage(...)` in a file under `src/elements/`.
461
446
 
462
447
  ### Built-in Admin Integration
463
448
 
464
449
  Phoenix automatically provides admin functionality when:
465
450
 
466
- 1. Admin components are registered via `withAdminComponentOptics()`
451
+ 1. Admin components are default-exported from files in `src/admin/components/`
467
452
  2. Admin configuration exists in `phoenix.config.ts`
468
453
  3. User has admin session token
469
454
 
@@ -515,4 +500,4 @@ Ready to implement admin functionality in your Phoenix project? Here's what to e
515
500
  - **[Sessions and Access](?path=/docs/phoenix-sessions-and-access--docs)** - Understand admin authentication and permissions
516
501
  - **[Connected Data Sources](?path=/docs/phoenix-connected-data-sources--docs)** - Wire `$data` entries to Google Sheets or Excel; requires the embedded admin mode
517
502
 
518
- For hands-on examples, check out the finalize demo (`packages/demos/demo-finalize/`) which shows spec-driven admin using `createAdminPages` for presets and recipes. This demo demonstrates the YAML-based admin approach with publishing workflows rather than custom admin UI components.
503
+ For hands-on examples, check out the Catalog Builder demo (`packages/demos/demo-catalog-builder/`), which shows spec-driven admin pages over connected and generated data, custom catalog pages beside them, admin model migrations, and the publishing workflow.
@@ -5,6 +5,7 @@
5
5
  1. **YAML is king** - 99% of configuration should be in spec/\*.yaml files
6
6
  2. **Custom code locations** (in order of preference):
7
7
  - `src/expressions/` - Computed/derived properties
8
+ - `src/actions/` - Named domain operations declared under `actions:`
8
9
  - `src/invariants/` - Business rule constraints
9
10
  - `src/transformers/` - Automatic state fixers
10
11
  - `src/handlers/` - Event & lifecycle handlers
@@ -25,8 +25,9 @@ The configurator interface is generated in `.phoenix/configurator-interface.ts`:
25
25
 
26
26
  ```typescript
27
27
  // .phoenix/configurator-interface.ts (AUTO-GENERATED - DO NOT EDIT)
28
- import {'{'} createConfiguratorInterface {'}'} from '@salsita-ai/sdk/configurator'
29
- import {'{'} configuratorBuilder {'}'} from './domain.js'
28
+ import { createConfiguratorInterface } from '@salsita-ai/sdk/configurator'
29
+
30
+ import { configuratorBuilder } from './domain.js'
30
31
 
31
32
  export const configuratorInterface = createConfiguratorInterface(configuratorBuilder)
32
33
 
@@ -64,9 +65,9 @@ type CustomMaterial = Phx['AdminModel']['CustomMaterial']
64
65
  Access the configurator interface via `phx.frontend`:
65
66
 
66
67
  ```typescript
67
- export const CustomComponent = () => {'{'}
68
+ export const CustomComponent = () => {
68
69
  // Access domain systems
69
- const {'{'} navigationSystem, storeSystem {'}'} = phx.frontend.useDomain()
70
+ const { navigationSystem, storeSystem } = phx.frontend.useDomain()
70
71
 
71
72
  // Entity state hooks
72
73
  const rootEntity = phx.frontend.useRootEntityState()
@@ -76,11 +77,11 @@ export const CustomComponent = () => {'{'}
76
77
  const selectEntity = phx.frontend.useSelectEntity()
77
78
 
78
79
  // Type-safe entity access
79
- if (selectedEntity && Cabinet.is(selectedEntity)) {'{'}
80
+ if (selectedEntity && Cabinet.is(selectedEntity)) {
80
81
  // selectedEntity is now typed as $Cabinet
81
82
  console.log(selectedEntity.width, selectedEntity.$area)
82
- {'}'}
83
- {'}'}
83
+ }
84
+ }
84
85
  ```
85
86
 
86
87
  ## Core Hooks
@@ -90,16 +91,16 @@ The configurator interface provides 100+ hooks organized by category. Use TypeSc
90
91
  ### Domain & Application Context
91
92
 
92
93
  ```typescript
93
- const ExampleComponent = () => {'{'}
94
+ const ExampleComponent = () => {
94
95
  // Core domain systems
95
- const {'{'} navigationSystem, storeSystem, entitySystem {'}'} = phx.frontend.useDomain()
96
+ const { navigationSystem, storeSystem, entitySystem } = phx.frontend.useDomain()
96
97
 
97
98
  // Domain application context
98
- const {'{'} configurationPersistSystem {'}'} = phx.frontend.useDomainApplication()
99
+ const { configurationPersistSystem } = phx.frontend.useDomainApplication()
99
100
 
100
101
  // Full configurator context
101
- const {'{'} imageRenderingSystem {'}'} = phx.frontend.useConfigurator()
102
- {'}'}
102
+ const { imageRenderingSystem } = phx.frontend.useConfigurator()
103
+ }
103
104
  ```
104
105
 
105
106
  ### State Subscriptions
@@ -209,7 +210,7 @@ const validity = phx.frontend.useStateValidity()
209
210
  const controlViolations = phx.frontend.useControlViolations(entityId, controlId)
210
211
 
211
212
  // Finalize violations
212
- const {'{'} disabled, hints {'}'} = phx.frontend.useFinalizeViolations()
213
+ const { disabled, hints } = phx.frontend.useFinalizeViolations()
213
214
 
214
215
  // Map violations to hints
215
216
  const mapViolationHints = phx.frontend.useMapViolationHints()
@@ -284,89 +285,89 @@ The interface provides factory functions for creating handlers and providers:
284
285
 
285
286
  ```typescript
286
287
  // Runs early in app startup, before session auth
287
- const OnApplicationStart = phx.frontend.createOnApplicationStartProvider(({'{'} children {'}'}) => {'{'}
288
- return <YourProvider>{'{'}children{'}'}</YourProvider>
289
- {'}'})
288
+ const OnApplicationStart = phx.frontend.createOnApplicationStartProvider(({ children }) => {
289
+ return <YourProvider>{children}</YourProvider>
290
+ })
290
291
 
291
292
  // Runs after session auth, before domain data loading
292
- const OnSessionReady = phx.frontend.createOnSessionReadyProvider(({'{'} children {'}'}) => {'{'}
293
- return <YourProvider>{'{'}children{'}'}</YourProvider>
294
- {'}'})
293
+ const OnSessionReady = phx.frontend.createOnSessionReadyProvider(({ children }) => {
294
+ return <YourProvider>{children}</YourProvider>
295
+ })
295
296
 
296
297
  // Runs after published data is parsed, before frontend/backend loading
297
- const OnPublishedDataReady = phx.frontend.createOnPublishedDataReadyProvider(({'{'} children {'}'}) => {'{'}
298
- return <YourProvider>{'{'}children{'}'}</YourProvider>
299
- {'}'})
298
+ const OnPublishedDataReady = phx.frontend.createOnPublishedDataReadyProvider(({ children }) => {
299
+ return <YourProvider>{children}</YourProvider>
300
+ })
300
301
 
301
302
  // Runs after frontend collection and parsing, before backend loading
302
- const OnFrontendDataReady = phx.frontend.createOnFrontendDataReadyProvider(({'{'} children {'}'}) => {'{'}
303
- return <YourProvider>{'{'}children{'}'}</YourProvider>
304
- {'}'})
303
+ const OnFrontendDataReady = phx.frontend.createOnFrontendDataReadyProvider(({ children }) => {
304
+ return <YourProvider>{children}</YourProvider>
305
+ })
305
306
 
306
307
  // Runs after backend loading, before preset selection and configurator initialization
307
- const OnBackendDataReady = phx.frontend.createOnBackendDataReadyProvider(({'{'} children {'}'}) => {'{'}
308
- return <YourProvider>{'{'}children{'}'}</YourProvider>
309
- {'}'})
308
+ const OnBackendDataReady = phx.frontend.createOnBackendDataReadyProvider(({ children }) => {
309
+ return <YourProvider>{children}</YourProvider>
310
+ })
310
311
 
311
312
  // Runs after routing and preset selection are ready
312
- const OnRoutingReady = phx.frontend.createOnRoutingReadyProvider(({'{'} children {'}'}) => {'{'}
313
- return <YourProvider>{'{'}children{'}'}</YourProvider>
314
- {'}'})
313
+ const OnRoutingReady = phx.frontend.createOnRoutingReadyProvider(({ children }) => {
314
+ return <YourProvider>{children}</YourProvider>
315
+ })
315
316
 
316
317
  // Wraps OwnerUi and ReadUi pages
317
- const OnConfiguratorReady = phx.frontend.createOnConfiguratorReadyProvider(({'{'} children {'}'}) => {'{'}
318
- return <YourProvider>{'{'}children{'}'}</YourProvider>
319
- {'}'})
318
+ const OnConfiguratorReady = phx.frontend.createOnConfiguratorReadyProvider(({ children }) => {
319
+ return <YourProvider>{children}</YourProvider>
320
+ })
320
321
  ```
321
322
 
322
323
  ### Data Handlers
323
324
 
324
325
  ```typescript
325
326
  // Collect frontend data during initialization
326
- const collectFrontendData = phx.frontend.createCollectFrontendDataHandler(async (context) => {'{'}
327
- return {'{'} customData: await fetchCustomData() {'}'}
328
- {'}'})
327
+ const collectFrontendData = phx.frontend.createCollectFrontendDataHandler(async context => {
328
+ return { customData: await fetchCustomData() }
329
+ })
329
330
 
330
331
  // Override which published chunks are fetched by the frontend.
331
332
  // See Publishing page for full documentation.
332
- const filterPublishedChunks = phx.frontend.createFilterPublishedChunksHandler(() => {'{'}
333
+ const filterPublishedChunks = phx.frontend.createFilterPublishedChunksHandler(() => {
333
334
  const session = phx.frontend.useSession()
334
335
 
335
- return useMemo(() => {'{'}
336
+ return useMemo(() => {
336
337
  if (session.sessionPayload?.role === 'admin') return ['styling', 'catalog-na']
337
338
  return ['styling']
338
- {'}'}, [session.sessionPayload?.role])
339
- {'}'})
339
+ }, [session.sessionPayload?.role])
340
+ })
340
341
 
341
342
  // Runs after preset data is loaded
342
- const onPresetLoaded = phx.frontend.createOnPresetLoadedHandler((entities, presetData) => {'{'}
343
+ const onPresetLoaded = phx.frontend.createOnPresetLoadedHandler((entities, presetData) => {
343
344
  // Can modify preset entities before rendering
344
345
  return entities
345
- {'}'})
346
+ })
346
347
 
347
348
  // Intercept navigation to index/presets page
348
- const onGoToIndex = phx.frontend.createOnGoToIndexHandler(() => {'{'}
349
+ const onGoToIndex = phx.frontend.createOnGoToIndexHandler(() => {
349
350
  // Custom logic before navigating
350
- {'}'})
351
+ })
351
352
  ```
352
353
 
353
354
  ### UI Components
354
355
 
355
356
  ```typescript
356
357
  // Custom Phoenix layout element
357
- const MyLayoutElement = phx.frontend.createCustomPhoenixLayoutElement(() => {'{'}
358
+ const MyLayoutElement = phx.frontend.createCustomPhoenixLayoutElement('MyLayoutElement', () => {
358
359
  return <div>Custom Layout</div>
359
- {'}'})
360
+ })
360
361
 
361
362
  // Custom Phoenix entity element
362
- const MyEntityElement = phx.frontend.createCustomPhoenixEntityElement(() => {'{'}
363
+ const MyEntityElement = phx.frontend.createCustomPhoenixEntityElement('MyEntityElement', () => {
363
364
  return <mesh>...</mesh>
364
- {'}'})
365
+ })
365
366
 
366
367
  // Custom page when auth fails
367
- const NotAuthenticatedPage = phx.frontend.createNotAuthenticatedPage(() => {'{'}
368
+ const NotAuthenticatedPage = phx.frontend.createNotAuthenticatedPage(() => {
368
369
  return <div>Please log in</div>
369
- {'}'})
370
+ })
370
371
  ```
371
372
 
372
373
  ### Preset UI
@@ -383,21 +384,55 @@ const PresetAction = phx.frontend.createPresetPageAction(PresetHelpAction)
383
384
  const PresetOverlay = phx.frontend.createPresetDeviceNotSupported(SmallScreenNotice)
384
385
  ```
385
386
 
387
+ ### Loaded Configuration UI
388
+
389
+ A layout element registered under the name `ConfiguratorLayout` replaces the whole UI of a loaded configuration, in owner and in read mode, whatever `layout` the spec sets. Without it, Phoenix renders the layout the spec selects.
390
+
391
+ ```typescript
392
+ // src/elements/ConfiguratorLayout.tsx
393
+ import { LayoutSlots, useSceneSafeArea } from '@salsita-ai/sdk/configurator'
394
+
395
+ const SIDEBAR_WIDTH = 320
396
+
397
+ export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout', () => {
398
+ const { containerRef, safeAreaRef } = useSceneSafeArea()
399
+
400
+ return (
401
+ <div ref={containerRef} style={{ position: 'absolute', inset: 0 }}>
402
+ <LayoutSlots.Services />
403
+ <LayoutSlots.SharedCanvas />
404
+ <aside style={{ position: 'absolute', insetBlock: 0, insetInlineStart: 0, inlineSize: SIDEBAR_WIDTH }}>
405
+ Project sidebar
406
+ </aside>
407
+ <div
408
+ ref={safeAreaRef}
409
+ style={{ position: 'absolute', insetBlock: 0, insetInlineStart: SIDEBAR_WIDTH, insetInlineEnd: 0, pointerEvents: 'none' }}
410
+ />
411
+ </div>
412
+ )
413
+ })
414
+ ```
415
+
416
+ - `LayoutSlots.SharedCanvas` renders the scene. It is absolutely positioned and fills its nearest positioned ancestor, so the layout's root is positioned and covers the page. The layout positions its own UI above the canvas and after it in the markup, as the `aside` does; unpositioned content is painted under the canvas.
417
+ - `useSceneSafeArea()`, called without arguments, tells the camera which part of the canvas the UI leaves free. Attach `containerRef` to the element that covers the whole canvas and `safeAreaRef` to the region the scene should stay visible in: the hook measures the gap between the two and the camera frames the scene inside the safe area. Without it the scene is framed in the whole canvas. The safe-area element lies over the canvas, so it sets `pointerEvents: 'none'` to leave orbiting and clicking to the scene. A `canvasPadding` component in the spec scales the measured gaps, see [Canvas Padding](?path=/docs/layouts-canvas-padding--docs).
418
+ - The layout has to mount `LayoutSlots.SharedCanvas`, or the project sets `appLoader: legacy`. Otherwise the app loader stays on screen.
419
+ - The layout composes the rest from what `@salsita-ai/sdk/configurator` exports: `LayoutSlots.Services` and the other members of `LayoutSlots`.
420
+ - Nothing of the built-in layouts is rendered for it. The finalize page is `Legacy.CommonFinalizePage`, the dialog is `LayoutDialog`, and the preview start screen is `DesktopPreview` or `MobilePreview`, which the layout shows while `usePreview().isPreview` is set. Both previews frame the scene themselves, so the layout renders the component that calls `useSceneSafeArea()` only while `isPreview` is not set; it then measures when it mounts after the preview. The assistant panel is not available to a project layout.
421
+ - Any project layout element named `ConfiguratorLayout` takes over the page.
422
+
386
423
  ## TransformerBuilder
387
424
 
388
425
  Use `transformerBuilder` to create entity transformers:
389
426
 
390
427
  ```typescript
391
428
  // Create a transformer that runs when specific conditions are met
392
- const cabinetTransformer = phx.frontend.transformerBuilder
393
- .when(Cabinet.is)
394
- .do((cabinet, context) => {'{'}
395
- // Transform cabinet data
396
- return {'{'}
397
- ...cabinet,
398
- $computedField: calculateSomething(cabinet)
399
- {'}'}
400
- {'}'})
429
+ const cabinetTransformer = phx.frontend.transformerBuilder.when(Cabinet.is).do((cabinet, context) => {
430
+ // Transform cabinet data
431
+ return {
432
+ ...cabinet,
433
+ $computedField: calculateSomething(cabinet),
434
+ }
435
+ })
401
436
  ```
402
437
 
403
438
  **Note**: The deprecated `createTransformer` function should not be used for new implementations.
@@ -407,19 +442,19 @@ const cabinetTransformer = phx.frontend.transformerBuilder
407
442
  The `updates` factory creates type-safe entity updates:
408
443
 
409
444
  ```typescript
410
- const {'{'} storeSystem {'}'} = phx.frontend.useDomain()
445
+ const { storeSystem } = phx.frontend.useDomain()
411
446
 
412
447
  // Create new entity
413
- const createUpdates = phx.frontend.updates.create({'{'}
448
+ const createUpdates = phx.frontend.updates.create({
414
449
  type: 'Cabinet',
415
450
  width: 800,
416
451
  height: 2000,
417
- {'}'})
452
+ })
418
453
 
419
454
  // Modify existing entity
420
- const modifyUpdates = phx.frontend.updates.modify(cabinetId, {'{'}
455
+ const modifyUpdates = phx.frontend.updates.modify(cabinetId, {
421
456
  width: 1000,
422
- {'}'})
457
+ })
423
458
 
424
459
  // Delete entity
425
460
  const deleteUpdates = phx.frontend.updates.delete(cabinetId)
@@ -464,7 +464,7 @@ Error: Failed to upload to S3
464
464
 
465
465
  - Run `deployment:prepare` again to get fresh presigned URLs
466
466
  - Check that `.upload-links.json` exists and is readable
467
- - Use `--skipUpload` / `-su` flag to test without uploading assets
467
+ - Use `--skipUpload` / `--su` flag to test without uploading assets
468
468
 
469
469
  ### "Server URL is required"
470
470
 
@@ -565,9 +565,13 @@ A relation pair can have at most one composition owner. For an ownership relatio
565
565
  Relations are validated when the application spec is parsed:
566
566
 
567
567
  - **Every relation must be declared from both sides.** A relation on `A` targeting `B` needs a counterpart declared on `B` (or on an alias containing `B`) pointing back at `A` — with the opposite kind (`direct` ↔ `indirect`, `allOfType` ↔ `allOfType`) and the same `field`. A missing or mismatched counterpart fails parsing with `RELATION_MISSING_COUNTERPART`. Self‑referencing relations (target is the declaring type) act as their own counterpart and are exempt.
568
+ - **The field of a relation must hold references to the entities the relation relates to.** A `direct` relation reads a field of the entity it is declared on, and the field must reference exactly the entity types of the target. An `indirect` relation reads a field of the target, and the field must reference exactly the entity types the relation is declared on. A field that is not a `DomainEntityId` with `references` fails parsing with `RELATION_FIELD_NOT_REFERENCE`, and one that references other entity types with `RELATION_FIELD_REFERENCES_OTHER_TYPES`.
569
+ - **The field of a `direct` relation must hold its references the way the cardinality needs.** `1-1` needs one reference that is never `null`, `0-1` one reference or `null`, and `0-N` or `1-N` an array of references. Anything else fails parsing with `RELATION_FIELD_CARDINALITY_MISMATCH`. An `indirect` relation takes any of the three, because its cardinality counts the entities that point back.
568
570
  - **At most one side may carry `composedOf: true`.** A pair may have one owner or no owner. Two owning sides fail parsing with `RELATION_COUNTERPART_COMPOSED_OF_MISMATCH` because the pair would define ownership in both directions.
569
571
  - **Every entity type must be reachable from the root** through `composedOf` edges, otherwise parsing fails with `RELATION_ENTITY_NOT_IN_COMPOSITION_TREE`.
570
572
 
573
+ **What the field checks leave out.** A field whose schema states its type as text (`tsType`) or combines schemas with `allOf` is not checked, because the parser cannot tell what it holds. With a wrong field of that kind a `direct` relation fails when it is read, and an `indirect` relation finds no related entities and fails only if its cardinality requires one. When an alias holds the field, the relation is accepted if the field fits in at least one entity type of the alias.
574
+
571
575
  **Why both sides?** The two declarations feed two different runtime systems. The `direct` side owns the id field and generates the reference bookkeeping: dangling ids are pruned when the referenced entity is deleted, and ids are written on create and replace. The `composedOf: true` side generates the composition edge: cascade deletes, the scene hierarchy, and the reachability check. Because these can be different entities — a parent may collect children by reverse lookup (`indirect` + `composedOf: true`) while each child stores the id — dropping either declaration silently disables one of the systems: without the parent side, deleting the parent leaves its children orphaned; without the child side, deleted entities leave dangling ids behind. The missing side also cannot be generated automatically, because the stored id field is compatible with many different relations: the reverse accessor's name is public API, and its cardinality (`0-N`, `1-N`, or a `0-1` slot) changes the generated types, state validation, and UI affordances without changing the stored data at all. Requiring both declarations turns these mistakes into parse errors instead of runtime surprises, and the redundancy lets the parser cross‑check the pair — a typo in `field` or a doubled owner is caught immediately.
572
576
 
573
577
  ### Picking a relation kind
@@ -35,15 +35,23 @@ interface ExpressionContext<
35
35
 
36
36
  // System services
37
37
  readonly domain: Domain // Access to domain model and other entities
38
- readonly componentReader: ComponentReader // Read component states across all entities
39
38
  readonly migrate: MigrateFunction // Data migration utilities
40
- readonly sketchingProjections: SketchingProjections // Sketching system projections
41
- readonly collisionProjections: CollisionProjections // Collision detection projections
39
+ readonly componentReader: ComponentReader // Read component states across all entities
40
+
41
+ // Projections
42
+ readonly positionProjections: PositionProjections // World matrices of scene entities
43
+ readonly sketchingProjections: SketchingProjections // Shapes and connections of a sketch
44
+ readonly collisionProjections: CollisionProjections // Collision meshes and collisions between entities
45
+ readonly constraintProjections: ConstraintProjections // Spatial constraints an entity violates
46
+ readonly snappingProjections: SnappingProjections // Snap points, edges, planes and matches
47
+ readonly projectedEntitiesProjections: ProjectedEntitiesProjections // Data of projected entities
42
48
  }
43
49
  ```
44
50
 
45
51
  The context includes data sources (session, published, frontend, backend), system services (domain access, component reader, projections), and application state (mode, role). Each part serves a different purpose in expression calculations.
46
52
 
53
+ The SDK declares the context in two parts. `CoreExpressionContext` holds the mode, the role, the data sources, `domain` and `migrate`. `RuntimeExpressionContext` holds the component reader and the projections. An editor hover or a type error therefore shows `ctx` as `OpenExpressionContext<..., RuntimeExpressionContext<AnyDomainEntity>>`, which has the members listed above. A helper of your own that takes the context declares its parameter as `ExpressionContext` with the five types of your project.
54
+
47
55
  ### Configurator Modes
48
56
 
49
57
  The `mode` property indicates the current operational context of the configurator. Different modes enable different functionality and access levels. Expressions can check the mode to change their behavior.
@@ -355,4 +355,4 @@ Now that you understand finalization workflows, explore these related topics:
355
355
  - **[Admin](?path=/docs/phoenix-admin--docs)** - Learn about admin finalization and published data generation
356
356
  - **[Best Practices](?path=/docs/phoenix-best-practices--docs)** - Follow proven patterns for finalization implementation
357
357
 
358
- For hands-on practice, explore the finalize demo in the **[Quickstart](?path=/docs/phoenix-quickstart--docs)** guide.
358
+ For hands-on practice, explore the Precision demo (`packages/demos/demo-precision/`) for finalization resources — PDF, CSV, images, email attachments and callbacks — and the Catalog Builder demo (`packages/demos/demo-catalog-builder/`) for the finalization data lifecycle and access links.
@@ -86,7 +86,7 @@ For inspiration and real-world implementation patterns, examine deployed Salsita
86
86
 
87
87
  When you encounter challenges or need to implement specific features, use these resources in order:
88
88
 
89
- **AI-Powered Assistance**: Every Phoenix project ships `AGENTS.md` and Phoenix agent skills, so coding agents in your project already know the SDK conventions and CLI. Start by using AI coding assistants in the `configurator-phoenix` project. While they may not solve complex problems directly, they can point you toward relevant examples or search terms that will help you find the right solution.
89
+ **AI-Powered Assistance**: Every Phoenix project ships Phoenix agent skills, so coding agents in your project already know the SDK conventions and CLI. Start by using AI coding assistants in the `configurator-phoenix` project. While they may not solve complex problems directly, they can point you toward relevant examples or search terms that will help you find the right solution.
90
90
 
91
91
  **Storybook Documentation**: Search the Phoenix Storybook for functionality similar to what you need. When you find relevant examples, examine the corresponding code in the configurator-phoenix stories to understand the implementation details.
92
92
 
@@ -51,11 +51,11 @@ For details on the server-side token exchange, see [Authentication](?path=/docs/
51
51
 
52
52
  The `power` attribute controls the configurator's state:
53
53
 
54
- | Value | Behavior |
55
- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
56
- | `"off"` | Completely inactive. No rendering, no session, no network requests beyond loading the bundle. |
57
- | `"standby"` | Session initialized, assets preloaded (3D models, textures), but not rendered. Faster power-on, but consumes bandwidth and counts toward session quotas. |
58
- | `"on"` | Fully active and visible. |
54
+ | Value | Behavior |
55
+ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
56
+ | `"off"` | Completely inactive. No rendering, no session, no network requests beyond loading the bundle. |
57
+ | `"standby"` | Session initialized and any textures listed in `resourcesConfig.prefetchTextureUrls` prefetched; nothing is rendered and no models are loaded. Faster power-on, but consumes bandwidth and counts toward session quotas. |
58
+ | `"on"` | Fully active and visible. |
59
59
 
60
60
  A typical flow: power on at login (`"standby"`), then toggle between `"on"` and `"standby"` as the user opens and closes the configurator. Use `"off"` only before the user has authenticated.
61
61
 
@@ -28,11 +28,11 @@ The configurator fills its parent container. Set a height on the element or a wr
28
28
 
29
29
  The `power` attribute controls whether the configurator is active. It accepts three values:
30
30
 
31
- | Value | Behavior |
32
- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
- | `"off"` | Configurator is completely inactive. No rendering, no session initialization, no network requests beyond loading the bundle. Lowest resource usage. |
34
- | `"standby"` | Configurator initializes its session and preloads assets (3D models, textures), but does not render. Subsequent power-on is faster, but consumes bandwidth and counts toward monthly session quotas. |
35
- | `"on"` | Configurator is fully active and visible. |
31
+ | Value | Behavior |
32
+ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
+ | `"off"` | Configurator is completely inactive. No rendering, no session initialization, no network requests beyond loading the bundle. Lowest resource usage. |
34
+ | `"standby"` | Configurator initializes its session and prefetches any textures listed in `resourcesConfig.prefetchTextureUrls`, but does not render or load models. Subsequent power-on is faster, but consumes bandwidth and counts toward monthly session quotas. |
35
+ | `"on"` | Configurator is fully active and visible. |
36
36
 
37
37
  ### Choosing the Initial Power
38
38