@salsita-ai/sdk 0.50.0-develop.2331d4a6b7 → 0.50.0-develop.24077d65e6

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 (1291) 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/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +15 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +18 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  39. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  40. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  41. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  42. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  43. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  44. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  45. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  46. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  47. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  48. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  49. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  50. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +2 -2
  51. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -13
  52. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  53. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  55. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  57. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  58. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  59. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.d.ts +3 -1
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +68 -64
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  63. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +6 -0
  64. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  66. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  67. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  68. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  69. package/dist/application-spec/generate-application/code/templates/domain-spec.js +11 -11
  70. package/dist/application-spec/generate-application/code/templates/domain.js +4 -4
  71. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.d.ts +11 -0
  72. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +8 -0
  73. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  74. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  75. package/dist/application-spec/generate-application/code/templates/globals.js +6 -4
  76. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -7
  77. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  78. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  79. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +95 -41
  81. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +39 -16
  82. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +13 -5
  83. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  84. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +42 -13
  87. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
  88. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  89. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  90. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +1 -3
  91. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +3 -3
  92. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  93. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +14 -0
  94. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.js +1 -0
  95. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  96. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  97. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  98. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  99. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  100. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  101. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +1 -0
  102. package/dist/application-spec/generate-application/runtime/sections/index.js +1 -1
  103. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  104. package/dist/application-spec/index.d.ts +1 -0
  105. package/dist/application-spec/index.js +1 -1
  106. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +3 -1
  107. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  108. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  109. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  110. package/dist/application-spec/parse-application-files/merge/index.d.ts +1 -0
  111. package/dist/application-spec/parse-application-files/merge/index.js +1 -1
  112. package/dist/application-spec/parse-application-files/merge/merged-actions.d.ts +11 -0
  113. package/dist/application-spec/parse-application-files/merge/merged-actions.js +1 -0
  114. package/dist/application-spec/parse-application-files/merge/merged-spec.d.ts +2 -0
  115. package/dist/application-spec/parse-application-files/merge/merged-spec.js +1 -1
  116. package/dist/application-spec/parse-application-files/raw-spec/index.d.ts +1 -0
  117. package/dist/application-spec/parse-application-files/raw-spec/index.js +1 -1
  118. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.d.ts +18 -0
  119. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.js +1 -0
  120. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +29 -4
  121. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  122. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.d.ts +2 -0
  123. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  124. package/dist/application-spec/parse-application-files/resolve/resolve-import-modules.js +1 -1
  125. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  126. package/dist/application-spec/parse-application-files/spec/application/application-spec.js +1 -1
  127. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.d.ts +4 -2
  128. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  129. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  130. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  131. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.d.ts +23 -0
  132. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.js +1 -0
  133. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  134. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  135. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  136. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  137. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  138. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  139. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  140. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  141. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  142. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  143. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  144. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  145. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  146. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  147. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  148. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  149. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +10 -0
  150. package/dist/application-spec/parse-application-files/spec/model/names/action-name.js +1 -0
  151. package/dist/application-spec/parse-application-files/spec/model/names/index.d.ts +1 -0
  152. package/dist/application-spec/parse-application-files/spec/model/names/index.js +1 -1
  153. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  154. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  155. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  156. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  157. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  158. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  159. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +35 -0
  160. package/dist/application-spec/parse-application-files/spec/sections/actions.js +1 -0
  161. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +5 -21
  162. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  163. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +14 -39
  164. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  165. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  166. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -19
  167. package/dist/application-spec/parse-application-files/spec/sections/index.d.ts +1 -0
  168. package/dist/application-spec/parse-application-files/spec/sections/index.js +1 -1
  169. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  170. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  171. package/dist/client/authorized-client.d.ts +3 -1
  172. package/dist/client/authorized-client.js +1 -1
  173. package/dist/client/contract.d.ts +34 -0
  174. package/dist/client/contract.js +1 -1
  175. package/dist/client/index.d.ts +2 -2
  176. package/dist/client/index.js +1 -1
  177. package/dist/client/local-authorized-client.d.ts +3 -1
  178. package/dist/client/local-authorized-client.js +1 -1
  179. package/dist/client/memory-authorized-client.d.ts +3 -1
  180. package/dist/client/memory-authorized-client.js +1 -1
  181. package/dist/client/phoenix-api.d.ts +367 -30
  182. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  183. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  184. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  185. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +247 -13
  186. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  187. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  188. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  189. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +8 -3
  190. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  191. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  192. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  193. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  194. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +30 -5
  195. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  196. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  197. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  198. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  199. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  200. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  201. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +4 -2
  202. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  203. package/dist/configurator/common/configurator-interface.d.ts +11 -1
  204. package/dist/configurator/common/configurator-interface.js +1 -1
  205. package/dist/configurator/common/frontend-analytics.d.ts +23 -21
  206. package/dist/configurator/common/frontend-analytics.js +1 -1
  207. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  208. package/dist/configurator/index.d.ts +0 -1
  209. package/dist/configurator/index.js +1 -1
  210. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  211. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  212. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  213. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  214. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  215. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  216. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  217. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  218. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  219. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  220. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  221. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  222. package/dist/configurator/ui/assistant/AssistantChips.d.ts +11 -0
  223. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  224. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  225. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  226. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  227. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  228. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  229. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  230. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  231. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  232. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  233. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  234. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  235. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  236. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  237. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  238. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  239. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  240. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  241. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  242. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  243. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  244. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  245. package/dist/configurator/ui/assistant/index.js +1 -0
  246. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  247. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  248. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  249. package/dist/configurator/ui/assistant/theme.js +1 -0
  250. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  251. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  252. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  253. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  254. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  255. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  256. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  257. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  258. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  259. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  260. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  261. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  262. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  263. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  264. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  265. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  266. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  267. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  268. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  269. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  270. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  271. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  272. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  273. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  274. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  275. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  276. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +3 -3
  277. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  278. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  279. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  280. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  281. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  282. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  283. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  284. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  285. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  286. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  287. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  288. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  289. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  290. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  291. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  292. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  293. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  294. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  295. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  296. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  297. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  298. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  299. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  300. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  301. package/dist/docs/index.json +53 -2
  302. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  303. package/dist/docs/layouts/custom-layout.mdx +1164 -0
  304. package/dist/docs/layouts/custom-price.mdx +14 -16
  305. package/dist/docs/layouts/header/fixed.mdx +2 -2
  306. package/dist/docs/layouts/header/floating.mdx +2 -2
  307. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  308. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  309. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  310. package/dist/docs/layouts/toolbar.mdx +6 -0
  311. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  312. package/dist/docs/other-features/domain-actions.mdx +418 -0
  313. package/dist/docs/other-features/side-effects.mdx +76 -45
  314. package/dist/docs/other-features/transformers.mdx +5 -1
  315. package/dist/docs/other-features/violation-messages.mdx +52 -56
  316. package/dist/docs/phoenix/admin.mdx +11 -26
  317. package/dist/docs/phoenix/application-states.mdx +9 -7
  318. package/dist/docs/phoenix/best-practices.mdx +1 -0
  319. package/dist/docs/phoenix/configurator-interface.mdx +184 -80
  320. package/dist/docs/phoenix/deployments.mdx +1 -1
  321. package/dist/docs/phoenix/domain-model.mdx +4 -0
  322. package/dist/docs/phoenix/expression-context.mdx +11 -3
  323. package/dist/docs/phoenix/finalization.mdx +2 -2
  324. package/dist/docs/phoenix/getting-started.mdx +1 -1
  325. package/dist/docs/phoenix/integration/headless-mode-external.mdx +5 -5
  326. package/dist/docs/phoenix/integration/widget-mode-external.mdx +5 -5
  327. package/dist/docs/phoenix/layout-slots.mdx +114 -0
  328. package/dist/docs/phoenix/localization.mdx +3 -22
  329. package/dist/docs/phoenix/phoenix-cli.mdx +183 -66
  330. package/dist/docs/phoenix/project-structure.mdx +29 -12
  331. package/dist/docs/phoenix/quickstart.mdx +2 -2
  332. package/dist/docs/phoenix/sdk-builder-workflow.mdx +15 -13
  333. package/dist/docs/phoenix/testing.mdx +140 -0
  334. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  335. package/dist/docs/phoenix/webhooks.mdx +2 -2
  336. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  337. package/dist/docs/relations/hierarchy.mdx +13 -2
  338. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  339. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  340. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  341. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  342. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  343. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  344. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  345. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  346. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  347. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  348. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  349. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  350. package/dist/domain/admin-domain/index.d.ts +9 -5
  351. package/dist/domain/admin-domain/index.js +1 -1
  352. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  353. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  354. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  355. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  356. package/dist/domain/application/application-config.d.ts +28 -95
  357. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  358. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  359. package/dist/domain/application/assistant/assistant-manifest.d.ts +71 -0
  360. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +131 -0
  361. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -0
  362. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  363. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  364. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  365. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  366. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  367. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  368. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  369. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  370. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  371. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  372. package/dist/domain/application/assistant/index.d.ts +9 -0
  373. package/dist/domain/application/assistant/index.js +1 -0
  374. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  375. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  376. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  377. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  378. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  379. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  380. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  381. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  382. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  383. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  384. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  385. package/dist/domain/application/assistant-mutations.d.ts +16 -17
  386. package/dist/domain/application/assistant-mutations.js +1 -1
  387. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  388. package/dist/domain/application/configurator-builder.d.ts +33 -18
  389. package/dist/domain/application/configurator-builder.js +1 -1
  390. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  391. package/dist/domain/application/index.d.ts +3 -6
  392. package/dist/domain/application/index.js +1 -1
  393. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  394. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  395. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  396. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  397. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  398. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  399. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  400. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  401. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  402. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  403. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  404. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  405. package/dist/domain/available-system-components.js +1 -1
  406. package/dist/domain/core/action/action-factory.d.ts +11 -0
  407. package/dist/domain/core/action/action-factory.js +1 -0
  408. package/dist/domain/core/action/action.d.ts +71 -0
  409. package/dist/domain/core/action/index.d.ts +2 -0
  410. package/dist/domain/core/action/index.js +1 -0
  411. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  412. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  413. package/dist/domain/core/component/debug-state-component.js +1 -0
  414. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  415. package/dist/domain/core/component/domain-component-optic.js +16 -0
  416. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  417. package/dist/domain/core/component/drag-state-component.js +1 -0
  418. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  419. package/dist/domain/core/component/export-state-component.js +1 -0
  420. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  421. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  422. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  423. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  424. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  425. package/dist/domain/core/component/hover-state-component.js +1 -0
  426. package/dist/domain/core/component/index.d.ts +18 -0
  427. package/dist/domain/core/component/index.js +1 -0
  428. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  429. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  430. package/dist/domain/core/component/navigation-state-component.js +1 -0
  431. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  432. package/dist/domain/core/component/selection-state-component.js +1 -0
  433. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  434. package/dist/domain/core/component/system-component-builder.js +1 -0
  435. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
  436. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  437. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  438. package/dist/domain/core/component/tool-state-component.js +1 -0
  439. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  440. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  441. package/dist/domain/core/component/view-state-component.js +1 -0
  442. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  443. package/dist/domain/core/component/viewport-state-component.js +1 -0
  444. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  445. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  446. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  447. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  448. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  449. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  450. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  451. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  452. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  453. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  454. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  455. package/dist/domain/core/data-schema/data-schema.js +1 -0
  456. package/dist/domain/core/data-schema/index.d.ts +7 -0
  457. package/dist/domain/core/data-schema/index.js +1 -0
  458. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  459. package/dist/domain/core/decoder/create-decoder.js +1 -0
  460. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  461. package/dist/domain/core/decoder/decoder.js +1 -0
  462. package/dist/domain/core/decoder/index.d.ts +2 -0
  463. package/dist/domain/core/decoder/index.js +1 -0
  464. package/dist/domain/core/domain-factory.d.ts +7 -4
  465. package/dist/domain/core/domain-factory.js +1 -1
  466. package/dist/domain/core/domain.d.ts +4 -5
  467. package/dist/domain/core/domain.js +1 -1
  468. package/dist/domain/core/emission/index.d.ts +8 -0
  469. package/dist/domain/core/emission/index.js +1 -0
  470. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  471. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  472. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  473. package/dist/domain/core/emission/state-emission.js +1 -0
  474. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  475. package/dist/domain/core/emission/state-update-emission.js +1 -0
  476. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  477. package/dist/domain/core/emission/state-validation-result.js +1 -0
  478. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  479. package/dist/domain/core/emission/transformation-log.js +1 -0
  480. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  481. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  482. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  483. package/dist/domain/core/emission/transformer-log.js +1 -0
  484. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  485. package/dist/domain/core/emission/transformer-phase.js +1 -0
  486. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  487. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  488. package/dist/domain/core/expression/constant-expressions.d.ts +16 -0
  489. package/dist/domain/core/expression/constant-expressions.js +1 -0
  490. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  491. package/dist/domain/core/expression/custom-expression.js +1 -0
  492. package/dist/domain/core/expression/expression.d.ts +46 -0
  493. package/dist/domain/core/expression/expression.js +1 -0
  494. package/dist/domain/core/expression/index.d.ts +4 -0
  495. package/dist/domain/core/expression/index.js +1 -0
  496. package/dist/domain/core/index.d.ts +13 -16
  497. package/dist/domain/core/index.js +1 -1
  498. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  499. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  500. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  501. package/dist/domain/core/invariant/index.d.ts +5 -0
  502. package/dist/domain/core/invariant/index.js +1 -0
  503. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  504. package/dist/domain/core/invariant/invariants.js +1 -0
  505. package/dist/domain/core/invariant/violation-component.js +1 -0
  506. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  507. package/dist/domain/core/invariant/violation.js +1 -0
  508. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  509. package/dist/domain/core/model/index.d.ts +6 -0
  510. package/dist/domain/core/model/index.js +1 -0
  511. package/dist/domain/core/{model.d.ts → model/model.d.ts} +1 -1
  512. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  513. package/dist/domain/core/model/reflection.js +1 -0
  514. package/dist/domain/core/recipe/index.d.ts +1 -0
  515. package/dist/domain/core/recipe/index.js +1 -0
  516. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  517. package/dist/domain/core/recipe/recipes.js +1 -0
  518. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  519. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  520. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  521. package/dist/domain/core/relation/component-factories.js +1 -0
  522. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  523. package/dist/domain/core/relation/composed-of.js +1 -0
  524. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  525. package/dist/domain/core/relation/index.d.ts +8 -0
  526. package/dist/domain/core/relation/index.js +1 -0
  527. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  528. package/dist/domain/core/relation/indirect-relation.js +1 -0
  529. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  530. package/dist/domain/core/relation/reference-component.js +1 -0
  531. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  532. package/dist/domain/core/relation/reference-field.js +1 -0
  533. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  534. package/dist/domain/core/relation/relation-factory.js +1 -0
  535. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  536. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  537. package/dist/domain/core/schema/index.d.ts +3 -0
  538. package/dist/domain/core/schema/index.js +1 -0
  539. package/dist/domain/core/schema/schema-validator.js +1 -0
  540. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  541. package/dist/domain/core/state/id-sequence.js +1 -0
  542. package/dist/domain/core/state/index.d.ts +3 -0
  543. package/dist/domain/core/state/index.js +1 -0
  544. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  545. package/dist/domain/core/state/migrations.js +1 -0
  546. package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
  547. package/dist/domain/domain-builder.d.ts +16 -9
  548. package/dist/domain/domain-builder.js +1 -1
  549. package/dist/domain/domain-context/action-system/action-system.d.ts +38 -0
  550. package/dist/domain/domain-context/action-system/action-system.js +1 -0
  551. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  552. package/dist/domain/domain-context/action-system/index.js +1 -0
  553. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  554. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  555. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  556. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  557. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  558. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  559. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  560. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  561. package/dist/domain/domain-context/domain-context-systems.d.ts +11 -10
  562. package/dist/domain/domain-context/index.d.ts +8 -17
  563. package/dist/domain/domain-context/index.js +1 -1
  564. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  565. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  566. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  567. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  568. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  569. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  570. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  571. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  572. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  573. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  574. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  575. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  576. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  577. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  578. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  579. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  580. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  581. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  582. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  583. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  584. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  585. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  586. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  587. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  588. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  589. package/dist/domain/domain-context/store-system/index.js +1 -0
  590. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  591. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  592. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  593. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  594. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  595. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  596. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  597. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  598. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  599. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  600. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  601. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  602. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  603. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  604. package/dist/domain/domain-context/transformers/context.js +1 -1
  605. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  606. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  607. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  608. package/dist/domain/domain-context/transformers/index.js +1 -1
  609. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  610. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  611. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  612. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  613. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  614. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  615. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  616. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  617. package/dist/domain/domain-runtime/access/types.js +1 -1
  618. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  619. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  620. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  621. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  622. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  623. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  624. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  625. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  626. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  627. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  628. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +22 -24
  629. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  630. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  631. package/dist/domain/domain-runtime/domain-runtime.d.ts +100 -72
  632. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  633. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  634. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  635. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  636. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  637. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  638. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  639. package/dist/domain/domain-runtime/errors/index.js +1 -0
  640. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  641. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  642. package/dist/domain/domain-runtime/index.d.ts +1 -0
  643. package/dist/domain/domain-runtime/index.js +1 -1
  644. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  645. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  646. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  647. package/dist/domain/domain-runtime/spec/index.js +1 -1
  648. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  649. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  650. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  651. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  652. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  653. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  654. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  655. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  656. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  657. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +32 -0
  658. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  659. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  660. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  661. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  662. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  663. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  664. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  665. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  666. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  667. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  668. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  669. package/dist/domain/domain-runtime/spec/prepare-action-implementations.d.ts +15 -0
  670. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  671. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  672. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  673. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  674. package/dist/domain/domain-runtime/spec/types.d.ts +20 -6
  675. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  676. package/dist/domain/extensions/angle-indicator.js +1 -0
  677. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  678. package/dist/domain/extensions/attribute-switch.js +1 -0
  679. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  680. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  681. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  682. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  683. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  684. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  685. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +2 -2
  686. package/dist/domain/extensions/canvas-config.js +1 -0
  687. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  688. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  689. package/dist/domain/extensions/canvas-padding.js +1 -0
  690. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  691. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  692. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  693. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  694. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  695. package/dist/domain/extensions/client-side-image.js +1 -0
  696. package/dist/domain/extensions/color-value.js +1 -0
  697. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  698. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  699. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +3 -3
  700. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  701. package/dist/domain/extensions/common/index.d.ts +4 -0
  702. package/dist/domain/extensions/common/index.js +1 -0
  703. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  704. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  705. package/dist/domain/extensions/custom-price-footer.js +1 -0
  706. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  707. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  708. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  709. package/dist/domain/extensions/dimension-indicator.js +1 -0
  710. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +4 -3
  711. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  712. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +4 -3
  713. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  714. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +4 -3
  715. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  716. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  717. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  718. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  719. package/dist/domain/extensions/entity-header.js +1 -0
  720. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  721. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  722. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  723. package/dist/domain/extensions/finalize-action.js +1 -0
  724. package/dist/domain/extensions/finalize-component.js +1 -0
  725. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  726. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  727. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  728. package/dist/domain/extensions/fixed-header.js +1 -0
  729. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  730. package/dist/domain/extensions/floating-header.js +1 -0
  731. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  732. package/dist/domain/extensions/hidden-header.js +1 -0
  733. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  734. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  735. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +3 -3
  736. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  737. package/dist/domain/extensions/index.d.ts +69 -0
  738. package/dist/domain/extensions/index.js +1 -0
  739. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +4 -3
  740. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  741. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  742. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  743. package/dist/domain/extensions/navigation-steps.js +1 -0
  744. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  745. package/dist/domain/extensions/offset-anchors.js +1 -0
  746. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  747. package/dist/domain/extensions/offset-indicator.js +1 -0
  748. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  749. package/dist/domain/extensions/offset.js +1 -0
  750. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  751. package/dist/domain/extensions/other-action.js +1 -0
  752. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  753. package/dist/domain/extensions/property-page.js +1 -0
  754. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  755. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  756. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  757. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  758. package/dist/domain/extensions/rotatable.js +1 -0
  759. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  760. package/dist/domain/extensions/rotation-handle.js +1 -0
  761. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  762. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  763. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  764. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  765. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  766. package/dist/domain/extensions/scene-entity-control.js +1 -0
  767. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  768. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  769. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  770. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  771. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  772. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  773. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  774. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  775. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  776. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  777. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  778. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  779. package/dist/domain/extensions/selectable-component.js +1 -0
  780. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  781. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  782. package/dist/domain/extensions/simple-summary.js +1 -0
  783. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  784. package/dist/domain/extensions/size.js +1 -0
  785. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  786. package/dist/domain/extensions/sketching-draw.js +1 -0
  787. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  788. package/dist/domain/extensions/sketching-edit.js +1 -0
  789. package/dist/domain/extensions/summary-component.js +1 -0
  790. package/dist/domain/extensions/text-value.js +1 -0
  791. package/dist/domain/extensions/tool-controls.js +1 -0
  792. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  793. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  794. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  795. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  796. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  797. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  798. package/dist/domain/extensions/view-controls.js +1 -0
  799. package/dist/domain/index.d.ts +2 -30
  800. package/dist/domain/index.js +1 -1
  801. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  802. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  803. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +36 -21
  804. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  805. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  806. package/dist/domain/mocks/create-mock-domain.js +1 -1
  807. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  808. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  809. package/dist/domain/mocks/create-test-application-config.js +1 -0
  810. package/dist/domain/mocks/index.d.ts +1 -0
  811. package/dist/domain/mocks/index.js +1 -1
  812. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  813. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  814. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  815. package/dist/domain/projections/collision-projections.d.ts +1 -1
  816. package/dist/domain/projections/composition-projections.d.ts +1 -1
  817. package/dist/domain/projections/composition-projections.js +1 -1
  818. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  819. package/dist/domain/projections/index.d.ts +1 -1
  820. package/dist/domain/projections/position-projections.d.ts +1 -1
  821. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  822. package/dist/domain/projections/snap-matching.d.ts +1 -2
  823. package/dist/domain/projections/snap-utils.d.ts +1 -2
  824. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  825. package/dist/domain/projections/validation-projections.d.ts +3 -20
  826. package/dist/domain/projections/validation-projections.js +1 -1
  827. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  828. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  829. package/dist/domain/system-components/admin-sidebar.js +1 -1
  830. package/dist/domain/system-components/angle-dimension.js +1 -1
  831. package/dist/domain/system-components/application-config.d.ts +3 -3
  832. package/dist/domain/system-components/application-config.js +1 -1
  833. package/dist/domain/system-components/attribute-selection.js +1 -1
  834. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  835. package/dist/domain/system-components/bounding-box-component.js +1 -1
  836. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  837. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  838. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  839. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  840. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  841. package/dist/domain/system-components/child-entity-selection.js +1 -1
  842. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  843. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  844. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  845. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  846. package/dist/domain/system-components/collision-geometry.js +1 -1
  847. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  848. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  849. package/dist/domain/system-components/common/index.d.ts +0 -4
  850. package/dist/domain/system-components/common/index.js +1 -1
  851. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  852. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  853. package/dist/domain/system-components/common/recipes.js +1 -1
  854. package/dist/domain/system-components/constraint.d.ts +11 -24
  855. package/dist/domain/system-components/constraint.js +1 -1
  856. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  857. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  858. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  859. package/dist/domain/system-components/detail.js +1 -1
  860. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  861. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  862. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  863. package/dist/domain/system-components/distance-dimension.js +1 -1
  864. package/dist/domain/system-components/drag-handle.d.ts +2 -2
  865. package/dist/domain/system-components/drag-handle.js +1 -1
  866. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  867. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  868. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  869. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  870. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  871. package/dist/domain/system-components/generic-dimension.js +1 -1
  872. package/dist/domain/system-components/hidden-entity.js +1 -1
  873. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  874. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  875. package/dist/domain/system-components/index.d.ts +0 -68
  876. package/dist/domain/system-components/index.js +1 -1
  877. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  878. package/dist/domain/system-components/material-override-transformer.js +1 -1
  879. package/dist/domain/system-components/material-swatch.js +1 -1
  880. package/dist/domain/system-components/navigation-page.js +1 -1
  881. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  882. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  883. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  884. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  885. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  886. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  887. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  888. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  889. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  890. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  891. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  892. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  893. package/dist/domain/system-components/pivot-point.js +1 -1
  894. package/dist/domain/system-components/price.js +1 -1
  895. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  896. package/dist/domain/system-components/projected-entities.js +1 -1
  897. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  898. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  899. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  900. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  901. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  902. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  903. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  904. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  905. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  906. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  907. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  908. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  909. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  910. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  911. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  912. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  913. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  914. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  915. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  916. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  917. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  918. package/dist/domain/system-components/scene-entity-object.js +1 -1
  919. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  920. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  921. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  922. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  923. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  924. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  925. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  926. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  927. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  928. package/dist/domain/system-components/sketching-line.js +1 -1
  929. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  930. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  931. package/dist/domain/system-components/sketching.d.ts +1 -1
  932. package/dist/domain/system-components/sketching.js +1 -1
  933. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  934. package/dist/domain/system-components/snap-axis.js +1 -1
  935. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  936. package/dist/domain/system-components/snap-edge.js +1 -1
  937. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  938. package/dist/domain/system-components/snap-plane.js +1 -1
  939. package/dist/domain/system-components/snap-point.d.ts +1 -1
  940. package/dist/domain/system-components/snap-point.js +1 -1
  941. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  942. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  943. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  944. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  945. package/dist/domain/utils/eval-cache.d.ts +2 -3
  946. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  947. package/dist/domain/utils/memo-eval.d.ts +2 -4
  948. package/dist/editor/Editor.js +1 -1
  949. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  950. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  951. package/dist/editor/domain-editors/use-implementation-files.d.ts +12 -8
  952. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  953. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  954. package/dist/editor/mocks/EditorMockContext.js +1 -1
  955. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  956. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  957. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  958. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  959. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  960. package/dist/editor/variants/variant-preview-styles.js +1 -0
  961. package/dist/i18n/locales/cs/messages.js +1 -1
  962. package/dist/i18n/locales/da/messages.js +1 -1
  963. package/dist/i18n/locales/de/messages.js +1 -1
  964. package/dist/i18n/locales/de-AT/messages.js +1 -1
  965. package/dist/i18n/locales/en/messages.js +1 -1
  966. package/dist/i18n/locales/en-AU/messages.js +1 -1
  967. package/dist/i18n/locales/en-GB/messages.js +1 -1
  968. package/dist/i18n/locales/es/messages.js +1 -1
  969. package/dist/i18n/locales/fr/messages.js +1 -1
  970. package/dist/i18n/locales/hu/messages.js +1 -1
  971. package/dist/i18n/locales/it/messages.js +1 -1
  972. package/dist/i18n/locales/nl/messages.js +1 -1
  973. package/dist/i18n/locales/pl/messages.js +1 -1
  974. package/dist/i18n/locales/pt/messages.js +1 -1
  975. package/dist/i18n/locales/ro/messages.js +1 -1
  976. package/dist/i18n/locales/sk/messages.js +1 -1
  977. package/dist/i18n/locales/tr/messages.js +1 -1
  978. package/dist/legacy/domain-cli/gen/configurator-builder.js +30 -16
  979. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  980. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  981. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  982. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  983. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  984. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  985. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  986. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +87 -68
  987. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  988. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  989. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  990. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +2 -0
  991. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  992. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  993. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  994. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  995. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  996. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  997. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  998. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  999. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  1000. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  1001. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  1002. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  1003. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1004. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  1005. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1006. package/dist/phoenix/cli.js +1 -1
  1007. package/dist/phoenix/commands/build.d.ts +5 -0
  1008. package/dist/phoenix/commands/build.js +1 -1
  1009. package/dist/phoenix/commands/deploy.js +2 -2
  1010. package/dist/phoenix/commands/dev.js +5 -5
  1011. package/dist/phoenix/commands/feedback.d.ts +2 -1
  1012. package/dist/phoenix/commands/feedback.js +1 -1
  1013. package/dist/phoenix/commands/index.d.ts +1 -0
  1014. package/dist/phoenix/commands/index.js +1 -1
  1015. package/dist/phoenix/commands/init.d.ts +4 -4
  1016. package/dist/phoenix/commands/init.js +1 -1
  1017. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  1018. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  1019. package/dist/phoenix/commands/prettier.js +1 -1
  1020. package/dist/phoenix/commands/story-dev.js +2 -2
  1021. package/dist/phoenix/commands/variants.d.ts +35 -0
  1022. package/dist/phoenix/commands/variants.js +1 -0
  1023. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  1024. package/dist/phoenix/editor-server/commands-router.js +1 -1
  1025. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  1026. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  1027. package/dist/phoenix/editor-server/editor-server.js +1 -1
  1028. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  1029. package/dist/phoenix/editor-server/spec-router.js +1 -1
  1030. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  1031. package/dist/phoenix/scripts/build-admin.js +1 -1
  1032. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  1033. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1034. package/dist/phoenix/services/index.d.ts +5 -0
  1035. package/dist/phoenix/services/index.js +1 -1
  1036. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  1037. package/dist/phoenix/services/phoenix-application.js +1 -0
  1038. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  1039. package/dist/phoenix/services/phoenix-store.js +1 -0
  1040. package/dist/phoenix/services/phx-banner-plugin.d.ts +32 -0
  1041. package/dist/phoenix/services/phx-banner-plugin.js +1 -0
  1042. package/dist/phoenix/services/phx-licenses-plugin.d.ts +55 -0
  1043. package/dist/phoenix/services/phx-licenses-plugin.js +8 -0
  1044. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  1045. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  1046. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1047. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1048. package/dist/phoenix/services/source-archive.js +1 -1
  1049. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  1050. package/dist/phoenix/services/variant-file-session.js +1 -0
  1051. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  1052. package/dist/phoenix/services/variant-preview-service.js +1 -0
  1053. package/dist/phoenix/services/vite-config.d.ts +2 -0
  1054. package/dist/phoenix/services/vite-config.js +1 -1
  1055. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1056. package/dist/phoenix/utils/git/index.js +1 -0
  1057. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1058. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1059. package/dist/phoenix/utils/index.d.ts +2 -0
  1060. package/dist/phoenix/utils/index.js +1 -1
  1061. package/dist/phoenix/utils/read-git-commit.d.ts +14 -0
  1062. package/dist/phoenix/utils/read-git-commit.js +1 -0
  1063. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  1064. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  1065. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  1066. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1067. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  1068. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  1069. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  1070. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1071. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1072. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +69 -40
  1073. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1074. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  1075. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1076. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +12 -9
  1077. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  1078. package/dist/react-sdk/domain-context/index.js +1 -1
  1079. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +6 -0
  1080. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1081. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1082. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  1083. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  1084. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  1085. package/dist/ui-sdk/theme/types.d.ts +4 -0
  1086. package/dist/webhook/builders/common.d.ts +8 -0
  1087. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  1088. package/dist/webhook/builders/webhook-builder.js +1 -1
  1089. package/package.json +5 -8
  1090. package/schema/domain-spec.json +1139 -209
  1091. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1092. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1093. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1094. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1095. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1096. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1097. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1098. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1099. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1100. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1101. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1102. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1103. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1104. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1105. package/dist/configurator/assistant/index.d.ts +0 -1
  1106. package/dist/configurator/assistant/index.js +0 -1
  1107. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  1108. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  1109. package/dist/domain/application/element-registration.js +0 -1
  1110. package/dist/domain/application/handler-registration.js +0 -1
  1111. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  1112. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1113. package/dist/domain/application/resource-builder.d.ts +0 -13
  1114. package/dist/domain/application/resource-builder.js +0 -1
  1115. package/dist/domain/components/debug-state-component.js +0 -1
  1116. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  1117. package/dist/domain/components/domain-component-optic.js +0 -16
  1118. package/dist/domain/components/drag-state-component.js +0 -1
  1119. package/dist/domain/components/export-state-component.js +0 -1
  1120. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1121. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1122. package/dist/domain/components/hover-state-component.js +0 -1
  1123. package/dist/domain/components/index.d.ts +0 -2
  1124. package/dist/domain/components/index.js +0 -1
  1125. package/dist/domain/components/navigation-state-component.js +0 -1
  1126. package/dist/domain/components/selection-state-component.js +0 -1
  1127. package/dist/domain/components/system-component-builder.js +0 -1
  1128. package/dist/domain/components/system-virtual-entity.js +0 -1
  1129. package/dist/domain/components/tool-state-component.js +0 -1
  1130. package/dist/domain/components/view-state-component.js +0 -1
  1131. package/dist/domain/components/viewport-state-component.js +0 -1
  1132. package/dist/domain/core/expression.d.ts +0 -50
  1133. package/dist/domain/core/json-schema.js +0 -1
  1134. package/dist/domain/core/migrations.js +0 -1
  1135. package/dist/domain/core/reflection.js +0 -1
  1136. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  1137. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1138. package/dist/domain/expressions/constant-expressions.d.ts +0 -9
  1139. package/dist/domain/expressions/constant-expressions.js +0 -1
  1140. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  1141. package/dist/domain/expressions/custom-expression.js +0 -1
  1142. package/dist/domain/expressions/index.d.ts +0 -1
  1143. package/dist/domain/expressions/index.js +0 -1
  1144. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  1145. package/dist/domain/invariants/custom-invariants.js +0 -1
  1146. package/dist/domain/invariants/invariants.d.ts +0 -68
  1147. package/dist/domain/invariants/invariants.js +0 -1
  1148. package/dist/domain/invariants/violation-component.js +0 -1
  1149. package/dist/domain/invariants/violation.js +0 -1
  1150. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  1151. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1152. package/dist/domain/relations/component-factories.js +0 -1
  1153. package/dist/domain/relations/composed-of.js +0 -1
  1154. package/dist/domain/relations/direct-relation.d.ts +0 -29
  1155. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  1156. package/dist/domain/relations/indirect-relation.js +0 -1
  1157. package/dist/domain/relations/reference-component.js +0 -1
  1158. package/dist/domain/relations/relation-factory.d.ts +0 -19
  1159. package/dist/domain/relations/relation-factory.js +0 -1
  1160. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  1161. package/dist/domain/system-components/angle-indicator.js +0 -1
  1162. package/dist/domain/system-components/attribute-switch.js +0 -1
  1163. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1164. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1165. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1166. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1167. package/dist/domain/system-components/canvas-config.js +0 -1
  1168. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1169. package/dist/domain/system-components/canvas-padding.js +0 -1
  1170. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1171. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1172. package/dist/domain/system-components/client-side-image.js +0 -1
  1173. package/dist/domain/system-components/color-value.js +0 -1
  1174. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1175. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1176. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1177. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1178. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1179. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1180. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1181. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1182. package/dist/domain/system-components/entity-header.js +0 -1
  1183. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1184. package/dist/domain/system-components/finalize-action.js +0 -1
  1185. package/dist/domain/system-components/finalize-component.js +0 -1
  1186. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1187. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1188. package/dist/domain/system-components/fixed-header.js +0 -1
  1189. package/dist/domain/system-components/floating-header.js +0 -1
  1190. package/dist/domain/system-components/hidden-header.js +0 -1
  1191. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1192. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1193. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1194. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1195. package/dist/domain/system-components/navigation-steps.js +0 -1
  1196. package/dist/domain/system-components/offset-anchors.js +0 -1
  1197. package/dist/domain/system-components/offset-indicator.js +0 -1
  1198. package/dist/domain/system-components/offset.js +0 -1
  1199. package/dist/domain/system-components/other-action.js +0 -1
  1200. package/dist/domain/system-components/property-page.js +0 -1
  1201. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1202. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1203. package/dist/domain/system-components/rotatable.js +0 -1
  1204. package/dist/domain/system-components/rotation-handle.js +0 -1
  1205. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1206. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1207. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1208. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1209. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1210. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1211. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1212. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1213. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1214. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1215. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1216. package/dist/domain/system-components/selectable-component.js +0 -1
  1217. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1218. package/dist/domain/system-components/simple-summary.js +0 -1
  1219. package/dist/domain/system-components/size.js +0 -1
  1220. package/dist/domain/system-components/sketching-draw.js +0 -1
  1221. package/dist/domain/system-components/sketching-edit.js +0 -1
  1222. package/dist/domain/system-components/summary-component.js +0 -1
  1223. package/dist/domain/system-components/text-value.js +0 -1
  1224. package/dist/domain/system-components/tool-controls.js +0 -1
  1225. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1226. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1227. package/dist/domain/system-components/view-controls.js +0 -1
  1228. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  1229. package/dist/extras/assistant/AssistantChat.js +0 -1
  1230. package/dist/extras/assistant/index.d.ts +0 -1
  1231. package/dist/extras/assistant/index.js +0 -1
  1232. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  1233. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1234. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1235. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1236. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1237. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1238. /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-manifest.js} +0 -0
  1239. /package/dist/domain/core/{expression.js → action/action.js} +0 -0
  1240. /package/dist/domain/core/{schema-validator.js → component/component-reader-types.js} +0 -0
  1241. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1242. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1243. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1244. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1245. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-cell-value.js} +0 -0
  1246. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-array-field.js} +0 -0
  1247. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1248. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1249. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1250. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1251. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1252. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1253. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1254. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1255. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1256. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1257. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1258. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1259. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1260. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1261. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1262. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1263. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1264. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1265. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1266. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1267. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1268. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1269. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1270. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1271. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1272. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1273. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1274. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1275. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1276. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1277. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1278. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1279. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1280. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1281. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1282. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1283. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1284. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1285. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1286. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1287. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1288. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1289. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1290. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1291. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -229,7 +229,7 @@ export type ClientSideImageComponentState = {
229
229
  /** Output format: PNG (with transparency) or JPEG */
230
230
  readonly fileFormat: 'PNG' | 'JPEG'
231
231
  /** Optional background color (hex string) */
232
- readonly backgroundColor?: string
232
+ readonly backgroundColor?: HexColor
233
233
 
234
234
  /** Tool state the image is rendered in (pins component filters keyed on tool state) */
235
235
  readonly toolState: string
@@ -0,0 +1,418 @@
1
+ # Domain Actions
2
+
3
+ - [Use case](#use-case)
4
+ - [Declare the action](#declare-the-action)
5
+ - [Implement it](#implement-it)
6
+ - [Run it from the UI](#run-it-from-the-ui)
7
+ - [Expose it to the assistant](#expose-it-to-the-assistant)
8
+ - [Known gaps](#known-gaps)
9
+ - [Example](#example)
10
+
11
+ ## Use case
12
+
13
+ A plate carries holes, and a hole can be nudged by an offset as long as it stays on the plate. The arrow buttons of a selected hole and the AI assistant both make this change, so the rule ("stay on the plate") has to live in one place.
14
+
15
+ An **action** is that place: a named domain operation you declare once under `actions:`, implement in `src/actions/` with generated parameter and result types, and run from any control through `actionSystem.prepareAction()`. The same action is exposed to the assistant as a custom mutation by naming it under `assistant.actions`. Use an action whenever a change is more than writing one field: a swap, a move among siblings, a change that touches several entities at once.
16
+
17
+ ## Declare the action
18
+
19
+ `params` and `result` are maps of named JSON schemas, with the same `phx:` refs, `references`, `tsType` and `import` as entity shapes. A param whose schema allows `null` is optional; every other param is required. A result member typed `phx:$DomainEntity` is the enhanced entity after the change.
20
+
21
+ ```yaml
22
+ actions:
23
+ nudgeHole:
24
+ description: Moves a hole by an offset on the plate; the move fails when the hole would leave the plate
25
+ params:
26
+ holeId:
27
+ $ref: phx:DomainEntityId
28
+ references: Hole
29
+ description: The hole to move
30
+ dx:
31
+ type: integer
32
+ description: Offset along the x axis, in plate units
33
+ dy:
34
+ type: integer
35
+ description: Offset along the y axis, in plate units
36
+ result:
37
+ hole:
38
+ $ref: phx:$DomainEntity
39
+ references: Hole
40
+ description: The hole at its new position
41
+ plate:
42
+ $ref: phx:$DomainEntity
43
+ references: Plate
44
+ description: The plate after the move
45
+ ```
46
+
47
+ Generation derives the types `ActionTypes`, `ActionName`, `ActionParams<'nudgeHole'>` and `ActionResult<'nudgeHole'>` from it: here `ActionParams<'nudgeHole'>` is `{ holeId: Hole['id']; dx: number; dy: number }` and `ActionResult<'nudgeHole'>` is `{ hole: $Hole; plate: $Plate }`. The `description` of the action, of a param and of a result member becomes the doc comment of its generated property, so it shows in the editor wherever the action is implemented or called.
48
+
49
+ ## Implement it
50
+
51
+ A file in `src/actions/` default-exports `phx.domain.implementActions({...})` with any subset of the declared actions. The implementation receives the validated parameters, the state the action runs on, and a context with the `expressionContext`, the domain `systems`, `getIdSequence()` for entities it creates and the typed `updates` factory. It returns the updates it wants applied and `readResult`, which reads the result from the state those updates produced, including whatever the transformers added. It never stages or commits anything.
52
+
53
+ ```ts
54
+ // src/actions/nudge-hole.ts
55
+ export default phx.domain.implementActions({
56
+ nudgeHole: ({ holeId, dx, dy }, state, { systems: { domain }, updates }) => {
57
+ // `references: Hole` types the id, but any entity id passes the runtime check, so the entity is verified here.
58
+ const hole = state.entities.find(entity => entity.id === holeId)
59
+
60
+ if (hole?.type !== 'Hole') {
61
+ throw new Error(
62
+ `"${holeId}" is not a hole of the plate, so it cannot be nudged. Query the plate's holes and use an id they return.`
63
+ )
64
+ }
65
+
66
+ const x = hole.x + dx
67
+ const y = hole.y + dy
68
+
69
+ if (Math.abs(x) > 150 || Math.abs(y) > 150) {
70
+ throw new Error(
71
+ `Nudging "${holeId}" by (${dx}, ${dy}) would put it at (${x}, ${y}), outside the plate. Keep both coordinates between -150 and 150.`
72
+ )
73
+ }
74
+
75
+ return {
76
+ updates: [updates.DomainEntityModification({ entityId: hole.id, stateDelta: { x, y }, updateTag: 'nudgeHole' })],
77
+ readResult: ({ state: nudged }) => ({
78
+ hole: domain.get$Entity(holeId, nudged),
79
+ plate: domain.getRoot$Entity(nudged),
80
+ }),
81
+ }
82
+ },
83
+ })
84
+ ```
85
+
86
+ Throw to reject a call: the message reaches the user through the control's hint and the assistant through the failed mutation, so say what went wrong and what to send instead. An implementation of a name the spec does not declare is a type error. A declared action without an implementation is not: it stops the domain from initializing, and under `phoenix dev` the editor reports it as a `MISSING_ACTION_IMPLEMENTATIONS` diagnostic and does not apply the change; an implementation of an undeclared name is logged.
87
+
88
+ ## Run it from the UI
89
+
90
+ `phx.frontend.useDomain().actionSystem.prepareAction(name, args, state)` validates `args` against the declared params and returns `{ updates, readResult }`. Hand the updates to `useUpdateControl()` like any other change: it dry-runs them for hints and commits them on click.
91
+
92
+ ```tsx
93
+ export default phx.frontend.createCustomPhoenixEntityElement('NudgeControl', ({ entityId }) => {
94
+ const { actionSystem } = phx.frontend.useDomain()
95
+ const state = phx.frontend.useCommittedState()
96
+ const prepare = phx.frontend.useUpdateControl()
97
+
98
+ const left = prepare(actionSystem.prepareAction('nudgeHole', { holeId: entityId, dx: -20, dy: 0 }, state).updates)
99
+
100
+ return (
101
+ <Button disabled={left.disabled} title={left.hints} onClick={left.update}>
102
+ ←
103
+ </Button>
104
+ )
105
+ })
106
+ ```
107
+
108
+ `prepareAction` throws for arguments that do not fit the params, for an unknown action and for whatever the implementation rejects, so a control that may ask for an impossible move catches the error and shows its message, as the example's control does.
109
+
110
+ ## Expose it to the assistant
111
+
112
+ Naming the action under `assistant.actions` adds a `Mutation` field with one argument per param and a `<Name>Result` type whose entity members are traversable edges. `as` renames the field, `description` replaces the action's.
113
+
114
+ ```yaml
115
+ assistant:
116
+ actions:
117
+ nudgeHole:
118
+ ```
119
+
120
+ ```graphql
121
+ type Mutation {
122
+ nudgeHole(holeId: ID!, dx: Int!, dy: Int!): NudgeHoleResult!
123
+ }
124
+
125
+ type NudgeHoleResult {
126
+ hole: Hole!
127
+ plate: Plate!
128
+ }
129
+ ```
130
+
131
+ The field runs the same `prepareAction`, applies the updates through the same validation as every other mutation, and fails with the action's message when the call is rejected.
132
+
133
+ ## Known gaps
134
+
135
+ - `references` on a `phx:DomainEntityId` param types the parameter and the GraphQL argument, but at runtime any entity id passes the params check: the implementation verifies that the id names an entity of the expected type, as the example does.
136
+ - Actions exist in the configurator domain only; the admin domain declares none.
137
+ - The result of `readResult` is not validated at runtime: the generated TypeScript type and the GraphQL coercion are the checks.
138
+ - The assistant cannot dry-run a custom mutation the way it dry-runs recipes and field options.
139
+ - `useDomain()` types `prepareAction` with the generic action map, so the name and the arguments are not checked against your `ActionTypes` at that call site; the implementation side is fully typed.
140
+
141
+ ## Example
142
+
143
+ Select a hole and nudge it with the arrows. A move that would leave the plate is disabled with the action's message.
144
+
145
+ ## Complete Implementation
146
+
147
+ {/* AUTO-GENERATED SECTION: This section is automatically updated by 'phoenix story build' */}
148
+
149
+ <details>
150
+ <summary>Click to view the complete implementation files</summary>
151
+
152
+ ### ./spec/domain.yaml
153
+
154
+ ```yaml
155
+ model:
156
+ latest:
157
+ entityTypes:
158
+ - Plate
159
+ - Hole
160
+ aliases:
161
+ RootEntity:
162
+ - Plate
163
+ shapes:
164
+ Hole:
165
+ x:
166
+ type: number
167
+ y:
168
+ type: number
169
+
170
+ relations:
171
+ Plate:
172
+ $holes:
173
+ kind: allOfType
174
+ target: Hole
175
+ cardinality: 0-N
176
+ composedOf: true
177
+ Hole:
178
+ $plate:
179
+ kind: allOfType
180
+ target: Plate
181
+ cardinality: 1-1
182
+ composedOf: false
183
+
184
+ expressions:
185
+ Hole:
186
+ $radius:
187
+ type: number
188
+
189
+ # A named domain operation: declared once, implemented in src/actions/, run by the NudgeControl
190
+ # element and by the assistant alike.
191
+ actions:
192
+ nudgeHole:
193
+ description: Moves a hole by an offset on the plate; the move fails when the hole would leave the plate
194
+ params:
195
+ holeId:
196
+ $ref: phx:DomainEntityId
197
+ references: Hole
198
+ description: The hole to move
199
+ dx:
200
+ type: integer
201
+ description: Offset along the x axis, in plate units
202
+ dy:
203
+ type: integer
204
+ description: Offset along the y axis, in plate units
205
+ result:
206
+ hole:
207
+ $ref: phx:$DomainEntity
208
+ references: Hole
209
+ description: The hole at its new position
210
+ plate:
211
+ $ref: phx:$DomainEntity
212
+ references: Plate
213
+ description: The plate after the move
214
+
215
+ assistant:
216
+ ai:
217
+ provider: openai
218
+ model: balanced
219
+ reasoning: low
220
+ entities:
221
+ Plate:
222
+ $holes:
223
+ description: The holes of the plate
224
+ Hole:
225
+ x:
226
+ y:
227
+ actions:
228
+ nudgeHole:
229
+
230
+ presets:
231
+ - rootEntityType: 'Plate'
232
+ initialDomainEntities:
233
+ - id: 'Plate-1'
234
+ type: 'Plate'
235
+ - id: 'Hole-1'
236
+ type: 'Hole'
237
+ x: -60
238
+ y: 40
239
+ - id: 'Hole-2'
240
+ type: 'Hole'
241
+ x: 70
242
+ y: -50
243
+
244
+ components:
245
+ Plate:
246
+ applicationConfig:
247
+ main:
248
+ layout: 'universal'
249
+ staticPerspectiveCamera:
250
+ main:
251
+ distance: 400
252
+ priority: 1
253
+ polarAngle: 1.2
254
+ azimuthAngle: -0.2
255
+ sceneEntityProperties:
256
+ main:
257
+ offsetX: -100
258
+ offsetY: -100
259
+ offsetZ: -10
260
+ sceneEntityObject:
261
+ Plate:
262
+ object:
263
+ $read: $render
264
+ detail:
265
+ main:
266
+ title: 'Plate'
267
+ subtitle: 'A plate with holes'
268
+ description: 'Select a hole to nudge it.'
269
+ Hole:
270
+ sceneEntityProperties:
271
+ main:
272
+ offsetX:
273
+ $read: x
274
+ offsetY:
275
+ $read: y
276
+ sceneEntitySelectHotspot:
277
+ main:
278
+ offsetX: 15
279
+ offsetY: 15
280
+ offsetZ: 30
281
+ detail:
282
+ main:
283
+ title: 'Hole'
284
+ subtitle: 'A hole in the plate'
285
+ description: 'Nudge it with the arrows; a hole cannot leave the plate.'
286
+ propertyPage:
287
+ main:
288
+ children:
289
+ - kind: propertyContainerGroup
290
+ props:
291
+ spacing: large
292
+ children:
293
+ - kind: customElement
294
+ props:
295
+ name: NudgeControl
296
+ ```
297
+
298
+ ### ./src/actions/nudge-hole.ts
299
+
300
+ ```ts
301
+ import { phx } from '../../.phoenix/phx.js'
302
+
303
+ /** How far a hole may sit from the plate's center on either axis, in plate units. */
304
+ const REACH = 150
305
+
306
+ export default phx.domain.implementActions({
307
+ nudgeHole: ({ holeId, dx, dy }, state, { systems: { domain }, updates }) => {
308
+ // `references: Hole` types the id, but any entity id passes the runtime check, so the entity is verified here.
309
+ const hole = state.entities.find(entity => entity.id === holeId)
310
+
311
+ if (hole?.type !== 'Hole') {
312
+ throw new Error(
313
+ `"${holeId}" is not a hole of the plate, so it cannot be nudged. Query the plate's holes and use an id they return.`
314
+ )
315
+ }
316
+
317
+ const x = hole.x + dx
318
+ const y = hole.y + dy
319
+
320
+ if (Math.abs(x) > REACH || Math.abs(y) > REACH) {
321
+ throw new Error(
322
+ `Nudging "${holeId}" by (${dx}, ${dy}) would put it at (${x}, ${y}), outside the plate. Keep both coordinates between ${-REACH} and ${REACH}.`
323
+ )
324
+ }
325
+
326
+ return {
327
+ updates: [updates.DomainEntityModification({ entityId: hole.id, stateDelta: { x, y }, updateTag: 'nudgeHole' })],
328
+ readResult: ({ state: nudged }) => ({
329
+ hole: domain.get$Entity(holeId, nudged),
330
+ plate: domain.getRoot$Entity(nudged),
331
+ }),
332
+ }
333
+ },
334
+ })
335
+ ```
336
+
337
+ ### ./src/elements/NudgeControl.tsx
338
+
339
+ ```tsx
340
+ import { Button, Stack } from '@mui/material'
341
+
342
+ import { PropertyContainer } from '@salsita-ai/sdk/ui'
343
+
344
+ import { phx } from '../../.phoenix/phx.js'
345
+
346
+ const STEP = 20
347
+
348
+ /** Nudges the selected hole with the same `nudgeHole` action the assistant calls, one step at a time. */
349
+ export default phx.frontend.createCustomPhoenixEntityElement('NudgeControl', ({ entityId }) => {
350
+ const { actionSystem } = phx.frontend.useDomain()
351
+ const state = phx.frontend.useCommittedState()
352
+ const prepare = phx.frontend.useUpdateControl()
353
+ const hole = state.entities.find(entity => entity.id === entityId)
354
+
355
+ if (hole?.type !== 'Hole') {
356
+ return <></>
357
+ }
358
+
359
+ // An action throws when the move leaves the plate; the button for that direction is then disabled with the message.
360
+ const nudge = (dx: number, dy: number) => {
361
+ try {
362
+ return prepare(actionSystem.prepareAction('nudgeHole', { holeId: hole.id, dx, dy }, state).updates)
363
+ } catch (error) {
364
+ return { disabled: true, hints: error instanceof Error ? error.message : String(error), update: () => {} }
365
+ }
366
+ }
367
+
368
+ const directions = [
369
+ { label: '←', dx: -STEP, dy: 0 },
370
+ { label: '→', dx: STEP, dy: 0 },
371
+ { label: '↑', dx: 0, dy: STEP },
372
+ { label: '↓', dx: 0, dy: -STEP },
373
+ ]
374
+
375
+ return (
376
+ <PropertyContainer.Item title="Nudge" description={`Moves the hole by ${STEP} units.`}>
377
+ <Stack direction="row" spacing={1}>
378
+ {directions.map(({ label, dx, dy }) => {
379
+ const control = nudge(dx, dy)
380
+
381
+ return (
382
+ <Button
383
+ key={label}
384
+ variant="outlined"
385
+ disabled={control.disabled}
386
+ title={control.hints ?? undefined}
387
+ onClick={event => {
388
+ event.stopPropagation()
389
+ control.update()
390
+ }}
391
+ >
392
+ {label}
393
+ </Button>
394
+ )
395
+ })}
396
+ </Stack>
397
+ </PropertyContainer.Item>
398
+ )
399
+ })
400
+ ```
401
+
402
+ ### ./src/expressions/plate.ts
403
+
404
+ ```ts
405
+ import { createPlate } from '../../../../common/plate-rendering.js'
406
+ import { phx } from '../../.phoenix/phx.js'
407
+
408
+ export default phx.domain.implementCustomExpressions({
409
+ Hole: {
410
+ $radius: () => 10,
411
+ },
412
+ Plate: {
413
+ $render: plate => createPlate({ features: plate.$holes }),
414
+ },
415
+ })
416
+ ```
417
+
418
+ </details>
@@ -32,17 +32,14 @@ finishNotAvailable:
32
32
  ```
33
33
 
34
34
  ```ts
35
- const violationExpressions = invariantBuilder
36
- .withInvariants(
37
- implementCustomInvariants({
38
- Plate: {
39
- finishNotAvailable: s => {
40
- return availableMaterials.some(state => state.material === s.material && state.finish === s.finish)
41
- },
42
- },
43
- })
44
- )
45
- .buildViolationExpressions()
35
+ // src/invariants/invariants.ts
36
+ export default phx.domain.implementCustomInvariants({
37
+ Plate: {
38
+ finishNotAvailable: s => {
39
+ return availableMaterials.some(state => state.material === s.material && state.finish === s.finish)
40
+ },
41
+ },
42
+ })
46
43
  ```
47
44
 
48
45
  With following control structure. The top input selects the material, the bottom one selects the finish.
@@ -66,42 +63,76 @@ With following control structure. The top input selects the material, the bottom
66
63
  The transformer is used to change the finish if necessary and show the notification.
67
64
 
68
65
  ```typescript
69
- configuratorBuilder
70
- .withTransformers(domainContext => [
71
- phx.frontend.transformerBuilder.when
72
- .entity(['Plate'])
73
- .modified({ atFields: ['material'] })
74
- .causes.self.violation(['finishNotAvailable'])
75
- .then.applySideEffect(({ update, getOld$Entity }) => {
76
- const oldPlate = getOld$Entity()
77
- const newMaterial = update.stateDelta.material
78
-
79
- const validMaterial =
80
- availableMaterials.find(m => m.material === newMaterial && m.finish === oldPlate.finish) ??
81
- availableMaterials.find(m => m.material === newMaterial)
82
-
83
- if (!validMaterial || validMaterial.finish === oldPlate.finish) {
84
- return []
85
- }
86
-
87
- // create an additional update that will fix the material finish
88
- const fixUpdate = phx.frontend.updates.DomainEntityModification({
89
- entityId: oldPlate.id,
90
- stateDelta: {
91
- finish: validMaterial.finish,
92
- },
93
- updateTag: 'fix.finish',
94
- hint: msg`Material finish was adjusted`, // specify a hint for the user (side effect)
95
- })
96
-
97
- return [fixUpdate]
98
- })
99
- .build('Fix material finish')
100
- .register(domainContext),
101
- ])
102
- .buildConfig()
66
+ // src/transformers/fix-finish.ts
67
+ import { msg } from '@lingui/core/macro'
68
+
69
+ import { availableMaterials } from '../_shared/materials.js'
70
+
71
+ export default phx.frontend.transformerBuilder.when
72
+ .entity(['Plate'])
73
+ .modified({ atFields: ['material'] })
74
+ .causes.self.violation(['finishNotAvailable'])
75
+ .then.applySideEffect(({ update, getOld$Entity }) => {
76
+ const oldPlate = getOld$Entity()
77
+ const newMaterial = update.stateDelta.material
78
+
79
+ const validMaterial =
80
+ availableMaterials.find(m => m.material === newMaterial && m.finish === oldPlate.finish) ??
81
+ availableMaterials.find(m => m.material === newMaterial)
82
+
83
+ if (!validMaterial || validMaterial.finish === oldPlate.finish) {
84
+ return []
85
+ }
86
+
87
+ // create an additional update that will fix the material finish
88
+ const fixUpdate = phx.frontend.updates.DomainEntityModification({
89
+ entityId: oldPlate.id,
90
+ stateDelta: {
91
+ finish: validMaterial.finish,
92
+ },
93
+ updateTag: 'fix.finish',
94
+ hint: msg`Material finish was adjusted`, // specify a hint for the user (side effect)
95
+ })
96
+
97
+ return [fixUpdate]
98
+ })
99
+ .build('fix-finish')
103
100
  ```
104
101
 
102
+ Each file in `src/transformers/` default-exports one transformer and is picked up by its location. The `transformers` section of the spec turns it on by name. For a transformer made with `build(name)` that is the name passed to `build(...)`, which must match the file name with case and dashes ignored (`fix-finish.ts` and `fixFinish` match). For a plain-function export it is the file name:
103
+
104
+ ```yaml
105
+ # spec/application.yaml
106
+ transformers:
107
+ - name: fix-finish
108
+ ```
109
+
110
+ ### Hints and the AI assistant
111
+
112
+ In a configurator with the AI assistant, the assistant is told the same hints: they arrive as
113
+ `sideEffects` with the result of its changes and in the dry-runs of recipes and options, so it can
114
+ tell the user what else happened. The hints also explain what the user changed between two messages:
115
+ every message carries a change record of the configuration, and each of its lines ends with the hint
116
+ of the last update that touched it, or with the `updateTag` when the update has none. Set `agentHint`
117
+ beside `hint` when the assistant needs different wording, for example with ids or values a snackbar
118
+ would not show:
119
+
120
+ ```ts
121
+ phx.frontend.updates.DomainEntityModification({
122
+ entityId: oldPlate.id,
123
+ stateDelta: { finish: validMaterial.finish },
124
+ updateTag: 'fix.finish',
125
+ hint: msg`Material finish was adjusted`,
126
+ agentHint: `The finish of ${oldPlate.id} was changed to ${validMaterial.finish}, the only one this material comes in.`,
127
+ })
128
+ ```
129
+
130
+ - `agentHint` is a plain string, never shown to the user and not localized.
131
+ - `agentHint: null` keeps the wording from the assistant while the user still gets the `hint`: the
132
+ update is left out of `sideEffects`, and the change record explains its line by the `updateTag`. It
133
+ does not hide the change itself, which the assistant can always read from the configuration.
134
+ - `agentHint` without a `hint` tells only the assistant.
135
+
105
136
  ## Example
106
137
 
107
138
  Here you can see the live example!
@@ -102,7 +102,7 @@ export const removeExtraneousBranchesAndLeavesWhenShortened = phx.frontend.trans
102
102
  - With `overrideMatchinUpdates(ctx => /* side effect updates */)` the updates returned by the provided callback will replace the original **matched update**. This will be triggered for every matching update. Note that this action is not available in events which are not bound to a specific update - such as a violation check without a defined cause.
103
103
  - With `overrideAllUpdates(ctx => /* side effect updates */)` the updates returned by the provided callback will replace all original updates. This will be triggered only once for a single run of the transformer. This allows for implementation of transformers that behave similarly as the raw `UpdateTransformer`
104
104
  - High-level actions: `select`, `deselect`, `navigate`, `changeView` - more on these in the other examples.
105
- - `build(name)` is the final step to create the transformer. Assign a descriptive name (no restrictions) to easily identify the transformer while tracing. Note that this returns a `RegistrableTransformer` which needs to be registered using the `register(domainContext)` method. This is usually done in the `.withTransformers()` method of the configurator builder.
105
+ - `build(name)` is the final step to create the transformer. The name identifies the transformer while tracing, and it is the name the `transformers` section of the spec refers to, so it must match the file name with case and dashes ignored (`fix-finish.ts` and `fixFinish` match). Note that this returns a `RegistrableTransformer`. Default-export it from a file in `src/transformers/` and list the name passed to `build(...)` in the `transformers` section of the spec; the generated code registers it. The shorter snippets on this page use descriptive names for readability; the complete implementation below uses names that match its files.
106
106
 
107
107
  ### Side-Effect on Update Causing Another Entity's Violation
108
108
 
@@ -433,6 +433,10 @@ The following sample application has all the above described transformers active
433
433
  - When the view changes to `Y`, the navigation state is changed to `C`.
434
434
  - When any entity is deselected in view `Z`, the view is changed to `X`.
435
435
 
436
+ The example's own tests under `__tests__/` check these cases with `createMockDomainContext` on the config
437
+ `createTestApplicationConfig` builds from the generated application; [Testing](?path=/docs/phoenix-testing--docs)
438
+ shows how a project's test sets that up.
439
+
436
440
  ## Complete Implementation
437
441
 
438
442
  {/* AUTO-GENERATED SECTION: This section is automatically updated by 'phoenix story build' */}