@salsita-ai/sdk 0.50.0-develop.3679122d70 → 0.50.0-develop.3c1a0b0f73

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 (1139) hide show
  1. package/README.md +3 -3
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +12 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  39. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  40. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  41. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  42. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  43. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  44. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  45. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  46. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  47. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  48. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  49. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  50. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  51. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  52. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  53. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  55. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  57. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  58. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  59. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  63. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  64. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  65. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  66. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  67. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  68. package/dist/application-spec/generate-application/code/templates/domain.js +5 -5
  69. package/dist/application-spec/generate-application/code/templates/globals.js +5 -4
  70. package/dist/application-spec/generate-application/code/templates/index.d.ts +0 -7
  71. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  72. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  73. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
  74. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  75. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  76. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +28 -11
  77. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +18 -6
  78. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  79. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  80. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +1 -3
  81. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +1 -3
  82. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  83. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  84. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  85. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  86. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  87. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  88. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  89. package/dist/application-spec/index.d.ts +1 -0
  90. package/dist/application-spec/index.js +1 -1
  91. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  92. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  93. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  94. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  95. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  96. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  97. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  98. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  99. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  100. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  101. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  102. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  103. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  104. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  105. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  106. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  107. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  108. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  109. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  110. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  111. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  112. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  113. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  114. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  115. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  116. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  117. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  118. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  119. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  120. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  121. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  122. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  123. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  124. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  125. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  126. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  127. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  128. package/dist/client/authorized-client.d.ts +3 -1
  129. package/dist/client/authorized-client.js +1 -1
  130. package/dist/client/contract.d.ts +34 -0
  131. package/dist/client/contract.js +1 -1
  132. package/dist/client/index.d.ts +2 -2
  133. package/dist/client/index.js +1 -1
  134. package/dist/client/local-authorized-client.d.ts +3 -1
  135. package/dist/client/local-authorized-client.js +1 -1
  136. package/dist/client/memory-authorized-client.d.ts +3 -1
  137. package/dist/client/memory-authorized-client.js +1 -1
  138. package/dist/client/phoenix-api.d.ts +367 -30
  139. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  140. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  141. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  142. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +107 -6
  143. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  144. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  145. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  146. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +14 -4
  147. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  148. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  149. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  150. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  151. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  152. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  153. package/dist/configurator/common/configurator-interface.d.ts +5 -1
  154. package/dist/configurator/common/configurator-interface.js +1 -1
  155. package/dist/configurator/common/frontend-analytics.d.ts +2 -0
  156. package/dist/configurator/common/frontend-analytics.js +1 -1
  157. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  158. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  159. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  160. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  161. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  162. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  163. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  164. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  165. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  166. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  167. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  168. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  169. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  170. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  171. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  172. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  173. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  174. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  175. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  176. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  177. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  178. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  179. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  180. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  181. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  182. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  183. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  184. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  185. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  186. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  187. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  188. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  189. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  190. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  191. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  192. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  193. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  194. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  195. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  196. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  197. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  198. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  199. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  200. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  201. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  202. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  203. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  204. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  205. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  206. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  207. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  208. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  209. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  210. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  211. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  212. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  213. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  214. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  215. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  216. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  217. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  218. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  219. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  220. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  221. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  222. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  223. package/dist/docs/index.json +42 -1
  224. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  225. package/dist/docs/layouts/custom-layout.mdx +981 -0
  226. package/dist/docs/layouts/custom-price.mdx +14 -16
  227. package/dist/docs/layouts/header/fixed.mdx +2 -2
  228. package/dist/docs/layouts/header/floating.mdx +2 -2
  229. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  230. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  231. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  232. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  233. package/dist/docs/other-features/domain-actions.mdx +1 -1
  234. package/dist/docs/other-features/side-effects.mdx +50 -45
  235. package/dist/docs/other-features/transformers.mdx +5 -1
  236. package/dist/docs/other-features/violation-messages.mdx +52 -56
  237. package/dist/docs/phoenix/admin.mdx +9 -24
  238. package/dist/docs/phoenix/application-states.mdx +9 -7
  239. package/dist/docs/phoenix/configurator-interface.mdx +179 -80
  240. package/dist/docs/phoenix/deployments.mdx +1 -1
  241. package/dist/docs/phoenix/domain-model.mdx +4 -0
  242. package/dist/docs/phoenix/expression-context.mdx +11 -3
  243. package/dist/docs/phoenix/finalization.mdx +1 -1
  244. package/dist/docs/phoenix/getting-started.mdx +1 -1
  245. package/dist/docs/phoenix/layout-slots.mdx +114 -0
  246. package/dist/docs/phoenix/localization.mdx +3 -22
  247. package/dist/docs/phoenix/phoenix-cli.mdx +49 -49
  248. package/dist/docs/phoenix/project-structure.mdx +23 -10
  249. package/dist/docs/phoenix/quickstart.mdx +2 -2
  250. package/dist/docs/phoenix/sdk-builder-workflow.mdx +12 -11
  251. package/dist/docs/phoenix/testing.mdx +140 -0
  252. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  253. package/dist/docs/phoenix/webhooks.mdx +2 -2
  254. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  255. package/dist/docs/relations/hierarchy.mdx +13 -2
  256. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  257. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  258. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  259. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  260. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  261. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  262. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  263. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  264. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  265. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  266. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  267. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  268. package/dist/domain/admin-domain/index.d.ts +9 -5
  269. package/dist/domain/admin-domain/index.js +1 -1
  270. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  271. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  272. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  273. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  274. package/dist/domain/application/application-config.d.ts +28 -97
  275. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  276. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  277. package/dist/domain/application/assistant/assistant-manifest.d.ts +71 -0
  278. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +131 -0
  279. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -0
  280. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  281. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  282. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  283. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  284. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  285. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  286. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  287. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  288. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  289. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  290. package/dist/domain/application/assistant/index.d.ts +9 -0
  291. package/dist/domain/application/assistant/index.js +1 -0
  292. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  293. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  294. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  295. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  296. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  297. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  298. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  299. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  300. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  301. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  302. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  303. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  304. package/dist/domain/application/assistant-mutations.js +1 -1
  305. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  306. package/dist/domain/application/configurator-builder.d.ts +33 -18
  307. package/dist/domain/application/configurator-builder.js +1 -1
  308. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  309. package/dist/domain/application/index.d.ts +3 -6
  310. package/dist/domain/application/index.js +1 -1
  311. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  312. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  313. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  314. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  315. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  316. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  317. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  318. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  319. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  320. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  321. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  322. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  323. package/dist/domain/available-system-components.js +1 -1
  324. package/dist/domain/core/action/action-factory.d.ts +11 -0
  325. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  326. package/dist/domain/core/action/index.d.ts +2 -0
  327. package/dist/domain/core/action/index.js +1 -0
  328. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  329. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  330. package/dist/domain/core/component/debug-state-component.js +1 -0
  331. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  332. package/dist/domain/core/component/domain-component-optic.js +16 -0
  333. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  334. package/dist/domain/core/component/drag-state-component.js +1 -0
  335. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  336. package/dist/domain/core/component/export-state-component.js +1 -0
  337. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  338. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  339. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  340. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  341. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  342. package/dist/domain/core/component/hover-state-component.js +1 -0
  343. package/dist/domain/core/component/index.d.ts +18 -0
  344. package/dist/domain/core/component/index.js +1 -0
  345. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  346. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  347. package/dist/domain/core/component/navigation-state-component.js +1 -0
  348. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  349. package/dist/domain/core/component/selection-state-component.js +1 -0
  350. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  351. package/dist/domain/core/component/system-component-builder.js +1 -0
  352. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
  353. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  354. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  355. package/dist/domain/core/component/tool-state-component.js +1 -0
  356. package/dist/domain/{components → core/component}/updates.d.ts +1 -2
  357. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  358. package/dist/domain/core/component/view-state-component.js +1 -0
  359. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  360. package/dist/domain/core/component/viewport-state-component.js +1 -0
  361. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  362. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  363. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  364. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  365. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  366. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  367. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  368. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  369. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  370. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  371. package/dist/domain/core/data-schema/data-schema.js +1 -0
  372. package/dist/domain/core/data-schema/index.d.ts +7 -0
  373. package/dist/domain/core/data-schema/index.js +1 -0
  374. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  375. package/dist/domain/core/decoder/create-decoder.js +1 -0
  376. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  377. package/dist/domain/core/decoder/decoder.js +1 -0
  378. package/dist/domain/core/decoder/index.d.ts +2 -0
  379. package/dist/domain/core/decoder/index.js +1 -0
  380. package/dist/domain/core/domain-factory.d.ts +4 -5
  381. package/dist/domain/core/domain-factory.js +1 -1
  382. package/dist/domain/core/domain.d.ts +4 -5
  383. package/dist/domain/core/domain.js +1 -1
  384. package/dist/domain/core/emission/index.d.ts +8 -0
  385. package/dist/domain/core/emission/index.js +1 -0
  386. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  387. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  388. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  389. package/dist/domain/core/emission/state-emission.js +1 -0
  390. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  391. package/dist/domain/core/emission/state-update-emission.js +1 -0
  392. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  393. package/dist/domain/core/emission/state-validation-result.js +1 -0
  394. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  395. package/dist/domain/core/emission/transformation-log.js +1 -0
  396. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  397. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  398. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  399. package/dist/domain/core/emission/transformer-log.js +1 -0
  400. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  401. package/dist/domain/core/emission/transformer-phase.js +1 -0
  402. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  403. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  404. package/dist/domain/core/expression/constant-expressions.d.ts +16 -0
  405. package/dist/domain/core/expression/constant-expressions.js +1 -0
  406. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  407. package/dist/domain/core/expression/custom-expression.js +1 -0
  408. package/dist/domain/core/expression/expression.d.ts +46 -0
  409. package/dist/domain/core/expression/expression.js +1 -0
  410. package/dist/domain/core/expression/index.d.ts +4 -0
  411. package/dist/domain/core/expression/index.js +1 -0
  412. package/dist/domain/core/index.d.ts +13 -17
  413. package/dist/domain/core/index.js +1 -1
  414. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  415. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  416. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  417. package/dist/domain/core/invariant/index.d.ts +5 -0
  418. package/dist/domain/core/invariant/index.js +1 -0
  419. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  420. package/dist/domain/core/invariant/invariants.js +1 -0
  421. package/dist/domain/core/invariant/violation-component.js +1 -0
  422. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  423. package/dist/domain/core/invariant/violation.js +1 -0
  424. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  425. package/dist/domain/core/model/index.d.ts +6 -0
  426. package/dist/domain/core/model/index.js +1 -0
  427. package/dist/domain/core/{model.d.ts → model/model.d.ts} +1 -1
  428. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  429. package/dist/domain/core/model/reflection.js +1 -0
  430. package/dist/domain/core/recipe/index.d.ts +1 -0
  431. package/dist/domain/core/recipe/index.js +1 -0
  432. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  433. package/dist/domain/core/recipe/recipes.js +1 -0
  434. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  435. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  436. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  437. package/dist/domain/core/relation/component-factories.js +1 -0
  438. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  439. package/dist/domain/core/relation/composed-of.js +1 -0
  440. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  441. package/dist/domain/core/relation/index.d.ts +8 -0
  442. package/dist/domain/core/relation/index.js +1 -0
  443. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  444. package/dist/domain/core/relation/indirect-relation.js +1 -0
  445. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  446. package/dist/domain/core/relation/reference-component.js +1 -0
  447. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  448. package/dist/domain/core/relation/reference-field.js +1 -0
  449. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  450. package/dist/domain/core/relation/relation-factory.js +1 -0
  451. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  452. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  453. package/dist/domain/core/schema/index.d.ts +3 -0
  454. package/dist/domain/core/schema/index.js +1 -0
  455. package/dist/domain/core/schema/schema-validator.js +1 -0
  456. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  457. package/dist/domain/core/state/id-sequence.js +1 -0
  458. package/dist/domain/core/state/index.d.ts +3 -0
  459. package/dist/domain/core/state/index.js +1 -0
  460. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  461. package/dist/domain/core/state/migrations.js +1 -0
  462. package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
  463. package/dist/domain/domain-builder.d.ts +11 -11
  464. package/dist/domain/domain-builder.js +1 -1
  465. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  466. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  467. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  468. package/dist/domain/domain-context/action-system/index.js +1 -0
  469. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  470. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  471. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  472. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  473. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  474. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  475. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  476. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  477. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  478. package/dist/domain/domain-context/index.d.ts +8 -18
  479. package/dist/domain/domain-context/index.js +1 -1
  480. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  481. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  482. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  483. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  484. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  485. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  486. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  487. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  488. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  489. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  490. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  491. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  492. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  493. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  494. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  495. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  496. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  497. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  498. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  499. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  500. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  501. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  502. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  503. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  504. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  505. package/dist/domain/domain-context/store-system/index.js +1 -0
  506. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  507. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  508. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  509. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  510. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  511. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  512. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  513. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  514. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  515. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  516. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  517. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  518. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  519. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  520. package/dist/domain/domain-context/transformers/context.js +1 -1
  521. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  522. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  523. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  524. package/dist/domain/domain-context/transformers/index.js +1 -1
  525. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  526. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  527. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  528. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  529. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  530. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  531. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  532. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  533. package/dist/domain/domain-runtime/access/types.js +1 -1
  534. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  535. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  536. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  537. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  538. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  539. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  540. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  541. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  542. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  543. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  544. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -25
  545. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  546. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  547. package/dist/domain/domain-runtime/domain-runtime.d.ts +88 -72
  548. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  549. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  550. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  551. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  552. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  553. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  554. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  555. package/dist/domain/domain-runtime/errors/index.js +1 -0
  556. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  557. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  558. package/dist/domain/domain-runtime/index.d.ts +1 -0
  559. package/dist/domain/domain-runtime/index.js +1 -1
  560. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  561. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  562. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  563. package/dist/domain/domain-runtime/spec/index.js +1 -1
  564. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  565. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  566. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  567. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  568. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  569. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  570. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  571. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  572. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  573. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +32 -0
  574. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  575. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  576. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  577. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  578. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  579. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  580. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  581. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  582. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  583. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  584. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  585. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  586. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  587. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  588. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  589. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  590. package/dist/domain/domain-runtime/spec/types.d.ts +6 -6
  591. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  592. package/dist/domain/extensions/angle-indicator.js +1 -0
  593. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  594. package/dist/domain/extensions/attribute-switch.js +1 -0
  595. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  596. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  597. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  598. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  599. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  600. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  601. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +2 -2
  602. package/dist/domain/extensions/canvas-config.js +1 -0
  603. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  604. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  605. package/dist/domain/extensions/canvas-padding.js +1 -0
  606. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  607. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  608. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  609. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  610. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  611. package/dist/domain/extensions/client-side-image.js +1 -0
  612. package/dist/domain/extensions/color-value.js +1 -0
  613. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  614. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  615. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +3 -3
  616. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  617. package/dist/domain/extensions/common/index.d.ts +4 -0
  618. package/dist/domain/extensions/common/index.js +1 -0
  619. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  620. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  621. package/dist/domain/extensions/custom-price-footer.js +1 -0
  622. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  623. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  624. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  625. package/dist/domain/extensions/dimension-indicator.js +1 -0
  626. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +4 -3
  627. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  628. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +4 -3
  629. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  630. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +4 -3
  631. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  632. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  633. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  634. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  635. package/dist/domain/extensions/entity-header.js +1 -0
  636. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  637. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  638. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  639. package/dist/domain/extensions/finalize-action.js +1 -0
  640. package/dist/domain/extensions/finalize-component.js +1 -0
  641. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  642. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  643. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  644. package/dist/domain/extensions/fixed-header.js +1 -0
  645. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  646. package/dist/domain/extensions/floating-header.js +1 -0
  647. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  648. package/dist/domain/extensions/hidden-header.js +1 -0
  649. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  650. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  651. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +3 -3
  652. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  653. package/dist/domain/extensions/index.d.ts +69 -0
  654. package/dist/domain/extensions/index.js +1 -0
  655. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +4 -3
  656. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  657. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  658. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  659. package/dist/domain/extensions/navigation-steps.js +1 -0
  660. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  661. package/dist/domain/extensions/offset-anchors.js +1 -0
  662. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  663. package/dist/domain/extensions/offset-indicator.js +1 -0
  664. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  665. package/dist/domain/extensions/offset.js +1 -0
  666. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  667. package/dist/domain/extensions/other-action.js +1 -0
  668. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  669. package/dist/domain/extensions/property-page.js +1 -0
  670. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  671. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  672. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  673. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  674. package/dist/domain/extensions/rotatable.js +1 -0
  675. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  676. package/dist/domain/extensions/rotation-handle.js +1 -0
  677. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  678. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  679. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  680. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  681. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  682. package/dist/domain/extensions/scene-entity-control.js +1 -0
  683. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  684. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  685. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  686. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  687. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  688. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  689. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  690. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  691. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  692. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  693. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  694. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  695. package/dist/domain/extensions/selectable-component.js +1 -0
  696. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  697. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  698. package/dist/domain/extensions/simple-summary.js +1 -0
  699. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  700. package/dist/domain/extensions/size.js +1 -0
  701. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  702. package/dist/domain/extensions/sketching-draw.js +1 -0
  703. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  704. package/dist/domain/extensions/sketching-edit.js +1 -0
  705. package/dist/domain/extensions/summary-component.js +1 -0
  706. package/dist/domain/extensions/text-value.js +1 -0
  707. package/dist/domain/extensions/tool-controls.js +1 -0
  708. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  709. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  710. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  711. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  712. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  713. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  714. package/dist/domain/extensions/view-controls.js +1 -0
  715. package/dist/domain/index.d.ts +2 -32
  716. package/dist/domain/index.js +1 -1
  717. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  718. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  719. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +30 -21
  720. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  721. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  722. package/dist/domain/mocks/create-mock-domain.js +1 -1
  723. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  724. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  725. package/dist/domain/mocks/create-test-application-config.js +1 -0
  726. package/dist/domain/mocks/index.d.ts +1 -0
  727. package/dist/domain/mocks/index.js +1 -1
  728. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  729. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  730. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  731. package/dist/domain/projections/collision-projections.d.ts +1 -1
  732. package/dist/domain/projections/composition-projections.d.ts +1 -1
  733. package/dist/domain/projections/composition-projections.js +1 -1
  734. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  735. package/dist/domain/projections/index.d.ts +1 -1
  736. package/dist/domain/projections/position-projections.d.ts +1 -1
  737. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  738. package/dist/domain/projections/snap-matching.d.ts +1 -2
  739. package/dist/domain/projections/snap-utils.d.ts +1 -2
  740. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  741. package/dist/domain/projections/validation-projections.d.ts +3 -20
  742. package/dist/domain/projections/validation-projections.js +1 -1
  743. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  744. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  745. package/dist/domain/system-components/admin-sidebar.js +1 -1
  746. package/dist/domain/system-components/angle-dimension.js +1 -1
  747. package/dist/domain/system-components/application-config.d.ts +3 -3
  748. package/dist/domain/system-components/application-config.js +1 -1
  749. package/dist/domain/system-components/attribute-selection.js +1 -1
  750. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  751. package/dist/domain/system-components/bounding-box-component.js +1 -1
  752. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  753. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  754. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  755. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  756. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  757. package/dist/domain/system-components/child-entity-selection.js +1 -1
  758. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  759. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  760. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  761. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  762. package/dist/domain/system-components/collision-geometry.js +1 -1
  763. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  764. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  765. package/dist/domain/system-components/common/index.d.ts +0 -4
  766. package/dist/domain/system-components/common/index.js +1 -1
  767. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  768. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  769. package/dist/domain/system-components/common/recipes.js +1 -1
  770. package/dist/domain/system-components/constraint.d.ts +11 -24
  771. package/dist/domain/system-components/constraint.js +1 -1
  772. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  773. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  774. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  775. package/dist/domain/system-components/detail.js +1 -1
  776. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  777. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  778. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  779. package/dist/domain/system-components/distance-dimension.js +1 -1
  780. package/dist/domain/system-components/drag-handle.d.ts +2 -2
  781. package/dist/domain/system-components/drag-handle.js +1 -1
  782. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  783. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  784. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  785. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  786. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  787. package/dist/domain/system-components/generic-dimension.js +1 -1
  788. package/dist/domain/system-components/hidden-entity.js +1 -1
  789. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  790. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  791. package/dist/domain/system-components/index.d.ts +0 -68
  792. package/dist/domain/system-components/index.js +1 -1
  793. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  794. package/dist/domain/system-components/material-override-transformer.js +1 -1
  795. package/dist/domain/system-components/material-swatch.js +1 -1
  796. package/dist/domain/system-components/navigation-page.js +1 -1
  797. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  798. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  799. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  800. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  801. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  802. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  803. package/dist/domain/system-components/pivot-point.js +1 -1
  804. package/dist/domain/system-components/price.js +1 -1
  805. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  806. package/dist/domain/system-components/projected-entities.js +1 -1
  807. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  808. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  809. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  810. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  811. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  812. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  813. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  814. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  815. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  816. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  817. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  818. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  819. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  820. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  821. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  822. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  823. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  824. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  825. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  826. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  827. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  828. package/dist/domain/system-components/scene-entity-object.js +1 -1
  829. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  830. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  831. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  832. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  833. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  834. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  835. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  836. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  837. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  838. package/dist/domain/system-components/sketching-line.js +1 -1
  839. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  840. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  841. package/dist/domain/system-components/sketching.d.ts +1 -1
  842. package/dist/domain/system-components/sketching.js +1 -1
  843. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  844. package/dist/domain/system-components/snap-axis.js +1 -1
  845. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  846. package/dist/domain/system-components/snap-edge.js +1 -1
  847. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  848. package/dist/domain/system-components/snap-plane.js +1 -1
  849. package/dist/domain/system-components/snap-point.d.ts +1 -1
  850. package/dist/domain/system-components/snap-point.js +1 -1
  851. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  852. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  853. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  854. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  855. package/dist/domain/utils/eval-cache.d.ts +2 -3
  856. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  857. package/dist/domain/utils/memo-eval.d.ts +2 -4
  858. package/dist/editor/domain-editors/use-implementation-files.d.ts +8 -8
  859. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  860. package/dist/editor/mocks/EditorMockContext.js +1 -1
  861. package/dist/i18n/locales/cs/messages.js +1 -1
  862. package/dist/i18n/locales/da/messages.js +1 -1
  863. package/dist/i18n/locales/de/messages.js +1 -1
  864. package/dist/i18n/locales/de-AT/messages.js +1 -1
  865. package/dist/i18n/locales/en/messages.js +1 -1
  866. package/dist/i18n/locales/en-AU/messages.js +1 -1
  867. package/dist/i18n/locales/en-GB/messages.js +1 -1
  868. package/dist/i18n/locales/es/messages.js +1 -1
  869. package/dist/i18n/locales/fr/messages.js +1 -1
  870. package/dist/i18n/locales/hu/messages.js +1 -1
  871. package/dist/i18n/locales/it/messages.js +1 -1
  872. package/dist/i18n/locales/nl/messages.js +1 -1
  873. package/dist/i18n/locales/pl/messages.js +1 -1
  874. package/dist/i18n/locales/pt/messages.js +1 -1
  875. package/dist/i18n/locales/ro/messages.js +1 -1
  876. package/dist/i18n/locales/sk/messages.js +1 -1
  877. package/dist/i18n/locales/tr/messages.js +1 -1
  878. package/dist/legacy/domain-cli/gen/configurator-builder.js +30 -16
  879. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  880. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  881. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  882. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  883. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  884. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  885. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  886. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +81 -68
  887. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  888. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  889. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  890. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +2 -0
  891. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  892. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  893. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  894. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  895. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  896. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  897. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  898. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  899. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  900. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  901. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  902. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  903. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  904. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  905. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  906. package/dist/phoenix/commands/deploy.js +1 -1
  907. package/dist/phoenix/commands/init.d.ts +4 -4
  908. package/dist/phoenix/commands/init.js +1 -1
  909. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  910. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  911. package/dist/phoenix/commands/prettier.js +1 -1
  912. package/dist/phoenix/scripts/build-admin.js +1 -1
  913. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  914. package/dist/phoenix/services/source-archive.d.ts +1 -0
  915. package/dist/phoenix/services/source-archive.js +1 -1
  916. package/dist/phoenix/services/variant-file-session.js +1 -1
  917. package/dist/phoenix/utils/git/index.d.ts +1 -0
  918. package/dist/phoenix/utils/git/index.js +1 -0
  919. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  920. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  921. package/dist/phoenix/utils/index.d.ts +1 -0
  922. package/dist/phoenix/utils/index.js +1 -1
  923. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  924. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  925. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  926. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  927. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  928. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  929. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +57 -40
  930. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  931. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  932. package/dist/react-sdk/domain-context/index.d.ts +1 -1
  933. package/dist/react-sdk/domain-context/index.js +1 -1
  934. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +6 -0
  935. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  936. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  937. package/dist/ui-sdk/theme/types.d.ts +1 -1
  938. package/dist/webhook/builders/common.d.ts +8 -0
  939. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  940. package/dist/webhook/builders/webhook-builder.js +1 -1
  941. package/package.json +3 -3
  942. package/schema/domain-spec.json +1115 -209
  943. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  944. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  945. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  946. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  947. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  948. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  949. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  950. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  951. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  952. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  953. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  954. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  955. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  956. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  957. package/dist/domain/actions/action-factory.d.ts +0 -10
  958. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  959. package/dist/domain/application/element-registration.js +0 -1
  960. package/dist/domain/application/handler-registration.js +0 -1
  961. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  962. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  963. package/dist/domain/application/resource-builder.d.ts +0 -13
  964. package/dist/domain/application/resource-builder.js +0 -1
  965. package/dist/domain/components/debug-state-component.js +0 -1
  966. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  967. package/dist/domain/components/domain-component-optic.js +0 -16
  968. package/dist/domain/components/drag-state-component.js +0 -1
  969. package/dist/domain/components/export-state-component.js +0 -1
  970. package/dist/domain/components/fullscreen-state-component.js +0 -1
  971. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  972. package/dist/domain/components/hover-state-component.js +0 -1
  973. package/dist/domain/components/index.d.ts +0 -2
  974. package/dist/domain/components/index.js +0 -1
  975. package/dist/domain/components/navigation-state-component.js +0 -1
  976. package/dist/domain/components/selection-state-component.js +0 -1
  977. package/dist/domain/components/system-component-builder.js +0 -1
  978. package/dist/domain/components/system-virtual-entity.js +0 -1
  979. package/dist/domain/components/tool-state-component.js +0 -1
  980. package/dist/domain/components/view-state-component.js +0 -1
  981. package/dist/domain/components/viewport-state-component.js +0 -1
  982. package/dist/domain/core/expression.d.ts +0 -50
  983. package/dist/domain/core/json-schema.js +0 -1
  984. package/dist/domain/core/migrations.js +0 -1
  985. package/dist/domain/core/reflection.js +0 -1
  986. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  987. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  988. package/dist/domain/expressions/constant-expressions.d.ts +0 -9
  989. package/dist/domain/expressions/constant-expressions.js +0 -1
  990. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  991. package/dist/domain/expressions/custom-expression.js +0 -1
  992. package/dist/domain/expressions/index.d.ts +0 -1
  993. package/dist/domain/expressions/index.js +0 -1
  994. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  995. package/dist/domain/invariants/custom-invariants.js +0 -1
  996. package/dist/domain/invariants/invariants.d.ts +0 -68
  997. package/dist/domain/invariants/invariants.js +0 -1
  998. package/dist/domain/invariants/violation-component.js +0 -1
  999. package/dist/domain/invariants/violation.js +0 -1
  1000. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  1001. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1002. package/dist/domain/relations/component-factories.js +0 -1
  1003. package/dist/domain/relations/composed-of.js +0 -1
  1004. package/dist/domain/relations/direct-relation.d.ts +0 -29
  1005. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  1006. package/dist/domain/relations/indirect-relation.js +0 -1
  1007. package/dist/domain/relations/reference-component.js +0 -1
  1008. package/dist/domain/relations/relation-factory.d.ts +0 -19
  1009. package/dist/domain/relations/relation-factory.js +0 -1
  1010. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  1011. package/dist/domain/system-components/angle-indicator.js +0 -1
  1012. package/dist/domain/system-components/attribute-switch.js +0 -1
  1013. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1014. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1015. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1016. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1017. package/dist/domain/system-components/canvas-config.js +0 -1
  1018. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1019. package/dist/domain/system-components/canvas-padding.js +0 -1
  1020. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1021. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1022. package/dist/domain/system-components/client-side-image.js +0 -1
  1023. package/dist/domain/system-components/color-value.js +0 -1
  1024. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1025. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1026. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1027. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1028. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1029. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1030. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1031. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1032. package/dist/domain/system-components/entity-header.js +0 -1
  1033. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1034. package/dist/domain/system-components/finalize-action.js +0 -1
  1035. package/dist/domain/system-components/finalize-component.js +0 -1
  1036. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1037. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1038. package/dist/domain/system-components/fixed-header.js +0 -1
  1039. package/dist/domain/system-components/floating-header.js +0 -1
  1040. package/dist/domain/system-components/hidden-header.js +0 -1
  1041. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1042. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1043. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1044. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1045. package/dist/domain/system-components/navigation-steps.js +0 -1
  1046. package/dist/domain/system-components/offset-anchors.js +0 -1
  1047. package/dist/domain/system-components/offset-indicator.js +0 -1
  1048. package/dist/domain/system-components/offset.js +0 -1
  1049. package/dist/domain/system-components/other-action.js +0 -1
  1050. package/dist/domain/system-components/property-page.js +0 -1
  1051. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1052. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1053. package/dist/domain/system-components/rotatable.js +0 -1
  1054. package/dist/domain/system-components/rotation-handle.js +0 -1
  1055. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1056. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1057. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1058. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1059. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1060. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1061. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1062. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1063. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1064. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1065. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1066. package/dist/domain/system-components/selectable-component.js +0 -1
  1067. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1068. package/dist/domain/system-components/simple-summary.js +0 -1
  1069. package/dist/domain/system-components/size.js +0 -1
  1070. package/dist/domain/system-components/sketching-draw.js +0 -1
  1071. package/dist/domain/system-components/sketching-edit.js +0 -1
  1072. package/dist/domain/system-components/summary-component.js +0 -1
  1073. package/dist/domain/system-components/text-value.js +0 -1
  1074. package/dist/domain/system-components/tool-controls.js +0 -1
  1075. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1076. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1077. package/dist/domain/system-components/view-controls.js +0 -1
  1078. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -13
  1079. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1080. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1081. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1082. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1083. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1084. /package/dist/domain/{core/action.js → application/assistant/assistant-manifest.js} +0 -0
  1085. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1086. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  1087. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  1088. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1089. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1090. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1091. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1092. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  1093. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  1094. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  1095. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1096. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1097. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1098. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1099. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1100. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1101. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1102. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1103. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1104. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1105. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1106. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1107. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1108. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1109. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1110. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1111. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1112. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1113. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1114. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1115. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1116. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1117. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1118. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1119. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1120. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1121. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1122. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1123. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1124. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1125. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1126. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1127. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1128. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1129. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1130. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1131. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1132. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1133. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1134. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1135. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1136. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1137. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1138. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1139. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as e,Fragment as t}from"react/jsx-runtime";import{useMemo as a}from"react";import{match as o}from"ts-pattern";import{useAccessService as i}from"#package/react-sdk";import{useLayoutSystemConfig as m}from"../configurator-context/index.js";import{Layout as n,LayoutCustomOwnerUi as u,LayoutCustomReadUi as s,LayoutDialog as d,Legacy as w}from"../ui/index.js";export const DefaultConfiguratorLayout=()=>{let{accessInfo:p}=i(),y=m(),{ownerUi:l,readUi:c}=a(()=>o(y.layout).with("simple",()=>({ownerUi:r(w.SimpleOwnerLayout,{}),readUi:r(w.SummaryReadLayout,{})})).with("tabs",()=>({ownerUi:r(w.TabsOwnerLayout,{}),readUi:r(w.SummaryReadLayout,{})})).with("steps",()=>({ownerUi:r(w.StepsOwnerLayout,{}),readUi:r(w.SummaryReadLayout,{})})).with("universal",()=>({ownerUi:r(n,{}),readUi:r(n,{})})).with("custom",()=>({ownerUi:r(u,{}),readUi:r(s,{})})).exhaustive(),[y.layout]);return e(t,{children:[p.viewMode?c:l,"universal"===y.layout&&e(t,{children:[r(w.CommonFinalizePage,{}),r(d,{})]})]})};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o,Fragment as i}from"react/jsx-runtime";import r from"mui-modal-provider";import{memo as n,useCallback as t,useEffect as a,useMemo as d}from"react";import{match as s}from"ts-pattern";import{InvalidAccessKeyError as l}from"#package/client";import{BuiltInLoadingPhase as u,CommonAnalyticsFactory as m,DomainLifecycleBoundary as c,LoadedDataProvider as f,useAccessService as p,useAnalyticsService as g,useAuthorizedClient as v,useConfiguratorDomainFactory as w,useConfiguratorLoadStatus as y,useConfiguratorRawLoadedData as h,useExpectPhase as I,useLoadedDataActions as j,useLoadingError as x,useLoadingPhase as C,useLogger as b,useRoutingService as k,useSpecAssistant as L}from"#package/react-sdk";import{useConfigurator as U}from"../application-runtime/index.js";import{IntegrationSubscription as M,OnConfiguratorReadyProvider as S,ViewportStateSync as E,useLayoutSystemConfig as F}from"../configurator-context/index.js";import{Layout as R,Legacy as D}from"../ui/index.js";import{LayoutCustomOwnerUi as T,LayoutCustomReadUi as P,LayoutDialog as A}from"../ui/phoenix-layout-elements/index.js";import{ConfiguratorNotFoundPage as O}from"./ConfiguratorNotFoundPage.js";import{DevContextFallback as V}from"./error-boundaries/DevContextFallback.js";import{DevLoadingFallback as q}from"./error-boundaries/DevLoadingFallback.js";import{LoadingErrorBoundary as z}from"./error-boundaries/LoadingErrorBoundary.js";import{useLoad as B}from"./use-load.js";let G=n(n=>{let{viewMode:t}=n,l=F();(()=>{let{assistantSystem:e}=U(),o=null!=L();a(()=>{if(o)return e.activate()},[e,o])})();let{ownerUi:u,readUi:m}=d(()=>s(l.layout).with("simple",()=>({ownerUi:e(D.SimpleOwnerLayout,{}),readUi:e(D.SummaryReadLayout,{})})).with("tabs",()=>({ownerUi:e(D.TabsOwnerLayout,{}),readUi:e(D.SummaryReadLayout,{})})).with("steps",()=>({ownerUi:e(D.StepsOwnerLayout,{}),readUi:e(D.SummaryReadLayout,{})})).with("universal",()=>({ownerUi:e(R,{}),readUi:e(R,{})})).with("custom",()=>({ownerUi:e(T,{}),readUi:e(P,{})})).exhaustive(),[l.layout]);return e(r,{children:o(S,{children:[t?m:u,"universal"===l.layout&&o(i,{children:[e(D.CommonFinalizePage,{}),e(A,{})]})]})})});export const LoadedConfiguratorDetailPage=()=>{I(u.SceneAssets);let{configurationId:i,accessInfo:r}=p(),n=v(),a=k(),d=b(),s=g(),{startConfiguratorLoad:L,completeConfiguratorLoad:U,failConfiguratorLoad:S,resetConfiguratorLoad:F}=j(),{isLoading:R,isError:D}=y(),T=h(),P=w(),A=t(()=>r.viewMode&&void 0!==r.revisionId?n.getConfigurationRevision(i,r.revisionId):n.getConfiguration(i),[r.revisionId,r.viewMode,n,i]),N=t(()=>{L()},[L]),H=t(e=>{U({initialRevisionId:e.revisionId,initialEntities:e.data,modelVersion:e.modelVersion,rootEntityType:e.rootEntityType,schemaIdentity:P}),s.push(m.ConfigurationLoaded(e.configurationId,e.revisionId,r.viewMode?"read":"owner")),d.appendToGlobalContext({configurationId:e.configurationId,revisionId:e.revisionId,mode:r.viewMode}),d.info("Configuration loaded.")},[r.viewMode,s,U,P,d]),J=t(e=>{if(S(e),e instanceof l)return void a.rejectAccessToken(i,r.raw);let o=e instanceof Error?e:Error("Configuration loading failed with an unknown error.",{cause:e});d.error("Configuration loading failed because the API request did not succeed. Verify the configuration ID and access token.",{configurationId:i},o)},[r.raw,i,S,d,a]),K=t(()=>{F()},[F]);return(B({key:[n,i,r.revisionId,r.viewMode],load:A,onStart:N,onSuccess:H,onError:J,onCleanup:K}),C({id:u.DataFetch,label:"Loading configuration…"},R),x(D),D)?e(O,{}):null===T?null:e(f,{value:T,children:e(z,{fallbackRender:o=>e(q,{...o}),children:e(c,{type:"configurator",children:e(z,{FallbackComponent:V,children:o(M,{children:[e(E,{}),e(G,{viewMode:r.viewMode})]})})})})})};
1
+ import{jsx as o,jsxs as r}from"react/jsx-runtime";import e from"mui-modal-provider";import{memo as i,useCallback as n,useEffect as t}from"react";import{InvalidAccessKeyError as a}from"#package/client";import{BuiltInLoadingPhase as d,CommonAnalyticsFactory as s,DomainLifecycleBoundary as l,LoadedDataProvider as u,PhoenixLayoutElement as c,useAccessService as f,useAnalyticsService as m,useAuthorizedClient as g,useConfiguratorDomainFactory as p,useConfiguratorLoadStatus as v,useConfiguratorRawLoadedData as I,useExpectPhase as C,useLoadedDataActions as h,useLoadingError as j,useLoadingPhase as k,useLogger as w,useRoutingService as y,useSpecAssistant as b}from"#package/react-sdk";import{useConfigurator as x}from"../application-runtime/index.js";import{IntegrationSubscription as E,OnConfiguratorReadyProvider as L,ViewportStateSync as D}from"../configurator-context/index.js";import{ConfiguratorNotFoundPage as M}from"./ConfiguratorNotFoundPage.js";import{DefaultConfiguratorLayout as F}from"./DefaultConfiguratorLayout.js";import{DevContextFallback as S}from"./error-boundaries/DevContextFallback.js";import{DevLoadingFallback as T}from"./error-boundaries/DevLoadingFallback.js";import{LoadingErrorBoundary as A}from"./error-boundaries/LoadingErrorBoundary.js";import{useLoad as P}from"./use-load.js";let R=i(()=>((()=>{let{assistantSystem:o}=x(),r=null!=b();t(()=>{if(r)return o.activate()},[o,r])})(),o(e,{children:o(L,{children:o(c,{name:"ConfiguratorLayout",defaultSlot:F})})})));export const LoadedConfiguratorDetailPage=()=>{C(d.SceneAssets);let{configurationId:e,accessInfo:i}=f(),t=g(),c=y(),b=w(),x=m(),{startConfiguratorLoad:L,completeConfiguratorLoad:F,failConfiguratorLoad:V,resetConfiguratorLoad:q}=h(),{isLoading:B,isError:G}=v(),N=I(),z=p(),H=n(()=>i.viewMode&&void 0!==i.revisionId?t.getConfigurationRevision(e,i.revisionId):t.getConfiguration(e),[i.revisionId,i.viewMode,t,e]),J=n(()=>{L()},[L]),K=n(o=>{F({initialRevisionId:o.revisionId,initialEntities:o.data,modelVersion:o.modelVersion,rootEntityType:o.rootEntityType,schemaIdentity:z}),x.push(s.ConfigurationLoaded(o.configurationId,o.revisionId,i.viewMode?"read":"owner")),b.appendToGlobalContext({configurationId:o.configurationId,revisionId:o.revisionId,mode:i.viewMode}),b.info("Configuration loaded.")},[i.viewMode,x,F,z,b]),O=n(o=>{if(V(o),o instanceof a)return void c.rejectAccessToken(e,i.raw);let r=o instanceof Error?o:Error("Configuration loading failed with an unknown error.",{cause:o});b.error("Configuration loading failed because the API request did not succeed. Verify the configuration ID and access token.",{configurationId:e},r)},[i.raw,e,V,b,c]),Q=n(()=>{q()},[q]);return(P({key:[t,e,i.revisionId,i.viewMode],load:H,onStart:J,onSuccess:K,onError:O,onCleanup:Q}),k({id:d.DataFetch,label:"Loading configuration…"},B),j(G),G)?o(M,{}):null===N?null:o(u,{value:N,children:o(A,{fallbackRender:r=>o(T,{...r}),children:o(l,{type:"configurator",children:o(A,{FallbackComponent:S,children:r(E,{children:[o(D,{}),o(R,{})]})})})})})};
@@ -2,7 +2,7 @@ import type { DraggableSurface } from '#package/domain';
2
2
  import { HotspotDragHandleVariant } from '#package/domain';
3
3
  import type { SceneEntitySpecificProps, SceneHtmlOpacityProps, SceneHtmlPositionProps, SceneHtmlVisibilityProps } from '../../scene-html/index.js';
4
4
  export interface HotspotDragHandleProps extends SceneHtmlOpacityProps, SceneHtmlVisibilityProps, SceneHtmlPositionProps, SceneEntitySpecificProps {
5
- readonly surfaces: DraggableSurface[];
5
+ readonly surfaces: readonly DraggableSurface[];
6
6
  readonly instanceName: string;
7
7
  readonly handleSize?: number;
8
8
  readonly variant?: HotspotDragHandleVariant;
@@ -3,7 +3,7 @@ import { type DraggableSurface } from '#package/domain';
3
3
  import { type SceneEntitySpecificProps, type SceneHtmlOpacityProps, type SceneHtmlPositionProps, type SceneHtmlVisibilityProps } from '../../scene-html/index.js';
4
4
  export declare const useHotspotHovered: () => boolean;
5
5
  export interface HotspotDragSceneHandleProps extends SceneHtmlOpacityProps, SceneHtmlVisibilityProps, SceneHtmlPositionProps, SceneEntitySpecificProps {
6
- readonly surfaces: DraggableSurface[];
6
+ readonly surfaces: readonly DraggableSurface[];
7
7
  readonly instanceName: string;
8
8
  readonly children: ReactNode;
9
9
  readonly handleSize?: number;
@@ -37,7 +37,7 @@ export interface DimensionIndicatorProps {
37
37
  readonly labelDirection?: 'auto' | 'ltr' | 'rtl';
38
38
  readonly labelFillOpacity?: number;
39
39
  readonly labelFontStyle?: 'normal' | 'italic';
40
- readonly labelFontWeight?: number | 'normal' | 'bold';
40
+ readonly labelFontWeight?: number | string;
41
41
  readonly labelLetterSpacing?: number;
42
42
  readonly labelLineHeight?: number;
43
43
  readonly labelMaxWidth?: number;
@@ -76,7 +76,7 @@ interface DimensionIndicatorProps {
76
76
  /** Font style. See https://protectwise.github.io/troika/troika-three-text/ */
77
77
  labelFontStyle?: 'normal' | 'italic';
78
78
  /** Font weight. See https://protectwise.github.io/troika/troika-three-text/ */
79
- labelFontWeight?: number | 'normal' | 'bold';
79
+ labelFontWeight?: number | string;
80
80
  /** Spacing between letters. See https://protectwise.github.io/troika/troika-three-text/ */
81
81
  labelLetterSpacing?: number;
82
82
  /** Line height as a multiple of the font size. See https://protectwise.github.io/troika/troika-three-text/ */
@@ -1,6 +1,6 @@
1
1
  import { type Size } from '@react-three/fiber';
2
2
  import { type Camera, Vector2, Vector3 } from 'three';
3
- import type { DraggableSurface } from '#package/domain';
3
+ import type { DraggableSurface, RotatableSurface } from '#package/domain';
4
4
  /**
5
5
  * Converts mouse coordinates to normalized device coordinates
6
6
  */
@@ -20,7 +20,7 @@ export declare const findSurfaceClosestToPoint: (worldPoint: Vector3, surfaces:
20
20
  * Projects the cursor ray onto a single specified surface. Returns null if the
21
21
  * ray is parallel to or points away from the plane.
22
22
  */
23
- export declare const projectMouseOntoSurface: (mouse: Vector2, surface: DraggableSurface, camera: Camera) => Vector3 | null;
23
+ export declare const projectMouseOntoSurface: (mouse: Vector2, surface: DraggableSurface | RotatableSurface, camera: Camera) => Vector3 | null;
24
24
  /**
25
25
  * Among the camera-facing surfaces the cursor ray actually hits, picks the
26
26
  * intersection closest to the world origin. Used during multi-surface drag-move
@@ -1,7 +1,7 @@
1
1
  import { type Object3D } from 'three';
2
2
  import { type DomainEntityId, type DraggableSurface } from '#package/domain';
3
3
  interface DragHandle {
4
- surfaces: DraggableSurface[];
4
+ surfaces: readonly DraggableSurface[];
5
5
  instanceName: string;
6
6
  }
7
7
  export declare const useDragObject: (entityId: DomainEntityId<string>, object: Object3D | null, dragHandle: DragHandle | undefined, onUpdate: () => void, onDragStart?: () => void, onDragEnd?: () => void) => {
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import s from"lodash-es/isNumber.js";import{memo as r,useEffect as n,useMemo as i}from"react";import{Color as o,RepeatWrapping as l}from"three";import{isRemoteMaterialOverrideComponent as c}from"#package/domain";import{useResourceUrl as p}from"#package/react-sdk";import{useCombinedQueries as M,usePhxGltf as m,useResourceQueryFactories as d}from"../../resources/index.js";import{isPhysicalMaterial as h,isStandardMaterial as u,isWithColor as U}from"../../three/with-material.js";import{ReplacedMaterialTransformations as v}from"./ReplacedMaterialTransformer.js";import{ReplacedMaterialTransitions as g}from"./ReplacedMaterialTransition.js";export const applyRemoteMaterialOverride=(e,t,a,r)=>{let n=t=>{let{offsetX:a,offsetY:r,rotation:n,rotationCenterX:i,rotationCenterY:o,repeatX:c,repeatY:p}=e.state,M=s(a)||s(r),m=s(n),d=s(c)||s(p);return M&&t.offset.set(a??0,r??0),m&&(t.rotation=n,t.center.set(i??0,o??0)),d&&(t.repeat.set(c??1,p??1),t.wrapS=l,t.wrapT=l),t},i=(e,t)=>{if(null===e)t(null);else if(e){let s=r[a.findIndex(t=>t===e)];s&&t(n(s))}};if((u(t)||h(t))&&(i(e.state.textureUrl,e=>{t.map=e}),e.state.color&&t.color.set(new o(e.state.color)),i(e.state.roughnessMapUrl,e=>{t.roughnessMap=e}),s(e.state.roughness)&&(t.roughness=e.state.roughness),i(e.state.bumpMapUrl,e=>{t.bumpMap=e}),s(e.state.bumpScale)&&(t.bumpScale=e.state.bumpScale),i(e.state.metalnessMapUrl,e=>{t.metalnessMap=e}),s(e.state.metalness)&&(t.metalness=e.state.metalness),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),void 0!==e.state.toneMapped&&(t.toneMapped=e.state.toneMapped),void 0!==e.state.emissive&&t.emissive.set(new o(e.state.emissive)),void 0!==e.state.emissiveIntensity&&(t.emissiveIntensity=e.state.emissiveIntensity),i(e.state.alphaMapUrl,e=>{t.alphaMap=e}),void 0!==e.state.transparent&&(t.transparent=e.state.transparent),s(e.state.opacity)&&(t.opacity=e.state.opacity),i(e.state.aoMapUrl,e=>{t.aoMap=e}),s(e.state.aoMapIntensity)&&(t.aoMapIntensity=e.state.aoMapIntensity),i(e.state.displacementMapUrl,e=>{t.displacementMap=e}),s(e.state.displacementScale)&&(t.displacementScale=e.state.displacementScale),i(e.state.lightMapUrl,e=>{t.lightMap=e}),s(e.state.lightMapIntensity)&&(t.lightMapIntensity=e.state.lightMapIntensity),i(e.state.envMapUrl,e=>{t.envMap=e}),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),s(e.state.blendingMode)&&(t.blending=e.state.blendingMode),i(e.state.normalMapUrl,e=>{t.normalMap=e}),s(e.state.normalScale)&&t.normalScale.set(e.state.normalScale,e.state.normalScale),void 0!==e.state.wireframe&&(t.wireframe=e.state.wireframe)),h(t)&&(void 0!==e.state.clearcoat&&(t.clearcoat=e.state.clearcoat),void 0!==e.state.clearcoatRoughness&&(t.clearcoatRoughness=e.state.clearcoatRoughness),void 0!==e.state.iridescence&&(t.iridescence=e.state.iridescence),void 0!==e.state.iridescenceIor&&(t.iridescenceIOR=e.state.iridescenceIor),s(e.state.sheen)&&(t.sheen=e.state.sheen),void 0!==e.state.sheenColor&&U(t)&&t.sheenColor.set(new o(e.state.sheenColor)),s(e.state.sheenRoughness)&&(t.sheenRoughness=e.state.sheenRoughness),i(e.state.anisotropyMapUrl,e=>{t.anisotropyMap=e}),s(e.state.anisotropyStrength)&&(t.anisotropy=e.state.anisotropyStrength),s(e.state.anisotropyRotation)&&(t.anisotropyRotation=e.state.anisotropyRotation),s(e.state.ior)&&(t.ior=e.state.ior),s(e.state.reflectivity)&&(t.reflectivity=e.state.reflectivity),s(e.state.transmission)&&(t.transmission=e.state.transmission),s(e.state.thickness)&&(t.thickness=e.state.thickness),s(e.state.attenuationDistance)&&(t.attenuationDistance=e.state.attenuationDistance),void 0!==e.state.attenuationColor&&t.attenuationColor.set(new o(e.state.attenuationColor)),s(e.state.specularIntensity)&&(t.specularIntensity=e.state.specularIntensity),void 0!==e.state.specularColor&&t.specularColor.set(new o(e.state.specularColor)),i(e.state.specularIntensityMapUrl,e=>{t.specularIntensityMap=e}),i(e.state.specularColorMapUrl,e=>{t.specularColorMap=e}),i(e.state.clearcoatNormalMapUrl,e=>{t.clearcoatNormalMap=e}),s(e.state.clearcoatNormalScale)&&t.clearcoatNormalScale.set(e.state.clearcoatNormalScale,e.state.clearcoatNormalScale),i(e.state.clearcoatMapUrl,e=>{t.clearcoatMap=e}),i(e.state.clearcoatRoughnessMapUrl,e=>{t.clearcoatRoughnessMap=e}),i(e.state.iridescenceMapUrl,e=>{t.iridescenceMap=e}),void 0!==e.state.iridescenceThicknessRange&&(t.iridescenceThicknessRange=e.state.iridescenceThicknessRange),i(e.state.iridescenceThicknessMapUrl,e=>{t.iridescenceThicknessMap=e}),i(e.state.sheenColorMapUrl,e=>{t.sheenColorMap=e}),i(e.state.sheenRoughnessMapUrl,e=>{t.sheenRoughnessMap=e}),i(e.state.transmissionMapUrl,e=>{t.transmissionMap=e}),i(e.state.thicknessMapUrl,e=>{t.thicknessMap=e})),u(t)&&!h(t)){let a=[void 0!==e.state.clearcoat?"clearcoat":"",void 0!==e.state.clearcoatRoughness?"clearcoatRoughness":"",void 0!==e.state.iridescence?"iridescence":"",void 0!==e.state.iridescenceIor?"iridescenceIor":"",void 0!==e.state.sheen?"sheen":"",void 0!==e.state.sheenColor?"sheenColor":"",void 0!==e.state.sheenRoughness?"sheenRoughness":"",void 0!==e.state.anisotropyMapUrl?"anisotropyMapUrl":"",void 0!==e.state.anisotropyStrength?"anisotropyStrength":"",void 0!==e.state.anisotropyRotation?"anisotropyRotation":"",void 0!==e.state.ior?"ior":"",void 0!==e.state.reflectivity?"reflectivity":"",void 0!==e.state.transmission?"transmission":"",void 0!==e.state.thickness?"thickness":"",void 0!==e.state.attenuationDistance?"attenuationDistance":"",void 0!==e.state.attenuationColor?"attenuationColor":"",void 0!==e.state.specularIntensity?"specularIntensity":"",void 0!==e.state.specularColor?"specularColor":"",void 0!==e.state.specularIntensityMapUrl?"specularIntensityMapUrl":"",void 0!==e.state.specularColorMapUrl?"specularColorMapUrl":"",void 0!==e.state.clearcoatNormalMapUrl?"clearcoatNormalMapUrl":"",void 0!==e.state.clearcoatNormalScale?"clearcoatNormalScale":"",void 0!==e.state.clearcoatMapUrl?"clearcoatMapUrl":"",void 0!==e.state.clearcoatRoughnessMapUrl?"clearcoatRoughnessMapUrl":"",void 0!==e.state.iridescenceMapUrl?"iridescenceMapUrl":"",void 0!==e.state.iridescenceThicknessRange?"iridescenceThicknessRange":"",void 0!==e.state.iridescenceThicknessMapUrl?"iridescenceThicknessMapUrl":"",void 0!==e.state.sheenColorMapUrl?"sheenColorMapUrl":"",void 0!==e.state.sheenRoughnessMapUrl?"sheenRoughnessMapUrl":"",void 0!==e.state.transmissionMapUrl?"transmissionMapUrl":"",void 0!==e.state.thicknessMapUrl?"thicknessMapUrl":""].filter(Boolean);a.length>0&&console.warn(`[Phoenix] Material override properties [${a.join(", ")}] were ignored because the target material "${t.name}" is a MeshStandardMaterial, not a MeshPhysicalMaterial. These properties require MeshPhysicalMaterial. Ensure the source material in the override file uses a physical property (e.g. clearcoat) to trigger MeshPhysicalMaterial.`)}};let y=["textureUrl","roughnessMapUrl","bumpMapUrl","metalnessMapUrl","anisotropyMapUrl","normalMapUrl","alphaMapUrl","aoMapUrl","displacementMapUrl","lightMapUrl","envMapUrl","specularIntensityMapUrl","specularColorMapUrl","clearcoatNormalMapUrl","clearcoatMapUrl","clearcoatRoughnessMapUrl","iridescenceMapUrl","iridescenceThicknessMapUrl","sheenColorMapUrl","sheenRoughnessMapUrl","transmissionMapUrl","thicknessMapUrl"];export const getMaterialOverrideTextureNames=e=>y.flatMap(t=>{let a=e.state[t];return"string"==typeof a&&""!==a?[a]:[]});export const RemoteReplacedMaterial=r(s=>{let{overrideComponent:r,original:o,object:l}=s,{getResourceUrl:h}=p(),u=i(()=>[r].reduce((e,t)=>(c(t)&&e.push(t.state.fileUrl),e),[]),[r]),U=i(()=>getMaterialOverrideTextureNames(r),[r]),y=m(u.map(h)),{createTextureQuery:R}=d(),f=M(U.map(R)),I=i(()=>f.map(e=>e.clone()),[f]),C=i(()=>{let e=y[u.findIndex(e=>e===r.state.fileUrl)],t=e?.materials[r.state.materialName];if(null==t)throw Error(`Material with name '${r.state.materialName}' not found in '${r.state.fileUrl}'`);let a=t.clone();return applyRemoteMaterialOverride(r,a,U,I),a},[r,u,y,U,I]);return n(()=>(l.material=C,l.material.name=o.name,()=>{l.material=o}),[l,o,C]),t(a,{children:[e(v,{material:C,instanceName:r.componentInstance.instanceName}),e(g,{material:C,instanceName:r.componentInstance.instanceName})]})});
1
+ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import s from"lodash-es/isNumber.js";import{memo as r,useEffect as n,useMemo as o}from"react";import{Color as i,RepeatWrapping as l}from"three";import{isRemoteMaterialOverrideComponent as c}from"#package/domain";import{useResourceUrl as p}from"#package/react-sdk";import{useCombinedQueries as M,usePhxGltf as m,useResourceQueryFactories as d}from"../../resources/index.js";import{isPhysicalMaterial as h,isStandardMaterial as u,isWithColor as v}from"../../three/with-material.js";import{ReplacedMaterialTransformations as U}from"./ReplacedMaterialTransformer.js";import{ReplacedMaterialTransitions as y}from"./ReplacedMaterialTransition.js";export const applyRemoteMaterialOverride=(e,t,a,r)=>{let n=t=>{let{offsetX:a,offsetY:r,rotation:n,rotationCenterX:o,rotationCenterY:i,repeatX:c,repeatY:p}=e.state,M=s(a)||s(r),m=s(n),d=s(c)||s(p);return M&&t.offset.set(a??0,r??0),m&&(t.rotation=n,t.center.set(o??0,i??0)),d&&(t.repeat.set(c??1,p??1),t.wrapS=l,t.wrapT=l),t},o=(e,t)=>{if(null===e)t(null);else if(e){let s=r[a.findIndex(t=>t===e)];s&&t(n(s))}};if((u(t)||h(t))&&(o(e.state.textureUrl,e=>{t.map=e}),e.state.color&&t.color.set(new i(e.state.color)),o(e.state.roughnessMapUrl,e=>{t.roughnessMap=e}),s(e.state.roughness)&&(t.roughness=e.state.roughness),o(e.state.bumpMapUrl,e=>{t.bumpMap=e}),s(e.state.bumpScale)&&(t.bumpScale=e.state.bumpScale),o(e.state.metalnessMapUrl,e=>{t.metalnessMap=e}),s(e.state.metalness)&&(t.metalness=e.state.metalness),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),void 0!==e.state.toneMapped&&(t.toneMapped=e.state.toneMapped),void 0!==e.state.emissive&&t.emissive.set(new i(e.state.emissive)),void 0!==e.state.emissiveIntensity&&(t.emissiveIntensity=e.state.emissiveIntensity),o(e.state.alphaMapUrl,e=>{t.alphaMap=e}),void 0!==e.state.transparent&&(t.transparent=e.state.transparent),s(e.state.opacity)&&(t.opacity=e.state.opacity),o(e.state.aoMapUrl,e=>{t.aoMap=e}),s(e.state.aoMapIntensity)&&(t.aoMapIntensity=e.state.aoMapIntensity),o(e.state.displacementMapUrl,e=>{t.displacementMap=e}),s(e.state.displacementScale)&&(t.displacementScale=e.state.displacementScale),o(e.state.lightMapUrl,e=>{t.lightMap=e}),s(e.state.lightMapIntensity)&&(t.lightMapIntensity=e.state.lightMapIntensity),o(e.state.envMapUrl,e=>{t.envMap=e}),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),s(e.state.blendingMode)&&(t.blending=e.state.blendingMode),o(e.state.normalMapUrl,e=>{t.normalMap=e}),s(e.state.normalScale)&&t.normalScale.set(e.state.normalScale,e.state.normalScale),void 0!==e.state.wireframe&&(t.wireframe=e.state.wireframe)),h(t)){void 0!==e.state.clearcoat&&(t.clearcoat=e.state.clearcoat),void 0!==e.state.clearcoatRoughness&&(t.clearcoatRoughness=e.state.clearcoatRoughness),void 0!==e.state.iridescence&&(t.iridescence=e.state.iridescence),void 0!==e.state.iridescenceIor&&(t.iridescenceIOR=e.state.iridescenceIor),s(e.state.sheen)&&(t.sheen=e.state.sheen),void 0!==e.state.sheenColor&&v(t)&&t.sheenColor.set(new i(e.state.sheenColor)),s(e.state.sheenRoughness)&&(t.sheenRoughness=e.state.sheenRoughness),o(e.state.anisotropyMapUrl,e=>{t.anisotropyMap=e}),s(e.state.anisotropyStrength)&&(t.anisotropy=e.state.anisotropyStrength),s(e.state.anisotropyRotation)&&(t.anisotropyRotation=e.state.anisotropyRotation),s(e.state.ior)&&(t.ior=e.state.ior),s(e.state.reflectivity)&&(t.reflectivity=e.state.reflectivity),s(e.state.transmission)&&(t.transmission=e.state.transmission),s(e.state.thickness)&&(t.thickness=e.state.thickness),s(e.state.attenuationDistance)&&(t.attenuationDistance=e.state.attenuationDistance),void 0!==e.state.attenuationColor&&t.attenuationColor.set(new i(e.state.attenuationColor)),s(e.state.specularIntensity)&&(t.specularIntensity=e.state.specularIntensity),void 0!==e.state.specularColor&&t.specularColor.set(new i(e.state.specularColor)),o(e.state.specularIntensityMapUrl,e=>{t.specularIntensityMap=e}),o(e.state.specularColorMapUrl,e=>{t.specularColorMap=e}),o(e.state.clearcoatNormalMapUrl,e=>{t.clearcoatNormalMap=e}),s(e.state.clearcoatNormalScale)&&t.clearcoatNormalScale.set(e.state.clearcoatNormalScale,e.state.clearcoatNormalScale),o(e.state.clearcoatMapUrl,e=>{t.clearcoatMap=e}),o(e.state.clearcoatRoughnessMapUrl,e=>{t.clearcoatRoughnessMap=e}),o(e.state.iridescenceMapUrl,e=>{t.iridescenceMap=e});let[a,r]=e.state.iridescenceThicknessRange??[];void 0!==a&&void 0!==r&&(t.iridescenceThicknessRange=[a,r]),o(e.state.iridescenceThicknessMapUrl,e=>{t.iridescenceThicknessMap=e}),o(e.state.sheenColorMapUrl,e=>{t.sheenColorMap=e}),o(e.state.sheenRoughnessMapUrl,e=>{t.sheenRoughnessMap=e}),o(e.state.transmissionMapUrl,e=>{t.transmissionMap=e}),o(e.state.thicknessMapUrl,e=>{t.thicknessMap=e})}if(u(t)&&!h(t)){let a=[void 0!==e.state.clearcoat?"clearcoat":"",void 0!==e.state.clearcoatRoughness?"clearcoatRoughness":"",void 0!==e.state.iridescence?"iridescence":"",void 0!==e.state.iridescenceIor?"iridescenceIor":"",void 0!==e.state.sheen?"sheen":"",void 0!==e.state.sheenColor?"sheenColor":"",void 0!==e.state.sheenRoughness?"sheenRoughness":"",void 0!==e.state.anisotropyMapUrl?"anisotropyMapUrl":"",void 0!==e.state.anisotropyStrength?"anisotropyStrength":"",void 0!==e.state.anisotropyRotation?"anisotropyRotation":"",void 0!==e.state.ior?"ior":"",void 0!==e.state.reflectivity?"reflectivity":"",void 0!==e.state.transmission?"transmission":"",void 0!==e.state.thickness?"thickness":"",void 0!==e.state.attenuationDistance?"attenuationDistance":"",void 0!==e.state.attenuationColor?"attenuationColor":"",void 0!==e.state.specularIntensity?"specularIntensity":"",void 0!==e.state.specularColor?"specularColor":"",void 0!==e.state.specularIntensityMapUrl?"specularIntensityMapUrl":"",void 0!==e.state.specularColorMapUrl?"specularColorMapUrl":"",void 0!==e.state.clearcoatNormalMapUrl?"clearcoatNormalMapUrl":"",void 0!==e.state.clearcoatNormalScale?"clearcoatNormalScale":"",void 0!==e.state.clearcoatMapUrl?"clearcoatMapUrl":"",void 0!==e.state.clearcoatRoughnessMapUrl?"clearcoatRoughnessMapUrl":"",void 0!==e.state.iridescenceMapUrl?"iridescenceMapUrl":"",void 0!==e.state.iridescenceThicknessRange?"iridescenceThicknessRange":"",void 0!==e.state.iridescenceThicknessMapUrl?"iridescenceThicknessMapUrl":"",void 0!==e.state.sheenColorMapUrl?"sheenColorMapUrl":"",void 0!==e.state.sheenRoughnessMapUrl?"sheenRoughnessMapUrl":"",void 0!==e.state.transmissionMapUrl?"transmissionMapUrl":"",void 0!==e.state.thicknessMapUrl?"thicknessMapUrl":""].filter(Boolean);a.length>0&&console.warn(`[Phoenix] Material override properties [${a.join(", ")}] were ignored because the target material "${t.name}" is a MeshStandardMaterial, not a MeshPhysicalMaterial. These properties require MeshPhysicalMaterial. Ensure the source material in the override file uses a physical property (e.g. clearcoat) to trigger MeshPhysicalMaterial.`)}};let g=["textureUrl","roughnessMapUrl","bumpMapUrl","metalnessMapUrl","anisotropyMapUrl","normalMapUrl","alphaMapUrl","aoMapUrl","displacementMapUrl","lightMapUrl","envMapUrl","specularIntensityMapUrl","specularColorMapUrl","clearcoatNormalMapUrl","clearcoatMapUrl","clearcoatRoughnessMapUrl","iridescenceMapUrl","iridescenceThicknessMapUrl","sheenColorMapUrl","sheenRoughnessMapUrl","transmissionMapUrl","thicknessMapUrl"];export const getMaterialOverrideTextureNames=e=>g.flatMap(t=>{let a=e.state[t];return"string"==typeof a&&""!==a?[a]:[]});export const RemoteReplacedMaterial=r(s=>{let{overrideComponent:r,original:i,object:l}=s,{getResourceUrl:h}=p(),u=o(()=>[r].reduce((e,t)=>(c(t)&&e.push(t.state.fileUrl),e),[]),[r]),v=o(()=>getMaterialOverrideTextureNames(r),[r]),g=m(u.map(h)),{createTextureQuery:f}=d(),R=M(v.map(f)),I=o(()=>R.map(e=>e.clone()),[R]),C=o(()=>{let e=g[u.findIndex(e=>e===r.state.fileUrl)],t=e?.materials[r.state.materialName];if(null==t)throw Error(`Material with name '${r.state.materialName}' not found in '${r.state.fileUrl}'`);let a=t.clone();return applyRemoteMaterialOverride(r,a,v,I),a},[r,u,g,v,I]);return n(()=>(l.material=C,l.material.name=i.name,()=>{l.material=i}),[l,i,C]),t(a,{children:[e(U,{material:C,instanceName:r.componentInstance.instanceName}),e(y,{material:C,instanceName:r.componentInstance.instanceName})]})});
@@ -29,7 +29,7 @@ export interface SceneEntityTextDecalV2Props {
29
29
  text: string;
30
30
  textureUrl?: string | undefined;
31
31
  roughnessMapUrl?: string | undefined;
32
- preloadFonts?: string[] | undefined;
32
+ preloadFonts?: readonly string[] | undefined;
33
33
  invertedBump?: boolean | undefined;
34
34
  }
35
35
  export interface SceneEntityObjectTextDecalProps {
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Tooltip as a,styled as i}from"@mui/material";import{memo as n,useCallback as s}from"react";import{match as o}from"ts-pattern";import{useLocalizable as r}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{AssistantPanelName as d}from"./theme.js";let c={id:"sdk.assistant.tool.updateDesign.label",message:"Update design"},m={id:"sdk.assistant.tool.readDesign.label",message:"Read design"},p={id:"sdk.assistant.tool.mistake.hint",message:"The assistant made a mistake."},h=i("div",{name:d,slot:"chips"})(({theme:{palette:t,spacing:e,typography:a}})=>({...a.caption,alignItems:"start",color:t.text.secondary,display:"grid",gap:e(.75),gridTemplateColumns:"min-content minmax(0, 1fr)"})),g=i("span",{name:d,slot:"activity"})(({theme:{typography:t}})=>({blockSize:`calc(${t.caption.lineHeight} * 1em)`,display:"grid",placeItems:"center"})),f=i(l,{name:d,slot:"activityIcon"})({fontSize:14,'[data-chips="active"] &':{animation:"phx-assistant-turn 2.4s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"@keyframes phx-assistant-turn":{to:{rotate:"360deg"}}}),k=i("span",{name:d,slot:"chip"})(({theme:{palette:t,spacing:e}})=>({cursor:"default",display:"inline-block",whiteSpace:"nowrap","&:not(:last-child)::after":{color:t.text.secondary,content:'"\xb7"',display:"inline-block",marginInline:e(.75),textDecoration:"none"},'&[data-chip="failed"]':{color:t.error.main},'&[data-chip="flawed"]':{textDecoration:"line-through",textDecorationColor:t.error.main}})),u=n(({tool:e})=>{let{chip:i,input:n,result:l}=e,d=r(c),h=r(m),g=r(p),f=o(i.label).with({kind:"text"},({text:t})=>t).with({kind:"updateDesign"},()=>d).with({kind:"readDesign"},()=>h).exhaustive(),u=s(()=>{console.info(`Assistant tool call "${f}"`,{input:n,result:l})},[n,f,l]);return t(a,{title:"failed"===i.state||"flawed"===i.state?g:"",placement:"top-start",children:t(k,{onClick:u,"data-chip":i.state,children:f})})});export const AssistantToolChips=n(({tools:a,isActive:i})=>e(h,{"data-chips":i?"active":"done","aria-busy":i,children:[t(g,{children:t(f,{name:"Gear"})}),t("div",{children:a.map(e=>t(u,{tool:e},e.id))})]}));
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Tooltip as a,styled as i}from"@mui/material";import{memo as s,useCallback as o}from"react";import{match as n}from"ts-pattern";import{useLocalizable as r}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{AssistantPanelName as d}from"./theme.js";let m={id:"sdk.assistant.tool.updateDesign.label",message:"Update design"},c={id:"sdk.assistant.tool.readDesign.label",message:"Read design"},p={id:"sdk.assistant.tool.mistake.hint",message:"The assistant made a mistake."},h={id:"sdk.assistant.tool.cancelled.hint",message:"Stopped before it finished."},g={id:"sdk.assistant.tool.noResult.hint",message:"The result of this step was lost. It may or may not have been done."},f={id:"sdk.assistant.tool.toolBudget.hint",message:"Not done: the assistant reached its limit of steps for one message."},u=i("div",{name:d,slot:"chips"})(({theme:{palette:t,spacing:e,typography:a}})=>({...a.caption,alignItems:"start",color:t.text.secondary,display:"grid",gap:e(.75),gridTemplateColumns:"min-content minmax(0, 1fr)"})),k=i("span",{name:d,slot:"activity"})(({theme:{typography:t}})=>({blockSize:`calc(${t.caption.lineHeight} * 1em)`,display:"grid",placeItems:"center"})),x=i(l,{name:d,slot:"activityIcon"})({fontSize:14,'[data-chips="active"] &':{animation:"phx-assistant-turn 2.4s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"@keyframes phx-assistant-turn":{to:{rotate:"360deg"}}}),w=i("span",{name:d,slot:"chip"})(({theme:{palette:t,spacing:e}})=>({cursor:"default",display:"inline-block",whiteSpace:"nowrap","&:not(:last-child)::after":{color:t.text.secondary,content:'"\xb7"',display:"inline-block",marginInline:e(.75),textDecoration:"none"},'&[data-chip="failed"]':{color:t.error.main},'&[data-chip="flawed"]':{textDecoration:"line-through",textDecorationColor:t.error.main}})),y=s(({tool:e})=>{let{chip:i,input:s,result:l}=e,d=r(m),u=r(c),k=r(p),x=r(h),y=r(g),b=r(f),v=n(i.label).with({kind:"text"},({text:t})=>t).with({kind:"updateDesign"},()=>d).with({kind:"readDesign"},()=>u).exhaustive(),C=o(()=>{console.info(`Assistant tool call "${v}"`,{input:s,result:l})},[s,v,l]);return t(a,{title:n(i).with({errorCode:"cancelled"},()=>x).with({errorCode:"no_result"},()=>y).with({errorCode:"tool_budget"},()=>b).with({state:"failed"},{state:"flawed"},()=>k).otherwise(()=>""),placement:"top-start",children:t(w,{onClick:C,"data-chip":i.state,children:v})})});export const AssistantToolChips=s(({tools:a,isActive:i})=>e(u,{"data-chips":i?"active":"done","aria-busy":i,children:[t(k,{children:t(x,{name:"Gear"})}),t("div",{children:a.map(e=>t(y,{tool:e},e.id))})]}));
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * The message input of the panel. Enter sends and Shift+Enter adds a line. While a reply runs the
3
3
  * send control is a Stop control and the input stays editable, so the next message can be written.
4
- * A thread this session may not continue disables the input and says why.
4
+ * A thread this session may not continue takes a message like any other: it is resumed first, with
5
+ * the input read-only meanwhile, and the message stays in the input when that fails.
5
6
  */
6
7
  export declare const AssistantComposer: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{IconButton as o,InputBase as r,Tooltip as t,styled as n}from"@mui/material";import{useCallback as s,useRef as d,useState as l}from"react";import{useEagerObservableSelector as m,useLocalizable as c}from"#package/react-sdk";import{PhxIcon as p,useResponsive as u}from"#package/ui-sdk";import{useConfigurator as b}from"../../application-runtime/index.js";import{AssistantPanelName as g}from"./theme.js";let h={id:"sdk.assistant.composer.placeholder",message:"Ask or tell me what to change…"},k={id:"sdk.assistant.composer.send.label",message:"Send"},f={id:"sdk.assistant.composer.stop.label",message:"Stop"},x=n("form",{name:g,slot:"composer"})(({theme:{palette:e,spacing:a}})=>({borderBlockStart:`1px solid ${e.divider}`,display:"grid",gap:a(.75),paddingBlock:a(1.25),paddingInline:`var(--phx-sidebar-padding, ${a(2)})`})),y=n("div",{name:g,slot:"inputFrame"})(({theme:{palette:e,spacing:a}})=>({alignItems:"flex-end",border:`1px solid ${e.divider}`,borderRadius:12,display:"flex",gap:a(1),paddingBlock:a(.5),paddingInline:`${a(1.5)} ${a(.5)}`,"&:focus-within":{borderColor:e.primary.main},"&:has(textarea:disabled)":{background:e.action.disabledBackground}})),v=n(r,{name:g,slot:"input"})(({theme:{spacing:e,typography:a}})=>({...a.body2,flex:1,paddingBlock:e(.75)})),B=n(o,{name:g,slot:"sendButton"})(({theme:{palette:e}})=>({background:e.primary.main,borderRadius:8,color:e.primary.contrastText,"&:hover":{background:e.primary.dark},"&.Mui-disabled":{background:e.action.disabledBackground,color:e.action.disabled}})),C=n(o,{name:g,slot:"stopButton"})(({theme:{palette:e}})=>({background:e.text.primary,borderRadius:8,color:e.background.paper,"&:hover":{background:e.text.secondary}})),R=n("span")({background:"currentColor",blockSize:10,borderRadius:2,inlineSize:10,margin:5}),S=n("div",{name:g,slot:"hint"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary}));export const AssistantComposer=()=>{let{assistantSystem:o}=b(),[r,n]=l(""),g=d(null),{isDesktop:I}=u(),$=c(h),j=c(k),w=c(f),{isReplying:z,isContinuable:F}=m(o.chat$,e=>({isReplying:e.isLoading,isContinuable:e.isContinuable}),[]),A=r.trim(),D=F&&!z&&A.length>0,P=s(()=>{D&&(n(""),o.send(A),I||g.current?.blur())},[o,D,A,I]),T=s(e=>{e.preventDefault(),P()},[P]),E=s(e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),P())},[P]),K=s(()=>{o.stop()},[o]);return a(x,{onSubmit:T,children:[!F&&e(S,{role:"status",children:e(i,{id:"sdk.assistant.composer.notContinuable",message:"This conversation can be read here, but it can no longer be continued."})}),a(y,{children:[e(v,{multiline:!0,maxRows:6,placeholder:$,value:r,disabled:!F,inputRef:g,onChange:e=>n(e.target.value),onKeyDown:E,onFocus:()=>o.setInputFocused(!0),onBlur:()=>o.setInputFocused(!1),inputProps:{"aria-label":$}}),z?e(t,{title:w,placement:"top",children:e(C,{size:"small","aria-label":w,onClick:K,children:e(R,{})})}):e(t,{title:j,placement:"top",children:e("span",{children:e(B,{type:"submit",size:"small","aria-label":j,disabled:!D,children:e(p,{name:"PaperPlaneRightBold",fontSize:"small"})})})})]}),e(S,{children:e(i,{id:"sdk.assistant.composer.disclaimer",message:"AI can be wrong. Check the result."})})]})};
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{IconButton as i,InputBase as o,Tooltip as t,styled as n}from"@mui/material";import{useCallback as s,useRef as l,useState as d}from"react";import{useEagerObservableSelector as m,useLocalizable as p}from"#package/react-sdk";import{PhxIcon as c,useResponsive as u}from"#package/ui-sdk";import{useConfigurator as g}from"../../application-runtime/index.js";import{AssistantPanelName as h}from"./theme.js";let b={id:"sdk.assistant.composer.placeholder",message:"Ask or tell me what to change…"},k={id:"sdk.assistant.composer.send.label",message:"Send"},f={id:"sdk.assistant.composer.stop.label",message:"Stop"},y=n("form",{name:h,slot:"composer"})(({theme:{palette:e,spacing:a}})=>({borderBlockStart:`1px solid ${e.divider}`,display:"grid",gap:a(.75),paddingBlock:a(1.25),paddingInline:`var(--phx-sidebar-padding, ${a(2)})`})),x=n("div",{name:h,slot:"inputFrame"})(({theme:{palette:e,spacing:a}})=>({alignItems:"flex-end",border:`1px solid ${e.divider}`,borderRadius:12,display:"flex",gap:a(1),paddingBlock:a(.5),paddingInline:`${a(1.5)} ${a(.5)}`,"&:focus-within":{borderColor:e.primary.main}})),v=n(o,{name:h,slot:"input"})(({theme:{spacing:e,typography:a}})=>({...a.body2,flex:1,paddingBlock:e(.75)})),R=n(i,{name:h,slot:"sendButton"})(({theme:{palette:e}})=>({background:e.primary.main,borderRadius:8,color:e.primary.contrastText,"&:hover":{background:e.primary.dark},"&.Mui-disabled":{background:e.action.disabledBackground,color:e.action.disabled}})),B=n(i,{name:h,slot:"stopButton"})(({theme:{palette:e}})=>({background:e.text.primary,borderRadius:8,color:e.background.paper,"&:hover":{background:e.text.secondary}})),C=n("span")({background:"currentColor",blockSize:10,borderRadius:2,inlineSize:10,margin:5}),S=n("div",{name:h,slot:"hint"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary}));export const AssistantComposer=()=>{let{assistantSystem:i}=g(),[o,n]=d(""),h=l(null),{isDesktop:w}=u(),I=p(b),$=p(k),j=p(f),{isReplying:z,isResuming:F}=m(i.chat$,e=>({isReplying:e.isLoading,isResuming:e.isResuming}),[]),A=o.trim(),D=!z&&!F&&A.length>0,P=s(async()=>{!D||(w||h.current?.blur(),await i.resume()&&(n(""),i.send(A)))},[i,D,A,w]),E=s(e=>{e.preventDefault(),P()},[P]),K=s(e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),P())},[P]),T=s(()=>{i.stop()},[i]);return a(y,{onSubmit:E,children:[a(x,{children:[e(v,{multiline:!0,maxRows:6,placeholder:I,value:o,readOnly:F,inputRef:h,onChange:e=>n(e.target.value),onKeyDown:K,onFocus:()=>i.setInputFocused(!0),onBlur:()=>i.setInputFocused(!1),inputProps:{"aria-label":I}}),z?e(t,{title:j,placement:"top",children:e(B,{size:"small","aria-label":j,onClick:T,children:e(C,{})})}):e(t,{title:$,placement:"top",children:e("span",{children:e(R,{type:"submit",size:"small","aria-label":$,disabled:!D,children:e(c,{name:"PaperPlaneRightBold",fontSize:"small"})})})})]}),e(S,{children:e(r,{id:"sdk.assistant.composer.disclaimer",message:"AI can be wrong. Check the result."})})]})};
@@ -3,5 +3,5 @@ export interface AssistantMarkdownProps {
3
3
  /** True while the text is still arriving, so markup the model has not finished is completed. */
4
4
  readonly isStreaming: boolean;
5
5
  }
6
- /** Assistant text of the thread: Markdown with lists, tables, links and code, without a bubble. */
6
+ /** Assistant text of the thread: Markdown with lists, tables, links, entity links and code, without a bubble. */
7
7
  export declare const AssistantMarkdown: import("react").MemoExoticComponent<({ markdown, isStreaming }: AssistantMarkdownProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{styled as e}from"@mui/material";import{memo as o}from"react";import a from"react-markdown";import i from"remark-gfm";import{completeStreamedMarkdown as n}from"./streamed-markdown.js";import{AssistantPanelName as t}from"./theme.js";let l=e("div",{name:t,slot:"assistantMessage"})(({theme:{palette:r,shape:e,spacing:o,typography:a}})=>({overflowWrap:"anywhere","& > :first-child":{marginBlockStart:0},"& > :last-child":{marginBlockEnd:0},"p, ul, ol, pre, blockquote":{marginBlock:o(1)},"h1, h2, h3, h4, h5, h6":{...a.subtitle2,marginBlock:o(1.5,.5)},"ul, ol":{paddingInlineStart:o(2.5)},a:{color:r.primary.main},code:{background:r.action.hover,borderRadius:e.borderRadius/2,fontFamily:"ui-monospace, Menlo, monospace",fontSize:"0.9em",paddingInline:o(.5)},pre:{background:r.action.hover,borderRadius:e.borderRadius,overflowX:"auto",padding:o(1),code:{background:"none",padding:0}},blockquote:{borderInlineStart:`2px solid ${r.divider}`,color:r.text.secondary,marginInline:0,paddingInlineStart:o(1.5)},"th, td":{borderBlockEnd:`1px solid ${r.divider}`,padding:o(.5,1),textAlign:"start",verticalAlign:"top"}})),d=e("div")({overflowX:"auto",table:{borderCollapse:"collapse",inlineSize:"100%"}}),m={a:({node:e,children:o,...a})=>r("a",{...a,target:"_blank",rel:"noopener noreferrer",children:o}),table:({node:e,children:o,...a})=>r(d,{children:r("table",{...a,children:o})})},s=[i],c=["img"];export const AssistantMarkdown=o(({markdown:e,isStreaming:o})=>r(l,{children:r(a,{components:m,remarkPlugins:s,disallowedElements:c,children:o?n(e):e})}));
1
+ import{jsx as r,Fragment as e}from"react/jsx-runtime";import{styled as o}from"@mui/material";import{memo as n}from"react";import i,{defaultUrlTransform as a}from"react-markdown";import t from"remark-gfm";import{AssistantEntityLink as l,isEntityLinkHref as d,parseEntityLinkTarget as m}from"./entity-link/index.js";import{completeStreamedMarkdown as s}from"./streamed-markdown.js";import{AssistantPanelName as c}from"./theme.js";let p=o("div",{name:c,slot:"assistantMessage"})(({theme:{palette:r,shape:e,spacing:o,typography:n}})=>({overflowWrap:"anywhere","& > :first-child":{marginBlockStart:0},"& > :last-child":{marginBlockEnd:0},"p, ul, ol, pre, blockquote":{marginBlock:o(1)},"h1, h2, h3, h4, h5, h6":{...n.subtitle2,marginBlock:o(1.5,.5)},"ul, ol":{paddingInlineStart:o(2.5)},a:{color:r.primary.main},code:{background:r.action.hover,borderRadius:e.borderRadius/2,fontFamily:"ui-monospace, Menlo, monospace",fontSize:"0.9em",paddingInline:o(.5)},pre:{background:r.action.hover,borderRadius:e.borderRadius,overflowX:"auto",padding:o(1),code:{background:"none",padding:0}},blockquote:{borderInlineStart:`2px solid ${r.divider}`,color:r.text.secondary,marginInline:0,paddingInlineStart:o(1.5)},"th, td":{borderBlockEnd:`1px solid ${r.divider}`,padding:o(.5,1),textAlign:"start",verticalAlign:"top"}})),u=o("div")({overflowX:"auto",table:{borderCollapse:"collapse",inlineSize:"100%"}}),g={a:({node:o,children:n,href:i,...a})=>{if(null==i||!d(i))return r("a",{...a,href:i,target:"_blank",rel:"noopener noreferrer",children:n});let t=m(i);return null==t?r(e,{children:n}):r(l,{id:t,children:n})},table:({node:e,children:o,...n})=>r(u,{children:r("table",{...n,children:o})})},h=[t],f=r=>d(r)?r:a(r),b=["img"];export const AssistantMarkdown=n(({markdown:e,isStreaming:o})=>r(p,{children:r(i,{components:g,remarkPlugins:h,disallowedElements:b,urlTransform:f,children:o?s(e):e})}));
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * The conversation: user bubbles, assistant Markdown, tool chips, and what the panel
3
- * has to say itself, which is a greeting for an empty thread, a "Thinking…" line and a failure with
4
- * its way out. It follows a streaming reply until the user scrolls up.
3
+ * has to say itself, which is a line while the thread loads, a greeting for an empty thread, a
4
+ * "Thinking…" line and a failure with its way out. It follows a streaming reply until the user scrolls up.
5
+ *
6
+ * A conversation the assistant continued from a summary is painted whole: the threads that were
7
+ * closed come first, each ended by a separator, and the ones still on the server are loaded one at a
8
+ * time from a control above them.
5
9
  */
6
10
  export declare const AssistantThread: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{Button as t,styled as s}from"@mui/material";import{useMemo as r}from"react";import{match as n}from"ts-pattern";import{useEagerObservableValue as o}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{useConfigurator as d}from"../../application-runtime/index.js";import{AssistantToolChips as m}from"./AssistantChips.js";import{AssistantMarkdown as p}from"./AssistantMarkdown.js";import{describeAssistantFailure as c}from"./assistant-failure.js";import{AssistantPanelName as h}from"./theme.js";import{buildThreadView as g}from"./thread-items.js";import{useFollowStream as u}from"./use-follow-stream.js";let f=s("div",{name:h,slot:"thread"})({display:"grid",position:"relative"}),k=s("div",{name:h,slot:"messages"})(({theme:{spacing:e,typography:i}})=>({...i.body2,display:"flex",flexDirection:"column",gap:e(1.5),overflowY:"auto",overscrollBehavior:"contain",paddingBlock:e(2),paddingInline:`var(--phx-sidebar-padding, ${e(2)})`,"& > :first-child":{marginBlockStart:"auto"}})),v=s("div",{name:h,slot:"userMessage"})(({theme:{palette:e,spacing:i}})=>({alignSelf:"flex-end",background:`hsl(from ${e.primary.main} h s l / 12%)`,borderRadius:"14px 14px 4px 14px",maxInlineSize:"85%",overflowWrap:"anywhere",paddingBlock:i(1),paddingInline:i(1.5),whiteSpace:"pre-wrap"})),w=s("div",{name:h,slot:"greeting"})({}),b=s("div",{name:h,slot:"status"})(({theme:{palette:e,typography:i}})=>({...i.caption,color:e.text.secondary})),x=s("div",{name:h,slot:"notice"})(({theme:{palette:e,shape:i,spacing:a}})=>({alignItems:"center",background:e.action.hover,borderRadius:i.borderRadius,display:"flex",flexWrap:"wrap",gap:a(1),justifyContent:"space-between",paddingBlock:a(1),paddingInline:a(1.5)})),y=s(t,{name:h,slot:"newReplyButton"})(({theme:{palette:e,spacing:i}})=>({background:e.text.primary,borderRadius:"calc(infinity * 1px)",color:e.background.paper,insetBlockEnd:i(1),insetInlineStart:"50%",position:"absolute",translate:"-50% 0","&:hover":{background:e.text.secondary}})),j=({item:i,isActive:a})=>n(i).with({kind:"user"},({text:i})=>e(v,{children:i})).with({kind:"text"},({markdown:i,isStreaming:a})=>e(p,{markdown:i,isStreaming:a})).with({kind:"tools"},({tools:i})=>e(m,{tools:i,isActive:a})).exhaustive();export const AssistantThread=()=>{let{assistantSystem:s}=d(),m=o(s.chat$),{messages:p,isLoading:h}=m,{items:v,isThinking:T}=r(()=>g(p,h),[p,h]),I=r(()=>v.filter(({kind:e})=>"user"===e).length,[v]),S=m.error?c(m.failedStatus):void 0,{scrollerRef:A,hasUnseenContent:B,handleScroll:R,scrollToEnd:C}=u(r(()=>({messages:p,isThinking:T,failure:S?.kind}),[p,T,S?.kind]),I);return i(f,{children:[i(k,{ref:A,onScroll:R,role:"log","aria-live":"polite",children:[m.isLoaded&&0===v.length&&!h&&!S&&e(w,{children:e(a,{id:"sdk.assistant.thread.greeting",message:"Hi. I can answer questions about this design and change it with you. Tell me what you need."})}),v.map(i=>e(j,{item:i,isActive:h&&i===v.at(-1)},i.id)),T&&e(b,{children:e(a,{id:"sdk.assistant.thread.thinking",message:"Thinking…"})}),S&&i(x,{role:"alert",children:[e("span",{children:n(S.kind).with("notAvailable",()=>e(a,{id:"sdk.assistant.failure.notAvailable",message:"The assistant is not available here."})).with("busy",()=>e(a,{id:"sdk.assistant.failure.busy",message:"The assistant is still working on an earlier message."})).with("unavailable",()=>e(a,{id:"sdk.assistant.failure.unavailable",message:"The assistant is unavailable right now."})).exhaustive()}),S.canRetry&&e(t,{size:"small",variant:"outlined",color:"inherit",onClick:s.reloadThread,children:e(a,{id:"sdk.assistant.failure.retry.label",message:"Try again"})})]})]}),B&&e(y,{size:"small",onClick:C,endIcon:e(l,{name:"CaretDown"}),children:e(a,{id:"sdk.assistant.thread.newReply.label",message:"New reply"})})]})};
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Button as t,styled as s}from"@mui/material";import{useCallback as r,useMemo as n}from"react";import{match as o}from"ts-pattern";import{useEagerObservableValue as l}from"#package/react-sdk";import{PhxIcon as d}from"#package/ui-sdk";import{useConfigurator as m}from"../../application-runtime/index.js";import{AssistantToolChips as c}from"./AssistantChips.js";import{AssistantMarkdown as h}from"./AssistantMarkdown.js";import{describeAssistantFailure as p}from"./assistant-failure.js";import{EntityLinkSelectionProvider as g,useCreateEntityLinkSelection as u}from"./entity-link/index.js";import{AssistantPanelName as k}from"./theme.js";import{buildEarlierThreadItems as f,buildThreadView as v}from"./thread-items.js";import{useFollowStream as w}from"./use-follow-stream.js";let b=s("div",{name:k,slot:"thread"})({display:"grid",position:"relative"}),x=s("div",{name:k,slot:"messages"})(({theme:{spacing:e,typography:a}})=>({...a.body2,display:"flex",flexDirection:"column",gap:e(1.5),overflowY:"auto",overscrollBehavior:"contain",paddingBlock:e(2),paddingInline:`var(--phx-sidebar-padding, ${e(2)})`,"& > :first-child":{marginBlockStart:"auto"}})),y=s("div",{name:k,slot:"userMessage"})(({theme:{palette:e,spacing:a}})=>({alignSelf:"flex-end",background:`hsl(from ${e.primary.main} h s l / 12%)`,borderRadius:"14px 14px 4px 14px",maxInlineSize:"85%",overflowWrap:"anywhere",paddingBlock:a(1),paddingInline:a(1.5),whiteSpace:"pre-wrap"})),S=s("div",{name:k,slot:"greeting"})({}),T=s("div",{name:k,slot:"status"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary})),j=s("div",{name:k,slot:"separator"})(({theme:{palette:e,spacing:a,typography:i}})=>({...i.caption,alignItems:"center",color:e.text.secondary,display:"flex",gap:a(1),"&::before, &::after":{borderBlockStart:`1px solid ${e.divider}`,content:'""',flex:1}})),B=s(t,{name:k,slot:"earlierButton"})({alignSelf:"center"}),E=s("div",{name:k,slot:"notice"})(({theme:{palette:e,shape:a,spacing:i}})=>({alignItems:"center",background:e.action.hover,borderRadius:a.borderRadius,display:"flex",flexWrap:"wrap",gap:i(1),justifyContent:"space-between",paddingBlock:i(1),paddingInline:i(1.5)})),I=s(t,{name:k,slot:"newReplyButton"})(({theme:{palette:e,spacing:a}})=>({background:e.text.primary,borderRadius:"calc(infinity * 1px)",color:e.background.paper,insetBlockEnd:a(1),insetInlineStart:"50%",position:"absolute",translate:"-50% 0","&:hover":{background:e.text.secondary}})),A=({item:a,isActive:t})=>o(a).with({kind:"user"},({text:a})=>e(y,{children:a})).with({kind:"text"},({markdown:a,isStreaming:i})=>e(h,{markdown:a,isStreaming:i})).with({kind:"tools"},({tools:a})=>e(c,{tools:a,isActive:t})).with({kind:"separator"},()=>e(j,{role:"separator",children:e(i,{id:"sdk.assistant.thread.earlierSummarized",message:"Earlier conversation summarized"})})).exhaustive();export const AssistantThread=()=>{let{assistantSystem:s}=m(),c=l(s.chat$),{messages:h,isLoading:k,isResuming:y,earlierThreads:j}=c,{items:C,isThinking:R}=n(()=>v(h,k),[h,k]),L=n(()=>f(j),[j]),z=n(()=>C.filter(({kind:e})=>"user"===e).length,[C]),$=c.error?p(c.failedStatus):void 0,{scrollerRef:D,hasUnseenContent:M,handleScroll:W,scrollToEnd:q}=w(n(()=>({messages:h,isThinking:R,isResuming:y,failure:$?.kind}),[h,R,y,$?.kind]),z),H=u(),N=r(e=>{e.target instanceof Element&&e.target.closest('a, button, input, select, textarea, [role="button"]')||window.getSelection()?.isCollapsed!==!1&&H.release()},[H]),Y=!c.isLoaded&&0===L.length&&!y&&!$;return a(b,{children:[e(g,{selection:H,children:a(x,{ref:D,onScroll:W,onClick:N,role:"log","aria-live":"polite",children:[c.isLoaded&&0===C.length&&0===L.length&&!k&&!y&&!$&&e(S,{children:e(i,{id:"sdk.assistant.thread.greeting",message:"Hi. I can answer questions about this design and change it with you. Tell me what you need."})}),Y&&e(T,{children:e(i,{id:"sdk.assistant.thread.loading",message:"Loading the conversation…"})}),c.isLoadingEarlierThread&&e(T,{children:e(i,{id:"sdk.assistant.thread.loadingEarlier",message:"Loading the earlier conversation…"})}),c.hasEarlierThread&&!c.isLoadingEarlierThread&&e(B,{size:"small",color:"inherit",onClick:s.loadEarlierThread,children:e(i,{id:"sdk.assistant.thread.showEarlier.label",message:"Show earlier conversation"})}),L.map(a=>e(A,{item:a,isActive:!1},a.id)),C.map(a=>e(A,{item:a,isActive:k&&a===C.at(-1)},a.id)),y&&e(T,{children:e(i,{id:"sdk.assistant.thread.resuming",message:"Resuming the conversation…"})}),R&&e(T,{children:e(i,{id:"sdk.assistant.thread.thinking",message:"Thinking…"})}),$&&a(E,{role:"alert",children:[e("span",{children:o($.kind).with("notAvailable",()=>e(i,{id:"sdk.assistant.failure.notAvailable",message:"The assistant is not available here."})).with("busy",()=>e(i,{id:"sdk.assistant.failure.busy",message:"The assistant is still working on an earlier message."})).with("unavailable",()=>e(i,{id:"sdk.assistant.failure.unavailable",message:"The assistant is unavailable right now."})).exhaustive()}),$.canRetry&&e(t,{size:"small",variant:"outlined",color:"inherit",onClick:s.reloadThread,children:e(i,{id:"sdk.assistant.failure.retry.label",message:"Try again"})})]})]})}),M&&e(I,{size:"small",onClick:q,endIcon:e(d,{name:"CaretDown"}),children:e(i,{id:"sdk.assistant.thread.newReply.label",message:"New reply"})})]})};
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type DomainEntityId } from '#package/domain';
3
+ export interface AssistantEntityLinkProps {
4
+ readonly id: DomainEntityId<string>;
5
+ /** The text the assistant gave the link; the id itself is never shown. */
6
+ readonly children: ReactNode;
7
+ }
8
+ /**
9
+ * An entity the assistant named in a reply, shown as its label. It follows the configurator live:
10
+ * a click selects the entity when the scene can select it, the link shows when the entity is
11
+ * selected or hovered in the scene, and it is struck out once the entity is gone.
12
+ */
13
+ export declare const AssistantEntityLink: import("react").MemoExoticComponent<({ id, children }: AssistantEntityLinkProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{alpha as t,styled as i}from"@mui/material";import{memo as n,useCallback as r,useEffect as o,useRef as a}from"react";import{sceneEntitySelectHotspotComponent as l,selectableComponent as c}from"#package/domain";import{useDomain as d,useFirstRenderedComponent as s,useHoveredDomainEntityId as m,useRenderedSelector as u,useSelectEntity as p,useSelectedDomainEntityId as k,useStoreSelector as y}from"#package/react-sdk";import{FrontendAnalyticsFactory as h}from"../../../common/index.js";import{AssistantPanelName as b}from"../theme.js";import{useEntityLinkSelection as g}from"./entity-link-selection.js";import{resolveEntityLinkState as f}from"./entity-link-state.js";let v=({theme:{palette:e,shape:i,spacing:n}})=>({background:e.action.hover,border:"none",borderRadius:i.borderRadius/2,boxDecorationBreak:"clone",color:"inherit",font:"inherit",margin:0,paddingBlock:0,paddingInline:n(.5),textAlign:"inherit",WebkitBoxDecorationBreak:"clone",'&[data-entity-link="interactive"]':{background:t(e.primary.main,e.action.hoverOpacity),color:e.primary.main,cursor:"pointer",'&:hover, &:focus-visible, &[data-hovered="true"]':{background:t(e.primary.main,e.action.focusOpacity)},"&:focus-visible":{outline:`2px solid ${e.primary.main}`,outlineOffset:1}},'&[data-entity-link="missing"]':{background:"none",color:e.text.disabled,paddingInline:0,textDecoration:"line-through"},'&[data-selected="true"]':{boxShadow:`inset 0 0 0 1px ${e.primary.main}`}}),x=i("span",{name:b,slot:"entityLink"})(v),S=i("button",{name:b,slot:"entityLink"})(v),j=({kind:t,isSelected:i,children:n})=>e(x,{"data-entity-link":t,"data-selected":i,children:n}),T=({id:t,isSelected:i,children:n})=>{let{navigationSystem:u}=d(),k=s({entityIds:[t],componentTypes:[c]}),y=s({entityIds:[t],componentTypes:[l]}),{kind:b,canHover:v}=f({isSelectable:null!=k,isHoverDisabled:k?.state.hoverable===!1,hasSelectHotspot:null!=y}),x=m()===t,T=p(h.AssistantEntityLinkClicked),B=g(),E=r(()=>{B?.remember(t),T(t)},[t,B,T]),L=a(!1),D=r(()=>{v&&(L.current=!0,u.debouncedToggleHover(t))},[v,t,u]),H=r(()=>{L.current&&(L.current=!1,u.debouncedToggleHover(null))},[u]),I=r(e=>{"touch"!==e.pointerType&&D()},[D]),A=r(e=>{e.currentTarget.matches(":focus-visible")&&D()},[D]);return(o(()=>H,[v,H,t]),"interactive"!==b)?e(j,{kind:b,isSelected:i,children:n}):e(S,{type:"button","data-entity-link":b,"data-selected":i,"data-hovered":v&&x,"aria-current":i?"true":void 0,onClick:E,onPointerEnter:I,onPointerLeave:H,onFocus:A,onBlur:H,children:n})};export const AssistantEntityLink=n(({id:t,children:i})=>{let{domain:n}=d(),r=y(e=>null!=n.getEntity(t,e.state),[n,t]),o=u(e=>null!=n.getEntity(t,e.state),[n,t]),a=k()===t;return r?o?e(T,{id:t,isSelected:a,children:i}):e(j,{kind:"plain",isSelected:a,children:i}):e(j,{kind:"missing",isSelected:!1,children:i})});
@@ -0,0 +1,22 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { DomainEntityId } from '#package/domain';
3
+ /**
4
+ * The selection an entity link made, held for the thread the links are in. A click elsewhere in
5
+ * the thread takes back what a link selected, so a user can look at an entity and let it go again.
6
+ * A selection made anywhere else, in the scene, a hotspot or the sidebar, is never taken back.
7
+ */
8
+ export interface EntityLinkSelection {
9
+ /** Records that a link is selecting this entity; call it before the select update is committed. */
10
+ readonly remember: (id: DomainEntityId<string>) => void;
11
+ /** Deselects the entity a link selected, when it is still the selected one, and forgets it. */
12
+ readonly release: () => void;
13
+ }
14
+ /** Creates the selection the entity links of one thread share; the thread provides it to them. */
15
+ export declare const useCreateEntityLinkSelection: () => EntityLinkSelection;
16
+ export interface EntityLinkSelectionProviderProps {
17
+ readonly selection: EntityLinkSelection;
18
+ readonly children: ReactNode;
19
+ }
20
+ export declare const EntityLinkSelectionProvider: ({ selection, children }: EntityLinkSelectionProviderProps) => import("react/jsx-runtime").JSX.Element;
21
+ /** The selection of the thread the link is in, or `null` for a link rendered outside a thread. */
22
+ export declare const useEntityLinkSelection: () => EntityLinkSelection | null;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{createContext as e,useCallback as r,useContext as n,useEffect as l,useMemo as c,useRef as i}from"react";import{useDeselect as o,useDomain as u,useSelectedDomainEntityId as a}from"#package/react-sdk";let s=e(null);export const useCreateEntityLinkSelection=()=>{let{storeSystem:t,navigationSystem:e}=u(),n=o(),s=a(),m=i(null);l(()=>{s!==m.current&&(m.current=null)},[s]);let p=r(t=>{m.current=t},[]),S=r(()=>{let r=m.current;m.current=null,null!=r&&e.getActiveSelectionState(t.stateSlices.committed.value.state)===r&&n()},[n,e,t]);return c(()=>({remember:p,release:S}),[p,S])};export const EntityLinkSelectionProvider=({selection:e,children:r})=>t(s.Provider,{value:e,children:r});export const useEntityLinkSelection=()=>n(s);
@@ -0,0 +1,27 @@
1
+ /** What is attached right now to an existing entity that an entity link points at. */
2
+ export interface EntityLinkFacts {
3
+ /** A `selectable` component is attached to the entity under the current filters. */
4
+ readonly isSelectable: boolean;
5
+ /** The attached `selectable` component switches hover off with `hoverable: false`. */
6
+ readonly isHoverDisabled: boolean;
7
+ /** A `sceneEntitySelectHotspot` component is attached to the entity under the current filters. */
8
+ readonly hasSelectHotspot: boolean;
9
+ }
10
+ /**
11
+ * How an entity link shows and behaves:
12
+ *
13
+ * - `missing`: the entity is gone, the link is struck out;
14
+ * - `plain`: the entity exists but nothing in the scene selects it, so the link is only a label;
15
+ * - `interactive`: a click selects the entity, as a click on it or on its hotspot in the scene does.
16
+ */
17
+ export type EntityLinkKind = 'missing' | 'plain' | 'interactive';
18
+ /** The state of a link to an entity that exists; a link to one that is gone is `missing` without it. */
19
+ export interface EntityLinkState {
20
+ readonly kind: Exclude<EntityLinkKind, 'missing'>;
21
+ /**
22
+ * The link sends its hover to the scene and shows the hover of the scene. Only an entity the
23
+ * scene itself can hover takes part, so one that is selected through a hotspot alone does not.
24
+ */
25
+ readonly canHover: boolean;
26
+ }
27
+ export declare const resolveEntityLinkState: (facts: EntityLinkFacts) => EntityLinkState;
@@ -0,0 +1 @@
1
+ export const resolveEntityLinkState=e=>{let{isSelectable:n,isHoverDisabled:t,hasSelectHotspot:i}=e;return n||i?{kind:"interactive",canHover:n&&!t}:{kind:"plain",canHover:!1}};
@@ -0,0 +1,5 @@
1
+ import { type DomainEntityId } from '#package/domain';
2
+ /** True for the target of a link the assistant wrote to point at an entity, `entity:<id>`, whatever follows the scheme. */
3
+ export declare const isEntityLinkHref: (href: string) => boolean;
4
+ /** The entity id an entity link points at, or `null` when what follows the scheme is not a well-formed entity id. */
5
+ export declare const parseEntityLinkTarget: (href: string) => DomainEntityId<string> | null;
@@ -0,0 +1 @@
1
+ import{DomainEntityIdSchema as t}from"#package/domain";let e="entity:",n=new RegExp(t.pattern);export const isEntityLinkHref=t=>t.startsWith(e);export const parseEntityLinkTarget=t=>{let r=t.slice(e.length);return t.startsWith(e)&&n.test(r)?r:null};
@@ -0,0 +1,3 @@
1
+ export { AssistantEntityLink } from './AssistantEntityLink.js';
2
+ export { EntityLinkSelectionProvider, useCreateEntityLinkSelection } from './entity-link-selection.js';
3
+ export { isEntityLinkHref, parseEntityLinkTarget } from './entity-link-target.js';
@@ -0,0 +1 @@
1
+ export{AssistantEntityLink}from"./AssistantEntityLink.js";export{EntityLinkSelectionProvider,useCreateEntityLinkSelection}from"./entity-link-selection.js";export{isEntityLinkHref,parseEntityLinkTarget}from"./entity-link-target.js";
@@ -1,4 +1,5 @@
1
1
  import type { UIMessage } from '@tanstack/ai-client';
2
+ import type { AssistantEarlierThreadSnapshot } from '../../application-runtime/index.js';
2
3
  import { type AssistantToolChip } from './tool-chip.js';
3
4
  /** A tool call of the thread, with what its chip shows and what a click on the chip logs. */
4
5
  export interface AssistantToolItem {
@@ -8,8 +9,9 @@ export interface AssistantToolItem {
8
9
  readonly result: unknown;
9
10
  }
10
11
  /**
11
- * One block of the thread, in reading order: a user bubble, a stretch of assistant Markdown, or a
12
- * row of chips for the tool calls that follow each other without text in between.
12
+ * One block of the thread, in reading order: a user bubble, a stretch of assistant Markdown, a row
13
+ * of chips for the tool calls that follow each other without text in between, or the line that
14
+ * ends a closed thread of the conversation.
13
15
  */
14
16
  export type AssistantThreadItem = {
15
17
  readonly kind: 'user';
@@ -24,6 +26,9 @@ export type AssistantThreadItem = {
24
26
  readonly kind: 'tools';
25
27
  readonly id: string;
26
28
  readonly tools: readonly AssistantToolItem[];
29
+ } | {
30
+ readonly kind: 'separator';
31
+ readonly id: string;
27
32
  };
28
33
  export interface AssistantThreadView {
29
34
  readonly items: readonly AssistantThreadItem[];
@@ -35,3 +40,9 @@ export interface AssistantThreadView {
35
40
  * results are not shown on their own but decide the state of the chip of their call.
36
41
  */
37
42
  export declare const buildThreadView: (messages: ReadonlyArray<UIMessage>, isReplying: boolean) => AssistantThreadView;
43
+ /**
44
+ * Lays the closed threads of the conversation out above the thread that continues them, oldest
45
+ * first, each ended by a separator: the assistant read on from a summary of it, not from the
46
+ * messages themselves.
47
+ */
48
+ export declare const buildEarlierThreadItems: (earlierThreads: ReadonlyArray<AssistantEarlierThreadSnapshot>) => readonly AssistantThreadItem[];
@@ -1 +1 @@
1
- import{describeToolCall as t}from"./tool-chip.js";let e=t=>{try{return JSON.parse(t)}catch{return t}},r=t=>t.map(t=>"text"===t.type?t.content:"").join("").trim();export const buildThreadView=(o,n)=>{let l=(t=>{let r=new Map;for(let o of t)for(let t of o.parts)"tool-result"===t.type&&r.set(t.toolCallId,{result:"string"==typeof t.content?e(t.content):t.content,error:"error"===t.state?t.error??"The tool call failed.":void 0});return r})(o),i=[],s=o.at(-1),a=t=>{let e=i.at(-1);e?.kind==="tools"?i[i.length-1]={...e,tools:[...e.tools,t]}:i.push({kind:"tools",id:t.id,tools:[t]})};for(let e of o){if("user"===e.role){let t=r(e.parts);t&&i.push({kind:"user",id:e.id,text:t});continue}let o=n&&e===s;e.parts.forEach((r,n)=>{let s=`${e.id}:${n}`;if("text"===r.type){if(r.content.trim()){let t=o&&n===e.parts.length-1;i.push({kind:"text",id:s,markdown:r.content,isStreaming:t})}return}if("tool-call"!==r.type)return;let p=l.get(r.id),d=r.input,u=r.output??p?.result;a({id:r.id,input:d,result:u,chip:t({name:r.name,input:d,result:u,error:p?.error,isReplyRunning:o})})})}let p=i.at(-1),d=s?.role==="assistant"&&(p?.kind==="text"&&p.isStreaming||p?.kind==="tools");return{items:i,isThinking:n&&!d}};
1
+ import{describeToolCall as t}from"./tool-chip.js";let e=t=>{try{return JSON.parse(t)}catch{return t}},r=t=>t.map(t=>"text"===t.type?t.content:"").join("").trim();export const buildThreadView=(o,i)=>{let l=(t=>{let r=new Map;for(let o of t)for(let t of o.parts)"tool-result"===t.type&&r.set(t.toolCallId,{result:"string"==typeof t.content?e(t.content):t.content,error:"error"===t.state?t.error??"The tool call failed.":void 0});return r})(o),n=[],a=o.at(-1),s=t=>{let e=n.at(-1);e?.kind==="tools"?n[n.length-1]={...e,tools:[...e.tools,t]}:n.push({kind:"tools",id:t.id,tools:[t]})};for(let e of o){if("user"===e.role){let t=r(e.parts);t&&n.push({kind:"user",id:e.id,text:t});continue}let o=i&&e===a;e.parts.forEach((r,i)=>{let a=`${e.id}:${i}`;if("text"===r.type){if(r.content.trim()){let t=o&&i===e.parts.length-1;n.push({kind:"text",id:a,markdown:r.content,isStreaming:t})}return}if("tool-call"!==r.type)return;let d=l.get(r.id),p=r.input,u=r.output??d?.result;s({id:r.id,input:p,result:u,chip:t({name:r.name,input:p,result:u,error:d?.error,isReplyRunning:o})})})}let d=n.at(-1),p=a?.role==="assistant"&&(d?.kind==="text"&&d.isStreaming||d?.kind==="tools");return{items:n,isThinking:i&&!p}};export const buildEarlierThreadItems=t=>t.flatMap(({threadId:t,messages:e})=>[...buildThreadView(e,!1).items.map(e=>({...e,id:`${t}:${e.id}`})),{kind:"separator",id:`${t}:separator`}]);
@@ -1,3 +1,4 @@
1
+ import { type AssistantToolErrorCode } from '@salsita-ai/contracts/assistant';
1
2
  /**
2
3
  * How a tool call of the assistant looks in the thread: still running, finished, a change that was
3
4
  * not kept (`failed`), or a read that answered with errors (`flawed`), which matters less because
@@ -16,6 +17,11 @@ export type AssistantToolChipLabel = {
16
17
  export interface AssistantToolChip {
17
18
  readonly label: AssistantToolChipLabel;
18
19
  readonly state: AssistantToolChipState;
20
+ /**
21
+ * Why the server recorded an error in place of the call's result, when it said so with a code this
22
+ * panel knows. Nothing for a call that went wrong for any other reason.
23
+ */
24
+ readonly errorCode: AssistantToolErrorCode | undefined;
19
25
  }
20
26
  /** A tool call of a message as the chip reads it. */
21
27
  export interface AssistantToolCall {
@@ -32,6 +38,7 @@ export interface AssistantToolCall {
32
38
  /**
33
39
  * Describes one tool call for its chip: the label in the order operation names, fixed text for the
34
40
  * `apply` and `query` tools, tool name; and whether the call runs, finished, or went wrong. Why it
35
- * went wrong is not part of it: the tool result words that for the model, not for the user.
41
+ * went wrong is part of it only as the code of an error the server recorded: the text of a tool
42
+ * result is worded for the model, not for the user.
36
43
  */
37
44
  export declare const describeToolCall: (call: AssistantToolCall) => AssistantToolChip;
@@ -1 +1 @@
1
- import{Kind as e,parse as t}from"graphql";import{z as n}from"zod";import{applyTool as r,queryTool as a}from"@salsita-ai/contracts/assistant";let o=n.object({operations:n.array(n.object({query:n.string(),operationName:n.string().nullish()}))}),i=n.object({results:n.array(n.object({errors:n.array(n.unknown()).optional()})),committed:n.boolean()});export const describeToolCall=n=>{let s=(({name:n,input:i})=>{let s,l=(s=o.safeParse(i)).success?s.data.operations.flatMap(({query:n,operationName:r})=>r??(n=>{try{let r=t(n).definitions.find(t=>t.kind===e.OPERATION_DEFINITION);return r?.kind===e.OPERATION_DEFINITION?r.name?.value:void 0}catch{return}})(n)??[]):[];return l.length>0?{kind:"text",text:l.join(", ")}:n===r.name?{kind:"updateDesign"}:n===a.name?{kind:"readDesign"}:{kind:"text",text:n}})(n);return null==n.result&&null==n.error?{label:s,state:n.isReplyRunning?"running":"done"}:{label:s,state:(({name:e,result:t,error:n})=>{if(null!=n)return e===a.name?"flawed":"failed";let o=i.safeParse(t);if(!o.success)return"done";let{results:s,committed:l}=o.data;return e===r.name?l?"done":"failed":s.some(({errors:e})=>(e?.length??0)>0)||0===s.length?"flawed":"done"})(n)}};
1
+ import{Kind as e,parse as t}from"graphql";import{z as n}from"zod";import{ASSISTANT_TOOL_ERROR_CODES as r,AssistantToolError as a,applyTool as i,queryTool as o}from"@salsita-ai/contracts/assistant";let l=n.object({operations:n.array(n.object({query:n.string(),operationName:n.string().nullish()}))}),s=n.object({results:n.array(n.object({errors:n.array(n.unknown()).optional()})),committed:n.boolean()});export const describeToolCall=n=>{let d=(({name:n,input:r})=>{let a,s=(a=l.safeParse(r)).success?a.data.operations.flatMap(({query:n,operationName:r})=>r??(n=>{try{let r=t(n).definitions.find(t=>t.kind===e.OPERATION_DEFINITION);return r?.kind===e.OPERATION_DEFINITION?r.name?.value:void 0}catch{return}})(n)??[]):[];return s.length>0?{kind:"text",text:s.join(", ")}:n===i.name?{kind:"updateDesign"}:n===o.name?{kind:"readDesign"}:{kind:"text",text:n}})(n);if(null==n.result&&null==n.error)return{label:d,state:n.isReplyRunning?"running":"done",errorCode:void 0};let u=(e=>{let t=a.safeParse(e);if(t.success)return r.find(e=>e===t.data.code)})(n.result);return{label:d,state:(({name:e,result:t,error:n},r)=>{if(null!=n||null!=r)return e===o.name?"flawed":"failed";if(e!==i.name&&e!==o.name)return"done";let a=s.safeParse(t);if(!a.success)return e===o.name?"flawed":"failed";let{results:l,committed:d}=a.data;return e===i.name?d?"done":"failed":l.some(({errors:e})=>(e?.length??0)>0)||0===l.length?"flawed":"done"})(n,u),errorCode:u}};
@@ -0,0 +1 @@
1
+ export { SidebarKeys } from './sidebar-keys.js';
@@ -0,0 +1 @@
1
+ export{SidebarKeys}from"./sidebar-keys.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Values of the desktop sidebar's `data-sidebar` attribute: its variants and states. The sidebar writes
3
+ * them; the built-in desktop layout's rules react to them.
4
+ */
5
+ export declare const SidebarKeys: {
6
+ readonly Minimalist: 'minimalist';
7
+ readonly Split: 'split';
8
+ readonly Visible: 'visible';
9
+ readonly Hidden: 'hidden';
10
+ readonly Assistant: 'assistant';
11
+ };
@@ -0,0 +1 @@
1
+ export const SidebarKeys={Minimalist:"minimalist",Split:"split",Visible:"visible",Hidden:"hidden",Assistant:"assistant"};