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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1291) hide show
  1. package/README.md +20 -12
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +15 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +18 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  39. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  40. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  41. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  42. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  43. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  44. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  45. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  46. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  47. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  48. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  49. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  50. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +2 -2
  51. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -13
  52. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  53. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  55. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  57. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  58. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  59. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.d.ts +3 -1
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +68 -64
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  63. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +6 -0
  64. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  66. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  67. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  68. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  69. package/dist/application-spec/generate-application/code/templates/domain-spec.js +11 -11
  70. package/dist/application-spec/generate-application/code/templates/domain.js +4 -4
  71. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.d.ts +11 -0
  72. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +8 -0
  73. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  74. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  75. package/dist/application-spec/generate-application/code/templates/globals.js +6 -4
  76. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -7
  77. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  78. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  79. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +95 -41
  81. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +39 -16
  82. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +13 -5
  83. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  84. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +42 -13
  87. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
  88. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  89. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  90. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +1 -3
  91. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +3 -3
  92. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  93. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +14 -0
  94. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.js +1 -0
  95. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  96. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  97. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  98. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  99. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  100. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  101. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +1 -0
  102. package/dist/application-spec/generate-application/runtime/sections/index.js +1 -1
  103. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  104. package/dist/application-spec/index.d.ts +1 -0
  105. package/dist/application-spec/index.js +1 -1
  106. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +3 -1
  107. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  108. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  109. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  110. package/dist/application-spec/parse-application-files/merge/index.d.ts +1 -0
  111. package/dist/application-spec/parse-application-files/merge/index.js +1 -1
  112. package/dist/application-spec/parse-application-files/merge/merged-actions.d.ts +11 -0
  113. package/dist/application-spec/parse-application-files/merge/merged-actions.js +1 -0
  114. package/dist/application-spec/parse-application-files/merge/merged-spec.d.ts +2 -0
  115. package/dist/application-spec/parse-application-files/merge/merged-spec.js +1 -1
  116. package/dist/application-spec/parse-application-files/raw-spec/index.d.ts +1 -0
  117. package/dist/application-spec/parse-application-files/raw-spec/index.js +1 -1
  118. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.d.ts +18 -0
  119. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.js +1 -0
  120. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +29 -4
  121. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  122. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.d.ts +2 -0
  123. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  124. package/dist/application-spec/parse-application-files/resolve/resolve-import-modules.js +1 -1
  125. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  126. package/dist/application-spec/parse-application-files/spec/application/application-spec.js +1 -1
  127. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.d.ts +4 -2
  128. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  129. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  130. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  131. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.d.ts +23 -0
  132. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.js +1 -0
  133. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  134. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  135. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  136. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  137. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  138. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  139. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  140. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  141. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  142. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  143. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  144. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  145. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  146. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  147. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  148. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  149. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +10 -0
  150. package/dist/application-spec/parse-application-files/spec/model/names/action-name.js +1 -0
  151. package/dist/application-spec/parse-application-files/spec/model/names/index.d.ts +1 -0
  152. package/dist/application-spec/parse-application-files/spec/model/names/index.js +1 -1
  153. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  154. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  155. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  156. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  157. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  158. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  159. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +35 -0
  160. package/dist/application-spec/parse-application-files/spec/sections/actions.js +1 -0
  161. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +5 -21
  162. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  163. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +14 -39
  164. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  165. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  166. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -19
  167. package/dist/application-spec/parse-application-files/spec/sections/index.d.ts +1 -0
  168. package/dist/application-spec/parse-application-files/spec/sections/index.js +1 -1
  169. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  170. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  171. package/dist/client/authorized-client.d.ts +3 -1
  172. package/dist/client/authorized-client.js +1 -1
  173. package/dist/client/contract.d.ts +34 -0
  174. package/dist/client/contract.js +1 -1
  175. package/dist/client/index.d.ts +2 -2
  176. package/dist/client/index.js +1 -1
  177. package/dist/client/local-authorized-client.d.ts +3 -1
  178. package/dist/client/local-authorized-client.js +1 -1
  179. package/dist/client/memory-authorized-client.d.ts +3 -1
  180. package/dist/client/memory-authorized-client.js +1 -1
  181. package/dist/client/phoenix-api.d.ts +367 -30
  182. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  183. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  184. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  185. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +247 -13
  186. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  187. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  188. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  189. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +8 -3
  190. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  191. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  192. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  193. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  194. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +30 -5
  195. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  196. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  197. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  198. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  199. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  200. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  201. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +4 -2
  202. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  203. package/dist/configurator/common/configurator-interface.d.ts +11 -1
  204. package/dist/configurator/common/configurator-interface.js +1 -1
  205. package/dist/configurator/common/frontend-analytics.d.ts +23 -21
  206. package/dist/configurator/common/frontend-analytics.js +1 -1
  207. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  208. package/dist/configurator/index.d.ts +0 -1
  209. package/dist/configurator/index.js +1 -1
  210. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  211. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  212. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  213. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  214. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  215. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  216. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  217. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  218. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  219. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  220. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  221. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  222. package/dist/configurator/ui/assistant/AssistantChips.d.ts +11 -0
  223. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  224. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  225. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  226. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  227. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  228. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  229. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  230. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  231. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  232. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  233. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  234. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  235. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  236. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  237. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  238. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  239. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  240. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  241. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  242. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  243. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  244. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  245. package/dist/configurator/ui/assistant/index.js +1 -0
  246. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  247. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  248. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  249. package/dist/configurator/ui/assistant/theme.js +1 -0
  250. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  251. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  252. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  253. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  254. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  255. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  256. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  257. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  258. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  259. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  260. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  261. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  262. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  263. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  264. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  265. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  266. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  267. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  268. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  269. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  270. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  271. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  272. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  273. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  274. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  275. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  276. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +3 -3
  277. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  278. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  279. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  280. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  281. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  282. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  283. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  284. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  285. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  286. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  287. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  288. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  289. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  290. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  291. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  292. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  293. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  294. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  295. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  296. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  297. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  298. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  299. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  300. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  301. package/dist/docs/index.json +53 -2
  302. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  303. package/dist/docs/layouts/custom-layout.mdx +1164 -0
  304. package/dist/docs/layouts/custom-price.mdx +14 -16
  305. package/dist/docs/layouts/header/fixed.mdx +2 -2
  306. package/dist/docs/layouts/header/floating.mdx +2 -2
  307. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  308. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  309. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  310. package/dist/docs/layouts/toolbar.mdx +6 -0
  311. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  312. package/dist/docs/other-features/domain-actions.mdx +418 -0
  313. package/dist/docs/other-features/side-effects.mdx +76 -45
  314. package/dist/docs/other-features/transformers.mdx +5 -1
  315. package/dist/docs/other-features/violation-messages.mdx +52 -56
  316. package/dist/docs/phoenix/admin.mdx +11 -26
  317. package/dist/docs/phoenix/application-states.mdx +9 -7
  318. package/dist/docs/phoenix/best-practices.mdx +1 -0
  319. package/dist/docs/phoenix/configurator-interface.mdx +184 -80
  320. package/dist/docs/phoenix/deployments.mdx +1 -1
  321. package/dist/docs/phoenix/domain-model.mdx +4 -0
  322. package/dist/docs/phoenix/expression-context.mdx +11 -3
  323. package/dist/docs/phoenix/finalization.mdx +2 -2
  324. package/dist/docs/phoenix/getting-started.mdx +1 -1
  325. package/dist/docs/phoenix/integration/headless-mode-external.mdx +5 -5
  326. package/dist/docs/phoenix/integration/widget-mode-external.mdx +5 -5
  327. package/dist/docs/phoenix/layout-slots.mdx +114 -0
  328. package/dist/docs/phoenix/localization.mdx +3 -22
  329. package/dist/docs/phoenix/phoenix-cli.mdx +183 -66
  330. package/dist/docs/phoenix/project-structure.mdx +29 -12
  331. package/dist/docs/phoenix/quickstart.mdx +2 -2
  332. package/dist/docs/phoenix/sdk-builder-workflow.mdx +15 -13
  333. package/dist/docs/phoenix/testing.mdx +140 -0
  334. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  335. package/dist/docs/phoenix/webhooks.mdx +2 -2
  336. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  337. package/dist/docs/relations/hierarchy.mdx +13 -2
  338. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  339. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  340. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  341. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  342. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  343. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  344. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  345. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  346. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  347. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  348. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  349. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  350. package/dist/domain/admin-domain/index.d.ts +9 -5
  351. package/dist/domain/admin-domain/index.js +1 -1
  352. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  353. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  354. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  355. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  356. package/dist/domain/application/application-config.d.ts +28 -95
  357. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  358. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  359. package/dist/domain/application/assistant/assistant-manifest.d.ts +71 -0
  360. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +131 -0
  361. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -0
  362. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  363. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  364. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  365. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  366. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  367. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  368. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  369. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  370. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  371. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  372. package/dist/domain/application/assistant/index.d.ts +9 -0
  373. package/dist/domain/application/assistant/index.js +1 -0
  374. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  375. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  376. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  377. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  378. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  379. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  380. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  381. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  382. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  383. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  384. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  385. package/dist/domain/application/assistant-mutations.d.ts +16 -17
  386. package/dist/domain/application/assistant-mutations.js +1 -1
  387. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  388. package/dist/domain/application/configurator-builder.d.ts +33 -18
  389. package/dist/domain/application/configurator-builder.js +1 -1
  390. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  391. package/dist/domain/application/index.d.ts +3 -6
  392. package/dist/domain/application/index.js +1 -1
  393. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  394. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  395. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  396. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  397. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  398. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  399. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  400. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  401. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  402. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  403. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  404. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  405. package/dist/domain/available-system-components.js +1 -1
  406. package/dist/domain/core/action/action-factory.d.ts +11 -0
  407. package/dist/domain/core/action/action-factory.js +1 -0
  408. package/dist/domain/core/action/action.d.ts +71 -0
  409. package/dist/domain/core/action/index.d.ts +2 -0
  410. package/dist/domain/core/action/index.js +1 -0
  411. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  412. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  413. package/dist/domain/core/component/debug-state-component.js +1 -0
  414. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  415. package/dist/domain/core/component/domain-component-optic.js +16 -0
  416. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  417. package/dist/domain/core/component/drag-state-component.js +1 -0
  418. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  419. package/dist/domain/core/component/export-state-component.js +1 -0
  420. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  421. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  422. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  423. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  424. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  425. package/dist/domain/core/component/hover-state-component.js +1 -0
  426. package/dist/domain/core/component/index.d.ts +18 -0
  427. package/dist/domain/core/component/index.js +1 -0
  428. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  429. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  430. package/dist/domain/core/component/navigation-state-component.js +1 -0
  431. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  432. package/dist/domain/core/component/selection-state-component.js +1 -0
  433. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  434. package/dist/domain/core/component/system-component-builder.js +1 -0
  435. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
  436. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  437. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  438. package/dist/domain/core/component/tool-state-component.js +1 -0
  439. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  440. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  441. package/dist/domain/core/component/view-state-component.js +1 -0
  442. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  443. package/dist/domain/core/component/viewport-state-component.js +1 -0
  444. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  445. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  446. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  447. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  448. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  449. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  450. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  451. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  452. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  453. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  454. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  455. package/dist/domain/core/data-schema/data-schema.js +1 -0
  456. package/dist/domain/core/data-schema/index.d.ts +7 -0
  457. package/dist/domain/core/data-schema/index.js +1 -0
  458. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  459. package/dist/domain/core/decoder/create-decoder.js +1 -0
  460. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  461. package/dist/domain/core/decoder/decoder.js +1 -0
  462. package/dist/domain/core/decoder/index.d.ts +2 -0
  463. package/dist/domain/core/decoder/index.js +1 -0
  464. package/dist/domain/core/domain-factory.d.ts +7 -4
  465. package/dist/domain/core/domain-factory.js +1 -1
  466. package/dist/domain/core/domain.d.ts +4 -5
  467. package/dist/domain/core/domain.js +1 -1
  468. package/dist/domain/core/emission/index.d.ts +8 -0
  469. package/dist/domain/core/emission/index.js +1 -0
  470. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  471. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  472. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  473. package/dist/domain/core/emission/state-emission.js +1 -0
  474. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  475. package/dist/domain/core/emission/state-update-emission.js +1 -0
  476. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  477. package/dist/domain/core/emission/state-validation-result.js +1 -0
  478. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  479. package/dist/domain/core/emission/transformation-log.js +1 -0
  480. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  481. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  482. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  483. package/dist/domain/core/emission/transformer-log.js +1 -0
  484. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  485. package/dist/domain/core/emission/transformer-phase.js +1 -0
  486. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  487. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  488. package/dist/domain/core/expression/constant-expressions.d.ts +16 -0
  489. package/dist/domain/core/expression/constant-expressions.js +1 -0
  490. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  491. package/dist/domain/core/expression/custom-expression.js +1 -0
  492. package/dist/domain/core/expression/expression.d.ts +46 -0
  493. package/dist/domain/core/expression/expression.js +1 -0
  494. package/dist/domain/core/expression/index.d.ts +4 -0
  495. package/dist/domain/core/expression/index.js +1 -0
  496. package/dist/domain/core/index.d.ts +13 -16
  497. package/dist/domain/core/index.js +1 -1
  498. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  499. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  500. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  501. package/dist/domain/core/invariant/index.d.ts +5 -0
  502. package/dist/domain/core/invariant/index.js +1 -0
  503. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  504. package/dist/domain/core/invariant/invariants.js +1 -0
  505. package/dist/domain/core/invariant/violation-component.js +1 -0
  506. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  507. package/dist/domain/core/invariant/violation.js +1 -0
  508. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  509. package/dist/domain/core/model/index.d.ts +6 -0
  510. package/dist/domain/core/model/index.js +1 -0
  511. package/dist/domain/core/{model.d.ts → model/model.d.ts} +1 -1
  512. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  513. package/dist/domain/core/model/reflection.js +1 -0
  514. package/dist/domain/core/recipe/index.d.ts +1 -0
  515. package/dist/domain/core/recipe/index.js +1 -0
  516. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  517. package/dist/domain/core/recipe/recipes.js +1 -0
  518. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  519. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  520. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  521. package/dist/domain/core/relation/component-factories.js +1 -0
  522. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  523. package/dist/domain/core/relation/composed-of.js +1 -0
  524. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  525. package/dist/domain/core/relation/index.d.ts +8 -0
  526. package/dist/domain/core/relation/index.js +1 -0
  527. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  528. package/dist/domain/core/relation/indirect-relation.js +1 -0
  529. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  530. package/dist/domain/core/relation/reference-component.js +1 -0
  531. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  532. package/dist/domain/core/relation/reference-field.js +1 -0
  533. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  534. package/dist/domain/core/relation/relation-factory.js +1 -0
  535. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  536. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  537. package/dist/domain/core/schema/index.d.ts +3 -0
  538. package/dist/domain/core/schema/index.js +1 -0
  539. package/dist/domain/core/schema/schema-validator.js +1 -0
  540. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  541. package/dist/domain/core/state/id-sequence.js +1 -0
  542. package/dist/domain/core/state/index.d.ts +3 -0
  543. package/dist/domain/core/state/index.js +1 -0
  544. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  545. package/dist/domain/core/state/migrations.js +1 -0
  546. package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
  547. package/dist/domain/domain-builder.d.ts +16 -9
  548. package/dist/domain/domain-builder.js +1 -1
  549. package/dist/domain/domain-context/action-system/action-system.d.ts +38 -0
  550. package/dist/domain/domain-context/action-system/action-system.js +1 -0
  551. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  552. package/dist/domain/domain-context/action-system/index.js +1 -0
  553. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  554. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  555. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  556. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  557. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  558. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  559. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  560. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  561. package/dist/domain/domain-context/domain-context-systems.d.ts +11 -10
  562. package/dist/domain/domain-context/index.d.ts +8 -17
  563. package/dist/domain/domain-context/index.js +1 -1
  564. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  565. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  566. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  567. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  568. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  569. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  570. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  571. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  572. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  573. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  574. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  575. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  576. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  577. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  578. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  579. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  580. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  581. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  582. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  583. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  584. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  585. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  586. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  587. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  588. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  589. package/dist/domain/domain-context/store-system/index.js +1 -0
  590. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  591. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  592. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  593. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  594. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  595. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  596. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  597. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  598. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  599. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  600. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  601. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  602. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  603. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  604. package/dist/domain/domain-context/transformers/context.js +1 -1
  605. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  606. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  607. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  608. package/dist/domain/domain-context/transformers/index.js +1 -1
  609. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  610. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  611. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  612. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  613. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  614. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  615. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  616. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  617. package/dist/domain/domain-runtime/access/types.js +1 -1
  618. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  619. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  620. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  621. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  622. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  623. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  624. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  625. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  626. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  627. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  628. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +22 -24
  629. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  630. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  631. package/dist/domain/domain-runtime/domain-runtime.d.ts +100 -72
  632. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  633. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  634. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  635. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  636. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  637. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  638. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  639. package/dist/domain/domain-runtime/errors/index.js +1 -0
  640. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  641. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  642. package/dist/domain/domain-runtime/index.d.ts +1 -0
  643. package/dist/domain/domain-runtime/index.js +1 -1
  644. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  645. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  646. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  647. package/dist/domain/domain-runtime/spec/index.js +1 -1
  648. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  649. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  650. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  651. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  652. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  653. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  654. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  655. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  656. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  657. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +32 -0
  658. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  659. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  660. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  661. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  662. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  663. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  664. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  665. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  666. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  667. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  668. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  669. package/dist/domain/domain-runtime/spec/prepare-action-implementations.d.ts +15 -0
  670. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  671. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  672. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  673. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  674. package/dist/domain/domain-runtime/spec/types.d.ts +20 -6
  675. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  676. package/dist/domain/extensions/angle-indicator.js +1 -0
  677. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  678. package/dist/domain/extensions/attribute-switch.js +1 -0
  679. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  680. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  681. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  682. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  683. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  684. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  685. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +2 -2
  686. package/dist/domain/extensions/canvas-config.js +1 -0
  687. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  688. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  689. package/dist/domain/extensions/canvas-padding.js +1 -0
  690. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  691. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  692. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  693. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  694. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  695. package/dist/domain/extensions/client-side-image.js +1 -0
  696. package/dist/domain/extensions/color-value.js +1 -0
  697. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  698. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  699. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +3 -3
  700. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  701. package/dist/domain/extensions/common/index.d.ts +4 -0
  702. package/dist/domain/extensions/common/index.js +1 -0
  703. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  704. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  705. package/dist/domain/extensions/custom-price-footer.js +1 -0
  706. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  707. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  708. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  709. package/dist/domain/extensions/dimension-indicator.js +1 -0
  710. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +4 -3
  711. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  712. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +4 -3
  713. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  714. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +4 -3
  715. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  716. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  717. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  718. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  719. package/dist/domain/extensions/entity-header.js +1 -0
  720. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  721. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  722. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  723. package/dist/domain/extensions/finalize-action.js +1 -0
  724. package/dist/domain/extensions/finalize-component.js +1 -0
  725. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  726. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  727. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  728. package/dist/domain/extensions/fixed-header.js +1 -0
  729. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  730. package/dist/domain/extensions/floating-header.js +1 -0
  731. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  732. package/dist/domain/extensions/hidden-header.js +1 -0
  733. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  734. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  735. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +3 -3
  736. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  737. package/dist/domain/extensions/index.d.ts +69 -0
  738. package/dist/domain/extensions/index.js +1 -0
  739. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +4 -3
  740. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  741. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  742. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  743. package/dist/domain/extensions/navigation-steps.js +1 -0
  744. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  745. package/dist/domain/extensions/offset-anchors.js +1 -0
  746. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  747. package/dist/domain/extensions/offset-indicator.js +1 -0
  748. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  749. package/dist/domain/extensions/offset.js +1 -0
  750. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  751. package/dist/domain/extensions/other-action.js +1 -0
  752. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  753. package/dist/domain/extensions/property-page.js +1 -0
  754. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  755. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  756. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  757. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  758. package/dist/domain/extensions/rotatable.js +1 -0
  759. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  760. package/dist/domain/extensions/rotation-handle.js +1 -0
  761. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  762. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  763. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  764. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  765. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  766. package/dist/domain/extensions/scene-entity-control.js +1 -0
  767. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  768. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  769. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  770. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  771. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  772. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  773. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  774. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  775. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  776. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  777. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  778. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  779. package/dist/domain/extensions/selectable-component.js +1 -0
  780. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  781. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  782. package/dist/domain/extensions/simple-summary.js +1 -0
  783. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  784. package/dist/domain/extensions/size.js +1 -0
  785. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  786. package/dist/domain/extensions/sketching-draw.js +1 -0
  787. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  788. package/dist/domain/extensions/sketching-edit.js +1 -0
  789. package/dist/domain/extensions/summary-component.js +1 -0
  790. package/dist/domain/extensions/text-value.js +1 -0
  791. package/dist/domain/extensions/tool-controls.js +1 -0
  792. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  793. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  794. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  795. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  796. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  797. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  798. package/dist/domain/extensions/view-controls.js +1 -0
  799. package/dist/domain/index.d.ts +2 -30
  800. package/dist/domain/index.js +1 -1
  801. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  802. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  803. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +36 -21
  804. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  805. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  806. package/dist/domain/mocks/create-mock-domain.js +1 -1
  807. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  808. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  809. package/dist/domain/mocks/create-test-application-config.js +1 -0
  810. package/dist/domain/mocks/index.d.ts +1 -0
  811. package/dist/domain/mocks/index.js +1 -1
  812. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  813. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  814. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  815. package/dist/domain/projections/collision-projections.d.ts +1 -1
  816. package/dist/domain/projections/composition-projections.d.ts +1 -1
  817. package/dist/domain/projections/composition-projections.js +1 -1
  818. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  819. package/dist/domain/projections/index.d.ts +1 -1
  820. package/dist/domain/projections/position-projections.d.ts +1 -1
  821. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  822. package/dist/domain/projections/snap-matching.d.ts +1 -2
  823. package/dist/domain/projections/snap-utils.d.ts +1 -2
  824. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  825. package/dist/domain/projections/validation-projections.d.ts +3 -20
  826. package/dist/domain/projections/validation-projections.js +1 -1
  827. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  828. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  829. package/dist/domain/system-components/admin-sidebar.js +1 -1
  830. package/dist/domain/system-components/angle-dimension.js +1 -1
  831. package/dist/domain/system-components/application-config.d.ts +3 -3
  832. package/dist/domain/system-components/application-config.js +1 -1
  833. package/dist/domain/system-components/attribute-selection.js +1 -1
  834. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  835. package/dist/domain/system-components/bounding-box-component.js +1 -1
  836. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  837. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  838. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  839. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  840. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  841. package/dist/domain/system-components/child-entity-selection.js +1 -1
  842. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  843. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  844. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  845. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  846. package/dist/domain/system-components/collision-geometry.js +1 -1
  847. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  848. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  849. package/dist/domain/system-components/common/index.d.ts +0 -4
  850. package/dist/domain/system-components/common/index.js +1 -1
  851. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  852. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  853. package/dist/domain/system-components/common/recipes.js +1 -1
  854. package/dist/domain/system-components/constraint.d.ts +11 -24
  855. package/dist/domain/system-components/constraint.js +1 -1
  856. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  857. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  858. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  859. package/dist/domain/system-components/detail.js +1 -1
  860. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  861. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  862. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  863. package/dist/domain/system-components/distance-dimension.js +1 -1
  864. package/dist/domain/system-components/drag-handle.d.ts +2 -2
  865. package/dist/domain/system-components/drag-handle.js +1 -1
  866. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  867. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  868. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  869. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  870. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  871. package/dist/domain/system-components/generic-dimension.js +1 -1
  872. package/dist/domain/system-components/hidden-entity.js +1 -1
  873. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  874. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  875. package/dist/domain/system-components/index.d.ts +0 -68
  876. package/dist/domain/system-components/index.js +1 -1
  877. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  878. package/dist/domain/system-components/material-override-transformer.js +1 -1
  879. package/dist/domain/system-components/material-swatch.js +1 -1
  880. package/dist/domain/system-components/navigation-page.js +1 -1
  881. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  882. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  883. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  884. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  885. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  886. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  887. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  888. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  889. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  890. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  891. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  892. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  893. package/dist/domain/system-components/pivot-point.js +1 -1
  894. package/dist/domain/system-components/price.js +1 -1
  895. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  896. package/dist/domain/system-components/projected-entities.js +1 -1
  897. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  898. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  899. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  900. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  901. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  902. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  903. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  904. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  905. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  906. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  907. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  908. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  909. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  910. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  911. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  912. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  913. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  914. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  915. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  916. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  917. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  918. package/dist/domain/system-components/scene-entity-object.js +1 -1
  919. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  920. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  921. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  922. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  923. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  924. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  925. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  926. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  927. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  928. package/dist/domain/system-components/sketching-line.js +1 -1
  929. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  930. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  931. package/dist/domain/system-components/sketching.d.ts +1 -1
  932. package/dist/domain/system-components/sketching.js +1 -1
  933. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  934. package/dist/domain/system-components/snap-axis.js +1 -1
  935. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  936. package/dist/domain/system-components/snap-edge.js +1 -1
  937. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  938. package/dist/domain/system-components/snap-plane.js +1 -1
  939. package/dist/domain/system-components/snap-point.d.ts +1 -1
  940. package/dist/domain/system-components/snap-point.js +1 -1
  941. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  942. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  943. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  944. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  945. package/dist/domain/utils/eval-cache.d.ts +2 -3
  946. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  947. package/dist/domain/utils/memo-eval.d.ts +2 -4
  948. package/dist/editor/Editor.js +1 -1
  949. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  950. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  951. package/dist/editor/domain-editors/use-implementation-files.d.ts +12 -8
  952. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  953. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  954. package/dist/editor/mocks/EditorMockContext.js +1 -1
  955. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  956. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  957. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  958. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  959. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  960. package/dist/editor/variants/variant-preview-styles.js +1 -0
  961. package/dist/i18n/locales/cs/messages.js +1 -1
  962. package/dist/i18n/locales/da/messages.js +1 -1
  963. package/dist/i18n/locales/de/messages.js +1 -1
  964. package/dist/i18n/locales/de-AT/messages.js +1 -1
  965. package/dist/i18n/locales/en/messages.js +1 -1
  966. package/dist/i18n/locales/en-AU/messages.js +1 -1
  967. package/dist/i18n/locales/en-GB/messages.js +1 -1
  968. package/dist/i18n/locales/es/messages.js +1 -1
  969. package/dist/i18n/locales/fr/messages.js +1 -1
  970. package/dist/i18n/locales/hu/messages.js +1 -1
  971. package/dist/i18n/locales/it/messages.js +1 -1
  972. package/dist/i18n/locales/nl/messages.js +1 -1
  973. package/dist/i18n/locales/pl/messages.js +1 -1
  974. package/dist/i18n/locales/pt/messages.js +1 -1
  975. package/dist/i18n/locales/ro/messages.js +1 -1
  976. package/dist/i18n/locales/sk/messages.js +1 -1
  977. package/dist/i18n/locales/tr/messages.js +1 -1
  978. package/dist/legacy/domain-cli/gen/configurator-builder.js +30 -16
  979. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  980. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  981. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  982. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  983. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  984. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  985. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  986. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +87 -68
  987. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  988. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  989. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  990. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +2 -0
  991. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  992. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  993. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  994. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  995. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  996. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  997. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  998. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  999. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  1000. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  1001. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  1002. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  1003. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1004. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  1005. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1006. package/dist/phoenix/cli.js +1 -1
  1007. package/dist/phoenix/commands/build.d.ts +5 -0
  1008. package/dist/phoenix/commands/build.js +1 -1
  1009. package/dist/phoenix/commands/deploy.js +2 -2
  1010. package/dist/phoenix/commands/dev.js +5 -5
  1011. package/dist/phoenix/commands/feedback.d.ts +2 -1
  1012. package/dist/phoenix/commands/feedback.js +1 -1
  1013. package/dist/phoenix/commands/index.d.ts +1 -0
  1014. package/dist/phoenix/commands/index.js +1 -1
  1015. package/dist/phoenix/commands/init.d.ts +4 -4
  1016. package/dist/phoenix/commands/init.js +1 -1
  1017. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  1018. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  1019. package/dist/phoenix/commands/prettier.js +1 -1
  1020. package/dist/phoenix/commands/story-dev.js +2 -2
  1021. package/dist/phoenix/commands/variants.d.ts +35 -0
  1022. package/dist/phoenix/commands/variants.js +1 -0
  1023. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  1024. package/dist/phoenix/editor-server/commands-router.js +1 -1
  1025. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  1026. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  1027. package/dist/phoenix/editor-server/editor-server.js +1 -1
  1028. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  1029. package/dist/phoenix/editor-server/spec-router.js +1 -1
  1030. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  1031. package/dist/phoenix/scripts/build-admin.js +1 -1
  1032. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  1033. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1034. package/dist/phoenix/services/index.d.ts +5 -0
  1035. package/dist/phoenix/services/index.js +1 -1
  1036. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  1037. package/dist/phoenix/services/phoenix-application.js +1 -0
  1038. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  1039. package/dist/phoenix/services/phoenix-store.js +1 -0
  1040. package/dist/phoenix/services/phx-banner-plugin.d.ts +32 -0
  1041. package/dist/phoenix/services/phx-banner-plugin.js +1 -0
  1042. package/dist/phoenix/services/phx-licenses-plugin.d.ts +55 -0
  1043. package/dist/phoenix/services/phx-licenses-plugin.js +8 -0
  1044. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  1045. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  1046. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1047. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1048. package/dist/phoenix/services/source-archive.js +1 -1
  1049. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  1050. package/dist/phoenix/services/variant-file-session.js +1 -0
  1051. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  1052. package/dist/phoenix/services/variant-preview-service.js +1 -0
  1053. package/dist/phoenix/services/vite-config.d.ts +2 -0
  1054. package/dist/phoenix/services/vite-config.js +1 -1
  1055. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1056. package/dist/phoenix/utils/git/index.js +1 -0
  1057. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1058. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1059. package/dist/phoenix/utils/index.d.ts +2 -0
  1060. package/dist/phoenix/utils/index.js +1 -1
  1061. package/dist/phoenix/utils/read-git-commit.d.ts +14 -0
  1062. package/dist/phoenix/utils/read-git-commit.js +1 -0
  1063. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  1064. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  1065. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  1066. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1067. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  1068. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  1069. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  1070. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1071. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1072. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +69 -40
  1073. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1074. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  1075. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1076. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +12 -9
  1077. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  1078. package/dist/react-sdk/domain-context/index.js +1 -1
  1079. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +6 -0
  1080. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1081. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1082. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  1083. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  1084. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  1085. package/dist/ui-sdk/theme/types.d.ts +4 -0
  1086. package/dist/webhook/builders/common.d.ts +8 -0
  1087. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  1088. package/dist/webhook/builders/webhook-builder.js +1 -1
  1089. package/package.json +5 -8
  1090. package/schema/domain-spec.json +1139 -209
  1091. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1092. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1093. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1094. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1095. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1096. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1097. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1098. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1099. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1100. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1101. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1102. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1103. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1104. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1105. package/dist/configurator/assistant/index.d.ts +0 -1
  1106. package/dist/configurator/assistant/index.js +0 -1
  1107. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  1108. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  1109. package/dist/domain/application/element-registration.js +0 -1
  1110. package/dist/domain/application/handler-registration.js +0 -1
  1111. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  1112. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1113. package/dist/domain/application/resource-builder.d.ts +0 -13
  1114. package/dist/domain/application/resource-builder.js +0 -1
  1115. package/dist/domain/components/debug-state-component.js +0 -1
  1116. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  1117. package/dist/domain/components/domain-component-optic.js +0 -16
  1118. package/dist/domain/components/drag-state-component.js +0 -1
  1119. package/dist/domain/components/export-state-component.js +0 -1
  1120. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1121. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1122. package/dist/domain/components/hover-state-component.js +0 -1
  1123. package/dist/domain/components/index.d.ts +0 -2
  1124. package/dist/domain/components/index.js +0 -1
  1125. package/dist/domain/components/navigation-state-component.js +0 -1
  1126. package/dist/domain/components/selection-state-component.js +0 -1
  1127. package/dist/domain/components/system-component-builder.js +0 -1
  1128. package/dist/domain/components/system-virtual-entity.js +0 -1
  1129. package/dist/domain/components/tool-state-component.js +0 -1
  1130. package/dist/domain/components/view-state-component.js +0 -1
  1131. package/dist/domain/components/viewport-state-component.js +0 -1
  1132. package/dist/domain/core/expression.d.ts +0 -50
  1133. package/dist/domain/core/json-schema.js +0 -1
  1134. package/dist/domain/core/migrations.js +0 -1
  1135. package/dist/domain/core/reflection.js +0 -1
  1136. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  1137. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1138. package/dist/domain/expressions/constant-expressions.d.ts +0 -9
  1139. package/dist/domain/expressions/constant-expressions.js +0 -1
  1140. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  1141. package/dist/domain/expressions/custom-expression.js +0 -1
  1142. package/dist/domain/expressions/index.d.ts +0 -1
  1143. package/dist/domain/expressions/index.js +0 -1
  1144. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  1145. package/dist/domain/invariants/custom-invariants.js +0 -1
  1146. package/dist/domain/invariants/invariants.d.ts +0 -68
  1147. package/dist/domain/invariants/invariants.js +0 -1
  1148. package/dist/domain/invariants/violation-component.js +0 -1
  1149. package/dist/domain/invariants/violation.js +0 -1
  1150. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  1151. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1152. package/dist/domain/relations/component-factories.js +0 -1
  1153. package/dist/domain/relations/composed-of.js +0 -1
  1154. package/dist/domain/relations/direct-relation.d.ts +0 -29
  1155. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  1156. package/dist/domain/relations/indirect-relation.js +0 -1
  1157. package/dist/domain/relations/reference-component.js +0 -1
  1158. package/dist/domain/relations/relation-factory.d.ts +0 -19
  1159. package/dist/domain/relations/relation-factory.js +0 -1
  1160. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  1161. package/dist/domain/system-components/angle-indicator.js +0 -1
  1162. package/dist/domain/system-components/attribute-switch.js +0 -1
  1163. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1164. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1165. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1166. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1167. package/dist/domain/system-components/canvas-config.js +0 -1
  1168. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1169. package/dist/domain/system-components/canvas-padding.js +0 -1
  1170. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1171. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1172. package/dist/domain/system-components/client-side-image.js +0 -1
  1173. package/dist/domain/system-components/color-value.js +0 -1
  1174. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1175. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1176. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1177. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1178. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1179. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1180. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1181. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1182. package/dist/domain/system-components/entity-header.js +0 -1
  1183. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1184. package/dist/domain/system-components/finalize-action.js +0 -1
  1185. package/dist/domain/system-components/finalize-component.js +0 -1
  1186. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1187. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1188. package/dist/domain/system-components/fixed-header.js +0 -1
  1189. package/dist/domain/system-components/floating-header.js +0 -1
  1190. package/dist/domain/system-components/hidden-header.js +0 -1
  1191. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1192. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1193. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1194. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1195. package/dist/domain/system-components/navigation-steps.js +0 -1
  1196. package/dist/domain/system-components/offset-anchors.js +0 -1
  1197. package/dist/domain/system-components/offset-indicator.js +0 -1
  1198. package/dist/domain/system-components/offset.js +0 -1
  1199. package/dist/domain/system-components/other-action.js +0 -1
  1200. package/dist/domain/system-components/property-page.js +0 -1
  1201. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1202. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1203. package/dist/domain/system-components/rotatable.js +0 -1
  1204. package/dist/domain/system-components/rotation-handle.js +0 -1
  1205. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1206. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1207. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1208. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1209. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1210. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1211. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1212. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1213. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1214. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1215. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1216. package/dist/domain/system-components/selectable-component.js +0 -1
  1217. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1218. package/dist/domain/system-components/simple-summary.js +0 -1
  1219. package/dist/domain/system-components/size.js +0 -1
  1220. package/dist/domain/system-components/sketching-draw.js +0 -1
  1221. package/dist/domain/system-components/sketching-edit.js +0 -1
  1222. package/dist/domain/system-components/summary-component.js +0 -1
  1223. package/dist/domain/system-components/text-value.js +0 -1
  1224. package/dist/domain/system-components/tool-controls.js +0 -1
  1225. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1226. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1227. package/dist/domain/system-components/view-controls.js +0 -1
  1228. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  1229. package/dist/extras/assistant/AssistantChat.js +0 -1
  1230. package/dist/extras/assistant/index.d.ts +0 -1
  1231. package/dist/extras/assistant/index.js +0 -1
  1232. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  1233. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1234. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1235. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1236. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1237. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1238. /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-manifest.js} +0 -0
  1239. /package/dist/domain/core/{expression.js → action/action.js} +0 -0
  1240. /package/dist/domain/core/{schema-validator.js → component/component-reader-types.js} +0 -0
  1241. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1242. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1243. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1244. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1245. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-cell-value.js} +0 -0
  1246. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-array-field.js} +0 -0
  1247. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1248. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1249. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1250. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1251. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1252. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1253. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1254. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1255. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1256. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1257. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1258. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1259. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1260. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1261. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1262. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1263. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1264. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1265. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1266. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1267. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1268. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1269. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1270. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1271. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1272. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1273. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1274. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1275. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1276. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1277. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1278. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1279. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1280. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1281. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1282. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1283. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1284. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1285. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1286. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1287. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1288. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1289. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1290. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1291. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1 +1 @@
1
- import{execFile as e}from"node:child_process";import{createReadStream as r,createWriteStream as t}from"node:fs";import{lstat as o,mkdir as i,mkdtemp as a,readdir as n,rm as s,stat as c,writeFile as l}from"node:fs/promises";import{tmpdir as h}from"node:os";import{dirname as p,join as f}from"node:path";import{Transform as d}from"node:stream";import{pipeline as w}from"node:stream/promises";import{promisify as m}from"node:util";import{createGunzip as u}from"node:zlib";import{extract as g}from"tar-stream";import{isProjectFile as y,listProjectEntries as v}from"../application-spec/project-files.js";let x=m(e);export const createSourceArchive=async e=>{let r=await Promise.all((await v(e)).map(async r=>({name:r,entry:await o(f(e,r))}))),t=r.filter(({entry:e})=>!e.isDirectory()&&(!e.isFile()||e.nlink>1)),i=r.filter(({entry:e})=>e.isFile()).map(({name:e})=>e);if(t.length>0)throw Error(`These project files are links or special files, which builds do not accept: ${t.map(({name:e})=>e).join(", ")}. Replace them with regular files and deploy again.`);if(0===i.length)throw Error(`No project files were found in ${e}, so there is nothing to deploy. Run phoenix deploy in the folder of an application-spec project.`);let n=await a(f(h(),"phoenix-deploy-")),p="sources.tgz",d=f(n,p),w=f(n,"files");try{await l(w,i.join("\0")),await x("tar",["-czf",p,"-C",e,"--null","-T",w],{cwd:n,env:{...process.env,COPYFILE_DISABLE:"1"}})}catch(r){await s(n,{recursive:!0,force:!0});let e=r instanceof Error?r.message:String(r);throw Error(`Packing the project with tar failed: ${e}. Check that tar is installed and on the PATH.`)}return{path:d,fileCount:i.length,size:(await c(d)).size,cleanup:()=>s(n,{recursive:!0,force:!0})}};let E=(e,...r)=>e instanceof Error&&"code"in e&&"string"==typeof e.code&&r.includes(e.code),j=async e=>{try{return 0===(await n(e)).length}catch(e){if(E(e,"ENOENT"))return!0;throw e}},T=class ArchiveRefusal extends Error{},b=e=>e.length>0&&!e.startsWith("/")&&!e.includes("\\")&&!/^[A-Za-z]:/.test(e)&&!/[\x00-\x1f\x7f]/.test(e)&&!e.split("/").includes("..");export const extractSourceArchive=async e=>{let o,a,{archivePath:n,targetDir:l}=e,h=(await c(n)).size;if(h>0xc800000)throw Error(`The source archive is ${h} bytes, over the 209715200 byte limit. Remove large files from the project and deploy again.`);if(!await j(l))throw Error(`The folder ${l} is not empty, and extracted sources must not mix with existing files. Extract into a new or empty folder.`);let m=g(),v=new AbortController,x=w(r(n),u(),(a=0,new d({transform(e,r,t){(a+=e.length)>0x40000000?t(new T("The source archive extracts to more than 1073741824 bytes. Remove large files from the project and deploy again.")):t(null,e)}})),m).catch(e=>{o??=e,v.abort()}),$=[],z=0,R=0;try{for await(let e of m){let{type:r}=e.header,o=e.header.name.replace(/^(\.\/)+/,""),a=JSON.stringify(o);if("directory"===r){e.resume();continue}if((R+=1)>1e5)throw new T("The source archive has more than 100000 files. Remove generated or unused files from the project and deploy again.");if(!b(o))throw new T(`The source archive contains ${a}, which is not a plain relative path inside the project. Pack the project with phoenix deploy.`);if("file"!==r)throw new T(`The source archive contains ${a}, which is a ${r??"special file"}. Builds accept only regular files; replace it with a regular file and deploy again.`);if(!y(o)){$.push(o),e.resume();continue}let n=f(l,...o.split("/"));try{await i(p(n),{recursive:!0}),await w(e,t(n,{flags:"wx"}),{signal:v.signal})}catch(e){if(E(e,"EEXIST","ENOTDIR","EISDIR"))throw new T(`The source archive contains ${a}, which repeats or collides with an earlier entry, so its content is ambiguous. Pack the project with phoenix deploy.`);throw e}z+=1}if(await x,void 0!==o)throw o}catch(t){let e=t instanceof T?t:o??t;if(m.destroy(),await x,await s(l,{recursive:!0,force:!0}),e instanceof T)throw e;let r=e instanceof Error?e.message:String(e);throw Error(`The source archive could not be read: ${r}. It is truncated or not a gzip tarball; pack the project with phoenix deploy.`)}return{fileCount:z,skipped:$}};
1
+ import{execFile as e}from"node:child_process";import{createReadStream as r,createWriteStream as t}from"node:fs";import{lstat as o,mkdir as i,mkdtemp as a,readdir as n,rm as s,stat as c,writeFile as l}from"node:fs/promises";import{tmpdir as h}from"node:os";import{dirname as p,join as f}from"node:path";import{Transform as d}from"node:stream";import{pipeline as w}from"node:stream/promises";import{promisify as m}from"node:util";import{createGunzip as u}from"node:zlib";import{extract as g}from"tar-stream";import{isProjectFile as y,listProjectEntries as v}from"../application-spec/project-files.js";let x=m(e);export const createSourceArchive=async e=>{let r=(await n(e)).includes("conversation.log"),t=[...await v(e),...r?["conversation.log"]:[]],i=await Promise.all(t.map(async r=>({name:r,entry:await o(f(e,r))})));if(i.some(({name:e,entry:r})=>"conversation.log"===e&&r.isDirectory()))throw Error("conversation.log is a directory. Replace it with a regular transcript file and deploy again.");let p=i.filter(({entry:e})=>!e.isDirectory()&&(!e.isFile()||e.nlink>1)),d=i.filter(({entry:e})=>e.isFile()).map(({name:e})=>e);if(p.length>0)throw Error(`These project files are links or special files, which builds do not accept: ${p.map(({name:e})=>e).join(", ")}. Replace them with regular files and deploy again.`);if(0===d.length)throw Error(`No project files were found in ${e}, so there is nothing to deploy. Run phoenix deploy in the folder of an application-spec project.`);let w=await a(f(h(),"phoenix-deploy-")),m="sources.tgz",u=f(w,m),g=f(w,"files");try{await l(g,d.join("\0")),await x("tar",["-czf",m,"-C",e,"--null","-T",g],{cwd:w,env:{...process.env,COPYFILE_DISABLE:"1"}})}catch(r){await s(w,{recursive:!0,force:!0});let e=r instanceof Error?r.message:String(r);throw Error(`Packing the project with tar failed: ${e}. Check that tar is installed and on the PATH.`)}return{path:u,fileCount:d.length,size:(await c(u)).size,hasConversationLog:r,cleanup:()=>s(w,{recursive:!0,force:!0})}};let E=(e,...r)=>e instanceof Error&&"code"in e&&"string"==typeof e.code&&r.includes(e.code),j=async e=>{try{return 0===(await n(e)).length}catch(e){if(E(e,"ENOENT"))return!0;throw e}},T=class ArchiveRefusal extends Error{},b=e=>e.length>0&&!e.startsWith("/")&&!e.includes("\\")&&!/^[A-Za-z]:/.test(e)&&!/[\x00-\x1f\x7f]/.test(e)&&!e.split("/").includes("..");export const extractSourceArchive=async e=>{let o,a,{archivePath:n,targetDir:l}=e,h=(await c(n)).size;if(h>0xc800000)throw Error(`The source archive is ${h} bytes, over the 209715200 byte limit. Remove large files from the project and deploy again.`);if(!await j(l))throw Error(`The folder ${l} is not empty, and extracted sources must not mix with existing files. Extract into a new or empty folder.`);let m=g(),v=new AbortController,x=w(r(n),u(),(a=0,new d({transform(e,r,t){(a+=e.length)>0x40000000?t(new T("The source archive extracts to more than 1073741824 bytes. Remove large files from the project and deploy again.")):t(null,e)}})),m).catch(e=>{o??=e,v.abort()}),$=[],R=0,z=0;try{for await(let e of m){let{type:r}=e.header,o=e.header.name.replace(/^(\.\/)+/,""),a=JSON.stringify(o);if("directory"===r){e.resume();continue}if((z+=1)>1e5)throw new T("The source archive has more than 100000 files. Remove generated or unused files from the project and deploy again.");if(!b(o))throw new T(`The source archive contains ${a}, which is not a plain relative path inside the project. Pack the project with phoenix deploy.`);if("file"!==r)throw new T(`The source archive contains ${a}, which is a ${r??"special file"}. Builds accept only regular files; replace it with a regular file and deploy again.`);if(!y(o)){$.push(o),e.resume();continue}let n=f(l,...o.split("/"));try{await i(p(n),{recursive:!0}),await w(e,t(n,{flags:"wx"}),{signal:v.signal})}catch(e){if(E(e,"EEXIST","ENOTDIR","EISDIR"))throw new T(`The source archive contains ${a}, which repeats or collides with an earlier entry, so its content is ambiguous. Pack the project with phoenix deploy.`);throw e}R+=1}if(await x,void 0!==o)throw o}catch(t){let e=t instanceof T?t:o??t;if(m.destroy(),await x,await s(l,{recursive:!0,force:!0}),e instanceof T)throw e;let r=e instanceof Error?e.message:String(e);throw Error(`The source archive could not be read: ${r}. It is truncated or not a gzip tarball; pack the project with phoenix deploy.`)}return{fileCount:R,skipped:$}};
@@ -0,0 +1,36 @@
1
+ import type { Logger } from '../utils/index.js';
2
+ /** A baseline-relative edit collected by an option script; null removes the file. */
3
+ export interface VariantFileEdit {
4
+ readonly fileName: string;
5
+ readonly content: string | null;
6
+ }
7
+ /** Owns the baseline, file transactions and recovery for one live comparison. */
8
+ export declare class VariantFileSession {
9
+ private readonly props;
10
+ private readonly queue;
11
+ private readonly applied;
12
+ private readonly baseline;
13
+ private readonly contract;
14
+ private settled;
15
+ private constructor();
16
+ static create(props: {
17
+ readonly projectRoot: string;
18
+ readonly logger: Logger;
19
+ readonly onFilesChanged: (files: readonly VariantFileEdit[]) => void;
20
+ }): Promise<VariantFileSession>;
21
+ /**
22
+ * Restores the baseline a comparison left behind when its dev session ended without closing it. A file
23
+ * edited since then is left as it is, so the edit survives and the next dev session can still start.
24
+ */
25
+ static recover(projectRoot: string, logger: Logger): Promise<void>;
26
+ private static resolveFile;
27
+ getFiles(): readonly VariantFileEdit[];
28
+ apply(edits: readonly VariantFileEdit[]): Promise<void>;
29
+ finish(keep: boolean): Promise<void>;
30
+ /**
31
+ * Moves the files from what is applied now to `target`. A file edited outside the comparison is never
32
+ * overwritten: a switch is refused, so the builder sees why, while the end of the comparison keeps that
33
+ * file as it is and restores the others, so the comparison can always be closed.
34
+ */
35
+ private writeTarget;
36
+ }
@@ -0,0 +1 @@
1
+ import{mkdir as e,readFile as t,realpath as i,rename as a,rm as r,writeFile as s}from"node:fs/promises";import{dirname as o,join as n,relative as l,resolve as p,sep as c}from"node:path";import h from"promise-queue";import{z as d}from"zod";import{RawProjectFiles as f,RuntimeReferenceStore as m,TextFile as w,buildPhoenixDefinitions as u,isTextFile as g,parseApplicationFiles as v}from"#package/application-spec";import{generateAssistantPrompt as y,getAllPhxDefinitions as b}from"#package/domain";import{readApplicationFiles as S}from"../application-spec/application-spec-file-reader.js";import{swcEvalExpressionParser as F,swcModuleAnalyzer as N}from"../application-spec/swc-module-analyzer.js";let k=".phoenix/variant-recovery.json",j=d.array(d.object({fileName:d.string(),original:d.string().nullable(),applied:d.string().nullable(),previous:d.string().nullable().optional()})),E=e=>!e.includes("\\")&&!e.split("/").some(e=>".."===e||"."===e||""===e)&&(/^spec\/(?!admin\/).+\.yaml$/.test(e)||/^src\/(?:components|transformers|handlers|elements|_[^/]+)\/.+\.tsx?$/.test(e)),M=e=>`Left ${e} as it is: it was edited outside the variant comparison, so restoring the baseline would overwrite that edit. Review the file and remove what the option added to it`,$=async e=>{try{return await t(e,"utf8")}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}},C=async(t,i)=>{if(null===i)return void await r(t,{force:!0});await e(o(t),{recursive:!0});let n=`${t}.variant-${crypto.randomUUID()}`;try{await s(n,i),await a(n,t)}finally{await r(n,{force:!0})}},R=(e,t)=>{let i=v({rawProjectFiles:e,phxDefinitions:u(b())},{analyzer:N,evalExpressionParser:F,referenceStore:new m,logger:t});if(!i.ok)throw Error(`Cannot apply variant: ${i.errors.map(e=>`[${e.code}] ${e.message}`).join("\n")}`);let{configurator:a,admin:r,appMetadata:s,infra:o,dataSpec:n}=i.value.applicationSpec,l=i.value.categorizedFiles,p=new Set([...l.webhooks,...l.expressions,...l.actions,...l.invariants,...l.migrations,...l.adminMigrations,...l.adminExpressions,...l.adminInvariants,...l.handlers.filter(e=>"pinned"===e.webhookMembership||"named-handler"===e.webhookMembership),...l.components.filter(e=>"pinned"===e.webhookMembership),...l.adminComponents.filter(e=>"pinned"===e.webhookMembership)].flatMap(e=>[e.file.name,...e.deps]));return JSON.stringify({webhookFiles:e.files.filter(g).filter(e=>p.has(e.name)).sort((e,t)=>e.name.localeCompare(t.name)),appMetadata:s,infra:o,dataSpec:n,model:a.latestModel,schema:a.configurationSchema,dataSchemas:a.dataSchemas,adminModel:r.latestModel,adminSchema:r.configurationSchema,assistant:a.assistant?.sdl,assistantSettings:a.assistantServerSettings,assistantPrompt:a.assistant?y(a.assistant):null},(e,t)=>t instanceof Map?[...t.entries()]:t)};export class VariantFileSession{props;queue=new h(1,1/0);applied=new Map;baseline=new Map;contract;settled=!1;constructor(e){for(let t of(this.props=e,e.rawFiles.files))g(t)&&E(t.name)&&this.baseline.set(t.name,t.content);this.contract=R(e.rawFiles,e.logger)}static async create(e){await VariantFileSession.recover(e.projectRoot,e.logger);let t=await S({projectRoot:e.projectRoot,envs:{}});return new VariantFileSession({...e,rawFiles:t})}static async recover(e,t){let i=await $(n(e,k));if(null!==i){for(let a of j.parse(JSON.parse(i))){let i=await VariantFileSession.resolveFile(e,a.fileName),r=await $(i);if(r!==a.applied&&r!==a.original&&r!==a.previous){t.warn(M(a.fileName));continue}await C(i,a.original)}await r(n(e,k),{force:!0})}}static async resolveFile(e,t){if(!E(t))throw Error(`Cannot override ${t}: variants support frontend spec and TypeScript files only. Keep server code, dependencies, environment files and assets unchanged`);let a=await i(e),r=p(a,t),s=r;for(;;)try{let e=await i(s),r=l(a,e);if(".."===r||r.startsWith(`..${c}`))throw Error(`Cannot override ${t}: its symbolic link leaves the project`);if(e!==s)throw Error(`Cannot override ${t}: it uses a symbolic link. Variant edits require regular files so restoration preserves the original file`);break}catch(e){if(!(e instanceof Error&&"code"in e&&"ENOENT"===e.code))throw e;s=o(s)}return r}getFiles(){return[...this.baseline].map(([e,t])=>({fileName:e,content:t}))}apply(e){return this.queue.add(async()=>{if(this.settled)throw Error("This variant comparison has already ended");let t=new Map;for(let i of e){if(await VariantFileSession.resolveFile(this.props.projectRoot,i.fileName),t.has(i.fileName))throw Error(`Cannot apply variant: ${i.fileName} is specified twice`);t.set(i.fileName,i.content)}if(t.size>0){let e=this.props.rawFiles.files.filter(e=>!t.has(e.name));for(let[i,a]of t)null!==a&&e.push(w(i,a));if(R(f(e),this.props.logger)!==this.contract)throw Error("Cannot apply variant: it changes the model, schemas, data or deployment settings. Variants must need no server preparation")}await this.writeTarget(t,"refuse")})}finish(e){return this.queue.add(async()=>{this.settled||(e||await this.writeTarget(new Map,"keep"),await r(n(this.props.projectRoot,k),{force:!0}),this.settled=!0)})}async writeTarget(t,i){let a=new Set([...this.applied.keys(),...t.keys()]);if(0===a.size)return;let r=new Map;for(let e of a){let t=await VariantFileSession.resolveFile(this.props.projectRoot,e),a=this.applied.has(e)?this.applied.get(e):this.baseline.get(e)??null;if(await $(t)===a){r.set(e,t);continue}if("refuse"===i)throw Error(`Cannot switch variant: ${e} was edited outside the preview, and switching would overwrite that edit. Choose the option that is shown, or close the comparison with \`phoenix variants --close\`, which keeps the edit`);this.props.logger.warn(M(e))}let s=[...r.keys()].map(e=>({fileName:e,original:this.baseline.get(e)??null,previous:this.applied.has(e)?this.applied.get(e)??null:this.baseline.get(e)??null,applied:t.has(e)?t.get(e)??null:this.baseline.get(e)??null}));await e(n(this.props.projectRoot,".phoenix"),{recursive:!0}),await C(n(this.props.projectRoot,k),JSON.stringify(s));let o=new Map(this.applied);try{for(let e of s){let t=r.get(e.fileName);void 0!==t&&await C(t,e.applied)}}catch(e){for(let[e,t]of r)await C(t,o.has(e)?o.get(e)??null:this.baseline.get(e)??null);throw await C(n(this.props.projectRoot,k),JSON.stringify([...o].map(([e,t])=>({fileName:e,original:this.baseline.get(e)??null,applied:t})))),e}for(let[e,i]of(this.applied.clear(),t))this.applied.set(e,i);this.props.onFilesChanged(s.map(e=>({fileName:e.fileName,content:e.applied})))}}
@@ -0,0 +1,80 @@
1
+ import { Observable } from 'rxjs';
2
+ import type { Logger } from '../utils/index.js';
3
+ import type { ApplicationSpecProjectWatcher } from './application-spec-project-watcher.js';
4
+ import type { PhoenixStore, VariantPreviewOption, VariantPreviewRequest, VariantPreviewResult } from './phoenix-store.js';
5
+ import { type VariantFileEdit } from './variant-file-session.js';
6
+ /** What a command asks the editor to show, and how long it waits for the answer. */
7
+ export interface VariantPreviewInput {
8
+ readonly title: string;
9
+ readonly description: string;
10
+ readonly variants: readonly VariantPreviewOption[];
11
+ readonly timeoutMs: number;
12
+ }
13
+ /** How a wait for the builder's answer ended. `waiting` leaves the comparison open. */
14
+ export type VariantPreviewOutcome = ({
15
+ readonly status: 'settled';
16
+ } & VariantPreviewResult) | {
17
+ readonly status: 'closed';
18
+ } | {
19
+ readonly status: 'waiting';
20
+ };
21
+ /** The files of one option, as the editor collected them from its script. */
22
+ export interface VariantFilesInput {
23
+ readonly requestId: string;
24
+ readonly choice: string | null;
25
+ readonly files: readonly VariantFileEdit[];
26
+ }
27
+ export interface VariantPreviewServiceProps {
28
+ readonly projectRoot: string;
29
+ }
30
+ export interface VariantPreviewServiceContext {
31
+ readonly store: PhoenixStore;
32
+ readonly logger: Logger;
33
+ readonly projectWatcher: Pick<ApplicationSpecProjectWatcher, 'suspend' | 'resume' | 'applyVariantFiles'>;
34
+ }
35
+ /**
36
+ * Owns the variant comparison of a dev session: which one is open, the file session that rewrites and
37
+ * restores the source files for it, and the answer. Its state lives in the store; every operation that
38
+ * changes it runs one at a time.
39
+ */
40
+ export declare class VariantPreviewService {
41
+ private readonly props;
42
+ private readonly context;
43
+ private readonly queue;
44
+ private readonly result$;
45
+ private readonly closed$;
46
+ private session;
47
+ private editors;
48
+ /**
49
+ * The comparison an editor has to show, or `null`. A subscriber counts as a connected editor, and gets
50
+ * the open comparison at once, so a reloaded browser tab shows it again.
51
+ */
52
+ readonly request$: Observable<VariantPreviewRequest | null>;
53
+ constructor(props: VariantPreviewServiceProps, context: VariantPreviewServiceContext);
54
+ /** True while option edits may be in the source files, so nothing else should write or deploy them. */
55
+ get isOpen(): boolean;
56
+ /**
57
+ * Opens the comparison in the editor and waits for the builder's answer. A wait that times out leaves
58
+ * it open, and a later call with the same options attaches to it again.
59
+ */
60
+ open(input: VariantPreviewInput): Promise<VariantPreviewOutcome>;
61
+ getBaseline(requestId: string): {
62
+ readonly files: readonly VariantFileEdit[];
63
+ readonly choice: string | null;
64
+ };
65
+ applyFiles(input: VariantFilesInput): Promise<void>;
66
+ submit(result: VariantPreviewResult): Promise<void>;
67
+ /** Closes whichever comparison is open without an answer, for a command that gives up on it. */
68
+ close(): Promise<{
69
+ readonly closed: boolean;
70
+ }>;
71
+ claim(requestId: string): void;
72
+ /** Restores the baseline when the dev session ends with a comparison still open. */
73
+ dispose(): Promise<void>;
74
+ private get state();
75
+ private setState;
76
+ /** Takes a comparison off the screen without an answer and ends the wait of the command that opened it. */
77
+ private forget;
78
+ private startSession;
79
+ private endSession;
80
+ }
@@ -0,0 +1 @@
1
+ import e from"promise-queue";import{Observable as t,Subject as s,distinctUntilChanged as i,filter as r,firstValueFrom as o,map as n,merge as a,of as h,timeout as l}from"rxjs";import{VariantFileSession as c}from"./variant-file-session.js";export class VariantPreviewService{props;context;queue=new e(1,1/0);result$=new s;closed$=new s;session=null;editors=0;request$=new t(e=>{this.editors+=1;let t=this.context.store.variantPreview$.pipe(n(e=>e.open),i()).subscribe(e);return()=>{this.editors-=1,t.unsubscribe()}});constructor(e,t){this.props=e,this.context=t}get isOpen(){return null!==this.session}async open(e){return(await this.queue.add(async()=>{let t=t=>JSON.stringify(t.variants)===JSON.stringify(e.variants),{open:s,unclaimed:i}=this.state;if(i&&t(i.request))return{outcome:Promise.resolve({status:"settled",...i.result})};if(0===this.editors)throw Error("No editor connected. Open the configurator in a browser");let c=s&&t(s)?s:{requestId:crypto.randomUUID(),title:e.title,description:e.description,variants:e.variants};if(c!==s)try{await this.endSession(!1),await this.startSession()}catch(e){throw this.forget(s),e}let u=o(a(this.result$.pipe(r(e=>e.requestId===c.requestId),n(e=>({status:"settled",...e}))),this.closed$.pipe(r(e=>e===c.requestId),n(()=>({status:"closed"})))).pipe(l({first:e.timeoutMs,with:()=>h({status:"waiting"})})));return c!==s&&(this.setState({open:c,activeChoice:null,unclaimed:null}),s&&this.closed$.next(s.requestId)),{outcome:u}})).outcome}getBaseline(e){if(this.state.open?.requestId!==e||!this.session)throw Error("This variant preview is no longer open");return{files:this.session.getFiles(),choice:this.state.activeChoice}}applyFiles(e){return this.queue.add(async()=>{let{open:t}=this.state;if(t?.requestId!==e.requestId||!this.session)throw Error("This variant preview is no longer open");let s=t.variants.find(t=>t.id===e.choice);if(null!==e.choice&&!s)throw Error("This option does not belong to the open variant preview");if(null===e.choice&&e.files.length>0)throw Error("The baseline cannot contain variant edits");if(s?.kind==="page"&&e.files.length>0)throw Error("HTML previews cannot override project files");await this.session.apply(e.files),this.setState({activeChoice:e.choice})})}submit(e){return this.queue.add(async()=>{let{open:t,activeChoice:s}=this.state;if(t?.requestId!==e.requestId)throw Error("This preview is no longer open. The agent closed it or replaced it with another one");if(!this.session||s!==e.choice||null!==e.choice&&!t.variants.some(t=>t.id===e.choice))throw Error("Apply this option before choosing it");await this.endSession(!0),this.setState({open:null,activeChoice:null,unclaimed:{request:t,result:e}}),this.result$.next(e)})}close(){return this.queue.add(async()=>{let{open:e}=this.state;try{await this.endSession(!1)}finally{this.forget(e)}return{closed:null!==e}})}claim(e){this.state.unclaimed?.result.requestId===e&&this.setState({unclaimed:null})}dispose(){return this.queue.add(()=>this.endSession(!1))}get state(){return this.context.store.variantPreview$.value}setState(e){this.context.store.variantPreview$.next({...this.state,...e})}forget(e){this.setState({open:null,activeChoice:null,unclaimed:null}),e&&this.closed$.next(e.requestId)}async startSession(){let{projectWatcher:e,logger:t}=this.context;e.suspend();try{this.session=await c.create({projectRoot:this.props.projectRoot,logger:t,onFilesChanged:t=>e.applyVariantFiles(t)})}catch(t){throw e.resume(),t}}async endSession(e){if(this.session)try{await this.session.finish(e)}finally{this.session=null,this.context.projectWatcher.resume()}}}
@@ -17,4 +17,6 @@ export declare const getViteDevConfig: (options?: {
17
17
  export declare const getViteBuildConfigs: (options: {
18
18
  enableEditor?: boolean;
19
19
  templateFiles: readonly string[];
20
+ sdkVersion: string;
21
+ banner: string | undefined;
20
22
  }) => Promise<InlineConfig[]>;
@@ -1 +1 @@
1
- import{lingui as e}from"@lingui/vite-plugin";import i from"@vitejs/plugin-react";import{mkdir as t,readFile as n,writeFile as r}from"fs/promises";import o from"lodash-es/camelCase.js";import{createRequire as a}from"node:module";import{dirname as s,resolve as m}from"path";import{createLogger as l}from"vite";import d from"vite-plugin-css-injected-by-js";import{isUsingLocalSdk as f}from"../utils/package-info.js";import{loadFrontendConfigModule as c}from"./frontend-config.js";import{phxCspNoncePlugin as p}from"./phx-csp-nonce-plugin.js";import{phxGlobalIsolationPlugin as g}from"./phx-global-isolation-plugin.js";let u=null;export const setViteLogSink=(e,i={})=>{u={sink:e,echo:i.echo??!1}};let h=["react","react-dom","three","@react-three/fiber","@react-three/drei","@react-three/postprocessing","its-fine","@emotion/react","@emotion/styled","@mui/material","@mui/system","@tanstack/react-query","rxjs"],S=e=>{let i=e.DEPLOYMENT_ID;if("string"!=typeof i)throw Error("DEPLOYMENT_ID is required in runtime config");return i};export const getViteDevConfig=async t=>{var n,r;let o,d,p=f(),y=c(),O=y.readRuntimeConfig(),b=y.frontendBuildConfig,D=Object.fromEntries((t?.templateFiles??[]).map(e=>[e,`.phoenix/${e}`]));return{...u&&{customLogger:(n=u.sink,r=u.echo,o=l(),{get hasWarned(){return o.hasWarned},info:(e,i)=>{n("info",e),r&&o.info(e,i)},warn:(e,i)=>{n("warn",e),r&&o.warn(e,i)},warnOnce:(e,i)=>{n("warn",e),r&&o.warnOnce(e,i)},error:(e,i)=>{n("error",e),r&&o.error(e,i)},clearScreen:e=>{r&&o.clearScreen(e)},hasErrorLogged:e=>o.hasErrorLogged(e)}),...u.echo?{}:{clearScreen:!1}},mode:"development",optimizeDeps:{exclude:["@swc/wasm-web"],...p&&{entries:["index.html","admin.html",...t?.templateFiles??[]],force:!0}},...p&&{resolve:{alias:(d=a(m(process.cwd(),"package.json")),h.flatMap(e=>{try{let i=s(d.resolve(`${e}/package.json`));return[{find:RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(/|$)`),replacement:`${i}$1`}]}catch{return[]}}))}},plugins:[i({babel:{plugins:["macros"]}}),e(),{name:"vite:runtime-config",apply:(e,i)=>"build"===i.command||"development"===i.mode,config:e=>{let i=y.readRuntimeConfig(),t=y.frontendBuildConfig;return{...e,define:{...e.define,"phx.frontendEnv":JSON.stringify(i),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(t.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(t.gltfDecoder)}}}},g({getDeploymentId:()=>S(y.readRuntimeConfig())})],define:{"process.env":{},"import.meta.env.DEV":!0,"import.meta.env.PROD":!1,"phx.frontendEnv":JSON.stringify(O),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(b.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(b.gltfDecoder)},build:{rollupOptions:{input:{index:".phoenix/index.html",admin:".phoenix/admin.html",...D}}},root:m(process.cwd(),"./.phoenix"),server:{watch:{ignored:["./**/*.{ts,tsx}","./.swc/**","../spec/**","../src/**"]}}}};export const getViteBuildConfigs=async a=>{let l=c(),f=l.readRuntimeConfig(),u=l.frontendBuildConfig,h=[{name:"salsita-configurator",entryFile:"./configurator.ts",mainScriptPath:"./configurator.ts",htmlFiles:["./index.html",...{templateFiles:a.templateFiles}.templateFiles],main:!0,format:"iife"},{name:"salsita-admin",entryFile:"./admin.ts",mainScriptPath:"./admin.ts",htmlFiles:["./admin.html"],main:!1,format:"iife"},{name:"salsita-embedded-admin",entryFile:"./embedded-admin.ts",mainScriptPath:"./embedded-admin.ts",htmlFiles:[],main:!1,format:"es"},{name:"salsita-embedded-configurator",entryFile:"./embedded-configurator.ts",mainScriptPath:"./embedded-configurator.ts",htmlFiles:[],main:!1,format:"es"}].map(c=>({plugins:[i({babel:{plugins:["macros"]}}),e(),d({useStrictCSP:!0}),p(),g({getDeploymentId:()=>S(l.readRuntimeConfig())}),{name:"vite:lib-index",writeBundle:async()=>{if(!c.htmlFiles.length)return;let e="iife"===c.format?`${c.name}.iife.js`:`${c.name}.js`;for(let i of c.htmlFiles){if(c.main&&a.enableEditor&&"./index.html"===i)continue;let o=m("./.phoenix",i),l=m("./.phoenix/dist/frontend",i);await t(s(l),{recursive:!0});let d=(await n(o,"utf-8")).replace(c.mainScriptPath,e);await r(l,d,"utf-8")}}}],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,lib:{entry:c.entryFile,name:o(c.name),formats:[c.format],fileName:()=>"iife"===c.format?`${c.name}.iife.js`:`${c.name}.js`},rollupOptions:{external:[],output:{assetFileNames:`${c.name}.[ext]`}},minify:!0,emptyOutDir:!1},root:m(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(f),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(u.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(u.gltfDecoder)}}));return a.enableEditor?[...h,{plugins:[i({babel:{plugins:["macros"]}}),e(),d({useStrictCSP:!0}),p()],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,rollupOptions:{external:[]},minify:!0,emptyOutDir:!1},root:m(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(f),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(u.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(u.gltfDecoder)}}]:h};
1
+ import{lingui as e}from"@lingui/vite-plugin";import i from"@vitejs/plugin-react";import{mkdir as t,readFile as n,writeFile as r}from"fs/promises";import o from"lodash-es/camelCase.js";import{createRequire as a}from"node:module";import{dirname as s,resolve as m}from"path";import{createLogger as l}from"vite";import p from"vite-plugin-css-injected-by-js";import{isUsingLocalSdk as d}from"../utils/package-info.js";import{loadFrontendConfigModule as f}from"./frontend-config.js";import{phxBannerPlugin as c}from"./phx-banner-plugin.js";import{phxCspNoncePlugin as g}from"./phx-csp-nonce-plugin.js";import{phxGlobalIsolationPlugin as u}from"./phx-global-isolation-plugin.js";import{phxLicensesPlugin as h}from"./phx-licenses-plugin.js";import{phxVariantPreviewsPlugin as S}from"./phx-variant-previews-plugin.js";let b=null;export const setViteLogSink=(e,i={})=>{b={sink:e,echo:i.echo??!1}};let y=["react","react-dom","three","@react-three/fiber","@react-three/drei","@react-three/postprocessing","its-fine","@emotion/react","@emotion/styled","@mui/material","@mui/system","@tanstack/react-query","rxjs"],O=e=>{let i=e.DEPLOYMENT_ID;if("string"!=typeof i)throw Error("DEPLOYMENT_ID is required in runtime config");return i};export const getViteDevConfig=async t=>{var n,r;let o,p,c=d(),g=f(),h=g.readRuntimeConfig(),x=g.frontendBuildConfig,D=Object.fromEntries((t?.templateFiles??[]).map(e=>[e,`.phoenix/${e}`]));return{...b&&{customLogger:(n=b.sink,r=b.echo,o=l(),{get hasWarned(){return o.hasWarned},info:(e,i)=>{n("info",e),r&&o.info(e,i)},warn:(e,i)=>{n("warn",e),r&&o.warn(e,i)},warnOnce:(e,i)=>{n("warn",e),r&&o.warnOnce(e,i)},error:(e,i)=>{n("error",e),r&&o.error(e,i)},clearScreen:e=>{r&&o.clearScreen(e)},hasErrorLogged:e=>o.hasErrorLogged(e)}),...b.echo?{}:{clearScreen:!1}},mode:"development",optimizeDeps:{exclude:["@swc/wasm-web"],...c&&{entries:["index.html","admin.html",...t?.templateFiles??[]],force:!0}},...c&&{resolve:{alias:(p=a(m(process.cwd(),"package.json")),y.flatMap(e=>{try{let i=s(p.resolve(`${e}/package.json`));return[{find:RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(/|$)`),replacement:`${i}$1`}]}catch{return[]}}))}},plugins:[i({babel:{plugins:["macros"]}}),e(),{name:"vite:runtime-config",apply:(e,i)=>"build"===i.command||"development"===i.mode,config:e=>{let i=g.readRuntimeConfig(),t=g.frontendBuildConfig;return{...e,define:{...e.define,"phx.frontendEnv":JSON.stringify(i),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(t.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(t.gltfDecoder)}}}},u({getDeploymentId:()=>O(g.readRuntimeConfig())}),S()],define:{"process.env":{},"import.meta.env.DEV":!0,"import.meta.env.PROD":!1,"phx.frontendEnv":JSON.stringify(h),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(x.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(x.gltfDecoder)},build:{rollupOptions:{input:{index:".phoenix/index.html",admin:".phoenix/admin.html",...D}}},root:m(process.cwd(),"./.phoenix"),server:{watch:{ignored:["./**/*.{ts,tsx}","./.swc/**","../spec/**","../src/**"]}}}};export const getViteBuildConfigs=async a=>{let l=f(),d=l.readRuntimeConfig(),S=l.frontendBuildConfig,b=h(),y=c({sdkVersion:a.sdkVersion,banner:a.banner}),x=[{name:"salsita-configurator",entryFile:"./configurator.ts",mainScriptPath:"./configurator.ts",htmlFiles:["./index.html",...{templateFiles:a.templateFiles}.templateFiles],main:!0,format:"iife"},{name:"salsita-admin",entryFile:"./admin.ts",mainScriptPath:"./admin.ts",htmlFiles:["./admin.html"],main:!1,format:"iife"},{name:"salsita-embedded-admin",entryFile:"./embedded-admin.ts",mainScriptPath:"./embedded-admin.ts",htmlFiles:[],main:!1,format:"es"},{name:"salsita-embedded-configurator",entryFile:"./embedded-configurator.ts",mainScriptPath:"./embedded-configurator.ts",htmlFiles:[],main:!1,format:"es"}].map(f=>({plugins:[i({babel:{plugins:["macros"]}}),e(),p({useStrictCSP:!0}),g(),u({getDeploymentId:()=>O(l.readRuntimeConfig())}),{name:"vite:lib-index",writeBundle:async()=>{if(!f.htmlFiles.length)return;let e="iife"===f.format?`${f.name}.iife.js`:`${f.name}.js`;for(let i of f.htmlFiles){if(f.main&&a.enableEditor&&"./index.html"===i)continue;let o=m("./.phoenix",i),l=m("./.phoenix/dist/frontend",i);await t(s(l),{recursive:!0});let p=(await n(o,"utf-8")).replace(f.mainScriptPath,e);await r(l,p,"utf-8")}}},b,y],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,lib:{entry:f.entryFile,name:o(f.name),formats:[f.format],fileName:()=>"iife"===f.format?`${f.name}.iife.js`:`${f.name}.js`},rollupOptions:{external:[],output:{assetFileNames:`${f.name}.[ext]`}},minify:!0,emptyOutDir:!1},root:m(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(d),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(S.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(S.gltfDecoder)}}));return a.enableEditor?[...x,{plugins:[i({babel:{plugins:["macros"]}}),e(),p({useStrictCSP:!0}),g(),b,y],build:{outDir:"./dist/frontend",chunkSizeWarningLimit:4e3,rollupOptions:{external:[]},minify:!0,emptyOutDir:!1},root:m(process.cwd(),"./.phoenix"),define:{"process.env":{},"process.env.NODE_ENV":JSON.stringify("production"),"phx.frontendEnv":JSON.stringify(d),"globalThis.PHX_SCHEMA_VALIDATOR":JSON.stringify(S.jsonSchemaValidator),"globalThis.PHX_GLTF_DECODER":JSON.stringify(S.gltfDecoder)}}]:x};
@@ -0,0 +1 @@
1
+ export { isInsideGitRepository } from './is-inside-git-repository.js';
@@ -0,0 +1 @@
1
+ export{isInsideGitRepository}from"./is-inside-git-repository.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Whether a folder is inside a git work tree: the folder or one of its parents, up to the file-system root, holds a
3
+ * `.git` entry. The entry is a directory in a plain checkout and a file in a linked worktree or a submodule; both
4
+ * count. Only the file system is read, so the answer does not depend on git being installed.
5
+ */
6
+ export declare const isInsideGitRepository: (folder: string) => boolean;
@@ -0,0 +1 @@
1
+ import{existsSync as t,realpathSync as r}from"fs";import{dirname as e,join as i,resolve as o}from"path";export const isInsideGitRepository=f=>{let n=(t=>{let e=o(t);try{return r(e)}catch{return e}})(f);for(;;){if(t(i(n,".git")))return!0;let r=e(n);if(r===n)return!1;n=r}};
@@ -4,8 +4,10 @@ export { formatEnvContent, formatEnvLine } from './env-file.js';
4
4
  export { parseChangelog, getLatestVersion, getVersion, paginateVersions, getVersionNumbers, type ChangelogVersion, type PaginatedVersions, } from './changelog-parser.js';
5
5
  export { createDirectoryFromYaml, exists, scanFolderForFiles, syncChangedFiles, syncExistingFolders, validateFolders, writeFileIfNotExists, writeFilesIfNotExists, writeRawFiles, } from './file-system.js';
6
6
  export { FileLogger } from './file-logger.js';
7
+ export { isInsideGitRepository } from './git/index.js';
7
8
  export { type Logger, type CreateLoggerOptions, createLogger } from './logger.js';
8
9
  export { addWorkspaceOverrides, ensureWorkspaceInstallSettings, getLocalOverrides, getSdkPackages, getWorkspaceDir, hasLocalOverrides, readPackageJson, removeWorkspaceOverrides, } from './package-info.js';
9
10
  export { toPascalCase } from './pascal-case.js';
11
+ export { readGitCommit } from './read-git-commit.js';
10
12
  export { type RunCommandProps, runCommand } from './run-command.js';
11
13
  export { type FileUploadInfo, type UploadLinksData, uploadFilesWithPresignedUrls, readUploadLinks, } from './upload-utils.js';
@@ -1 +1 @@
1
- export{askQuestion}from"./ask-question.js";export{checkBundleSizeBudgets}from"./check-bundle-size-budgets.js";export{formatEnvContent,formatEnvLine}from"./env-file.js";export{parseChangelog,getLatestVersion,getVersion,paginateVersions,getVersionNumbers}from"./changelog-parser.js";export{createDirectoryFromYaml,exists,scanFolderForFiles,syncChangedFiles,syncExistingFolders,validateFolders,writeFileIfNotExists,writeFilesIfNotExists,writeRawFiles}from"./file-system.js";export{FileLogger}from"./file-logger.js";export{createLogger}from"./logger.js";export{addWorkspaceOverrides,ensureWorkspaceInstallSettings,getLocalOverrides,getSdkPackages,getWorkspaceDir,hasLocalOverrides,readPackageJson,removeWorkspaceOverrides}from"./package-info.js";export{toPascalCase}from"./pascal-case.js";export{runCommand}from"./run-command.js";export{uploadFilesWithPresignedUrls,readUploadLinks}from"./upload-utils.js";
1
+ export{askQuestion}from"./ask-question.js";export{checkBundleSizeBudgets}from"./check-bundle-size-budgets.js";export{formatEnvContent,formatEnvLine}from"./env-file.js";export{parseChangelog,getLatestVersion,getVersion,paginateVersions,getVersionNumbers}from"./changelog-parser.js";export{createDirectoryFromYaml,exists,scanFolderForFiles,syncChangedFiles,syncExistingFolders,validateFolders,writeFileIfNotExists,writeFilesIfNotExists,writeRawFiles}from"./file-system.js";export{FileLogger}from"./file-logger.js";export{isInsideGitRepository}from"./git/index.js";export{createLogger}from"./logger.js";export{addWorkspaceOverrides,ensureWorkspaceInstallSettings,getLocalOverrides,getSdkPackages,getWorkspaceDir,hasLocalOverrides,readPackageJson,removeWorkspaceOverrides}from"./package-info.js";export{toPascalCase}from"./pascal-case.js";export{readGitCommit}from"./read-git-commit.js";export{runCommand}from"./run-command.js";export{uploadFilesWithPresignedUrls,readUploadLinks}from"./upload-utils.js";
@@ -0,0 +1,14 @@
1
+ export interface ReadGitCommitProps {
2
+ readonly directory: string;
3
+ /**
4
+ * A file of the project, relative to `directory`, that its repository tracks. git looks for a repository in every
5
+ * parent folder, so sources unpacked inside an unrelated checkout would otherwise report that checkout's commit.
6
+ */
7
+ readonly trackedFile: string;
8
+ }
9
+ /**
10
+ * Full SHA of the commit checked out in the project's own repository. Undefined when git cannot read one: no
11
+ * checkout, git missing or refusing the repository, no commit yet, or the project is not tracked by the repository
12
+ * around it. That is normal for a build from uploaded sources.
13
+ */
14
+ export declare const readGitCommit: (props: ReadGitCommitProps) => Promise<string | undefined>;
@@ -0,0 +1 @@
1
+ import{execFile as t}from"node:child_process";import{promisify as e}from"node:util";let r=e(t),i=/^[0-9a-f]{40,64}$/;export const readGitCommit=async t=>{let e={cwd:t.directory,timeout:5e3,windowsHide:!0};try{await r("git",["ls-files","--error-unmatch","--",t.trackedFile],e);let{stdout:o}=await r("git",["rev-parse","HEAD"],e),a=o.trim();return i.test(a)?a:void 0}catch{return}};
@@ -11,8 +11,8 @@ export declare class AnalyticsService {
11
11
  constructor(_debug: boolean);
12
12
  push: (event: AnalyticsEvent) => void;
13
13
  }
14
- declare const Initialized: (userId: string, configuratorName: string) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").InitEvent;
15
- declare const ConfigurationLoaded: (configurationId: string, revisionId: string, mode: 'read' | 'owner') => import("../../../../domain/domain-context/analytics-system/analytics-contracts").DataLoadedEvent;
14
+ declare const Initialized: (userId: string, configuratorName: string) => import("#package/domain").InitEvent;
15
+ declare const ConfigurationLoaded: (configurationId: string, revisionId: string, mode: 'read' | 'owner') => import("#package/domain").DataLoadedEvent;
16
16
  export declare const CommonAnalyticsFactory: {
17
17
  Initialized: typeof Initialized;
18
18
  ConfigurationLoaded: typeof ConfigurationLoaded;
@@ -1,26 +1,26 @@
1
1
  import type { MultilingualString } from '@salsita-ai/common/utils';
2
2
  import { type DomainEntity, type DomainEntityId, type EntityId, type EntityRecipe } from '#package/domain';
3
- declare const EntityChildrenListActionButtonClicked: (id: string) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
4
- declare const EntityChildrenListItemClicked: (id: string) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
5
- declare const AngleDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
6
- declare const AngleDimensionSliderDragged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
7
- declare const GenericDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
8
- declare const GenericDimensionSliderDragged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
9
- declare const DistanceDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
10
- declare const DistanceDimensionSliderDragged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
11
- declare const SizeDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
12
- declare const OffsetDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
13
- declare const AttributeSelected: (selectorType: string) => (instanceName: string, id: EntityId, value: string | number | boolean) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
14
- declare const DimensionSelected: (selectorType: string) => (instanceName: string, id: EntityId, value: number) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
15
- declare const SwatchSelected: (instanceName: string, id: EntityId, value: string) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
16
- declare const ColorPickerChanged: (instanceName: string, id: EntityId, value: string) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
17
- declare const TextValueChanged: (instanceName: string, id: EntityId, value: string) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
18
- declare const MultilingualTextValueChanged: (instanceName: string, id: EntityId, value: MultilingualString) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
19
- declare const RecipesSelected: (recipes: ReadonlyArray<DomainEntity<string>>) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
20
- declare const RecipeReplacementSelected: (oldId: DomainEntityId<string>, recipes: ReadonlyArray<DomainEntity<string>>) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
21
- declare const ChildEntitySelected: (selectorType: string) => (id: EntityId, recipes: ReadonlyArray<EntityRecipe<DomainEntity<string>>>) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
22
- declare const EntityChildrenListDeleteButtonClicked: (id: EntityId) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
23
- declare const EntityDeleteButtonClicked: (id: EntityId) => import("../../../../domain/domain-context/analytics-system/analytics-contracts").UserActionEvent;
3
+ declare const EntityChildrenListActionButtonClicked: (id: string) => import("#package/domain").UserActionEvent;
4
+ declare const EntityChildrenListItemClicked: (id: string) => import("#package/domain").UserActionEvent;
5
+ declare const AngleDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
6
+ declare const AngleDimensionSliderDragged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
7
+ declare const GenericDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
8
+ declare const GenericDimensionSliderDragged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
9
+ declare const DistanceDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
10
+ declare const DistanceDimensionSliderDragged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
11
+ declare const SizeDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
12
+ declare const OffsetDimensionInputChanged: (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
13
+ declare const AttributeSelected: (selectorType: string) => (instanceName: string, id: EntityId, value: string | number | boolean) => import("#package/domain").UserActionEvent;
14
+ declare const DimensionSelected: (selectorType: string) => (instanceName: string, id: EntityId, value: number) => import("#package/domain").UserActionEvent;
15
+ declare const SwatchSelected: (instanceName: string, id: EntityId, value: string) => import("#package/domain").UserActionEvent;
16
+ declare const ColorPickerChanged: (instanceName: string, id: EntityId, value: string) => import("#package/domain").UserActionEvent;
17
+ declare const TextValueChanged: (instanceName: string, id: EntityId, value: string) => import("#package/domain").UserActionEvent;
18
+ declare const MultilingualTextValueChanged: (instanceName: string, id: EntityId, value: MultilingualString) => import("#package/domain").UserActionEvent;
19
+ declare const RecipesSelected: (recipes: ReadonlyArray<DomainEntity<string>>) => import("#package/domain").UserActionEvent;
20
+ declare const RecipeReplacementSelected: (oldId: DomainEntityId<string>, recipes: ReadonlyArray<DomainEntity<string>>) => import("#package/domain").UserActionEvent;
21
+ declare const ChildEntitySelected: (selectorType: string) => (id: EntityId, recipes: ReadonlyArray<EntityRecipe<DomainEntity<string>>>) => import("#package/domain").UserActionEvent;
22
+ declare const EntityChildrenListDeleteButtonClicked: (id: EntityId) => import("#package/domain").UserActionEvent;
23
+ declare const EntityDeleteButtonClicked: (id: EntityId) => import("#package/domain").UserActionEvent;
24
24
  export declare const DomainControlsAnalytics: {
25
25
  ColorPickerChanged: typeof ColorPickerChanged;
26
26
  EntityChildrenListActionButtonClicked: typeof EntityChildrenListActionButtonClicked;
@@ -9,6 +9,6 @@ interface PublishedDataValueProviderProps extends PublishedDataValue {
9
9
  }
10
10
  export declare const PublishedDataValueProvider: (props: PublishedDataValueProviderProps) => import("react/jsx-runtime").JSX.Element;
11
11
  export declare const useProvidedPublishedData: () => PublishedDataValue;
12
- export declare const usePublishedData: () => Record<string, unknown> & import("../../../../domain/admin-domain/__generated/application-types").PublishedData;
12
+ export declare const usePublishedData: () => PublishedDataValue['publishedData'];
13
13
  export type UsePublishedData<PUBLISHED_DATA extends CommonAdminPublishedData> = () => PUBLISHED_DATA;
14
14
  export {};
@@ -12,12 +12,14 @@ export declare const useConfiguratorRawAccessService: () => AccessService | null
12
12
  export declare const useAdminRawAccessService: () => AccessService | null;
13
13
  export declare const useConfiguratorRawAccessInfo: () => {
14
14
  raw: string;
15
+ access: import("@salsita-ai/contracts/api").AccessLevel;
15
16
  viewMode: boolean;
16
17
  revisionId: string | undefined;
17
18
  configurationId: string;
18
19
  } | null;
19
20
  export declare const useAdminRawAccessInfo: () => {
20
21
  raw: string;
22
+ access: import("@salsita-ai/contracts/api").AccessLevel;
21
23
  viewMode: boolean;
22
24
  revisionId: string | undefined;
23
25
  configurationId: string;
@@ -1,8 +1,11 @@
1
- import type { AclConfig, DomainConfig, PersistenceConfig } from '#package/domain';
1
+ import type { AclConfig, AnyDomainComponentOptic, DomainConfig, PersistenceConfig } from '#package/domain';
2
2
  interface DomainApplicationProps {
3
3
  readonly deploymentId: string;
4
4
  readonly persistenceConfig: PersistenceConfig;
5
- readonly domainConfig: DomainConfig<any, any, any, any, any, any>;
5
+ /** The domain config as the runtime spec holds it: component optics already validated, never project modules. */
6
+ readonly domainConfig: Omit<DomainConfig<any, any, any, any, any, any>, 'componentOptics'> & {
7
+ readonly componentOptics: readonly AnyDomainComponentOptic[];
8
+ };
6
9
  readonly canCreate: AclConfig['canCreate'];
7
10
  readonly enableAdminRelease: boolean;
8
11
  }
@@ -1,6 +1,6 @@
1
1
  export declare const useConfiguratorSpec: () => import("../../../domain/index.js").ApplicationConfiguratorSpec;
2
2
  /** The application spec's `assistant` manifest, or nothing when the spec has no `assistant` section. */
3
- export declare const useSpecAssistant: () => import("../../../domain/index.js").AssistantManifest | null;
3
+ export declare const useSpecAssistant: () => Required<import("../../../domain/index.js").AssistantManifest> | null;
4
4
  export declare const useSpecTextLanguages: () => readonly string[];
5
5
  export declare const useSpecHandlerHashes: () => Record<string, string>;
6
6
  export declare const useSpecHandlers: () => readonly import("../../../domain/index.js").HandlerRegistration<any, any>[];
@@ -1,7 +1,7 @@
1
1
  import type { $DomainEntity, ApplicationConfig, DomainEntity, RegistrableTransformer, WebComponentOptions } from '#package/domain';
2
2
  import type { ApplicationRuntime } from '../runtime/react-runtime.js';
3
3
  import { type WebComponentApi } from '../web-component/index.js';
4
- export declare const createMockApplicationRuntime: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string>(_cfg: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, mocks: {
4
+ export declare const createMockApplicationRuntime: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string>(config: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, mocks: {
5
5
  frontendData: FRONTEND_DATA;
6
6
  publishedData: PUBLISHED_DATA;
7
7
  sessionData: SESSION_DATA;
@@ -1 +1 @@
1
- import{memoOnce as e}from"@salsita-ai/common/utils";import{createDomainRuntime as t,createMockDomainRuntimeServices as o,createMockSessionContext as n}from"#package/domain";import{createCommonServicesSelectors as s}from"../common-services/index.js";import{createDomainApplicationContextSelectors as i}from"../domain-application-context/index.js";import{createIntegrationActions as a,createIntegrationSelectors as r,initializeIntegration as c}from"../integration/index.js";import{createRoutingActions as m,createRoutingSelectors as d,initializeRouting as l}from"../routing/index.js";import{SessionService as p,createSessionRuntimeActions as S,createSessionRuntimeSelectors as g,initializeSessionRuntime as v}from"../session/index.js";import{createMockWebComponentApi as u}from"../web-component/index.js";export const createMockApplicationRuntime=(C,x)=>{var f;let b,y,w,A,D,k,E,I,h,j,R,T,O,L,F,{sessionData:M,mode:U,role:V}=x,z={...C,createTransformers:e=>x.transformers.map(t=>t.transformer.register(e,t.priority??1/0))},q=o(),B=(f={webComponentOptions:x.webComponentOptions??z.mount.options,webComponentApi:x.webComponentApi??u()},w=v(),A=t({config:z,services:q,getExtensionSystems:e=>F[e].getInitializableSystems()}),D=new Set,k=()=>{D.forEach(e=>{e()})},b=c({actions:E=a({setIntegration:e=>{b=e(b),k()}})}),I=r({getState:()=>({integration:b})}),h=m({setRouting:e=>{y=e(y),k()}}),y=l(),j=d({getState:()=>({...A.getState(),routing:y}),actions:h,accessActions:A.actions.access,loadedDataActions:A.actions.loadedData,domainServicesSelectors:A.selectors.domainServices,overridesSelectors:A.selectors.overrides}),R=s({getState:()=>({...A.getState(),session:w}),environmentSelectors:A.selectors.environment,specSelectors:A.selectors.spec,accessSelectors:A.selectors.access,domainServicesSelectors:A.selectors.domainServices,webComponentOptions:f.webComponentOptions,webComponentApi:f.webComponentApi,getSessionService:()=>L(),routingSelectors:j}),T=S({setSessionRuntime:e=>{w=e(w),k()}}),O=g({getState:()=>({...A.getState(),session:w}),sessionContextSelectors:A.selectors.sessionContext}),L=e(()=>new p({getLogger:()=>A.selectors.domainServices.getLogger(),getAnalyticsService:()=>A.selectors.domainServices.getAnalyticsService(),getUnauthenticatedClient:R.getUnauthenticatedClient,environmentSelectors:A.selectors.environment,sessionActions:T,setSessionContext:A.actions.sessionContext.setSessionContext,sessionSelectors:O,specSelectors:A.selectors.spec})),F={configurator:i({applicationType:"configurator",commonServicesSelectors:R,domainServicesSelectors:A.selectors.domainServices,domainContextSelectors:A.selectors.domainContext.configurator,getApplicationRuntimeExtensions:()=>[]}),admin:i({applicationType:"admin",commonServicesSelectors:R,domainServicesSelectors:A.selectors.domainServices,domainContextSelectors:A.selectors.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})},{subscribe:e=>{D.add(e);let t=A.subscribe(e);return()=>{D.delete(e),t()}},getState:()=>({...A.getState(),integration:b,routing:y,session:w}),selectors:{...A.selectors,commonServices:R,integration:I,routing:j,session:O,domainApplicationContext:F},actions:{...A.actions,integration:E,routing:h,session:T}});return B.actions.sessionContext.setSessionContext(n(V,M)),B.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",viewMode:"read"===U,revisionId:void 0,configurationId:"mock"}),B.actions.domainData.setDomainData({publishedData:x.publishedData,frontendData:x.frontendData,backendData:x.backendData}),B.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:x.entities,modelVersion:z.domain.domainFactory.modelVersion,rootEntityType:x.rootEntityType,schemaIdentity:z.domain.domainFactory}),B};
1
+ import{memoOnce as e}from"@salsita-ai/common/utils";import{AccessLevel as t}from"@salsita-ai/contracts/api";import{createDomainRuntime as o,createMockDomainRuntimeServices as n,createMockSessionContext as s}from"#package/domain";import{createCommonServicesSelectors as i}from"../common-services/index.js";import{createDomainApplicationContextSelectors as a}from"../domain-application-context/index.js";import{createIntegrationActions as r,createIntegrationSelectors as c,initializeIntegration as m}from"../integration/index.js";import{createRoutingActions as d,createRoutingSelectors as p,initializeRouting as l}from"../routing/index.js";import{SessionService as S,createSessionRuntimeActions as g,createSessionRuntimeSelectors as v,initializeSessionRuntime as u}from"../session/index.js";import{createMockWebComponentApi as f}from"../web-component/index.js";export const createMockApplicationRuntime=(C,x)=>{var b;let w,y,A,D,k,E,I,R,h,j,O,T,L,F,M,{sessionData:U,mode:V,role:z}=x,q=n(),B=(b={webComponentOptions:x.webComponentOptions??C.mount.options,webComponentApi:x.webComponentApi??f()},A=u(),D=o({config:C,services:q,getExtensionSystems:e=>M[e].getInitializableSystems()}),k=new Set,E=()=>{k.forEach(e=>{e()})},w=m({actions:I=r({setIntegration:e=>{w=e(w),E()}})}),R=c({getState:()=>({integration:w})}),h=d({setRouting:e=>{y=e(y),E()}}),y=l(),j=p({getState:()=>({...D.getState(),routing:y}),actions:h,accessActions:D.actions.access,loadedDataActions:D.actions.loadedData,domainServicesSelectors:D.selectors.domainServices,overridesSelectors:D.selectors.overrides}),O=i({getState:()=>({...D.getState(),session:A}),environmentSelectors:D.selectors.environment,specSelectors:D.selectors.spec,accessSelectors:D.selectors.access,domainServicesSelectors:D.selectors.domainServices,webComponentOptions:b.webComponentOptions,webComponentApi:b.webComponentApi,getSessionService:()=>F(),routingSelectors:j}),T=g({setSessionRuntime:e=>{A=e(A),E()}}),L=v({getState:()=>({...D.getState(),session:A}),sessionContextSelectors:D.selectors.sessionContext}),F=e(()=>new S({getLogger:()=>D.selectors.domainServices.getLogger(),getAnalyticsService:()=>D.selectors.domainServices.getAnalyticsService(),getUnauthenticatedClient:O.getUnauthenticatedClient,environmentSelectors:D.selectors.environment,sessionActions:T,setSessionContext:D.actions.sessionContext.setSessionContext,sessionSelectors:L,specSelectors:D.selectors.spec})),M={configurator:a({applicationType:"configurator",commonServicesSelectors:O,domainServicesSelectors:D.selectors.domainServices,domainContextSelectors:D.selectors.domainContext.configurator,getApplicationRuntimeExtensions:()=>[]}),admin:a({applicationType:"admin",commonServicesSelectors:O,domainServicesSelectors:D.selectors.domainServices,domainContextSelectors:D.selectors.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})},{subscribe:e=>{k.add(e);let t=D.subscribe(e);return()=>{k.delete(e),t()}},getState:()=>({...D.getState(),integration:w,routing:y,session:A}),selectors:{...D.selectors,commonServices:O,integration:R,routing:j,session:L,domainApplicationContext:M},actions:{...D.actions,integration:I,routing:h,session:T}}),G=B.getState().spec;return B.actions.spec.updateSpec({...G,configurator:{...G.configurator,createTransformers:e=>x.transformers.map(t=>t.transformer.register(e,t.priority??1/0))}}),B.actions.sessionContext.setSessionContext(s(z,U)),B.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",access:"read"===V?t.Read:t.Owner,viewMode:"read"===V,revisionId:void 0,configurationId:"mock"}),B.actions.domainData.setDomainData({publishedData:x.publishedData,frontendData:x.frontendData,backendData:x.backendData}),B.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:x.entities,modelVersion:C.domain.domainFactory.modelVersion,rootEntityType:x.rootEntityType,schemaIdentity:C.domain.domainFactory}),B};
@@ -3,6 +3,7 @@ export declare const getAccessTokenFromLocalStorage: (configurationId: string) =
3
3
  export declare const removeAccessTokenFromLocalStorage: (configurationId: string) => void;
4
4
  export declare const getAccessInfo: (configurationId: string, accessToken?: string) => {
5
5
  raw: string;
6
+ access: import("@salsita-ai/contracts/api").AccessLevel;
6
7
  viewMode: boolean;
7
8
  revisionId: string | undefined;
8
9
  configurationId: string;