@salsita-ai/sdk 0.50.0-develop.eb204e0da4 → 0.50.0-develop.f03b563886

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 (995) hide show
  1. package/README.md +20 -12
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/errors/diagnostic-codes.d.ts +6 -0
  4. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  5. package/dist/application-spec/errors/diagnostic-messages.d.ts +6 -0
  6. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  7. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  8. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  9. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  10. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  11. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  12. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  13. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  14. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  15. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  16. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  17. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  18. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +2 -2
  19. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -13
  20. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  21. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  22. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  23. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  24. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.d.ts +3 -1
  25. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -65
  26. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  27. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  28. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  29. package/dist/application-spec/generate-application/code/templates/domain-spec.js +7 -7
  30. package/dist/application-spec/generate-application/code/templates/domain.js +4 -4
  31. package/dist/application-spec/generate-application/code/templates/env-example.js +4 -0
  32. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.d.ts +11 -0
  33. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +8 -0
  34. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  35. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  36. package/dist/application-spec/generate-application/code/templates/globals.js +1 -0
  37. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -0
  38. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  39. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +1 -1
  40. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  41. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +95 -41
  42. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +39 -16
  43. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +5 -3
  44. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  45. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  46. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  47. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +32 -3
  48. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -5
  49. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  50. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  51. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +2 -0
  52. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  53. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +14 -0
  54. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.js +1 -0
  55. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  56. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  57. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +1 -0
  58. package/dist/application-spec/generate-application/runtime/sections/index.js +1 -1
  59. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +3 -1
  60. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  61. package/dist/application-spec/parse-application-files/merge/index.d.ts +1 -0
  62. package/dist/application-spec/parse-application-files/merge/index.js +1 -1
  63. package/dist/application-spec/parse-application-files/merge/merged-actions.d.ts +11 -0
  64. package/dist/application-spec/parse-application-files/merge/merged-actions.js +1 -0
  65. package/dist/application-spec/parse-application-files/merge/merged-spec.d.ts +2 -0
  66. package/dist/application-spec/parse-application-files/merge/merged-spec.js +1 -1
  67. package/dist/application-spec/parse-application-files/raw-spec/index.d.ts +1 -0
  68. package/dist/application-spec/parse-application-files/raw-spec/index.js +1 -1
  69. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.d.ts +18 -0
  70. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.js +1 -0
  71. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +14 -2
  72. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  73. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.d.ts +2 -0
  74. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  75. package/dist/application-spec/parse-application-files/resolve/resolve-import-modules.js +1 -1
  76. package/dist/application-spec/parse-application-files/spec/application/application-spec.js +1 -1
  77. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.d.ts +4 -2
  78. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  79. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  80. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  81. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.d.ts +23 -0
  82. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.js +1 -0
  83. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +10 -0
  84. package/dist/application-spec/parse-application-files/spec/model/names/action-name.js +1 -0
  85. package/dist/application-spec/parse-application-files/spec/model/names/index.d.ts +1 -0
  86. package/dist/application-spec/parse-application-files/spec/model/names/index.js +1 -1
  87. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +35 -0
  88. package/dist/application-spec/parse-application-files/spec/sections/actions.js +1 -0
  89. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +5 -21
  90. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  91. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +14 -39
  92. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  93. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  94. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -19
  95. package/dist/application-spec/parse-application-files/spec/sections/index.d.ts +1 -0
  96. package/dist/application-spec/parse-application-files/spec/sections/index.js +1 -1
  97. package/dist/client/authorized-client.d.ts +3 -1
  98. package/dist/client/authorized-client.js +1 -1
  99. package/dist/client/contract.d.ts +34 -0
  100. package/dist/client/contract.js +1 -1
  101. package/dist/client/index.d.ts +2 -2
  102. package/dist/client/index.js +1 -1
  103. package/dist/client/local-authorized-client.d.ts +3 -1
  104. package/dist/client/local-authorized-client.js +1 -1
  105. package/dist/client/memory-authorized-client.d.ts +3 -1
  106. package/dist/client/memory-authorized-client.js +1 -1
  107. package/dist/client/phoenix-api.d.ts +271 -30
  108. package/dist/configurator/application-runtime/extensions/configurator-extension-systems.d.ts +2 -1
  109. package/dist/configurator/application-runtime/extensions/configurator-extension-systems.js +1 -1
  110. package/dist/configurator/application-runtime/extensions/selectors.d.ts +2 -1
  111. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  112. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +267 -0
  113. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -0
  114. package/dist/configurator/{assistant → application-runtime/extensions/systems/assistant-system}/browser-details.d.ts +1 -1
  115. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +1 -0
  116. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  117. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  118. package/dist/configurator/{assistant → application-runtime/extensions/systems/assistant-system}/graphql-tools.d.ts +20 -16
  119. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -0
  120. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  121. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  122. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +16 -1
  123. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  124. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  125. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  126. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -0
  127. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  128. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -0
  129. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  130. package/dist/configurator/common/frontend-analytics.d.ts +21 -21
  131. package/dist/configurator/index.d.ts +0 -1
  132. package/dist/configurator/index.js +1 -1
  133. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  134. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  135. package/dist/configurator/ui/assistant/AssistantChips.d.ts +11 -0
  136. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  137. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  138. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  139. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  140. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  141. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  142. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  143. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  144. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  145. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  146. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  147. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  148. package/dist/configurator/ui/assistant/index.js +1 -0
  149. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  150. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  151. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  152. package/dist/configurator/ui/assistant/theme.js +1 -0
  153. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  154. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  155. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  156. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  157. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  158. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  159. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  160. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  161. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -5
  162. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  163. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  164. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  165. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  166. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  167. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  168. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  169. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  170. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  171. package/dist/docs/index.json +12 -2
  172. package/dist/docs/layouts/custom-price.mdx +14 -16
  173. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  174. package/dist/docs/layouts/toolbar.mdx +6 -0
  175. package/dist/docs/other-features/domain-actions.mdx +418 -0
  176. package/dist/docs/other-features/side-effects.mdx +68 -34
  177. package/dist/docs/other-features/transformers.mdx +1 -1
  178. package/dist/docs/phoenix/admin.mdx +11 -26
  179. package/dist/docs/phoenix/best-practices.mdx +1 -0
  180. package/dist/docs/phoenix/deployments.mdx +1 -1
  181. package/dist/docs/phoenix/expression-context.mdx +11 -3
  182. package/dist/docs/phoenix/finalization.mdx +1 -1
  183. package/dist/docs/phoenix/integration/headless-mode-external.mdx +5 -5
  184. package/dist/docs/phoenix/integration/widget-mode-external.mdx +5 -5
  185. package/dist/docs/phoenix/localization.mdx +3 -22
  186. package/dist/docs/phoenix/phoenix-cli.mdx +162 -40
  187. package/dist/docs/phoenix/project-structure.mdx +13 -3
  188. package/dist/docs/phoenix/sdk-builder-workflow.mdx +14 -12
  189. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  190. package/dist/docs/relations/hierarchy.mdx +13 -2
  191. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  192. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  193. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  194. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  195. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  196. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  197. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  198. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  199. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  200. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -13
  201. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  202. package/dist/domain/admin-domain/index.d.ts +9 -5
  203. package/dist/domain/admin-domain/index.js +1 -1
  204. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  205. package/dist/domain/application/application-config.d.ts +24 -92
  206. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  207. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  208. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  209. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  210. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  211. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  212. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  213. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  214. package/dist/domain/application/assistant/index.d.ts +4 -0
  215. package/dist/domain/application/assistant/index.js +1 -0
  216. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  217. package/dist/domain/application/assistant-mutations.d.ts +16 -17
  218. package/dist/domain/application/assistant-mutations.js +1 -1
  219. package/dist/domain/application/assistant-recipe-groups.d.ts +2 -6
  220. package/dist/domain/application/configurator-builder.d.ts +33 -18
  221. package/dist/domain/application/configurator-builder.js +1 -1
  222. package/dist/domain/application/element-registration.d.ts +5 -0
  223. package/dist/domain/application/element-registration.js +1 -1
  224. package/dist/domain/application/handler-registration.d.ts +5 -0
  225. package/dist/domain/application/handler-registration.js +1 -1
  226. package/dist/domain/application/index.d.ts +6 -5
  227. package/dist/domain/application/index.js +1 -1
  228. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  229. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  230. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  231. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  232. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  233. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  234. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  235. package/dist/domain/application/resolve-imported-transformers.d.ts +12 -2
  236. package/dist/domain/application/resolve-imported-transformers.js +1 -1
  237. package/dist/domain/available-system-components.js +1 -1
  238. package/dist/domain/core/action/action-factory.d.ts +11 -0
  239. package/dist/domain/core/action/action-factory.js +1 -0
  240. package/dist/domain/core/action/action.d.ts +71 -0
  241. package/dist/domain/core/action/index.d.ts +2 -0
  242. package/dist/domain/core/action/index.js +1 -0
  243. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  244. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  245. package/dist/domain/core/component/debug-state-component.js +1 -0
  246. package/dist/domain/{components → core/component}/domain-component-optic.d.ts +36 -39
  247. package/dist/domain/{components → core/component}/domain-component-optic.js +2 -2
  248. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  249. package/dist/domain/core/component/drag-state-component.js +1 -0
  250. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  251. package/dist/domain/core/component/export-state-component.js +1 -0
  252. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  253. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  254. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  255. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  256. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  257. package/dist/domain/core/component/hover-state-component.js +1 -0
  258. package/dist/domain/core/component/index.d.ts +18 -0
  259. package/dist/domain/core/component/index.js +1 -0
  260. package/dist/domain/{components → core/component}/legacy-filter.d.ts +2 -2
  261. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  262. package/dist/domain/core/component/navigation-state-component.js +1 -0
  263. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  264. package/dist/domain/core/component/selection-state-component.js +1 -0
  265. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  266. package/dist/domain/core/component/system-component-builder.js +1 -0
  267. package/dist/domain/{components → core/component}/system-component-filter.d.ts +19 -19
  268. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  269. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  270. package/dist/domain/core/component/tool-state-component.js +1 -0
  271. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  272. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  273. package/dist/domain/core/component/view-state-component.js +1 -0
  274. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  275. package/dist/domain/core/component/viewport-state-component.js +1 -0
  276. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  277. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  278. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  279. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  280. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  281. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  282. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  283. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  284. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  285. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  286. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  287. package/dist/domain/core/data-schema/data-schema.js +1 -0
  288. package/dist/domain/core/data-schema/index.d.ts +7 -0
  289. package/dist/domain/core/data-schema/index.js +1 -0
  290. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  291. package/dist/domain/core/decoder/create-decoder.js +1 -0
  292. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  293. package/dist/domain/core/decoder/decoder.js +1 -0
  294. package/dist/domain/core/decoder/index.d.ts +2 -0
  295. package/dist/domain/core/decoder/index.js +1 -0
  296. package/dist/domain/core/domain-factory.d.ts +7 -4
  297. package/dist/domain/core/domain-factory.js +1 -1
  298. package/dist/domain/core/domain.d.ts +4 -5
  299. package/dist/domain/core/domain.js +1 -1
  300. package/dist/domain/core/emission/index.d.ts +8 -0
  301. package/dist/domain/core/emission/index.js +1 -0
  302. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  303. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  304. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  305. package/dist/domain/core/emission/state-emission.js +1 -0
  306. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  307. package/dist/domain/core/emission/state-update-emission.js +1 -0
  308. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  309. package/dist/domain/core/emission/state-validation-result.js +1 -0
  310. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  311. package/dist/domain/core/emission/transformation-log.js +1 -0
  312. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  313. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  314. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  315. package/dist/domain/core/emission/transformer-log.js +1 -0
  316. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  317. package/dist/domain/core/emission/transformer-phase.js +1 -0
  318. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  319. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  320. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +2 -3
  321. package/dist/domain/core/expression/constant-expressions.js +1 -0
  322. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +9 -10
  323. package/dist/domain/core/expression/custom-expression.js +1 -0
  324. package/dist/domain/core/{expression.d.ts → expression/expression.d.ts} +17 -20
  325. package/dist/domain/core/expression/expression.js +1 -0
  326. package/dist/domain/core/expression/index.d.ts +4 -0
  327. package/dist/domain/core/expression/index.js +1 -0
  328. package/dist/domain/core/index.d.ts +13 -16
  329. package/dist/domain/core/index.js +1 -1
  330. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  331. package/dist/domain/{invariants → core/invariant}/custom-invariants.d.ts +7 -8
  332. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  333. package/dist/domain/core/invariant/index.d.ts +5 -0
  334. package/dist/domain/core/invariant/index.js +1 -0
  335. package/dist/domain/core/invariant/invariants.d.ts +13 -0
  336. package/dist/domain/core/invariant/invariants.js +1 -0
  337. package/dist/domain/core/invariant/violation-component.js +1 -0
  338. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  339. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  340. package/dist/domain/core/model/index.d.ts +6 -0
  341. package/dist/domain/core/model/index.js +1 -0
  342. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  343. package/dist/domain/core/model/reflection.js +1 -0
  344. package/dist/domain/core/recipe/index.d.ts +1 -0
  345. package/dist/domain/core/recipe/index.js +1 -0
  346. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  347. package/dist/domain/core/recipe/recipes.js +1 -0
  348. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  349. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  350. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  351. package/dist/domain/core/relation/component-factories.js +1 -0
  352. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  353. package/dist/domain/core/relation/composed-of.js +1 -0
  354. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  355. package/dist/domain/core/relation/index.d.ts +9 -0
  356. package/dist/domain/core/relation/index.js +1 -0
  357. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  358. package/dist/domain/core/relation/indirect-relation.js +1 -0
  359. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  360. package/dist/domain/core/relation/reference-component.js +1 -0
  361. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  362. package/dist/domain/core/relation/reference-field.js +1 -0
  363. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  364. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  365. package/dist/domain/core/relation/relation-implementation.js +1 -0
  366. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  367. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  368. package/dist/domain/core/schema/index.d.ts +3 -0
  369. package/dist/domain/core/schema/index.js +1 -0
  370. package/dist/domain/core/schema/schema-validator.js +1 -0
  371. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  372. package/dist/domain/core/state/id-sequence.js +1 -0
  373. package/dist/domain/core/state/index.d.ts +3 -0
  374. package/dist/domain/core/state/index.js +1 -0
  375. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  376. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  377. package/dist/domain/domain-builder.d.ts +16 -9
  378. package/dist/domain/domain-builder.js +1 -1
  379. package/dist/domain/domain-context/action-system/action-system.d.ts +38 -0
  380. package/dist/domain/domain-context/action-system/action-system.js +1 -0
  381. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  382. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  383. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +1 -2
  384. package/dist/domain/domain-context/domain-context-systems.d.ts +5 -4
  385. package/dist/domain/domain-context/index.d.ts +4 -4
  386. package/dist/domain/domain-context/index.js +1 -1
  387. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +3 -5
  388. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  389. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  390. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  391. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  392. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  393. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -3
  394. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  395. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +1 -1
  396. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  397. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +1 -1
  398. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  399. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +1 -1
  400. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  401. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +1 -1
  402. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  403. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  404. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  405. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  406. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  407. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  408. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  409. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -36
  410. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  411. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -3
  412. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  413. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  414. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  415. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +1 -3
  416. package/dist/domain/domain-context/transformers/chain-builder.d.ts +2 -2
  417. package/dist/domain/domain-context/transformers/context.d.ts +1 -6
  418. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  419. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  420. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  421. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  422. package/dist/domain/domain-context/transformers/when-builder.d.ts +1 -6
  423. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  424. package/dist/domain/domain-context/undo-system.d.ts +1 -2
  425. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  426. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  427. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  428. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  429. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  430. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  431. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  432. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  433. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  434. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  435. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +7 -4
  436. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  437. package/dist/domain/domain-runtime/domain-runtime.d.ts +24 -12
  438. package/dist/domain/domain-runtime/spec/index.d.ts +8 -0
  439. package/dist/domain/domain-runtime/spec/index.js +1 -1
  440. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  441. package/dist/domain/{invariants/invariants.d.ts → domain-runtime/spec/invariant-builder.d.ts} +7 -14
  442. package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
  443. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  444. package/dist/domain/domain-runtime/spec/prepare-action-implementations.d.ts +15 -0
  445. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  446. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  447. package/dist/domain/domain-runtime/spec/resolve-action-modules.d.ts +4 -0
  448. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +1 -0
  449. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.d.ts +4 -0
  450. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +1 -0
  451. package/dist/domain/domain-runtime/spec/resolve-expression-modules.d.ts +15 -0
  452. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +1 -0
  453. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +6 -0
  454. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +1 -0
  455. package/dist/domain/domain-runtime/spec/selectors.d.ts +2 -2
  456. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  457. package/dist/domain/domain-runtime/spec/types.d.ts +18 -5
  458. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  459. package/dist/domain/extensions/angle-indicator.js +1 -0
  460. package/dist/domain/extensions/attribute-switch.js +1 -0
  461. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  462. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  463. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  464. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  465. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  466. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  467. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  468. package/dist/domain/extensions/canvas-config.js +1 -0
  469. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  470. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  471. package/dist/domain/extensions/canvas-padding.js +1 -0
  472. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  473. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  474. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  475. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  476. package/dist/domain/extensions/client-side-image.js +1 -0
  477. package/dist/domain/extensions/color-value.js +1 -0
  478. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  479. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  480. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  481. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  482. package/dist/domain/extensions/common/index.d.ts +4 -0
  483. package/dist/domain/extensions/common/index.js +1 -0
  484. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  485. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  486. package/dist/domain/extensions/custom-price-footer.js +1 -0
  487. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  488. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  489. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  490. package/dist/domain/extensions/dimension-indicator.js +1 -0
  491. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  492. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  493. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  494. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  495. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  496. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  497. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  498. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  499. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  500. package/dist/domain/extensions/entity-header.js +1 -0
  501. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  502. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  503. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  504. package/dist/domain/extensions/finalize-action.js +1 -0
  505. package/dist/domain/extensions/finalize-component.js +1 -0
  506. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  507. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  508. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  509. package/dist/domain/extensions/fixed-header.js +1 -0
  510. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  511. package/dist/domain/extensions/floating-header.js +1 -0
  512. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  513. package/dist/domain/extensions/hidden-header.js +1 -0
  514. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  515. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  516. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  517. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  518. package/dist/domain/extensions/index.d.ts +69 -0
  519. package/dist/domain/extensions/index.js +1 -0
  520. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  521. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  522. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  523. package/dist/domain/extensions/navigation-steps.js +1 -0
  524. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  525. package/dist/domain/extensions/offset-anchors.js +1 -0
  526. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  527. package/dist/domain/extensions/offset-indicator.js +1 -0
  528. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  529. package/dist/domain/extensions/offset.js +1 -0
  530. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  531. package/dist/domain/extensions/other-action.js +1 -0
  532. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  533. package/dist/domain/extensions/property-page.js +1 -0
  534. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  535. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  536. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  537. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  538. package/dist/domain/extensions/rotatable.js +1 -0
  539. package/dist/domain/extensions/rotation-handle.js +1 -0
  540. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  541. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  542. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  543. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  544. package/dist/domain/extensions/scene-entity-control.js +1 -0
  545. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  546. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  547. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  548. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  549. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  550. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  551. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  552. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  553. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  554. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  555. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  556. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  557. package/dist/domain/extensions/selectable-component.js +1 -0
  558. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  559. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  560. package/dist/domain/extensions/simple-summary.js +1 -0
  561. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  562. package/dist/domain/extensions/size.js +1 -0
  563. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  564. package/dist/domain/extensions/sketching-draw.js +1 -0
  565. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  566. package/dist/domain/extensions/sketching-edit.js +1 -0
  567. package/dist/domain/extensions/summary-component.js +1 -0
  568. package/dist/domain/extensions/text-value.js +1 -0
  569. package/dist/domain/extensions/tool-controls.js +1 -0
  570. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  571. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  572. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  573. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  574. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  575. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  576. package/dist/domain/extensions/view-controls.js +1 -0
  577. package/dist/domain/index.d.ts +3 -30
  578. package/dist/domain/index.js +1 -1
  579. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -3
  580. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  581. package/dist/domain/project-modules/index.d.ts +1 -0
  582. package/dist/domain/project-modules/index.js +1 -0
  583. package/dist/domain/project-modules/project-modules.d.ts +25 -0
  584. package/dist/domain/project-modules/project-modules.js +1 -0
  585. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -1
  586. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  587. package/dist/domain/projections/composition-projections.js +1 -1
  588. package/dist/domain/projections/index.d.ts +1 -1
  589. package/dist/domain/projections/projected-entities-projections.d.ts +1 -2
  590. package/dist/domain/projections/snap-matching.d.ts +1 -2
  591. package/dist/domain/projections/snap-utils.d.ts +1 -2
  592. package/dist/domain/projections/validation-projections.d.ts +1 -18
  593. package/dist/domain/projections/validation-projections.js +1 -1
  594. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  595. package/dist/domain/system-components/admin-sidebar.js +1 -1
  596. package/dist/domain/system-components/angle-dimension.js +1 -1
  597. package/dist/domain/system-components/application-config.d.ts +1 -1
  598. package/dist/domain/system-components/application-config.js +1 -1
  599. package/dist/domain/system-components/attribute-selection.js +1 -1
  600. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  601. package/dist/domain/system-components/bounding-box-component.js +1 -1
  602. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  603. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  604. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  605. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  606. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  607. package/dist/domain/system-components/child-entity-selection.js +1 -1
  608. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  609. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  610. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  611. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  612. package/dist/domain/system-components/collision-geometry.js +1 -1
  613. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  614. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  615. package/dist/domain/system-components/common/index.d.ts +0 -4
  616. package/dist/domain/system-components/common/index.js +1 -1
  617. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  618. package/dist/domain/system-components/constraint.d.ts +1 -1
  619. package/dist/domain/system-components/constraint.js +1 -1
  620. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  621. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  622. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  623. package/dist/domain/system-components/detail.js +1 -1
  624. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  625. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  626. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  627. package/dist/domain/system-components/distance-dimension.js +1 -1
  628. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  629. package/dist/domain/system-components/drag-handle.js +1 -1
  630. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  631. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  632. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  633. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  634. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  635. package/dist/domain/system-components/generic-dimension.js +1 -1
  636. package/dist/domain/system-components/hidden-entity.js +1 -1
  637. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  638. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  639. package/dist/domain/system-components/index.d.ts +0 -68
  640. package/dist/domain/system-components/index.js +1 -1
  641. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  642. package/dist/domain/system-components/material-override-transformer.js +1 -1
  643. package/dist/domain/system-components/material-swatch.js +1 -1
  644. package/dist/domain/system-components/navigation-page.js +1 -1
  645. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  646. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  647. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  648. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  649. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  650. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  651. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  652. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  653. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  654. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  655. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  656. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  657. package/dist/domain/system-components/pivot-point.js +1 -1
  658. package/dist/domain/system-components/price.js +1 -1
  659. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  660. package/dist/domain/system-components/projected-entities.js +1 -1
  661. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  662. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  663. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  664. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  665. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  666. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  667. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  668. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  669. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  670. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  671. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  672. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  673. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  674. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  675. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  676. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  677. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  678. package/dist/domain/system-components/scene-entity-object.js +1 -1
  679. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  680. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  681. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  682. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  683. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  684. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  685. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  686. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  687. package/dist/domain/system-components/sketching-line.js +1 -1
  688. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  689. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  690. package/dist/domain/system-components/sketching.d.ts +1 -1
  691. package/dist/domain/system-components/sketching.js +1 -1
  692. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  693. package/dist/domain/system-components/snap-axis.js +1 -1
  694. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  695. package/dist/domain/system-components/snap-edge.js +1 -1
  696. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  697. package/dist/domain/system-components/snap-plane.js +1 -1
  698. package/dist/domain/system-components/snap-point.d.ts +1 -1
  699. package/dist/domain/system-components/snap-point.js +1 -1
  700. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  701. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  702. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  703. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  704. package/dist/domain/utils/eval-cache.d.ts +1 -2
  705. package/dist/domain/utils/memo-eval.d.ts +2 -4
  706. package/dist/editor/Editor.js +1 -1
  707. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  708. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  709. package/dist/editor/domain-editors/use-implementation-files.d.ts +11 -6
  710. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  711. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  712. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  713. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  714. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  715. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  716. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  717. package/dist/editor/variants/variant-preview-styles.js +1 -0
  718. package/dist/i18n/locales/cs/messages.js +1 -1
  719. package/dist/i18n/locales/da/messages.js +1 -1
  720. package/dist/i18n/locales/de/messages.js +1 -1
  721. package/dist/i18n/locales/de-AT/messages.js +1 -1
  722. package/dist/i18n/locales/en/messages.js +1 -1
  723. package/dist/i18n/locales/en-AU/messages.js +1 -1
  724. package/dist/i18n/locales/en-GB/messages.js +1 -1
  725. package/dist/i18n/locales/es/messages.js +1 -1
  726. package/dist/i18n/locales/fr/messages.js +1 -1
  727. package/dist/i18n/locales/hu/messages.js +1 -1
  728. package/dist/i18n/locales/it/messages.js +1 -1
  729. package/dist/i18n/locales/nl/messages.js +1 -1
  730. package/dist/i18n/locales/pl/messages.js +1 -1
  731. package/dist/i18n/locales/pt/messages.js +1 -1
  732. package/dist/i18n/locales/ro/messages.js +1 -1
  733. package/dist/i18n/locales/sk/messages.js +1 -1
  734. package/dist/i18n/locales/tr/messages.js +1 -1
  735. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  736. package/dist/legacy/domain-cli/gen/implementation.js +5 -5
  737. package/dist/legacy/domain-cli/gen/invariants.js +5 -3
  738. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  739. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  740. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +6 -0
  741. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  742. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  743. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  744. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  745. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  746. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  747. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  748. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  749. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  750. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  751. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  752. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  753. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  754. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  755. package/dist/phoenix/cli.js +1 -1
  756. package/dist/phoenix/commands/build.d.ts +5 -0
  757. package/dist/phoenix/commands/build.js +1 -1
  758. package/dist/phoenix/commands/deploy.js +2 -2
  759. package/dist/phoenix/commands/dev.js +5 -5
  760. package/dist/phoenix/commands/feedback.d.ts +2 -1
  761. package/dist/phoenix/commands/feedback.js +1 -1
  762. package/dist/phoenix/commands/index.d.ts +1 -0
  763. package/dist/phoenix/commands/index.js +1 -1
  764. package/dist/phoenix/commands/login.d.ts +24 -6
  765. package/dist/phoenix/commands/login.js +2 -2
  766. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  767. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  768. package/dist/phoenix/commands/story-dev.js +2 -2
  769. package/dist/phoenix/commands/variants.d.ts +35 -0
  770. package/dist/phoenix/commands/variants.js +1 -0
  771. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  772. package/dist/phoenix/editor-server/commands-router.js +1 -1
  773. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  774. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  775. package/dist/phoenix/editor-server/editor-server.js +1 -1
  776. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  777. package/dist/phoenix/editor-server/spec-router.js +1 -1
  778. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  779. package/dist/phoenix/scripts/build-admin.js +1 -1
  780. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  781. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  782. package/dist/phoenix/services/index.d.ts +5 -0
  783. package/dist/phoenix/services/index.js +1 -1
  784. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  785. package/dist/phoenix/services/phoenix-application.js +1 -0
  786. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  787. package/dist/phoenix/services/phoenix-store.js +1 -0
  788. package/dist/phoenix/services/phx-banner-plugin.d.ts +32 -0
  789. package/dist/phoenix/services/phx-banner-plugin.js +1 -0
  790. package/dist/phoenix/services/phx-licenses-plugin.d.ts +55 -0
  791. package/dist/phoenix/services/phx-licenses-plugin.js +8 -0
  792. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  793. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  794. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  795. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  796. package/dist/phoenix/services/variant-file-session.js +1 -0
  797. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  798. package/dist/phoenix/services/variant-preview-service.js +1 -0
  799. package/dist/phoenix/services/vite-config.d.ts +2 -0
  800. package/dist/phoenix/services/vite-config.js +1 -1
  801. package/dist/phoenix/utils/index.d.ts +1 -0
  802. package/dist/phoenix/utils/index.js +1 -1
  803. package/dist/phoenix/utils/read-git-commit.d.ts +14 -0
  804. package/dist/phoenix/utils/read-git-commit.js +1 -0
  805. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  806. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  807. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  808. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  809. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  810. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  811. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  812. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +16 -4
  813. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +3 -0
  814. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  815. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  816. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  817. package/dist/ui-sdk/theme/types.d.ts +4 -0
  818. package/dist/webhook/builders/common.d.ts +8 -0
  819. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  820. package/dist/webhook/builders/webhook-builder.js +1 -1
  821. package/package.json +5 -8
  822. package/schema/domain-spec.json +24 -0
  823. package/dist/configurator/assistant/browser-details.js +0 -1
  824. package/dist/configurator/assistant/graphql-tools.js +0 -1
  825. package/dist/configurator/assistant/index.d.ts +0 -1
  826. package/dist/configurator/assistant/index.js +0 -1
  827. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  828. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  829. package/dist/domain/components/debug-state-component.js +0 -1
  830. package/dist/domain/components/drag-state-component.js +0 -1
  831. package/dist/domain/components/export-state-component.js +0 -1
  832. package/dist/domain/components/fullscreen-state-component.js +0 -1
  833. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  834. package/dist/domain/components/hover-state-component.js +0 -1
  835. package/dist/domain/components/index.d.ts +0 -2
  836. package/dist/domain/components/index.js +0 -1
  837. package/dist/domain/components/navigation-state-component.js +0 -1
  838. package/dist/domain/components/selection-state-component.js +0 -1
  839. package/dist/domain/components/system-component-builder.js +0 -1
  840. package/dist/domain/components/system-virtual-entity.js +0 -1
  841. package/dist/domain/components/tool-state-component.js +0 -1
  842. package/dist/domain/components/view-state-component.js +0 -1
  843. package/dist/domain/components/viewport-state-component.js +0 -1
  844. package/dist/domain/core/json-schema.js +0 -1
  845. package/dist/domain/core/reflection.js +0 -1
  846. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  847. package/dist/domain/expressions/constant-expressions.js +0 -1
  848. package/dist/domain/expressions/custom-expression.js +0 -1
  849. package/dist/domain/expressions/index.d.ts +0 -1
  850. package/dist/domain/expressions/index.js +0 -1
  851. package/dist/domain/invariants/custom-invariants.js +0 -1
  852. package/dist/domain/invariants/invariants.js +0 -1
  853. package/dist/domain/invariants/violation-component.js +0 -1
  854. package/dist/domain/relations/all-of-type-relation.js +0 -1
  855. package/dist/domain/relations/component-factories.js +0 -1
  856. package/dist/domain/relations/composed-of.js +0 -1
  857. package/dist/domain/relations/indirect-relation.js +0 -1
  858. package/dist/domain/relations/reference-component.js +0 -1
  859. package/dist/domain/system-components/angle-indicator.js +0 -1
  860. package/dist/domain/system-components/attribute-switch.js +0 -1
  861. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  862. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  863. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  864. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  865. package/dist/domain/system-components/canvas-config.js +0 -1
  866. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  867. package/dist/domain/system-components/canvas-padding.js +0 -1
  868. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  869. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  870. package/dist/domain/system-components/client-side-image.js +0 -1
  871. package/dist/domain/system-components/color-value.js +0 -1
  872. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  873. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  874. package/dist/domain/system-components/custom-price-footer.js +0 -1
  875. package/dist/domain/system-components/dimension-indicator.js +0 -1
  876. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  877. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  878. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  879. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  880. package/dist/domain/system-components/entity-header.js +0 -1
  881. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  882. package/dist/domain/system-components/finalize-action.js +0 -1
  883. package/dist/domain/system-components/finalize-component.js +0 -1
  884. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  885. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  886. package/dist/domain/system-components/fixed-header.js +0 -1
  887. package/dist/domain/system-components/floating-header.js +0 -1
  888. package/dist/domain/system-components/hidden-header.js +0 -1
  889. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  890. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  891. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  892. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  893. package/dist/domain/system-components/navigation-steps.js +0 -1
  894. package/dist/domain/system-components/offset-anchors.js +0 -1
  895. package/dist/domain/system-components/offset-indicator.js +0 -1
  896. package/dist/domain/system-components/offset.js +0 -1
  897. package/dist/domain/system-components/other-action.js +0 -1
  898. package/dist/domain/system-components/property-page.js +0 -1
  899. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  900. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  901. package/dist/domain/system-components/rotatable.js +0 -1
  902. package/dist/domain/system-components/rotation-handle.js +0 -1
  903. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  904. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  905. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  906. package/dist/domain/system-components/scene-entity-control.js +0 -1
  907. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  908. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  909. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  910. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  911. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  912. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  913. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  914. package/dist/domain/system-components/selectable-component.js +0 -1
  915. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  916. package/dist/domain/system-components/simple-summary.js +0 -1
  917. package/dist/domain/system-components/size.js +0 -1
  918. package/dist/domain/system-components/sketching-draw.js +0 -1
  919. package/dist/domain/system-components/sketching-edit.js +0 -1
  920. package/dist/domain/system-components/summary-component.js +0 -1
  921. package/dist/domain/system-components/text-value.js +0 -1
  922. package/dist/domain/system-components/tool-controls.js +0 -1
  923. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  924. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  925. package/dist/domain/system-components/view-controls.js +0 -1
  926. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  927. package/dist/extras/assistant/AssistantChat.js +0 -1
  928. package/dist/extras/assistant/index.d.ts +0 -1
  929. package/dist/extras/assistant/index.js +0 -1
  930. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  931. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  932. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  933. /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  934. /package/dist/domain/core/{expression.js → action/action.js} +0 -0
  935. /package/dist/domain/core/{schema-validator.js → component/component-reader-types.js} +0 -0
  936. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  937. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  938. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  939. /package/dist/domain/{components → core/component}/updates.js +0 -0
  940. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-cell-value.js} +0 -0
  941. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-array-field.js} +0 -0
  942. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  943. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  944. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  945. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  946. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  947. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  948. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  949. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  950. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  951. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  952. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  953. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  954. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  955. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  956. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  957. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  958. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  959. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  960. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  961. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  962. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  963. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  964. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  965. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  966. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  967. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  968. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  969. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  970. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  971. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  972. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  973. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  974. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  975. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  976. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  977. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  978. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  979. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  980. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  981. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  982. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  983. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  984. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  985. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  986. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  987. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  988. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  989. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  990. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  991. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  992. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  993. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  994. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  995. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,44 +1,17 @@
1
1
  export * from './core/index.js';
2
- export { createConstantExpressionFactory } from './expressions/constant-expressions.js';
3
- export { createCustomExpressionFactory } from './expressions/custom-expression.js';
4
- export { createCustomInvariantFactory, type StaticallyDefinedViolations } from './invariants/custom-invariants.js';
5
- export { InvariantBuilder } from './invariants/invariants.js';
6
- export type { AliasedInvariants, Invariant } from './invariants/invariants.js';
7
- export type { Violation, ViolationSeverity, ViolationTypesOf$Entity, EntityViolation } from './invariants/violation.js';
8
- export { compareSeverity } from './invariants/violation.js';
9
- export { violationsComponent, type ViolationComponent, type ViolationComponentState, } from './invariants/violation-component.js';
10
- export { createRelationFactory, type Relation } from './relations/relation-factory.js';
11
- export { attachMultipleReferenceComponent, attachSingleReferenceComponent, referenceComponent, type ReferenceComponent, type ReferenceComponentState, } from './relations/reference-component.js';
12
- export { composedOfComponent, type ComposedOfComponentState, type ComposedOfComponent, } from './relations/composed-of.js';
13
- export { createSingleReferenceRead, createSingleReferenceWrite, createMultipleReferenceRead, createMultipleReferenceWrite, createSingleCompositionRead, createMultipleCompositionRead, createEmptyWrite, } from './relations/component-factories.js';
14
- export { systemVirtualEntityId } from './components/system-virtual-entity.js';
15
- export { navigationStateComponent, isNavigationComponentSnapshot, isSystemNavigationComponentSnapshot, type NavigationStateComponent, type NavigationStateComponentState, } from './components/navigation-state-component.js';
16
- export { hoverStateComponent, isHoverStateComponentSnapshot, isSystemHoverStateComponentSnapshot, type HoverStateComponent, type HoverStateComponentState, } from './components/hover-state-component.js';
17
- export { selectionStateComponent, isSelectionComponentSnapshot, isSystemSelectionComponentSnapshot, type SelectionStateComponent, type SelectionStateComponentState, } from './components/selection-state-component.js';
18
- export { viewStateComponent, isViewComponentSnapshot, isSystemViewComponentSnapshot, type ViewStateComponent, type ViewStateComponentState, } from './components/view-state-component.js';
19
- export { toolStateComponent, isToolStateComponentSnapshot, isSystemToolStateComponentSnapshot, type ToolStateComponent, type ToolStateComponentState, } from './components/tool-state-component.js';
20
- export { debugStateComponent, isDebugStateComponentSnapshot, isSystemDebugStateComponentSnapshot, type DebugStateComponent, type DebugStateComponentState, } from './components/debug-state-component.js';
21
- export { fullscreenStateComponent, isFullscreenStateComponentSnapshot, isSystemFullscreenStateComponentSnapshot, type FullscreenStateComponent, type FullscreenStateComponentState, } from './components/fullscreen-state-component.js';
22
- export { dragStateComponent, isDragStateComponentSnapshot, isSystemDragStateComponentSnapshot, type DragStateComponent, type DragStateComponentState, } from './components/drag-state-component.js';
23
- export { viewportStateComponent, isViewportStateComponentSnapshot, isSystemViewportStateComponentSnapshot, VIEWPORTS, type Viewport, type ViewportStateComponent, type ViewportStateComponentState, } from './components/viewport-state-component.js';
24
- export { type ComponentSystemFilterState, type ComponentSystemFilterProps, ComponentSystemFilterPropsSchema, getComponentSystemFilterState, CombinedComponentFilterSchema, type GradualComponentSystemFilter, type FilterMismatchReason, type IdOrWithId, } from './components/system-component-filter.js';
25
- export { ComponentSystemFilterSchema, type ComponentSystemFilter, type DeclarativeComponentSystemFilter, } from './components/legacy-filter.js';
26
- export type { OneComponentFilter, ManyComponentFilter, ComponentFilter, FilteredOutComponentSnapshot, FilteredOutFilterContext, } from './components/component-reader-types.js';
27
- export { DomainComponentOpticBuilder, type AnyDomainComponentOptic, type DomainComponentOptic, } from './components/domain-component-optic.js';
28
- export { groupComponentsByEntityIdAndName, isEqualGroupedComponentSnapshots, type GroupedComponentSnapshots, } from './components/group-components-by-entity-id-and-name.js';
29
- export { SystemComponentBuilder } from './components/system-component-builder.js';
30
- export { type DataUpdate, type StateUpdate, type ComponentModification, isComponentModificationOfType, type DomainEntityCreation, type EntityDeletion, type DomainEntityReplacement, type DomainEntityModification, type EphemeralRecordCreation, type EphemeralRecordDeletion, type EphemeralRecordModification, type DomainEntityStateDelta, systemUpdateFactory, type UpdateFactory, createUpdateFactory, } from './components/updates.js';
31
- export { DomainBuilder, type AliasedExpressions } from './domain-builder.js';
2
+ export { DomainBuilder } from './domain-builder.js';
32
3
  export { memoEval, isMemoizedArray, isMemoizedObject, type MemoizedArray, type MemoizedObject, } from './utils/memo-eval.js';
33
4
  export { cloneEvalCache, getEvalCache, setEvalCache, type EvalCacheToken, createEvalCacheToken, } from './utils/eval-cache.js';
34
5
  export { areProfilerLabelsEnabled, setProfilerLabelsEnabled } from './utils/profiler-label.js';
35
6
  export * from './dimensions/index.js';
36
7
  export * from './domain-context/index.js';
37
8
  export * from './system-components/index.js';
9
+ export * from './extensions/index.js';
38
10
  export * from './sketching/index.js';
39
11
  export * from './projections/index.js';
40
12
  export * from './admin-domain/index.js';
41
13
  export * from './application/index.js';
14
+ export { type ProjectModule } from './project-modules/index.js';
42
15
  export * from './scene/index.js';
43
16
  export { getAllPhxDefinitions } from './system-definitions.js';
44
17
  export { availableSystemComponents, componentsByName } from './available-system-components.js';
@@ -1 +1 @@
1
- export*from"./core/index.js";export{createConstantExpressionFactory}from"./expressions/constant-expressions.js";export{createCustomExpressionFactory}from"./expressions/custom-expression.js";export{createCustomInvariantFactory}from"./invariants/custom-invariants.js";export{InvariantBuilder}from"./invariants/invariants.js";export{compareSeverity}from"./invariants/violation.js";export{violationsComponent}from"./invariants/violation-component.js";export{createRelationFactory}from"./relations/relation-factory.js";export{attachMultipleReferenceComponent,attachSingleReferenceComponent,referenceComponent}from"./relations/reference-component.js";export{composedOfComponent}from"./relations/composed-of.js";export{createSingleReferenceRead,createSingleReferenceWrite,createMultipleReferenceRead,createMultipleReferenceWrite,createSingleCompositionRead,createMultipleCompositionRead,createEmptyWrite}from"./relations/component-factories.js";export{systemVirtualEntityId}from"./components/system-virtual-entity.js";export{navigationStateComponent,isNavigationComponentSnapshot,isSystemNavigationComponentSnapshot}from"./components/navigation-state-component.js";export{hoverStateComponent,isHoverStateComponentSnapshot,isSystemHoverStateComponentSnapshot}from"./components/hover-state-component.js";export{selectionStateComponent,isSelectionComponentSnapshot,isSystemSelectionComponentSnapshot}from"./components/selection-state-component.js";export{viewStateComponent,isViewComponentSnapshot,isSystemViewComponentSnapshot}from"./components/view-state-component.js";export{toolStateComponent,isToolStateComponentSnapshot,isSystemToolStateComponentSnapshot}from"./components/tool-state-component.js";export{debugStateComponent,isDebugStateComponentSnapshot,isSystemDebugStateComponentSnapshot}from"./components/debug-state-component.js";export{fullscreenStateComponent,isFullscreenStateComponentSnapshot,isSystemFullscreenStateComponentSnapshot}from"./components/fullscreen-state-component.js";export{dragStateComponent,isDragStateComponentSnapshot,isSystemDragStateComponentSnapshot}from"./components/drag-state-component.js";export{viewportStateComponent,isViewportStateComponentSnapshot,isSystemViewportStateComponentSnapshot,VIEWPORTS}from"./components/viewport-state-component.js";export{ComponentSystemFilterPropsSchema,getComponentSystemFilterState,CombinedComponentFilterSchema}from"./components/system-component-filter.js";export{ComponentSystemFilterSchema}from"./components/legacy-filter.js";export{DomainComponentOpticBuilder}from"./components/domain-component-optic.js";export{groupComponentsByEntityIdAndName,isEqualGroupedComponentSnapshots}from"./components/group-components-by-entity-id-and-name.js";export{SystemComponentBuilder}from"./components/system-component-builder.js";export{isComponentModificationOfType,systemUpdateFactory,createUpdateFactory}from"./components/updates.js";export{DomainBuilder}from"./domain-builder.js";export{memoEval,isMemoizedArray,isMemoizedObject}from"./utils/memo-eval.js";export{cloneEvalCache,getEvalCache,setEvalCache,createEvalCacheToken}from"./utils/eval-cache.js";export{areProfilerLabelsEnabled,setProfilerLabelsEnabled}from"./utils/profiler-label.js";export*from"./dimensions/index.js";export*from"./domain-context/index.js";export*from"./system-components/index.js";export*from"./sketching/index.js";export*from"./projections/index.js";export*from"./admin-domain/index.js";export*from"./application/index.js";export*from"./scene/index.js";export{getAllPhxDefinitions}from"./system-definitions.js";export{availableSystemComponents,componentsByName}from"./available-system-components.js";export*from"./mocks/index.js";export*from"./domain-runtime/index.js";
1
+ export*from"./core/index.js";export{DomainBuilder}from"./domain-builder.js";export{memoEval,isMemoizedArray,isMemoizedObject}from"./utils/memo-eval.js";export{cloneEvalCache,getEvalCache,setEvalCache,createEvalCacheToken}from"./utils/eval-cache.js";export{areProfilerLabelsEnabled,setProfilerLabelsEnabled}from"./utils/profiler-label.js";export*from"./dimensions/index.js";export*from"./domain-context/index.js";export*from"./system-components/index.js";export*from"./extensions/index.js";export*from"./sketching/index.js";export*from"./projections/index.js";export*from"./admin-domain/index.js";export*from"./application/index.js";export*from"./scene/index.js";export{getAllPhxDefinitions}from"./system-definitions.js";export{availableSystemComponents,componentsByName}from"./available-system-components.js";export*from"./mocks/index.js";export*from"./domain-runtime/index.js";
@@ -15,7 +15,7 @@ import type { RegistrableTransformer } from '../domain-context/index.js';
15
15
  *
16
16
  * Contributing no extension systems is the same shape webhook and finalize hosts run in.
17
17
  */
18
- export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string>(_cfg: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, mocks: {
18
+ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string>(config: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, mocks: {
19
19
  frontendData: FRONTEND_DATA;
20
20
  publishedData: PUBLISHED_DATA;
21
21
  sessionData: SESSION_DATA;
@@ -57,7 +57,7 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
57
57
  selectAdminPreset: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AnyProductPreset>;
58
58
  selectAdminModelVersion: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, number>;
59
59
  selectThemeOptions: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("@mui/material").ThemeOptions>;
60
- selectAssistant: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AssistantManifest | null>;
60
+ selectAssistant: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, Required<import("../index.js").AssistantManifest> | null>;
61
61
  selectConfiguratorFactory: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AnyDomainFactory>;
62
62
  selectAdminFactory: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, import("../index.js").AnyDomainFactory>;
63
63
  selectConfiguratorComponentOptics: import("@salsita-ai/common/utils").Selector<import("../index.js").SpecSelectorState, readonly import("../index.js").AnyDomainComponentOptic[]>;
@@ -100,7 +100,7 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
100
100
  getAdminPreset: () => import("../index.js").AnyProductPreset;
101
101
  getAdminModelVersion: () => number;
102
102
  getThemeOptions: () => import("@mui/material").ThemeOptions;
103
- getAssistant: () => import("../index.js").AssistantManifest | null;
103
+ getAssistant: () => Required<import("../index.js").AssistantManifest> | null;
104
104
  getConfiguratorFactory: () => import("../index.js").AnyDomainFactory;
105
105
  getAdminFactory: () => import("../index.js").AnyDomainFactory;
106
106
  getConfiguratorComponentOptics: () => readonly import("../index.js").AnyDomainComponentOptic[];
@@ -394,6 +394,8 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
394
394
  getActiveConfigurationId: () => string;
395
395
  getFactory: () => import("../index.js").AnyDomainFactory;
396
396
  getDomainExpressions: () => import("../index.js").AnyExpressions;
397
+ getActionDefinitions: () => Readonly<Record<string, import("../index.js").ActionDefinition>>;
398
+ getActionImplementations: () => Readonly<Record<string, import("../index.js").AnyActionImplementation>>;
397
399
  getModelVersion: () => number;
398
400
  getAliasMap: () => import("../index.js").AnyAliasMap;
399
401
  getAllowedRootEntityTypes: () => import("../index.js").AnyAllowedRootEntityTypes;
@@ -434,6 +436,7 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
434
436
  getNavigationSystem: () => import("../domain-context/navigation-system/navigation-system.js").AnyNavigationSystem;
435
437
  getUndoSystem: () => import("../domain-context/undo-system.js").AnyUndoSystem;
436
438
  getRecipeCookerSystem: () => import("../index.js").AnyRecipeCookerSystem;
439
+ getActionSystem: () => import("../index.js").AnyActionSystem;
437
440
  getBlenderProjections: () => import("../index.js").AnyBlenderProjections;
438
441
  getExpressionContext: () => import("../index.js").AnyExpressionContext;
439
442
  getDomainSystems: () => import("../index.js").AnyDomainContextSystems;
@@ -500,6 +503,8 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
500
503
  getActiveConfigurationId: () => string;
501
504
  getFactory: () => import("../index.js").AnyDomainFactory;
502
505
  getDomainExpressions: () => import("../index.js").AnyExpressions;
506
+ getActionDefinitions: () => Readonly<Record<string, import("../index.js").ActionDefinition>>;
507
+ getActionImplementations: () => Readonly<Record<string, import("../index.js").AnyActionImplementation>>;
503
508
  getModelVersion: () => number;
504
509
  getAliasMap: () => import("../index.js").AnyAliasMap;
505
510
  getAllowedRootEntityTypes: () => import("../index.js").AnyAllowedRootEntityTypes;
@@ -540,6 +545,7 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
540
545
  getNavigationSystem: () => import("../domain-context/navigation-system/navigation-system.js").AnyNavigationSystem;
541
546
  getUndoSystem: () => import("../domain-context/undo-system.js").AnyUndoSystem;
542
547
  getRecipeCookerSystem: () => import("../index.js").AnyRecipeCookerSystem;
548
+ getActionSystem: () => import("../index.js").AnyActionSystem;
543
549
  getBlenderProjections: () => import("../index.js").AnyBlenderProjections;
544
550
  getExpressionContext: () => import("../index.js").AnyExpressionContext;
545
551
  getDomainSystems: () => import("../index.js").AnyDomainContextSystems;
@@ -1 +1 @@
1
- import{createDomainRuntime as o}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as e}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as t}from"./create-mock-session-context.js";export const createMockDomainRuntime=(i,a)=>{let{sessionData:n,mode:r,role:s}=a,c={...i,createTransformers:o=>a.transformers.map(e=>e.transformer.register(o,e.priority??1/0))},m=o({config:c,services:e()});return m.actions.sessionContext.setSessionContext(t(s,n)),m.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",viewMode:"read"===r,revisionId:void 0,configurationId:"mock"}),m.actions.domainData.setDomainData({publishedData:a.publishedData,frontendData:a.frontendData,backendData:a.backendData}),m.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:a.entities,modelVersion:c.domain.domainFactory.modelVersion,rootEntityType:a.rootEntityType,schemaIdentity:c.domain.domainFactory}),m};
1
+ import{createDomainRuntime as o}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as t}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as e}from"./create-mock-session-context.js";export const createMockDomainRuntime=(a,i)=>{let{sessionData:n,mode:r,role:s}=i,c=o({config:a,services:t()}),m=c.getState().spec;return c.actions.spec.updateSpec({...m,configurator:{...m.configurator,createTransformers:o=>i.transformers.map(t=>t.transformer.register(o,t.priority??1/0))}}),c.actions.sessionContext.setSessionContext(e(s,n)),c.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",viewMode:"read"===r,revisionId:void 0,configurationId:"mock"}),c.actions.domainData.setDomainData({publishedData:i.publishedData,frontendData:i.frontendData,backendData:i.backendData}),c.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:i.entities,modelVersion:a.domain.domainFactory.modelVersion,rootEntityType:i.rootEntityType,schemaIdentity:a.domain.domainFactory}),c};
@@ -0,0 +1 @@
1
+ export { type ProjectModule, type ProjectModuleContract, SHARED_FOLDER_HINT, createContractError, isRecord, resolveListModule, } from './project-modules.js';
@@ -0,0 +1 @@
1
+ export{SHARED_FOLDER_HINT,createContractError,isRecord,resolveListModule}from"./project-modules.js";
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The default export of one file in a project convention folder (`src/elements/`, `src/handlers/`,
3
+ * `src/expressions/`, …), paired with the project-relative path it was imported from.
4
+ *
5
+ * Generated barrels and the editor's hot reload hand project code to the SDK in this shape, without
6
+ * inspecting it. Each folder's resolver then checks the export against the folder's contract, so an
7
+ * invalid file fails with an error naming it instead of an unrelated crash later.
8
+ */
9
+ export interface ProjectModule {
10
+ readonly origin: string;
11
+ readonly exports: unknown;
12
+ }
13
+ /** What a convention folder requires of its files, in the words used by the contract error. */
14
+ export interface ProjectModuleContract {
15
+ readonly expected: string;
16
+ readonly fix: string;
17
+ }
18
+ export declare const SHARED_FOLDER_HINT = "or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";
19
+ export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
20
+ export declare const createContractError: (origin: string, contract: ProjectModuleContract, received: unknown) => Error;
21
+ /**
22
+ * Checks a file of a folder whose contract is one item or an array of them, and returns its items.
23
+ * The first item that fails the check is the value the error reports.
24
+ */
25
+ export declare const resolveListModule: <Item>(module: ProjectModule, contract: ProjectModuleContract, isItem: (value: unknown) => value is Item) => readonly Item[];
@@ -0,0 +1 @@
1
+ export const SHARED_FOLDER_HINT="or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";export const isRecord=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);export const createContractError=(e,r,t)=>Error(`Invalid default export in ${e}: expected ${r.expected}, but got ${(e=>{if(void 0===e)return"nothing (the file has no default export)";if(null===e)return"null";if("function"==typeof e)return e.name?`the function "${e.name}"`:"an anonymous function";if(Array.isArray(e))return`an array of ${e.length} item(s)`;if(isRecord(e)){let r=Object.keys(e);return r.length>0?`an object with the keys ${r.join(", ")}`:"an empty object"}return`the ${typeof e} ${JSON.stringify(e)}`})(t)}. Every file in this folder is loaded by convention, so each one must default-export that shape. ${r.fix}`);export const resolveListModule=(e,r,t)=>{let o=Array.isArray(e.exports)?e.exports:[e.exports],n=[];for(let i of o){if(!t(i))throw createContractError(e.origin,r,i);n.push(i)}return n};
@@ -1,5 +1,5 @@
1
1
  import type { BlenderLight } from '@salsita-ai/contracts/webhook';
2
- import type { DomainEntity, DomainState } from '../../core/index.js';
2
+ import { type DomainEntity, type DomainState } from '../../core/index.js';
3
3
  import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
4
4
  import type { DomainServicesSelectors } from '../../domain-runtime/domain-services/index.js';
5
5
  import type { BlenderCamera, BlenderImageConfig, BlenderImageSize, BlenderSceneConfig, BlenderSceneObject, SceneEntityNode } from './types.js';
@@ -1 +1 @@
1
- import{Matrix4 as e}from"three";import{groupComponentsByEntityIdAndName as t}from"../../components/group-components-by-entity-id-and-name.js";import{resolveMorphTargetInfluences as n}from"../../scene/index.js";import{customSceneEntityComponent as r,hiddenEntityComponent as i,materialOverridePropertyTransitionComponent as o,materialOverrideTransformerComponent as s,sceneEntityAmbientLightComponent as a,sceneEntityBoxObjectComponent as c,sceneEntityDirectionalLightComponent as l,sceneEntityLocalMaterialOverrideComponent as m,sceneEntityMaterialOverrideComponent as d,sceneEntityObjectClipComponent as g,sceneEntityObjectComponent as p,sceneEntityObjectDecalComponent as h,sceneEntityObjectGroupComponent as f,sceneEntityObjectLocalMaterialOverrideComponent as y,sceneEntityObjectMaterialOverrideComponent as j,sceneEntityObjectPropertiesComponent as x,sceneEntityObjectRemoteMaterialOverrideComponent as u,sceneEntityObjectTextDecalComponent as S,sceneEntityObjectTransformerComponent as v,sceneEntityObjectTransmissiveMaterialOverrideComponent as b,sceneEntityPointLightComponent as _,sceneEntityPropertiesComponent as E,sceneEntityRectAreaLightComponent as O,sceneEntityRemoteMaterialOverrideComponent as N,sceneEntityRemoteObjectComponent as B,sceneEntitySpotLightComponent as I,sceneEntityTransmissiveMaterialOverrideComponent as w}from"../../system-components/index.js";import{createSceneObjectGroupTransformResolver as $}from"../common/scene-object-transform.js";import{reduceMaterialOverrides as L}from"../material-overrides.js";import{projectBlenderCamera as C}from"./camera.js";import{getBlenderObjectMaterialOverrides as T}from"./entity-overrides.js";import{projectBlenderLight as D}from"./lights.js";import{projectBlenderMaterialOverrides as P}from"./materials.js";import{getBlenderObjectTransform as M}from"./transforms.js";let U=e=>"fileUrl"in e,R=(e,t)=>`${e}_${t}`;export class BlenderProjections{_context;constructor(e){this._context=e}_readEntityComponents=(e,n)=>t(this._context.selectors.getComponentReader().readManyComponents({entityIds:[e],componentTypes:[r,i,E,B,p,c,N,m,d,w,x,f,j,y,u,b,S,h,v,g,s,o,_,I,l,a,O]},n)).get(e);_traverse=(e,t,r)=>{let i=this._readEntityComponents(e.id,r),o=[...i?.sceneEntityRemoteObject??[],...i?.sceneEntityObject??[],...i?.sceneEntityBoxObject??[]],s={worldMatrix:this._context.selectors.getPositionProjections().getEntityWorldMatrix(e.id,r,null)},a=(i?.hiddenEntity?.length??0)>0,c={id:e.id,parent:t,customEntity:i?.customSceneEntity?.[0]?.state.node,isHidden:a,overrideComponents:i,properties:s,sceneObjects:o.map(r=>{let o=i?.sceneEntityObjectProperties?.find(e=>e.componentInstance.instanceName===r.componentInstance.instanceName)?.state,s=i?.sceneEntityObjectTextDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),a=i?.sceneEntityObjectDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),c=i?.sceneEntityObjectTransformer?.filter(e=>e.state.target===r.componentInstance.instanceName),l=n(o?.morphTargetInfluences,t=>this._context.domainServicesSelectors.getLogger().warn(`Morph target "${t}" on object ${r.componentInstance.instanceName} of entity ${e.id} has scaleZero equal to scaleOne, so its influence is undefined and is exported to Blender as 0. Give scaleZero and scaleOne different values.`)),m=i?.sceneEntityObjectClip?.filter(e=>e.state.target===r.componentInstance.instanceName),{overrides:d,transformations:g,transitions:p}=T(i??{},t,r.componentInstance.instanceName);return{instanceName:r.componentInstance.instanceName,object:r.state,properties:o,morphTargetInfluences:l,textDecals:s,decals:a,materialOverrides:d,materialOverrideTransformations:g,materialOverridePropertyTransitions:p,objectTransformations:c,clips:m}}),nodes:[]};for(let t of e.nodes){let e=this._traverse(t.node,c,r);c.nodes.push(e)}return c};getSceneEntityTree=e=>{let{root:t}=this._context.selectors.getCompositionProjections().getTree(e);return this._traverse(t,null,e)};_getBlenderObjects=(t,n)=>{let r=this._context.selectors.getDimensionSystem().getDataDistanceUnit(t),i=[],o=t=>{if(t.isHidden)return;if(null!=t.customEntity)return void this._context.domainServicesSelectors.getLogger().warn(`Custom entity ${t.id} is not supported in Blender.`);let n=t.overrideComponents?.materialOverrideTransformer??[];n.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity ${t.id} has ${n.length} material override transformer(s), they are not applied in Blender. Set the final material values on the overrides active in the export state.`);let s=t.properties,a=$(t.overrideComponents?.sceneEntityObjectGroup?.map(e=>({instanceName:e.componentInstance.instanceName,state:e.state}))??[],r),c=new Map(t.sceneObjects.map(e=>[e,a(e.properties?.targetParentGroup,e.instanceName)]));for(let n of t.sceneObjects){let o=c.get(n);if(o?.visible===!1||n.properties?.visible===!1||n.properties?.rendered===!1)continue;if(!U(n.object)){this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} is not a remote object, it will not be rendered in Blender.`);continue}n.textDecals&&n.textDecals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has text decals, they are not rendered in Blender.`),n.decals&&n.decals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has decals, they are not rendered in Blender.`),n.objectTransformations&&n.objectTransformations.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has object transformers, they are not applied in Blender. Express the transform through sceneEntityObjectProperties or a sceneEntityObjectGroup active in the export state.`),n.clips&&n.clips.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has animation clips, they are not played in Blender.`);let a=n.object,{position:l,scale:m,rotation:d}=M(o?new e().multiplyMatrices(s.worldMatrix,o.matrix):s.worldMatrix,n.properties,a.dimensionUnit??r,r),g=L(n.materialOverrides??[]),p=P({logger:this._context.domainServicesSelectors.getLogger(),materialOverrides:g,objectInstanceName:n.instanceName,transitions:n.materialOverridePropertyTransitions??[]});i.push({id:R(t.id,n.instanceName),objectName:a.objectName,position:l,scale:m,rotation:d,morphTargetInfluences:n.morphTargetInfluences,materialOverrides:p})}for(let e of t.nodes)o(e)};return o(n),i};getBlenderObjects=e=>this._getBlenderObjects(e,this.getSceneEntityTree(e));_prepareExportState=(e,t,n)=>{let r=this._context.selectors.getNavigationSystem().getExportUpdate(t,n),i=this._context.selectors.getStoreSystem().prepareStateEmission([r],e,"staged");if(!i.validity.valid)throw this._context.domainServicesSelectors.getLogger().error(`Setting an export state to ${t} for entity ${n} resulted in an invalid state! Check if there isn't a transformer corrupting the state as a reaction to setting the export state.`,i),Error("Exported state is invalid!");return i.state};_getBlenderLights=(e,t)=>{let n=this._context.selectors.getDimensionSystem().getDataDistanceUnit(e),r=[],i=e=>{if(e.isHidden||null!=e.customEntity)return;let t=e.overrideComponents,o=t?.sceneEntityAmbientLight??[];for(let i of(o.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity "${e.id}" has ${o.length} ambient light component(s) which are not exported to Blender because Blender has no equivalent ambient light type. Use HDRI lighting or additional point/area lights instead.`),[...t?.sceneEntityPointLight??[],...t?.sceneEntitySpotLight??[],...t?.sceneEntityDirectionalLight??[],...t?.sceneEntityRectAreaLight??[]])){let t=D({entityId:e.id,entityWorldMatrix:e.properties.worldMatrix,snapshot:i,distanceUnit:n});null!=t?r.push(t):this._context.domainServicesSelectors.getLogger().warn(`Unknown light component type for ${i.componentInstance.instanceName}`)}for(let t of e.nodes)i(t)};return i(t),r};getBlenderLights=e=>this._getBlenderLights(e,this.getSceneEntityTree(e));getBlenderCamera=(e,t)=>C(e,t,{componentReader:this._context.selectors.getComponentReader(),dimensionSystem:this._context.selectors.getDimensionSystem(),positionProjections:this._context.selectors.getPositionProjections()});_getBlenderSceneConfigFromState=e=>{let t=this.getSceneEntityTree(e),n=this._getBlenderObjects(e,t),r=this._getBlenderLights(e,t);return{renderedEntities:n.map(e=>({id:e.id,type:"default",objectName:e.objectName,position:e.position,scale:e.scale,rotation:e.rotation,materialOverrides:e.materialOverrides,morphTargetInfluences:e.morphTargetInfluences})),lights:r.length>0?r:void 0}};getBlenderSceneConfig=(e,t,n)=>{let r=this._prepareExportState(e,t,n);return this._getBlenderSceneConfigFromState(r)};getBlenderImageConfig=(e,t,n,r)=>{let i=this._prepareExportState(e,t,n);return{width:r.width,height:r.height,...this._getBlenderSceneConfigFromState(i),camera:this.getBlenderCamera(i,r)}}}
1
+ import{Matrix4 as e}from"three";import{groupComponentsByEntityIdAndName as t}from"../../core/index.js";import{resolveMorphTargetInfluences as n}from"../../scene/index.js";import{customSceneEntityComponent as r,hiddenEntityComponent as i,materialOverridePropertyTransitionComponent as o,materialOverrideTransformerComponent as s,sceneEntityAmbientLightComponent as a,sceneEntityBoxObjectComponent as c,sceneEntityDirectionalLightComponent as l,sceneEntityLocalMaterialOverrideComponent as m,sceneEntityMaterialOverrideComponent as d,sceneEntityObjectClipComponent as g,sceneEntityObjectComponent as p,sceneEntityObjectDecalComponent as h,sceneEntityObjectGroupComponent as f,sceneEntityObjectLocalMaterialOverrideComponent as y,sceneEntityObjectMaterialOverrideComponent as j,sceneEntityObjectPropertiesComponent as x,sceneEntityObjectRemoteMaterialOverrideComponent as S,sceneEntityObjectTextDecalComponent as u,sceneEntityObjectTransformerComponent as v,sceneEntityObjectTransmissiveMaterialOverrideComponent as b,sceneEntityPointLightComponent as _,sceneEntityPropertiesComponent as E,sceneEntityRectAreaLightComponent as O,sceneEntityRemoteMaterialOverrideComponent as N,sceneEntityRemoteObjectComponent as B,sceneEntitySpotLightComponent as I,sceneEntityTransmissiveMaterialOverrideComponent as w}from"../../system-components/index.js";import{createSceneObjectGroupTransformResolver as $}from"../common/scene-object-transform.js";import{reduceMaterialOverrides as L}from"../material-overrides.js";import{projectBlenderCamera as C}from"./camera.js";import{getBlenderObjectMaterialOverrides as T}from"./entity-overrides.js";import{projectBlenderLight as D}from"./lights.js";import{projectBlenderMaterialOverrides as P}from"./materials.js";import{getBlenderObjectTransform as M}from"./transforms.js";let U=e=>"fileUrl"in e,R=(e,t)=>`${e}_${t}`;export class BlenderProjections{_context;constructor(e){this._context=e}_readEntityComponents=(e,n)=>t(this._context.selectors.getComponentReader().readManyComponents({entityIds:[e],componentTypes:[r,i,E,B,p,c,N,m,d,w,x,f,j,y,S,b,u,h,v,g,s,o,_,I,l,a,O]},n)).get(e);_traverse=(e,t,r)=>{let i=this._readEntityComponents(e.id,r),o=[...i?.sceneEntityRemoteObject??[],...i?.sceneEntityObject??[],...i?.sceneEntityBoxObject??[]],s={worldMatrix:this._context.selectors.getPositionProjections().getEntityWorldMatrix(e.id,r,null)},a=(i?.hiddenEntity?.length??0)>0,c={id:e.id,parent:t,customEntity:i?.customSceneEntity?.[0]?.state.node,isHidden:a,overrideComponents:i,properties:s,sceneObjects:o.map(r=>{let o=i?.sceneEntityObjectProperties?.find(e=>e.componentInstance.instanceName===r.componentInstance.instanceName)?.state,s=i?.sceneEntityObjectTextDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),a=i?.sceneEntityObjectDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),c=i?.sceneEntityObjectTransformer?.filter(e=>e.state.target===r.componentInstance.instanceName),l=n(o?.morphTargetInfluences,t=>this._context.domainServicesSelectors.getLogger().warn(`Morph target "${t}" on object ${r.componentInstance.instanceName} of entity ${e.id} has scaleZero equal to scaleOne, so its influence is undefined and is exported to Blender as 0. Give scaleZero and scaleOne different values.`)),m=i?.sceneEntityObjectClip?.filter(e=>e.state.target===r.componentInstance.instanceName),{overrides:d,transformations:g,transitions:p}=T(i??{},t,r.componentInstance.instanceName);return{instanceName:r.componentInstance.instanceName,object:r.state,properties:o,morphTargetInfluences:l,textDecals:s,decals:a,materialOverrides:d,materialOverrideTransformations:g,materialOverridePropertyTransitions:p,objectTransformations:c,clips:m}}),nodes:[]};for(let t of e.nodes){let e=this._traverse(t.node,c,r);c.nodes.push(e)}return c};getSceneEntityTree=e=>{let{root:t}=this._context.selectors.getCompositionProjections().getTree(e);return this._traverse(t,null,e)};_getBlenderObjects=(t,n)=>{let r=this._context.selectors.getDimensionSystem().getDataDistanceUnit(t),i=[],o=t=>{if(t.isHidden)return;if(null!=t.customEntity)return void this._context.domainServicesSelectors.getLogger().warn(`Custom entity ${t.id} is not supported in Blender.`);let n=t.overrideComponents?.materialOverrideTransformer??[];n.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity ${t.id} has ${n.length} material override transformer(s), they are not applied in Blender. Set the final material values on the overrides active in the export state.`);let s=t.properties,a=$(t.overrideComponents?.sceneEntityObjectGroup?.map(e=>({instanceName:e.componentInstance.instanceName,state:e.state}))??[],r),c=new Map(t.sceneObjects.map(e=>[e,a(e.properties?.targetParentGroup,e.instanceName)]));for(let n of t.sceneObjects){let o=c.get(n);if(o?.visible===!1||n.properties?.visible===!1||n.properties?.rendered===!1)continue;if(!U(n.object)){this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} is not a remote object, it will not be rendered in Blender.`);continue}n.textDecals&&n.textDecals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has text decals, they are not rendered in Blender.`),n.decals&&n.decals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has decals, they are not rendered in Blender.`),n.objectTransformations&&n.objectTransformations.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has object transformers, they are not applied in Blender. Express the transform through sceneEntityObjectProperties or a sceneEntityObjectGroup active in the export state.`),n.clips&&n.clips.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has animation clips, they are not played in Blender.`);let a=n.object,{position:l,scale:m,rotation:d}=M(o?new e().multiplyMatrices(s.worldMatrix,o.matrix):s.worldMatrix,n.properties,a.dimensionUnit??r,r),g=L(n.materialOverrides??[]),p=P({logger:this._context.domainServicesSelectors.getLogger(),materialOverrides:g,objectInstanceName:n.instanceName,transitions:n.materialOverridePropertyTransitions??[]});i.push({id:R(t.id,n.instanceName),objectName:a.objectName,position:l,scale:m,rotation:d,morphTargetInfluences:n.morphTargetInfluences,materialOverrides:p})}for(let e of t.nodes)o(e)};return o(n),i};getBlenderObjects=e=>this._getBlenderObjects(e,this.getSceneEntityTree(e));_prepareExportState=(e,t,n)=>{let r=this._context.selectors.getNavigationSystem().getExportUpdate(t,n),i=this._context.selectors.getStoreSystem().prepareStateEmission([r],e,"staged");if(!i.validity.valid)throw this._context.domainServicesSelectors.getLogger().error(`Setting an export state to ${t} for entity ${n} resulted in an invalid state! Check if there isn't a transformer corrupting the state as a reaction to setting the export state.`,i),Error("Exported state is invalid!");return i.state};_getBlenderLights=(e,t)=>{let n=this._context.selectors.getDimensionSystem().getDataDistanceUnit(e),r=[],i=e=>{if(e.isHidden||null!=e.customEntity)return;let t=e.overrideComponents,o=t?.sceneEntityAmbientLight??[];for(let i of(o.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity "${e.id}" has ${o.length} ambient light component(s) which are not exported to Blender because Blender has no equivalent ambient light type. Use HDRI lighting or additional point/area lights instead.`),[...t?.sceneEntityPointLight??[],...t?.sceneEntitySpotLight??[],...t?.sceneEntityDirectionalLight??[],...t?.sceneEntityRectAreaLight??[]])){let t=D({entityId:e.id,entityWorldMatrix:e.properties.worldMatrix,snapshot:i,distanceUnit:n});null!=t?r.push(t):this._context.domainServicesSelectors.getLogger().warn(`Unknown light component type for ${i.componentInstance.instanceName}`)}for(let t of e.nodes)i(t)};return i(t),r};getBlenderLights=e=>this._getBlenderLights(e,this.getSceneEntityTree(e));getBlenderCamera=(e,t)=>C(e,t,{componentReader:this._context.selectors.getComponentReader(),dimensionSystem:this._context.selectors.getDimensionSystem(),positionProjections:this._context.selectors.getPositionProjections()});_getBlenderSceneConfigFromState=e=>{let t=this.getSceneEntityTree(e),n=this._getBlenderObjects(e,t),r=this._getBlenderLights(e,t);return{renderedEntities:n.map(e=>({id:e.id,type:"default",objectName:e.objectName,position:e.position,scale:e.scale,rotation:e.rotation,materialOverrides:e.materialOverrides,morphTargetInfluences:e.morphTargetInfluences})),lights:r.length>0?r:void 0}};getBlenderSceneConfig=(e,t,n)=>{let r=this._prepareExportState(e,t,n);return this._getBlenderSceneConfigFromState(r)};getBlenderImageConfig=(e,t,n,r)=>{let i=this._prepareExportState(e,t,n);return{width:r.width,height:r.height,...this._getBlenderSceneConfigFromState(i),camera:this.getBlenderCamera(i,r)}}}
@@ -1 +1 @@
1
- import{isEqualArray as t}from"@salsita-ai/common/utils";import{groupComponentsByEntityIdAndName as e}from"../components/group-components-by-entity-id-and-name.js";import{domainEntityTypeFromId as o,isVirtualEntityId as i}from"../core/index.js";import{composedOfComponent as n}from"../relations/composed-of.js";import{detailComponent as s,priceComponent as r}from"../system-components/index.js";export class CompositionCycleError extends Error{constructor(t){super(`Entity ${t} is part of a cycle or appears in two branches in the scene graph! This is not allowed, fix the domain relationships to have clear composition hierarchy!`)}}export class EntityNotPartOfCompositionTreeError extends Error{constructor(t){super(`Entity ${t} is not part of the composition tree. Add composition relations to the entity so every entity is descendant of the root entity!`)}}export class EntityCompositionNode{id;parent;nodes;constructor(t,e,o){this.id=t,this.parent=e,this.nodes=o}descendants=t=>(function* t(e,o){for(let i of e.nodes)o&&i.relation!==o||(yield i.node,yield*t(i.node))})(this,t);children=t=>(function*(t,e){for(let o of t.nodes)e&&o.relation!==e||(yield o.node)})(this,t);ancestors=()=>(function*(t){let e=t.parent;for(;e;)yield e,e=e.parent})(this)}export class CompositionProjections{_context;_weakCache=new WeakMap;_previousValue=null;constructor(t){this._context=t}_traverseComposition=(t,e,o,i,n,s)=>{let r=new EntityCompositionNode(t,e,[]);if(o.has(r))throw new CompositionCycleError(t);for(let e of(i.set(t,r),o.add(r),s??[]))if(e.componentInstance.entityId===t)for(let t of e.state.childEntityIds){let a=this._traverseComposition(t,r,o,i,n,s);r.nodes.push({node:a,relation:e.componentInstance.instanceName})}return r};getTree=e=>{let o=this._weakCache.get(e);if(void 0!==o)return o;let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[n]},e);if(this._previousValue&&this._previousValue.rootEntityId===e.rootEntityId&&t(i,this._previousValue.components??[]))return this._weakCache.set(e,this._previousValue.value),this._previousValue.value;let s=new Map,r=this._traverseComposition(e.rootEntityId,null,new Set,s,e,i);for(let t of e.entities)if(void 0===s.get(t.id))throw new EntityNotPartOfCompositionTreeError(t.id);let a={map:s,root:r};return this._weakCache.set(e,a),this._previousValue={components:i,value:a,rootEntityId:e.rootEntityId},a};readBasicEntityInfo=(t,n)=>{let a=e(this._context.selectors.getComponentReader().readManyComponents({entityIds:[t],componentTypes:[s,r]},n)).get(t),l=i(t)?t.name:o(t);return{entityId:t,title:a?.detail?.[0]?.state.title??l,shortDescription:a?.detail?.[0]?.state.description,subtitle:a?.detail?.[0]?.state.subtitle,price:a?.price?.[0]?.state.price,thumbnailUrl:a?.detail?.[0]?.state.thumbnailUrl}}}
1
+ import{isEqualArray as t}from"@salsita-ai/common/utils";import{composedOfComponent as e,domainEntityTypeFromId as o,groupComponentsByEntityIdAndName as i,isVirtualEntityId as n}from"../core/index.js";import{detailComponent as s,priceComponent as r}from"../system-components/index.js";export class CompositionCycleError extends Error{constructor(t){super(`Entity ${t} is part of a cycle or appears in two branches in the scene graph! This is not allowed, fix the domain relationships to have clear composition hierarchy!`)}}export class EntityNotPartOfCompositionTreeError extends Error{constructor(t){super(`Entity ${t} is not part of the composition tree. Add composition relations to the entity so every entity is descendant of the root entity!`)}}export class EntityCompositionNode{id;parent;nodes;constructor(t,e,o){this.id=t,this.parent=e,this.nodes=o}descendants=t=>(function* t(e,o){for(let i of e.nodes)o&&i.relation!==o||(yield i.node,yield*t(i.node))})(this,t);children=t=>(function*(t,e){for(let o of t.nodes)e&&o.relation!==e||(yield o.node)})(this,t);ancestors=()=>(function*(t){let e=t.parent;for(;e;)yield e,e=e.parent})(this)}export class CompositionProjections{_context;_weakCache=new WeakMap;_previousValue=null;constructor(t){this._context=t}_traverseComposition=(t,e,o,i,n,s)=>{let r=new EntityCompositionNode(t,e,[]);if(o.has(r))throw new CompositionCycleError(t);for(let e of(i.set(t,r),o.add(r),s??[]))if(e.componentInstance.entityId===t)for(let t of e.state.childEntityIds){let a=this._traverseComposition(t,r,o,i,n,s);r.nodes.push({node:a,relation:e.componentInstance.instanceName})}return r};getTree=o=>{let i=this._weakCache.get(o);if(void 0!==i)return i;let n=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[e]},o);if(this._previousValue&&this._previousValue.rootEntityId===o.rootEntityId&&t(n,this._previousValue.components??[]))return this._weakCache.set(o,this._previousValue.value),this._previousValue.value;let s=new Map,r=this._traverseComposition(o.rootEntityId,null,new Set,s,o,n);for(let t of o.entities)if(void 0===s.get(t.id))throw new EntityNotPartOfCompositionTreeError(t.id);let a={map:s,root:r};return this._weakCache.set(o,a),this._previousValue={components:n,value:a,rootEntityId:o.rootEntityId},a};readBasicEntityInfo=(t,e)=>{let a=i(this._context.selectors.getComponentReader().readManyComponents({entityIds:[t],componentTypes:[s,r]},e)).get(t),l=n(t)?t.name:o(t);return{entityId:t,title:a?.detail?.[0]?.state.title??l,shortDescription:a?.detail?.[0]?.state.description,subtitle:a?.detail?.[0]?.state.subtitle,price:a?.price?.[0]?.state.price,thumbnailUrl:a?.detail?.[0]?.state.thumbnailUrl}}}
@@ -5,7 +5,7 @@ export { CollisionProjections, type CollisionMesh, type Collision, type SpatialR
5
5
  export { ConstraintProjections, type AnyConstraintProjections } from './constraint-projections.js';
6
6
  export { CompositionProjections, type AnyCompositionProjections, EntityCompositionNode, CompositionCycleError, EntityNotPartOfCompositionTreeError, type CompositionTreeWithIndex, } from './composition-projections.js';
7
7
  export { SnappingProjections, type AnySnapMatch, type WorldSnapPoint, type SnapMatch, type FindSnapOptions, type WorldSnapEdge, type EdgeSnapMatch, type WorldSnapPlane, type PlaneSnapMatch, type WorldSnapAxis, type AxisSnapMatch, type AnySnappingProjections, } from './snapping-projections.js';
8
- export { ValidationProjections, type AnyValidationProjections, type ValidationProjectionsContext, type StateValidationResult, type SystemViolation, } from './validation-projections.js';
8
+ export { ValidationProjections, type AnyValidationProjections, type ValidationProjectionsContext, type SystemViolation, } from './validation-projections.js';
9
9
  export { findBestPointSnap, findAllPointSnaps, findBestEdgeSnap, findBestPlaneSnap, findBestAxisSnap, snapScore, extractYRotationFromMatrix, type AutoRotateContext, } from './snap-matching.js';
10
10
  export { computeWorldMatrix, computeWorldSnapPoints, computeWorldSnapEdges, computeWorldSnapPlanes, computeWorldSnapAxes, toMmBounds, } from './snap-utils.js';
11
11
  export { ProjectedEntitiesProjections, type AnyProjectedEntitiesProjections } from './projected-entities-projections.js';
@@ -1,5 +1,4 @@
1
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
2
- import type { DomainState } from '../core/state.js';
1
+ import type { DomainEntity, DomainEntityId, DomainState } from '../core/index.js';
3
2
  import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
4
3
  /**
5
4
  * Constructor context of `ProjectedEntitiesProjections`. It carries no `selectors` member because
@@ -1,7 +1,6 @@
1
1
  import type { Matrix4 } from 'three';
2
2
  import { Vector3 } from 'three';
3
- import type { ComponentSnapshot } from '../core/component.js';
4
- import type { DomainEntity } from '../core/model.js';
3
+ import type { ComponentSnapshot, DomainEntity } from '../core/index.js';
5
4
  import type { SnapAxisComponent, SnapEdgeComponent, SnapPlaneComponent, SnapPointComponent } from '../system-components/index.js';
6
5
  /**
7
6
  * Common fields shared by all world-space snap primitives (points, edges, planes, axes).
@@ -1,6 +1,5 @@
1
1
  import { type Euler, Matrix4, Vector3 } from 'three';
2
- import type { ComponentSnapshot } from '../core/component.js';
3
- import type { DomainEntity } from '../core/model.js';
2
+ import type { ComponentSnapshot, DomainEntity } from '../core/index.js';
4
3
  import type { DimensionUnit } from '../dimensions/dimensions.js';
5
4
  import type { SnapAxisComponent, SnapEdgeComponent, SnapPlaneComponent, SnapPointComponent } from '../system-components/index.js';
6
5
  import type { SnapAxisComponentState } from '../system-components/snap-axis.js';
@@ -1,24 +1,7 @@
1
- import type { $DomainEntity, DomainEntity, DomainState } from '../core/index.js';
1
+ import { type $DomainEntity, type DomainEntity, type DomainState, type StateValidationResult, type ViolationTypesOf$Entity } from '../core/index.js';
2
2
  import type { AngleDimensionViolation, DistanceDimensionViolation, GenericDimensionViolation } from '../domain-context/dimension-system/dimension-system.js';
3
3
  import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
4
- import type { EntityViolation, ViolationTypesOf$Entity } from '../invariants/violation.js';
5
4
  export type SystemViolation = AngleDimensionViolation | DistanceDimensionViolation | GenericDimensionViolation;
6
- export type StateValidationResult<ENTITIES extends DomainEntity<string>, VIOLATION_TYPE extends string> = {
7
- readonly valid: true;
8
- readonly severity: null;
9
- } | {
10
- readonly valid: true;
11
- readonly severity: 'warning' | 'notice';
12
- readonly entityViolations: ReadonlyArray<EntityViolation<ENTITIES, VIOLATION_TYPE>>;
13
- } | {
14
- readonly valid: false;
15
- readonly severity: 'uncaught';
16
- readonly error: Error;
17
- } | {
18
- readonly valid: false;
19
- readonly severity: 'fatal' | 'fixable';
20
- readonly entityViolations: ReadonlyArray<EntityViolation<ENTITIES, VIOLATION_TYPE>>;
21
- };
22
5
  /**
23
6
  * Constructor context of `ValidationProjections`. Runtime dependencies are resolved through
24
7
  * selectors on every read so a hot-reloaded spec is observed without rebuilding the projections.
@@ -1 +1 @@
1
- import{violationsComponent as t}from"../invariants/violation-component.js";import{compareSeverity as e}from"../invariants/violation.js";export class ValidationProjections{_context;constructor(t){this._context=t}validateState(o){let n=[],r=null;try{for(let i of(this._context.selectors.getDomain().validateExpressions(o),this._context.selectors.getComponentReader().readManyComponents({componentTypes:[t]},o)))i.state.violations.forEach(t=>{(null===r||0>e(t.severity,r))&&(r=t.severity),n.push({entityId:i.componentInstance.entityId,violation:t})});for(let{entityId:t,violation:i}of this._context.selectors.getDimensionSystem().validateState(o))(null===r||0>e(i.severity,r))&&(r=i.severity),n.push({entityId:t,violation:i});if(null===r)return{valid:!0,severity:null};if("fatal"===r||"fixable"===r)return{valid:!1,severity:r,entityViolations:n};return{valid:!0,severity:r,entityViolations:n}}catch(t){return{valid:!1,error:t instanceof Error?t:Error(`Unknown error occurred - ${String(t)}`),severity:"uncaught"}}}}
1
+ import{compareSeverity as t,violationsComponent as e}from"../core/index.js";export class ValidationProjections{_context;constructor(t){this._context=t}validateState(r){let o=[],n=null;try{for(let i of(this._context.selectors.getDomain().validateExpressions(r),this._context.selectors.getComponentReader().readManyComponents({componentTypes:[e]},r)))i.state.violations.forEach(e=>{(null===n||0>t(e.severity,n))&&(n=e.severity),o.push({entityId:i.componentInstance.entityId,violation:e})});for(let{entityId:e,violation:i}of this._context.selectors.getDimensionSystem().validateState(r))(null===n||0>t(i.severity,n))&&(n=i.severity),o.push({entityId:e,violation:i});if(null===n)return{valid:!0,severity:null};if("fatal"===n||"fixable"===n)return{valid:!1,severity:n,entityViolations:o};return{valid:!0,severity:n,entityViolations:o}}catch(t){return{valid:!1,error:t instanceof Error?t:Error(`Unknown error occurred - ${String(t)}`),severity:"uncaught"}}}}
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import { type DomainEntityId } from '../core/model.js';
2
+ import { type DomainEntityId } from '../core/index.js';
3
3
  import { type PhoenixEntityElement } from './phoenix-entity-elements/index.js';
4
4
  export type AdminSidebarComponentState = {
5
5
  /**
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{DomainEntityIdSchema as t}from"../core/model.js";import{ReactNodeSchema as i}from"./common/react-node-schema.js";import{PhoenixEntityElementSchema as o}from"./phoenix-entity-elements/index.js";export const adminSidebarComponent=e.component("adminSidebar").withState({type:"object",tsType:"AdminSidebarComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AdminSidebarComponentState"}],properties:{page:i,children:{type:"array",items:{$ref:"#/definitions/PhoenixEntityElement"}},title:{type:"string"},fallbackId:t},definitions:{PhoenixEntityElement:o},required:["title"],additionalProperties:!1}).build();
1
+ import{DomainEntityIdSchema as e,SystemComponentBuilder as t}from"../core/index.js";import{ReactNodeSchema as i}from"./common/react-node-schema.js";import{PhoenixEntityElementSchema as n}from"./phoenix-entity-elements/index.js";export const adminSidebarComponent=t.component("adminSidebar").withState({type:"object",tsType:"AdminSidebarComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AdminSidebarComponentState"}],properties:{page:i,children:{type:"array",items:{$ref:"#/definitions/PhoenixEntityElement"}},title:{type:"string"},fallbackId:e},definitions:{PhoenixEntityElement:n},required:["title"],additionalProperties:!1}).build();
@@ -1 +1 @@
1
- import{SystemComponentBuilder as n}from"../components/system-component-builder.js";import{isInstanceOfComponentType as o,isSnapshotOfComponentType as e}from"../core/index.js";import{AngleValueSchema as i}from"../dimensions/index.js";export const angleDimensionComponent=n.component("angleDimension").withState(i).withWritableKeys(["value"]).build();export const isAngleDimensionSnapshot=e(angleDimensionComponent);export const isAngleDimensionInstance=o(angleDimensionComponent);
1
+ import{SystemComponentBuilder as n,isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/index.js";import{AngleValueSchema as i}from"../dimensions/index.js";export const angleDimensionComponent=n.component("angleDimension").withState(i).withWritableKeys(["value"]).build();export const isAngleDimensionSnapshot=o(angleDimensionComponent);export const isAngleDimensionInstance=e(angleDimensionComponent);
@@ -1,4 +1,4 @@
1
- import { type ComponentInstance, type ComponentSnapshot } from '../core/component.js';
1
+ import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
2
2
  import { DimensionUnit, type UnitsConfig } from '../dimensions/index.js';
3
3
  export type ApplicationConfigComponentState = {
4
4
  readonly showCollisionWarnings?: boolean;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as n,isSnapshotOfComponentType as t}from"../core/component.js";import{DimensionUnit as o,UnitsConfigSchema as i}from"../dimensions/index.js";export const applicationConfigComponent=e.component("applicationConfig").withState({type:"object",tsType:"ApplicationConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ApplicationConfigComponentState"}],properties:{showCollisionWarnings:{type:"boolean"},collisionWarningIcon:{type:"string"},sidebarBackIcon:{type:"string"},hamburgerIcon:{type:"string"},readonlyBannerIcon:{type:"string"},toolbarCloseIcon:{type:"string"},layout:{type:"string",enum:["simple","tabs","steps","custom","universal"]},ignoreSelectionInSidebar:{type:"boolean"},miniSidebar:{type:"boolean"},initialGlobalUnit:{type:"string",enum:Object.values(o)},distanceDataUnit:{type:"string",enum:Object.values(o)},unitDisplayConfig:i,availableDimensions:{type:"array",items:{type:"string",enum:Object.values(o)}},splitSidebar:{type:"boolean"},showSelectionBackButton:{type:"boolean"},disableDefaultCamera:{type:"boolean"},shareDisabled:{type:"boolean"},shareOwnerLinkDisabled:{type:"boolean"},shareReadRevisionLinkDisabled:{type:"boolean"},shareExpiration:{type:"number"},shareCloneToEdit:{type:"boolean"},shareStrategy:{type:"string",enum:["deployment-registered","current-frontend"]},availableLocales:{type:"array",items:{type:"string"}},initialIndicatorShown:{type:"boolean"},chatEnabled:{type:"boolean"},indicatorSwitch:{type:"boolean"},disableRelativeDragging:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isApplicationConfigSnapshot=t(applicationConfigComponent);export const isApplicationConfigInstance=n(applicationConfigComponent);
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as n,isSnapshotOfComponentType as t}from"../core/index.js";import{DimensionUnit as o,UnitsConfigSchema as i}from"../dimensions/index.js";export const applicationConfigComponent=e.component("applicationConfig").withState({type:"object",tsType:"ApplicationConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ApplicationConfigComponentState"}],properties:{showCollisionWarnings:{type:"boolean"},collisionWarningIcon:{type:"string"},sidebarBackIcon:{type:"string"},hamburgerIcon:{type:"string"},readonlyBannerIcon:{type:"string"},toolbarCloseIcon:{type:"string"},layout:{type:"string",enum:["simple","tabs","steps","custom","universal"]},ignoreSelectionInSidebar:{type:"boolean"},miniSidebar:{type:"boolean"},initialGlobalUnit:{type:"string",enum:Object.values(o)},distanceDataUnit:{type:"string",enum:Object.values(o)},unitDisplayConfig:i,availableDimensions:{type:"array",items:{type:"string",enum:Object.values(o)}},splitSidebar:{type:"boolean"},showSelectionBackButton:{type:"boolean"},disableDefaultCamera:{type:"boolean"},shareDisabled:{type:"boolean"},shareOwnerLinkDisabled:{type:"boolean"},shareReadRevisionLinkDisabled:{type:"boolean"},shareExpiration:{type:"number"},shareCloneToEdit:{type:"boolean"},shareStrategy:{type:"string",enum:["deployment-registered","current-frontend"]},availableLocales:{type:"array",items:{type:"string"}},initialIndicatorShown:{type:"boolean"},chatEnabled:{type:"boolean"},indicatorSwitch:{type:"boolean"},disableRelativeDragging:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isApplicationConfigSnapshot=t(applicationConfigComponent);export const isApplicationConfigInstance=n(applicationConfigComponent);
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as o}from"../core/component.js";export const attributeSelectionComponent=e.component("attributeSelection").withState({type:"object",tsType:"AttributeSelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSelectionComponentState"}],properties:{value:{type:["string","number","boolean","null"]},options:{type:"array",items:{type:"object",properties:{label:t,description:t,img:t,value:{type:["string","number","boolean"]}},required:["value","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).withWritableKeys(["value"]).build();export const isAttributeSelectionSnapshot=o(attributeSelectionComponent);
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as o}from"../core/index.js";export const attributeSelectionComponent=e.component("attributeSelection").withState({type:"object",tsType:"AttributeSelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSelectionComponentState"}],properties:{value:{type:["string","number","boolean","null"]},options:{type:"array",items:{type:"object",properties:{label:t,description:t,img:t,value:{type:["string","number","boolean"]}},required:["value","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).withWritableKeys(["value"]).build();export const isAttributeSelectionSnapshot=o(attributeSelectionComponent);
@@ -1,5 +1,5 @@
1
1
  import { type Box3 } from 'three';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  export type BoundingBoxComponentState = {
4
4
  /**
5
5
  * Three.js Box3 object defining the custom bounding box for camera fitting.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const boundingBoxComponent=e.component("boundingBox").withState({type:"object",tsType:"BoundingBoxComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingBoxComponentState"}],properties:{shape:{type:"object"},minX:{type:"number"},minY:{type:"number"},minZ:{type:"number"},maxX:{type:"number"},maxY:{type:"number"},maxZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingBoxComponent=e=>"boundingBox"===e.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const boundingBoxComponent=e.component("boundingBox").withState({type:"object",tsType:"BoundingBoxComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingBoxComponentState"}],properties:{shape:{type:"object"},minX:{type:"number"},minY:{type:"number"},minZ:{type:"number"},maxX:{type:"number"},maxY:{type:"number"},maxZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingBoxComponent=e=>"boundingBox"===e.componentInstance.componentType.name;
@@ -1,5 +1,5 @@
1
1
  import { type Sphere } from 'three';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  export type BoundingSphereComponentState = {
4
4
  /**
5
5
  * Three.js Sphere object defining the custom bounding sphere for camera fitting.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const boundingSphereComponent=e.component("boundingSphere").withState({type:"object",tsType:"BoundingSphereComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingSphereComponentState"}],properties:{shape:{type:"object"},centerX:{type:"number"},centerY:{type:"number"},centerZ:{type:"number"},radius:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingSphereComponent=e=>"boundingSphere"===e.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const boundingSphereComponent=e.component("boundingSphere").withState({type:"object",tsType:"BoundingSphereComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingSphereComponentState"}],properties:{shape:{type:"object"},centerX:{type:"number"},centerY:{type:"number"},centerZ:{type:"number"},radius:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingSphereComponent=e=>"boundingSphere"===e.componentInstance.componentType.name;
@@ -1,5 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import type { ComponentInstance, ComponentSnapshot, SystemComponentTypeConstraint } from '../core/index.js';
2
+ import { type ComponentInstance, type ComponentSnapshot, type SystemComponentTypeConstraint } from '../core/index.js';
3
3
  import { type RecipeListItem } from './common/recipes.js';
4
4
  export type ChildEntityRecipesComponentState = {
5
5
  /**
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{recipeListItemSchema as i}from"./common/recipes.js";export const childEntityRecipesComponent=t.component("childEntityRecipes").withState({type:"object",tsType:"ChildEntityRecipesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntityRecipesComponentState"}],properties:{collection:{type:"string"},recipes:{type:"array",items:i},groupLabel:e,groupDescription:e},required:["recipes"],additionalProperties:!1}).build();export const isChildEntityRecipesSnapshot=e=>e.componentInstance.componentType===childEntityRecipesComponent;export const isChildEntityRecipesInstance=e=>e.componentType===childEntityRecipesComponent;
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../core/index.js";import{recipeListItemSchema as i}from"./common/recipes.js";export const childEntityRecipesComponent=t.component("childEntityRecipes").withState({type:"object",tsType:"ChildEntityRecipesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntityRecipesComponentState"}],properties:{collection:{type:"string"},recipes:{type:"array",items:i},groupLabel:e,groupDescription:e},required:["recipes"],additionalProperties:!1}).build();export const isChildEntityRecipesSnapshot=e=>e.componentInstance.componentType===childEntityRecipesComponent;export const isChildEntityRecipesInstance=e=>e.componentType===childEntityRecipesComponent;
@@ -1,6 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import type { DomainEntity, DomainEntityId } from '../core/model.js';
3
- import type { EntityRecipe } from '../domain-context/recipe-system/recipes.js';
2
+ import { type DomainEntity, type DomainEntityId, type EntityRecipe } from '../core/index.js';
4
3
  export interface ChildEntitySelectionOption {
5
4
  /**
6
5
  * The label of the option
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{recipeSchema as i}from"./common/recipes.js";export const childEntitySelectionComponent=t.component("childEntitySelection").withState({type:"object",tsType:"ChildEntitySelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntitySelectionComponentState"}],properties:{value:{type:"string"},options:{type:"array",items:{type:"object",properties:{label:e,description:e,img:e,recipes:{type:"array",items:i},keepChildren:{type:"boolean"}},required:["recipes","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).build();
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../core/index.js";import{recipeSchema as i}from"./common/recipes.js";export const childEntitySelectionComponent=t.component("childEntitySelection").withState({type:"object",tsType:"ChildEntitySelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntitySelectionComponentState"}],properties:{value:{type:"string"},options:{type:"array",items:{type:"object",properties:{label:e,description:e,img:e,recipes:{type:"array",items:i},keepChildren:{type:"boolean"}},required:["recipes","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).build();
@@ -1,5 +1,5 @@
1
1
  import type { Color } from '@salsita-ai/common/utils';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  /**
4
4
  * Axis-aligned box collision geometry, authored via per-axis start/end
5
5
  * coordinates in the entity's local frame (before `sceneEntityProperties`
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const collisionBoxGeometryComponent=e.component("collisionBoxGeometry").withState({type:"object",tsType:"CollisionBoxGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionBoxGeometryComponentState"}],properties:{startX:{type:"number"},endX:{type:"number"},startY:{type:"number"},endY:{type:"number"},startZ:{type:"number"},endZ:{type:"number"},color:{type:"string"}},required:["startX","endX","startY","endY","startZ","endZ","color"],additionalProperties:!1}).build();export const isCollisionBoxGeometryComponent=e=>"collisionBoxGeometry"===e.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const collisionBoxGeometryComponent=e.component("collisionBoxGeometry").withState({type:"object",tsType:"CollisionBoxGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionBoxGeometryComponentState"}],properties:{startX:{type:"number"},endX:{type:"number"},startY:{type:"number"},endY:{type:"number"},startZ:{type:"number"},endZ:{type:"number"},color:{type:"string"}},required:["startX","endX","startY","endY","startZ","endZ","color"],additionalProperties:!1}).build();export const isCollisionBoxGeometryComponent=e=>"collisionBoxGeometry"===e.componentInstance.componentType.name;
@@ -1,5 +1,5 @@
1
1
  import { type BufferGeometry } from 'three';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import type { ComponentSnapshot } from '../core/index.js';
3
3
  import { type DimensionUnit } from '../dimensions/dimensions.js';
4
4
  import { type CollisionBoxGeometryComponent } from './collision-box-geometry.js';
5
5
  import type { CollisionGeometryComponent } from './collision-geometry.js';
@@ -1,5 +1,5 @@
1
1
  import type { Color } from '@salsita-ai/common/utils';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  /**
4
4
  * Mesh-backed collision geometry. The caller supplies a pre-built
5
5
  * `BufferGeometry` — used for arbitrary meshes (extruded outlines,
@@ -1 +1 @@
1
- import{SystemComponentBuilder as o}from"../components/system-component-builder.js";export const collisionGeometryComponent=o.component("collisionGeometry").withState({type:"object",tsType:"CollisionGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionGeometryComponentState"}],properties:{geometry:{type:"object"},color:{type:"string"}},required:["geometry","color"],additionalProperties:!1}).build();export const isCollisionGeometryComponent=o=>"collisionGeometry"===o.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as o}from"../core/index.js";export const collisionGeometryComponent=o.component("collisionGeometry").withState({type:"object",tsType:"CollisionGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionGeometryComponentState"}],properties:{geometry:{type:"object"},color:{type:"string"}},required:["geometry","color"],additionalProperties:!1}).build();export const isCollisionGeometryComponent=o=>"collisionGeometry"===o.componentInstance.componentType.name;
@@ -1,5 +1,5 @@
1
1
  import type { Color } from '@salsita-ai/common/utils';
2
- import type { ComponentSnapshot } from '../core/component.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  /**
4
4
  * Zero-volume point collision geometry at a local `(x, y, z)`. Authored
5
5
  * via the position in the entity's local frame. Internally rendered as a
@@ -1 +1 @@
1
- import{SystemComponentBuilder as o}from"../components/system-component-builder.js";export const collisionPointGeometryComponent=o.component("collisionPointGeometry").withState({type:"object",tsType:"CollisionPointGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionPointGeometryComponentState"}],properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},color:{type:"string"}},required:["x","y","z","color"],additionalProperties:!1}).build();export const isCollisionPointGeometryComponent=o=>"collisionPointGeometry"===o.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as o}from"../core/index.js";export const collisionPointGeometryComponent=o.component("collisionPointGeometry").withState({type:"object",tsType:"CollisionPointGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionPointGeometryComponentState"}],properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},color:{type:"string"}},required:["x","y","z","color"],additionalProperties:!1}).build();export const isCollisionPointGeometryComponent=o=>"collisionPointGeometry"===o.componentInstance.componentType.name;
@@ -1,10 +1,6 @@
1
- export { type AngleIndicatorBaseState, AngleIndicatorProperties } from './angle-indicator-schema.js';
2
1
  export { type RecipeListItem, recipeListItemSchema } from './recipes.js';
3
2
  export { ReactNodeSchema, type ReactNodeSchemaType } from './react-node-schema.js';
4
3
  export { type SceneEntityHtmlPositionState, type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState, type SceneEntityHtmlOpacityLimits, type SceneEntityHtmlTooltipState, SceneHtmlPositionProperties, SceneHtmlOpacityProperties, SceneHtmlVisibilityProperties, SceneHtmlTooltipProperties, } from './scene-entity-control-schema.js';
5
4
  export { type DraggableSurface, DraggableSurfaceSchema } from './dragging.js';
6
- export { ArrowHeadType, ArrowHeadTypeSchema } from './dimension-indicators.js';
7
- export { type EditableIndicatorButtonVariant, EditableIndicatorButtonVariantSchema, } from './editable-indicator-button-variant.js';
8
- export { type DimensionIndicatorBaseState, type DimensionIndicatorState, DimensionIndicatorBaseProperties, DimensionIndicatorProperties, } from './dimension-indicator-schema.js';
9
5
  export { type MaterialOverrideBaseState, MaterialOverrideProperties } from './material-override-schema.js';
10
6
  export { type GroupedRecipeItems, type GroupedRecipeGroup, type GroupedRecipes, GroupedRecipeItemsSchema, GroupedRecipeGroupSchema, GroupedRecipesSchema, } from './recipes.js';
@@ -1 +1 @@
1
- export{AngleIndicatorProperties}from"./angle-indicator-schema.js";export{recipeListItemSchema,GroupedRecipeItemsSchema,GroupedRecipeGroupSchema,GroupedRecipesSchema}from"./recipes.js";export{ReactNodeSchema}from"./react-node-schema.js";export{SceneHtmlPositionProperties,SceneHtmlOpacityProperties,SceneHtmlVisibilityProperties,SceneHtmlTooltipProperties}from"./scene-entity-control-schema.js";export{DraggableSurfaceSchema}from"./dragging.js";export{ArrowHeadType,ArrowHeadTypeSchema}from"./dimension-indicators.js";export{EditableIndicatorButtonVariantSchema}from"./editable-indicator-button-variant.js";export{DimensionIndicatorBaseProperties,DimensionIndicatorProperties}from"./dimension-indicator-schema.js";export{MaterialOverrideProperties}from"./material-override-schema.js";
1
+ export{recipeListItemSchema,GroupedRecipeItemsSchema,GroupedRecipeGroupSchema,GroupedRecipesSchema}from"./recipes.js";export{ReactNodeSchema}from"./react-node-schema.js";export{SceneHtmlPositionProperties,SceneHtmlOpacityProperties,SceneHtmlVisibilityProperties,SceneHtmlTooltipProperties}from"./scene-entity-control-schema.js";export{DraggableSurfaceSchema}from"./dragging.js";export{MaterialOverrideProperties}from"./material-override-schema.js";
@@ -1,6 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import type { DomainEntity } from '../../core/index.js';
3
- import { type EntityRecipe } from '../../domain-context/index.js';
2
+ import type { DomainEntity, EntityRecipe } from '../../core/index.js';
4
3
  export interface RecipeListItem {
5
4
  /**
6
5
  * Stable identifier of the recipe within its list, independent of the language and of the title.
@@ -1,4 +1,4 @@
1
- import type { ComponentSnapshot } from '../core/component.js';
1
+ import { type ComponentSnapshot } from '../core/index.js';
2
2
  /**
3
3
  * Spatial predicates the constraint framework supports. A trimmed subset
4
4
  * of the DE-9IM family — only the predicates we actually evaluate today.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../components/system-component-builder.js";export const constraintComponent=t.component("constraint").withState({type:"object",tsType:"ConstraintComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ConstraintComponentState"}],properties:{spatial:{type:"array",items:{type:"object",properties:{predicate:{enum:["disjoint","touches","within"]},group:{type:"string"},container:{oneOf:[{type:"string"},{type:"null"}]},target:{type:"string"},enforce:{type:"boolean"}},required:["predicate"]}}},required:["spatial"],additionalProperties:!1}).build();export const isConstraintComponent=t=>"constraint"===t.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as t}from"../core/index.js";export const constraintComponent=t.component("constraint").withState({type:"object",tsType:"ConstraintComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ConstraintComponentState"}],properties:{spatial:{type:"array",items:{type:"object",properties:{predicate:{enum:["disjoint","touches","within"]},group:{type:"string"},container:{oneOf:[{type:"string"},{type:"null"}]},target:{type:"string"},enforce:{type:"boolean"}},required:["predicate"]}}},required:["spatial"],additionalProperties:!1}).build();export const isConstraintComponent=t=>"constraint"===t.componentInstance.componentType.name;
@@ -1,4 +1,4 @@
1
- import type { DomainEntity } from '../core/model.js';
1
+ import type { DomainEntity } from '../core/index.js';
2
2
  import type { Blueprint } from './projected-entities.js';
3
3
  type BlueprintDefaults<ENTITY extends DomainEntity<string>> = Omit<ENTITY, 'id' | 'type' | 'parentId' | 'instanceName' | 'key'>;
4
4
  interface CreateBlueprintArgs<ENTITY extends DomainEntity<string>, DATA> {
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
- import { type ComponentInstance, type ComponentSnapshot } from '../core/component.js';
2
+ import { type ComponentInstance, type ComponentSnapshot } from '../core/index.js';
3
3
  export type CustomSceneEntityComponentState = {
4
4
  /**
5
5
  * Name of the PHX element to render in the scene (registered via theme slots)
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/component.js";import{ReactNodeSchema as n}from"./common/react-node-schema.js";export const customSceneEntityComponent=t.component("customSceneEntity").withState({type:"object",tsType:"CustomSceneEntityComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CustomSceneEntityComponentState"}],properties:{name:{type:"string"},node:n},required:[],additionalProperties:!1}).build();export const isCustomSceneEntitySnapshot=o(customSceneEntityComponent);export const isCustomSceneEntityInstance=e(customSceneEntityComponent);
1
+ import{SystemComponentBuilder as t,isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/index.js";import{ReactNodeSchema as n}from"./common/react-node-schema.js";export const customSceneEntityComponent=t.component("customSceneEntity").withState({type:"object",tsType:"CustomSceneEntityComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CustomSceneEntityComponentState"}],properties:{name:{type:"string"},node:n},required:[],additionalProperties:!1}).build();export const isCustomSceneEntitySnapshot=o(customSceneEntityComponent);export const isCustomSceneEntityInstance=e(customSceneEntityComponent);
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const detailComponent=e.component("detail").withState({type:"object",tsType:"DetailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"DetailComponentState"}],properties:{title:t,subtitle:t,description:t,thumbnailUrl:t},required:["title","subtitle","description"],additionalProperties:!1}).build();
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../core/index.js";export const detailComponent=e.component("detail").withState({type:"object",tsType:"DetailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"DetailComponentState"}],properties:{title:t,subtitle:t,description:t,thumbnailUrl:t},required:["title","subtitle","description"],additionalProperties:!1}).build();