@salsita-ai/sdk 0.50.0-develop.d6ed5efd42 → 0.50.0-develop.d815756961

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 (1437) hide show
  1. package/README.md +20 -15
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/admin/default-admin-elements.d.ts +9 -0
  4. package/dist/admin/default-admin-elements.js +1 -0
  5. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  6. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  7. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  8. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  9. package/dist/admin/default-elements/index.d.ts +2 -0
  10. package/dist/admin/default-elements/index.js +1 -0
  11. package/dist/admin/index.d.ts +1 -0
  12. package/dist/admin/index.js +1 -1
  13. package/dist/application-spec/caching/content-diff.js +1 -1
  14. package/dist/application-spec/core/application-file.d.ts +0 -2
  15. package/dist/application-spec/core/application-file.js +1 -1
  16. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  17. package/dist/application-spec/core/components/component-filter.js +1 -0
  18. package/dist/application-spec/core/components/index.d.ts +2 -0
  19. package/dist/application-spec/core/components/index.js +1 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  21. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  22. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  23. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  24. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  25. package/dist/application-spec/core/expressions/index.js +1 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +17 -0
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  52. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  53. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  54. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  56. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  57. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  59. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  60. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  61. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  63. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  67. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  68. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  69. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +72 -76
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +9 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  90. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  91. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  93. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  94. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  95. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  99. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  100. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  101. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  102. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  103. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  104. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  105. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  106. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  107. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  108. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  110. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  113. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  114. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  115. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +35 -18
  116. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  117. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  126. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  127. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  128. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  129. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  130. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  131. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  132. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  133. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  134. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  135. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  136. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  137. package/dist/application-spec/generate-application/index.d.ts +2 -0
  138. package/dist/application-spec/generate-application/index.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  142. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  143. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  144. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -7
  145. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  146. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  148. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -4
  149. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  150. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  151. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  156. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  158. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  160. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  161. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  162. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  163. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  164. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  165. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  167. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  169. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  170. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  171. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  172. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  173. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  174. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  176. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  177. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  178. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  179. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  180. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  182. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  183. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  184. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  185. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  186. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  187. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  188. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  189. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  190. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  191. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  192. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  193. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  194. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  195. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  196. package/dist/application-spec/index.d.ts +1 -0
  197. package/dist/application-spec/index.js +1 -1
  198. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  199. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  200. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  201. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  202. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  203. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  204. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  205. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  206. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  208. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  209. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  211. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  212. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  213. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  225. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  231. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  232. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  233. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  234. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  235. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  237. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  238. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  239. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  240. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  242. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  243. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  244. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  245. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  247. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  254. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  256. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  261. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  263. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  265. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  266. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  267. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  269. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  271. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  272. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  273. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  274. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  275. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  276. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  277. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  278. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  279. package/dist/client/authorized-client.d.ts +3 -1
  280. package/dist/client/authorized-client.js +1 -1
  281. package/dist/client/contract.d.ts +34 -0
  282. package/dist/client/contract.js +1 -1
  283. package/dist/client/index.d.ts +2 -2
  284. package/dist/client/index.js +1 -1
  285. package/dist/client/local-authorized-client.d.ts +3 -1
  286. package/dist/client/local-authorized-client.js +1 -1
  287. package/dist/client/memory-authorized-client.d.ts +3 -1
  288. package/dist/client/memory-authorized-client.js +1 -1
  289. package/dist/client/phoenix-api.d.ts +797 -121
  290. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  291. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  292. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  293. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +127 -3
  294. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  295. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  296. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  297. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  298. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  299. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  300. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  301. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  302. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  303. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  304. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  305. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  306. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  307. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  308. package/dist/configurator/common/configurator-interface.d.ts +30 -1
  309. package/dist/configurator/common/configurator-interface.js +1 -1
  310. package/dist/configurator/common/index.d.ts +3 -1
  311. package/dist/configurator/common/index.js +1 -1
  312. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  313. package/dist/configurator/common/use-reset-camera.js +1 -0
  314. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  315. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  316. package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
  317. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  318. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  319. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  320. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  321. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  322. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  323. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  324. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  325. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  326. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  327. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  328. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  329. package/dist/configurator/pages/RootPage.js +1 -1
  330. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  331. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  332. package/dist/configurator/pages/default-configurator-elements.d.ts +11 -0
  333. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  334. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  335. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  336. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  337. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  338. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  339. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  340. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  341. package/dist/configurator/pages/default-elements/index.js +1 -0
  342. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  343. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  344. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  345. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  346. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  347. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  348. package/dist/configurator/pages/index.d.ts +1 -0
  349. package/dist/configurator/pages/index.js +1 -1
  350. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  351. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  352. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  353. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  354. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  355. package/dist/configurator/preset-screen-elements/index.js +1 -0
  356. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  357. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  358. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  359. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  360. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  361. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  362. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  363. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  364. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  365. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  366. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  367. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  368. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  369. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  370. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  371. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  372. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  373. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  374. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  375. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  376. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  377. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  378. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  379. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  380. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  381. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  382. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  383. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  384. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  385. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  386. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  387. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  388. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  389. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  390. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  391. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  392. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  393. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  394. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  395. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  396. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  397. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  398. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  399. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  400. package/dist/configurator/ui/assistant/form/index.js +1 -0
  401. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  402. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  403. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  404. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  405. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  406. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  407. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  408. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  409. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  410. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  411. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  412. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  413. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  414. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  415. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  416. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  417. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  418. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  419. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  420. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  421. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  422. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  423. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  424. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  425. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  426. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  427. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  428. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  429. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  430. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  431. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  432. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  433. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  434. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  435. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  436. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  437. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  438. package/dist/configurator/ui/assistant/thread-items.d.ts +21 -3
  439. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  440. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  441. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  442. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  443. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  444. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  445. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  446. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  447. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  448. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  449. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  450. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  451. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  452. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  453. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  454. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  455. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  456. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  457. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  458. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  459. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  460. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  461. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  462. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  463. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  464. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  465. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  466. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  467. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  468. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  469. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  470. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  471. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  472. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  473. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  474. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  475. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  476. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  477. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  478. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  479. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  480. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  481. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  482. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  483. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  484. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  485. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  486. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  487. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  488. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  489. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  490. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  491. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  492. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  493. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  494. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  495. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  496. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  497. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  498. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  499. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  500. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  501. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  502. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  503. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  504. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  505. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  506. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  507. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  508. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  509. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  510. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  511. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  512. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  513. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  514. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  515. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  516. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  517. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  518. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  519. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  520. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  521. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  522. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  523. package/dist/docs/fabs/basic.mdx +2 -2
  524. package/dist/docs/index.json +42 -1
  525. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  526. package/dist/docs/layouts/custom-layout.mdx +2435 -0
  527. package/dist/docs/layouts/header/fixed.mdx +2 -2
  528. package/dist/docs/layouts/header/floating.mdx +2 -2
  529. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  530. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  531. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  532. package/dist/docs/other-features/not-found-404.mdx +1 -1
  533. package/dist/docs/other-features/side-effects.mdx +8 -11
  534. package/dist/docs/other-features/transformers.mdx +4 -0
  535. package/dist/docs/other-features/violation-messages.mdx +52 -56
  536. package/dist/docs/phoenix/application-states.mdx +9 -7
  537. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  538. package/dist/docs/phoenix/components.mdx +6 -0
  539. package/dist/docs/phoenix/configurator-interface.mdx +266 -81
  540. package/dist/docs/phoenix/deployments.mdx +3 -7
  541. package/dist/docs/phoenix/domain-model.mdx +6 -0
  542. package/dist/docs/phoenix/expression-context.mdx +11 -3
  543. package/dist/docs/phoenix/finalization.mdx +1 -1
  544. package/dist/docs/phoenix/getting-started.mdx +7 -4
  545. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  546. package/dist/docs/phoenix/localization.mdx +10 -6
  547. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  548. package/dist/docs/phoenix/phoenix-cli.mdx +112 -65
  549. package/dist/docs/phoenix/project-structure.mdx +80 -36
  550. package/dist/docs/phoenix/quickstart.mdx +9 -9
  551. package/dist/docs/phoenix/sdk-builder-workflow.mdx +14 -14
  552. package/dist/docs/phoenix/testing.mdx +148 -0
  553. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  554. package/dist/docs/phoenix/webhooks.mdx +23 -6
  555. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  556. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  557. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -12
  558. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  559. package/dist/domain/admin-domain/index.d.ts +9 -5
  560. package/dist/domain/admin-domain/index.js +1 -1
  561. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  562. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  563. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  564. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  565. package/dist/domain/application/application-config.d.ts +9 -26
  566. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  567. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  568. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  569. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  570. package/dist/domain/application/assistant/assistant-manifest.d.ts +11 -1
  571. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  572. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  573. package/dist/domain/application/assistant/assistant-value-type.js +1 -1
  574. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  575. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  576. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  577. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  578. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  579. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -11
  580. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  581. package/dist/domain/application/assistant/index.d.ts +8 -1
  582. package/dist/domain/application/assistant/index.js +1 -1
  583. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  584. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  585. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  586. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  587. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  588. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  589. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  590. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  591. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  592. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  593. package/dist/domain/application/assistant-mutations.d.ts +2 -2
  594. package/dist/domain/application/assistant-mutations.js +1 -1
  595. package/dist/domain/application/assistant-recipe-groups.d.ts +5 -5
  596. package/dist/domain/application/configurator-builder.d.ts +5 -2
  597. package/dist/domain/application/configurator-builder.js +1 -1
  598. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  599. package/dist/domain/application/index.d.ts +2 -6
  600. package/dist/domain/application/index.js +1 -1
  601. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  602. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  603. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  604. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  605. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  606. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  607. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  608. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  609. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  610. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  611. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  612. package/dist/domain/available-system-components.js +1 -1
  613. package/dist/domain/core/action/action-factory.d.ts +11 -0
  614. package/dist/domain/core/{action.d.ts → action/action.d.ts} +21 -16
  615. package/dist/domain/core/action/action.js +1 -0
  616. package/dist/domain/core/action/index.d.ts +2 -0
  617. package/dist/domain/core/action/index.js +1 -0
  618. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -1
  619. package/dist/domain/core/component/component-reader-types.js +1 -0
  620. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  621. package/dist/domain/core/component/debug-state-component.js +1 -0
  622. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  623. package/dist/domain/core/component/domain-component-optic.js +16 -0
  624. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  625. package/dist/domain/core/component/drag-state-component.js +1 -0
  626. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  627. package/dist/domain/core/component/export-state-component.js +1 -0
  628. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  629. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  630. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -1
  631. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  632. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  633. package/dist/domain/core/component/hover-state-component.js +1 -0
  634. package/dist/domain/core/component/index.d.ts +18 -0
  635. package/dist/domain/core/component/index.js +1 -0
  636. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -18
  637. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  638. package/dist/domain/core/component/navigation-state-component.js +1 -0
  639. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  640. package/dist/domain/core/component/selection-state-component.js +1 -0
  641. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -1
  642. package/dist/domain/core/component/system-component-builder.js +1 -0
  643. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -18
  644. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  645. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  646. package/dist/domain/core/component/tool-state-component.js +1 -0
  647. package/dist/domain/{components → core/component}/updates.d.ts +1 -1
  648. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  649. package/dist/domain/core/component/view-state-component.js +1 -0
  650. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  651. package/dist/domain/core/component/viewport-state-component.js +1 -0
  652. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  653. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  654. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  655. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  656. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  657. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  658. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  659. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  660. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  661. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  662. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  663. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  664. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  665. package/dist/domain/core/data-schema/data-schema.js +1 -0
  666. package/dist/domain/core/data-schema/index.d.ts +7 -0
  667. package/dist/domain/core/data-schema/index.js +1 -0
  668. package/dist/domain/core/domain-factory.d.ts +1 -1
  669. package/dist/domain/core/domain.d.ts +2 -2
  670. package/dist/domain/core/emission/index.d.ts +8 -0
  671. package/dist/domain/core/emission/index.js +1 -0
  672. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  673. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  674. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  675. package/dist/domain/core/emission/state-emission.js +1 -0
  676. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  677. package/dist/domain/core/emission/state-update-emission.js +1 -0
  678. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  679. package/dist/domain/core/emission/state-validation-result.js +1 -0
  680. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  681. package/dist/domain/core/emission/transformation-log.js +1 -0
  682. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  683. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  684. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  685. package/dist/domain/core/emission/transformer-log.js +1 -0
  686. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  687. package/dist/domain/core/emission/transformer-phase.js +1 -0
  688. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  689. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  690. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  691. package/dist/domain/core/expression/constant-expressions.js +1 -1
  692. package/dist/domain/core/expression/custom-expression.d.ts +21 -8
  693. package/dist/domain/core/expression/custom-expression.js +1 -1
  694. package/dist/domain/core/expression/expression.d.ts +15 -17
  695. package/dist/domain/core/expression/index.d.ts +1 -2
  696. package/dist/domain/core/expression/index.js +1 -1
  697. package/dist/domain/core/index.d.ts +7 -1
  698. package/dist/domain/core/index.js +1 -1
  699. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -1
  700. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  701. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  702. package/dist/domain/core/invariant/index.d.ts +5 -0
  703. package/dist/domain/core/invariant/index.js +1 -0
  704. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  705. package/dist/domain/core/invariant/invariants.js +1 -0
  706. package/dist/domain/core/invariant/violation-component.js +1 -0
  707. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  708. package/dist/domain/core/invariant/violation.js +1 -0
  709. package/dist/domain/core/model/model.d.ts +1 -1
  710. package/dist/domain/core/recipe/index.d.ts +1 -0
  711. package/dist/domain/core/recipe/index.js +1 -0
  712. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  713. package/dist/domain/core/recipe/recipes.js +1 -0
  714. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  715. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  716. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -1
  717. package/dist/domain/core/relation/component-factories.js +1 -0
  718. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  719. package/dist/domain/core/relation/composed-of.js +1 -0
  720. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  721. package/dist/domain/core/relation/index.d.ts +8 -0
  722. package/dist/domain/core/relation/index.js +1 -0
  723. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  724. package/dist/domain/core/relation/indirect-relation.js +1 -0
  725. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -4
  726. package/dist/domain/core/relation/reference-component.js +1 -0
  727. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  728. package/dist/domain/core/relation/reference-field.js +1 -0
  729. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  730. package/dist/domain/core/relation/relation-factory.js +1 -0
  731. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  732. package/dist/domain/core/state/migrations.d.ts +14 -45
  733. package/dist/domain/core/state/migrations.js +1 -1
  734. package/dist/domain/core/state/state.d.ts +1 -1
  735. package/dist/domain/domain-builder.d.ts +2 -5
  736. package/dist/domain/domain-builder.js +1 -1
  737. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  738. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  739. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  740. package/dist/domain/domain-context/action-system/index.js +1 -0
  741. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  742. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  743. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  744. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  745. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  746. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  747. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  748. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  749. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  750. package/dist/domain/domain-context/index.d.ts +8 -18
  751. package/dist/domain/domain-context/index.js +1 -1
  752. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  753. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  754. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -7
  755. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  756. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  757. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  758. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  759. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  760. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  761. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  762. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  763. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  764. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  765. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  766. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  767. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  768. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  769. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  770. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  771. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  772. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  773. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -2
  774. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  775. package/dist/domain/domain-context/store-system/index.js +1 -0
  776. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -2
  777. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  778. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  779. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -37
  780. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  781. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -2
  782. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  783. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  784. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  785. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -9
  786. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  787. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  788. package/dist/domain/domain-context/transformers/context.d.ts +2 -5
  789. package/dist/domain/domain-context/transformers/context.js +1 -1
  790. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  791. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  792. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  793. package/dist/domain/domain-context/transformers/index.js +1 -1
  794. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  795. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -8
  796. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  797. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  798. package/dist/domain/domain-context/undo-system.js +1 -1
  799. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  800. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  801. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  802. package/dist/domain/domain-runtime/access/types.js +1 -1
  803. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  804. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  805. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -2
  806. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  807. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  808. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  809. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  810. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  811. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  812. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  813. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -24
  814. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  815. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  816. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  817. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  818. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  819. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  820. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  821. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  822. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  823. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  824. package/dist/domain/domain-runtime/errors/index.js +1 -0
  825. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  826. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  827. package/dist/domain/domain-runtime/index.d.ts +1 -0
  828. package/dist/domain/domain-runtime/index.js +1 -1
  829. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  830. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  831. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  832. package/dist/domain/domain-runtime/spec/index.js +1 -1
  833. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  834. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  835. package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  836. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +14 -13
  837. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  838. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  839. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  840. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  841. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  842. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  843. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  844. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  845. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  846. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  847. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  848. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  849. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  850. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  851. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  852. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  853. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  854. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  855. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  856. package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  857. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  858. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  859. package/dist/domain/domain-runtime/spec/types.d.ts +6 -4
  860. package/dist/domain/extensions/angle-indicator.js +1 -0
  861. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  862. package/dist/domain/extensions/attribute-switch.js +1 -0
  863. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  864. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  865. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  866. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  867. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  868. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  869. package/dist/domain/extensions/canvas-config.js +1 -0
  870. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  871. package/dist/domain/extensions/canvas-padding.js +1 -0
  872. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  873. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  874. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  875. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  876. package/dist/domain/extensions/client-side-image.js +1 -0
  877. package/dist/domain/extensions/color-value.js +1 -0
  878. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  879. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  880. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  881. package/dist/domain/extensions/common/index.d.ts +4 -0
  882. package/dist/domain/extensions/common/index.js +1 -0
  883. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  884. package/dist/domain/extensions/custom-header.js +1 -0
  885. package/dist/domain/extensions/custom-price-footer.js +1 -0
  886. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  887. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  888. package/dist/domain/extensions/dimension-indicator.js +1 -0
  889. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  890. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  891. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  892. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  893. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  894. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  895. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  896. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  897. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  898. package/dist/domain/extensions/entity-header.js +1 -0
  899. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  900. package/dist/domain/extensions/finalize-action.js +1 -0
  901. package/dist/domain/extensions/finalize-component.js +1 -0
  902. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  903. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  904. package/dist/domain/extensions/fixed-header.js +1 -0
  905. package/dist/domain/extensions/floating-header.js +1 -0
  906. package/dist/domain/extensions/hidden-header.js +1 -0
  907. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  908. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  909. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  910. package/dist/domain/extensions/index.d.ts +69 -0
  911. package/dist/domain/extensions/index.js +1 -0
  912. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  913. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  914. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  915. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  916. package/dist/domain/extensions/navigation-steps.js +1 -0
  917. package/dist/domain/extensions/offset-anchors.js +1 -0
  918. package/dist/domain/extensions/offset-indicator.js +1 -0
  919. package/dist/domain/extensions/offset.js +1 -0
  920. package/dist/domain/extensions/other-action.js +1 -0
  921. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  922. package/dist/domain/extensions/property-page.js +1 -0
  923. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  924. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  925. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  926. package/dist/domain/extensions/rotatable.js +1 -0
  927. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  928. package/dist/domain/extensions/rotation-handle.js +1 -0
  929. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  930. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  931. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  932. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  933. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  934. package/dist/domain/extensions/scene-entity-control.js +1 -0
  935. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  936. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  937. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  938. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  939. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  940. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  941. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  942. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  943. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  944. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  945. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  946. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  947. package/dist/domain/extensions/selectable-component.js +1 -0
  948. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  949. package/dist/domain/extensions/simple-summary.js +1 -0
  950. package/dist/domain/extensions/size.js +1 -0
  951. package/dist/domain/extensions/sketching-draw.js +1 -0
  952. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  953. package/dist/domain/extensions/sketching-edit.js +1 -0
  954. package/dist/domain/extensions/summary-component.js +1 -0
  955. package/dist/domain/extensions/text-value.js +1 -0
  956. package/dist/domain/extensions/tool-controls.js +1 -0
  957. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  958. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  959. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  960. package/dist/domain/extensions/toolbar.js +1 -0
  961. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  962. package/dist/domain/extensions/view-controls.js +1 -0
  963. package/dist/domain/index.d.ts +2 -31
  964. package/dist/domain/index.js +1 -1
  965. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  966. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  967. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  968. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  969. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  970. package/dist/domain/mocks/create-mock-domain.js +1 -1
  971. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  972. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  973. package/dist/domain/mocks/create-test-application-config.js +1 -0
  974. package/dist/domain/mocks/index.d.ts +1 -0
  975. package/dist/domain/mocks/index.js +1 -1
  976. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  977. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  978. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  979. package/dist/domain/projections/collision-projections.d.ts +1 -1
  980. package/dist/domain/projections/composition-projections.d.ts +1 -1
  981. package/dist/domain/projections/composition-projections.js +1 -1
  982. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  983. package/dist/domain/projections/index.d.ts +1 -1
  984. package/dist/domain/projections/position-projections.d.ts +1 -1
  985. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  986. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  987. package/dist/domain/projections/validation-projections.d.ts +3 -20
  988. package/dist/domain/projections/validation-projections.js +1 -1
  989. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  990. package/dist/domain/system-components/admin-sidebar.js +1 -1
  991. package/dist/domain/system-components/angle-dimension.js +1 -1
  992. package/dist/domain/system-components/application-config.d.ts +2 -2
  993. package/dist/domain/system-components/application-config.js +1 -1
  994. package/dist/domain/system-components/attribute-selection.js +1 -1
  995. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  996. package/dist/domain/system-components/bounding-box-component.js +1 -1
  997. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  998. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  999. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  1000. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  1001. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  1002. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1003. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  1004. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  1005. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  1006. package/dist/domain/system-components/collision-geometry.js +1 -1
  1007. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  1008. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  1009. package/dist/domain/system-components/common/index.d.ts +0 -4
  1010. package/dist/domain/system-components/common/index.js +1 -1
  1011. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  1012. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  1013. package/dist/domain/system-components/common/recipes.js +1 -1
  1014. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1015. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1016. package/dist/domain/system-components/constraint.d.ts +11 -24
  1017. package/dist/domain/system-components/constraint.js +1 -1
  1018. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  1019. package/dist/domain/system-components/detail.js +1 -1
  1020. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  1021. package/dist/domain/system-components/distance-dimension.js +1 -1
  1022. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  1023. package/dist/domain/system-components/drag-handle.js +1 -1
  1024. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  1025. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  1026. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  1027. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  1028. package/dist/domain/system-components/generic-dimension.js +1 -1
  1029. package/dist/domain/system-components/hidden-entity.js +1 -1
  1030. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  1031. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  1032. package/dist/domain/system-components/index.d.ts +0 -68
  1033. package/dist/domain/system-components/index.js +1 -1
  1034. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  1035. package/dist/domain/system-components/material-override-transformer.js +1 -1
  1036. package/dist/domain/system-components/material-swatch.js +1 -1
  1037. package/dist/domain/system-components/navigation-page.js +1 -1
  1038. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  1039. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  1040. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  1041. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  1042. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  1043. package/dist/domain/system-components/pivot-point.js +1 -1
  1044. package/dist/domain/system-components/price.js +1 -1
  1045. package/dist/domain/system-components/projected-entities.js +1 -1
  1046. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  1047. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  1048. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  1049. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  1050. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  1051. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  1052. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  1053. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  1054. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  1055. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  1056. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  1057. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  1058. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  1059. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  1060. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  1061. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  1062. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1063. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  1064. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  1065. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1066. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  1067. package/dist/domain/system-components/scene-entity-object.js +1 -1
  1068. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  1069. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  1070. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  1071. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  1072. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  1073. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  1074. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1075. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  1076. package/dist/domain/system-components/sketching-line.js +1 -1
  1077. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  1078. package/dist/domain/system-components/sketching.js +1 -1
  1079. package/dist/domain/system-components/snap-axis.js +1 -1
  1080. package/dist/domain/system-components/snap-edge.js +1 -1
  1081. package/dist/domain/system-components/snap-plane.js +1 -1
  1082. package/dist/domain/system-components/snap-point.js +1 -1
  1083. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  1084. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1085. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  1086. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1087. package/dist/domain/utils/eval-cache.d.ts +1 -1
  1088. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1089. package/dist/domain/utils/memo-eval.d.ts +2 -2
  1090. package/dist/editor/Editor.d.ts +7 -0
  1091. package/dist/editor/Editor.js +1 -1
  1092. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  1093. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1094. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1095. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1096. package/dist/globals/index.d.ts +2 -0
  1097. package/dist/i18n/locales/cs/messages.js +1 -1
  1098. package/dist/i18n/locales/da/messages.js +1 -1
  1099. package/dist/i18n/locales/de/messages.js +1 -1
  1100. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1101. package/dist/i18n/locales/en/messages.js +1 -1
  1102. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1103. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1104. package/dist/i18n/locales/es/messages.js +1 -1
  1105. package/dist/i18n/locales/fr/messages.js +1 -1
  1106. package/dist/i18n/locales/hu/messages.js +1 -1
  1107. package/dist/i18n/locales/it/messages.js +1 -1
  1108. package/dist/i18n/locales/nl/messages.js +1 -1
  1109. package/dist/i18n/locales/pl/messages.js +1 -1
  1110. package/dist/i18n/locales/pt/messages.js +1 -1
  1111. package/dist/i18n/locales/ro/messages.js +1 -1
  1112. package/dist/i18n/locales/sk/messages.js +1 -1
  1113. package/dist/i18n/locales/tr/messages.js +1 -1
  1114. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  1115. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  1116. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1117. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  1118. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  1119. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1120. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1121. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1122. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  1123. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1124. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1125. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1126. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  1127. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  1128. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  1129. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  1130. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1131. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1132. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1133. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1134. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  1135. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1136. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  1137. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1138. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1139. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  1140. package/dist/phoenix/application-spec/project-files.js +1 -1
  1141. package/dist/phoenix/bin.d.ts +2 -0
  1142. package/dist/phoenix/bin.js +2 -0
  1143. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1144. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1145. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1146. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1147. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1148. package/dist/phoenix/check-configs/index.js +1 -0
  1149. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1150. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1151. package/dist/phoenix/cli.d.ts +0 -1
  1152. package/dist/phoenix/cli.js +1 -2
  1153. package/dist/phoenix/commands/build.js +1 -1
  1154. package/dist/phoenix/commands/check.js +1 -1
  1155. package/dist/phoenix/commands/clean.js +1 -1
  1156. package/dist/phoenix/commands/deploy.js +2 -2
  1157. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1158. package/dist/phoenix/commands/deps/deps.js +3 -0
  1159. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1160. package/dist/phoenix/commands/deps/index.js +1 -0
  1161. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1162. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1163. package/dist/phoenix/commands/dev.js +5 -5
  1164. package/dist/phoenix/commands/fix.js +1 -1
  1165. package/dist/phoenix/commands/index.d.ts +1 -0
  1166. package/dist/phoenix/commands/index.js +1 -1
  1167. package/dist/phoenix/commands/init.d.ts +17 -5
  1168. package/dist/phoenix/commands/init.js +1 -1
  1169. package/dist/phoenix/commands/link.js +1 -1
  1170. package/dist/phoenix/commands/prettier.js +1 -1
  1171. package/dist/phoenix/commands/sync.js +1 -1
  1172. package/dist/phoenix/commands/unlink.js +1 -1
  1173. package/dist/phoenix/scripts/build-admin.js +1 -1
  1174. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  1175. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1176. package/dist/phoenix/services/lingui.d.ts +8 -0
  1177. package/dist/phoenix/services/lingui.js +1 -1
  1178. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1179. package/dist/phoenix/services/source-archive.js +1 -1
  1180. package/dist/phoenix/services/swc.js +1 -1
  1181. package/dist/phoenix/services/vite-config.js +1 -1
  1182. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1183. package/dist/phoenix/utils/git/index.js +1 -0
  1184. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1185. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1186. package/dist/phoenix/utils/index.d.ts +5 -2
  1187. package/dist/phoenix/utils/index.js +1 -1
  1188. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1189. package/dist/phoenix/utils/node-version/index.js +1 -0
  1190. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1191. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1192. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1193. package/dist/phoenix/utils/package-info.js +1 -1
  1194. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1195. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1196. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1197. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1198. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1199. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1200. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1201. package/dist/phoenix/utils/run-command.js +1 -1
  1202. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1203. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1204. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1205. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1206. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +2 -0
  1207. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1208. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1209. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1210. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1211. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1212. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1213. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  1214. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1215. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1216. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1217. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1218. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1219. package/dist/react-sdk/domain-context/index.d.ts +3 -1
  1220. package/dist/react-sdk/domain-context/index.js +1 -1
  1221. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1222. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1223. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1224. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1225. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1226. package/dist/react-sdk/handlers/index.d.ts +1 -0
  1227. package/dist/react-sdk/handlers/index.js +1 -1
  1228. package/dist/react-sdk/handlers/use-finalize-action.d.ts +31 -0
  1229. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1230. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1231. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1232. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1233. package/dist/webhook/builders/common.d.ts +5 -0
  1234. package/dist/webhook/builders/webhook-builder.js +1 -1
  1235. package/package.json +46 -35
  1236. package/schema/domain-spec.json +1201 -217
  1237. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1238. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1239. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1240. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1241. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1242. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1243. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1244. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1245. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1246. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1247. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1248. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1249. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1250. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1251. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1252. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1253. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1254. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1255. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1256. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1257. package/dist/configurator/common/frontend-analytics.js +0 -1
  1258. package/dist/domain/actions/action-factory.d.ts +0 -10
  1259. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  1260. package/dist/domain/application/element-registration.js +0 -1
  1261. package/dist/domain/application/handler-registration.js +0 -1
  1262. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  1263. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1264. package/dist/domain/application/resource-builder.d.ts +0 -13
  1265. package/dist/domain/application/resource-builder.js +0 -1
  1266. package/dist/domain/components/debug-state-component.js +0 -1
  1267. package/dist/domain/components/domain-component-optic.d.ts +0 -74
  1268. package/dist/domain/components/domain-component-optic.js +0 -16
  1269. package/dist/domain/components/drag-state-component.js +0 -1
  1270. package/dist/domain/components/export-state-component.js +0 -1
  1271. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1272. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1273. package/dist/domain/components/hover-state-component.js +0 -1
  1274. package/dist/domain/components/index.d.ts +0 -2
  1275. package/dist/domain/components/index.js +0 -1
  1276. package/dist/domain/components/navigation-state-component.js +0 -1
  1277. package/dist/domain/components/selection-state-component.js +0 -1
  1278. package/dist/domain/components/system-component-builder.js +0 -1
  1279. package/dist/domain/components/system-virtual-entity.js +0 -1
  1280. package/dist/domain/components/tool-state-component.js +0 -1
  1281. package/dist/domain/components/view-state-component.js +0 -1
  1282. package/dist/domain/components/viewport-state-component.js +0 -1
  1283. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -55
  1284. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1285. package/dist/domain/invariants/custom-invariants.d.ts +0 -20
  1286. package/dist/domain/invariants/custom-invariants.js +0 -1
  1287. package/dist/domain/invariants/invariants.d.ts +0 -74
  1288. package/dist/domain/invariants/invariants.js +0 -1
  1289. package/dist/domain/invariants/violation-component.js +0 -1
  1290. package/dist/domain/invariants/violation.js +0 -1
  1291. package/dist/domain/project-modules/index.d.ts +0 -1
  1292. package/dist/domain/project-modules/index.js +0 -1
  1293. package/dist/domain/project-modules/project-modules.js +0 -1
  1294. package/dist/domain/relations/all-of-type-relation.d.ts +0 -30
  1295. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1296. package/dist/domain/relations/component-factories.js +0 -1
  1297. package/dist/domain/relations/composed-of.js +0 -1
  1298. package/dist/domain/relations/direct-relation.d.ts +0 -27
  1299. package/dist/domain/relations/indirect-relation.d.ts +0 -78
  1300. package/dist/domain/relations/indirect-relation.js +0 -1
  1301. package/dist/domain/relations/reference-component.js +0 -1
  1302. package/dist/domain/relations/relation-factory.d.ts +0 -17
  1303. package/dist/domain/relations/relation-factory.js +0 -1
  1304. package/dist/domain/relations/relation-implementation.d.ts +0 -5
  1305. package/dist/domain/system-components/angle-indicator.js +0 -1
  1306. package/dist/domain/system-components/attribute-switch.js +0 -1
  1307. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1308. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1309. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1310. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1311. package/dist/domain/system-components/canvas-config.js +0 -1
  1312. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1313. package/dist/domain/system-components/canvas-padding.js +0 -1
  1314. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1315. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1316. package/dist/domain/system-components/client-side-image.js +0 -1
  1317. package/dist/domain/system-components/color-value.js +0 -1
  1318. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1319. package/dist/domain/system-components/custom-header.js +0 -1
  1320. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1321. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  1322. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1323. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1324. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1325. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1326. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1327. package/dist/domain/system-components/entity-header.js +0 -1
  1328. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1329. package/dist/domain/system-components/finalize-action.js +0 -1
  1330. package/dist/domain/system-components/finalize-component.js +0 -1
  1331. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1332. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1333. package/dist/domain/system-components/fixed-header.js +0 -1
  1334. package/dist/domain/system-components/floating-header.js +0 -1
  1335. package/dist/domain/system-components/hidden-header.js +0 -1
  1336. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1337. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1338. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1339. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1340. package/dist/domain/system-components/navigation-steps.js +0 -1
  1341. package/dist/domain/system-components/offset-anchors.js +0 -1
  1342. package/dist/domain/system-components/offset-indicator.js +0 -1
  1343. package/dist/domain/system-components/offset.js +0 -1
  1344. package/dist/domain/system-components/other-action.js +0 -1
  1345. package/dist/domain/system-components/property-page.js +0 -1
  1346. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1347. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1348. package/dist/domain/system-components/rotatable.js +0 -1
  1349. package/dist/domain/system-components/rotation-handle.js +0 -1
  1350. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1351. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1352. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1353. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1354. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1355. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1356. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1357. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1358. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1359. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1360. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1361. package/dist/domain/system-components/selectable-component.js +0 -1
  1362. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1363. package/dist/domain/system-components/simple-summary.js +0 -1
  1364. package/dist/domain/system-components/size.js +0 -1
  1365. package/dist/domain/system-components/sketching-draw.js +0 -1
  1366. package/dist/domain/system-components/sketching-edit.js +0 -1
  1367. package/dist/domain/system-components/summary-component.js +0 -1
  1368. package/dist/domain/system-components/text-value.js +0 -1
  1369. package/dist/domain/system-components/tool-controls.js +0 -1
  1370. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1371. package/dist/domain/system-components/toolbar.js +0 -1
  1372. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1373. package/dist/domain/system-components/view-controls.js +0 -1
  1374. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1375. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1376. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1377. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1378. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1379. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1380. /package/dist/{domain/core/action.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  1381. /package/dist/{domain/relations/reference-field.js → application-spec/parse-application-files/spec/expressions/expression-read.js} +0 -0
  1382. /package/dist/{domain/relations/relation-implementation.js → configurator/ui/assistant/form-elements/form-element-props.js} +0 -0
  1383. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1384. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1385. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1386. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1387. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1388. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1389. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1390. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1391. /package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.js +0 -0
  1392. /package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1393. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  1394. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  1395. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1396. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1397. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1398. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  1399. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  1400. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1401. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  1402. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1403. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1404. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1405. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1406. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1407. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  1408. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  1409. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  1410. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1411. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1412. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1413. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  1414. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  1415. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  1416. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  1417. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1418. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  1419. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  1420. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  1421. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  1422. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  1423. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1424. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1425. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1426. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1427. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1428. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1429. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  1430. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1431. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  1432. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  1433. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1434. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1435. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1436. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  1437. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityObjectPropertiesComponent=e.component("sceneEntityObjectProperties").withState({type:"object",tsType:"SceneEntityObjectPropertiesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectPropertiesComponentState"}],properties:{targetParentGroup:{type:["string","null"]},visible:{type:"boolean"},offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},rotationX:{type:"number"},rotationY:{type:"number"},rotationZ:{type:"number"},scaleX:{type:"number"},scaleY:{type:"number"},scaleZ:{type:"number"},morphTargetInfluences:{type:"object",additionalProperties:{type:"object",tsType:"MorphTargetInfluence",import:[{module:"@salsita-ai/sdk/domain",member:"MorphTargetInfluence"}],properties:{value:{type:"number"},scaleZero:{type:"number"},scaleOne:{type:"number"}},required:["value","scaleZero","scaleOne"],additionalProperties:!1}},frustumCulled:{type:"boolean"},rendered:{type:"boolean"},interactive:{type:"boolean"},castShadow:{type:"boolean"},receiveShadow:{type:"boolean"},highlightingDisabled:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isSceneEntityObjectPropertiesComponent=t(sceneEntityObjectPropertiesComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityObjectPropertiesComponent=e.component("sceneEntityObjectProperties").withState({type:"object",tsType:"SceneEntityObjectPropertiesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectPropertiesComponentState"}],properties:{targetParentGroup:{type:["string","null"]},visible:{type:"boolean"},offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},rotationX:{type:"number"},rotationY:{type:"number"},rotationZ:{type:"number"},scaleX:{type:"number"},scaleY:{type:"number"},scaleZ:{type:"number"},morphTargetInfluences:{type:"object",additionalProperties:{type:"object",tsType:"MorphTargetInfluence",import:[{module:"@salsita-ai/sdk/domain",member:"MorphTargetInfluence"}],properties:{value:{type:"number"},scaleZero:{type:"number"},scaleOne:{type:"number"}},required:["value","scaleZero","scaleOne"],additionalProperties:!1}},frustumCulled:{type:"boolean"},rendered:{type:"boolean"},interactive:{type:"boolean"},castShadow:{type:"boolean"},receiveShadow:{type:"boolean"},highlightingDisabled:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isSceneEntityObjectPropertiesComponent=t(sceneEntityObjectPropertiesComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";import{MaterialOverrideProperties as r}from"./common/index.js";export const sceneEntityObjectRemoteMaterialOverrideComponent=e.component("sceneEntityObjectRemoteMaterialOverride").withState({type:"object",tsType:"SceneEntityObjectRemoteMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectRemoteMaterialOverrideComponentState"}],properties:{fileUrl:{type:"string"},materialName:{type:"string"},...r},required:["fileUrl","materialName","materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityObjectRemoteMaterialOverrideComponentSnapshot=t(sceneEntityObjectRemoteMaterialOverrideComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";import{MaterialOverrideProperties as i}from"./common/index.js";export const sceneEntityObjectRemoteMaterialOverrideComponent=e.component("sceneEntityObjectRemoteMaterialOverride").withState({type:"object",tsType:"SceneEntityObjectRemoteMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectRemoteMaterialOverrideComponentState"}],properties:{fileUrl:{type:"string"},materialName:{type:"string"},...i},required:["fileUrl","materialName","materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityObjectRemoteMaterialOverrideComponentSnapshot=t(sceneEntityObjectRemoteMaterialOverrideComponent);
@@ -12,7 +12,7 @@ export type SceneEntityObjectTextDecalComponentState = {
12
12
  readonly positionX?: number | undefined;
13
13
  readonly positionY?: number | undefined;
14
14
  readonly positionZ?: number | undefined;
15
- readonly preloadFonts?: string[] | undefined;
15
+ readonly preloadFonts?: readonly string[] | undefined;
16
16
  readonly rotationX?: number | undefined;
17
17
  readonly rotationY?: number | undefined;
18
18
  readonly rotationZ?: number | undefined;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const sceneEntityObjectTextDecalComponent=e.component("sceneEntityObjectTextDecal").withState({type:"object",tsType:"SceneEntityObjectTextDecalComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectTextDecalComponentState"}],properties:{bold:{type:"boolean"},bumpScale:{type:"number"},debug:{type:"boolean"},font:{type:"string"},fontSize:{anyOf:[{type:"number"},{enum:["auto"]}]},italic:{type:"boolean"},lineHeight:{type:"number"},metalness:{type:"number"},polygonOffsetFactor:{type:"number"},positionX:{type:"number"},positionY:{type:"number"},positionZ:{type:"number"},preloadFonts:{type:"array",items:{type:"string"}},rotationX:{type:"number"},rotationY:{type:"number"},rotationZ:{type:"number"},roughness:{type:"number"},sizeX:{type:"number"},sizeY:{type:"number"},sizeZ:{type:"number"},text:{type:"string"},textCanvasHeight:{type:"number"},textColor:{type:"string"},textureUrl:{type:"string"},roughnessMapUrl:{type:"string"},visible:{type:"boolean"},invertedBump:{type:"boolean"}},required:["textColor","font","text"],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const sceneEntityObjectTextDecalComponent=e.component("sceneEntityObjectTextDecal").withState({type:"object",tsType:"SceneEntityObjectTextDecalComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectTextDecalComponentState"}],properties:{bold:{type:"boolean"},bumpScale:{type:"number"},debug:{type:"boolean"},font:{type:"string"},fontSize:{anyOf:[{type:"number"},{enum:["auto"]}]},italic:{type:"boolean"},lineHeight:{type:"number"},metalness:{type:"number"},polygonOffsetFactor:{type:"number"},positionX:{type:"number"},positionY:{type:"number"},positionZ:{type:"number"},preloadFonts:{type:"array",items:{type:"string"}},rotationX:{type:"number"},rotationY:{type:"number"},rotationZ:{type:"number"},roughness:{type:"number"},sizeX:{type:"number"},sizeY:{type:"number"},sizeZ:{type:"number"},text:{type:"string"},textCanvasHeight:{type:"number"},textColor:{type:"string"},textureUrl:{type:"string"},roughnessMapUrl:{type:"string"},visible:{type:"boolean"},invertedBump:{type:"boolean"}},required:["textColor","font","text"],additionalProperties:!1}).build();
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const sceneEntityObjectTransformerComponent=e.component("sceneEntityObjectTransformer").withState({type:"object",tsType:"SceneEntityObjectTransformerComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectTransformerComponentState"}],properties:{target:{type:"string"},transformer:{type:"object"}},required:["transformer","target"],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const sceneEntityObjectTransformerComponent=e.component("sceneEntityObjectTransformer").withState({type:"object",tsType:"SceneEntityObjectTransformerComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectTransformerComponentState"}],properties:{target:{type:"string"},transformer:{type:"object"}},required:["transformer","target"],additionalProperties:!1}).build();
@@ -1,5 +1,5 @@
1
1
  export type SceneEntityObjectTransmissiveMaterialOverrideComponentState = {
2
- materialsToOverride: string[];
2
+ materialsToOverride: readonly string[];
3
3
  transmission?: number;
4
4
  thickness?: number;
5
5
  roughness?: number;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityObjectTransmissiveMaterialOverrideComponent=e.component("sceneEntityObjectTransmissiveMaterialOverride").withState({type:"object",tsType:"SceneEntityObjectMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectTransmissiveMaterialOverrideComponentState"}],properties:{materialsToOverride:{type:"array",items:{type:"string"}},transmission:{type:"number"},thickness:{type:"number"},roughness:{type:"number"},chromaticAberration:{type:"number"},anisotropy:{type:"number"},anisotropicBlur:{type:"number"},distortion:{type:"number"},distortionScale:{type:"number"},temporalDistortion:{type:"number"},time:{type:"number"},transmissionSampler:{type:"boolean"},backside:{type:"boolean"},backsideThickness:{type:"number"},resolution:{type:"number"},backsideResolution:{type:"number"},samples:{type:"number"},ior:{type:"number"},clearcoat:{type:"number"},color:{type:"string"}},required:["materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityObjectTransmissiveMaterialOverrideSnapshot=t(sceneEntityObjectTransmissiveMaterialOverrideComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityObjectTransmissiveMaterialOverrideComponent=e.component("sceneEntityObjectTransmissiveMaterialOverride").withState({type:"object",tsType:"SceneEntityObjectMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectTransmissiveMaterialOverrideComponentState"}],properties:{materialsToOverride:{type:"array",items:{type:"string"}},transmission:{type:"number"},thickness:{type:"number"},roughness:{type:"number"},chromaticAberration:{type:"number"},anisotropy:{type:"number"},anisotropicBlur:{type:"number"},distortion:{type:"number"},distortionScale:{type:"number"},temporalDistortion:{type:"number"},time:{type:"number"},transmissionSampler:{type:"boolean"},backside:{type:"boolean"},backsideThickness:{type:"number"},resolution:{type:"number"},backsideResolution:{type:"number"},samples:{type:"number"},ior:{type:"number"},clearcoat:{type:"number"},color:{type:"string"}},required:["materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityObjectTransmissiveMaterialOverrideSnapshot=t(sceneEntityObjectTransmissiveMaterialOverrideComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";import{ReactNodeSchema as o}from"./common/react-node-schema.js";export const sceneEntityObjectComponent=e.component("sceneEntityObject").withState({type:"object",tsType:"SceneEntityObjectComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectComponentState"}],properties:{object:{type:"object"},name:{type:"string"},node:o},required:[],additionalProperties:!1}).build();export const isSceneEntityObjectComponent=t(sceneEntityObjectComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";import{ReactNodeSchema as n}from"./common/react-node-schema.js";export const sceneEntityObjectComponent=e.component("sceneEntityObject").withState({type:"object",tsType:"SceneEntityObjectComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityObjectComponentState"}],properties:{object:{type:"object"},name:{type:"string"},node:n},required:[],additionalProperties:!1}).build();export const isSceneEntityObjectComponent=t(sceneEntityObjectComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as e}from"../core/index.js";export const sceneEntityPointLightComponent=t.component("sceneEntityPointLight").withState({type:"object",tsType:"SceneEntityPointLightComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityPointLightComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},color:{type:"string"},intensity:{type:"number"},distance:{type:"number"},decay:{type:"number"},castShadow:{type:"boolean"},blender:{type:"object",properties:{intensity:{type:"number"},radius:{type:"number"},specularFactor:{type:"number"},diffuseFactor:{type:"number"},volumeFactor:{type:"number"}},additionalProperties:!1}},required:[],additionalProperties:!1}).build();export const isSceneEntityPointLightComponent=e(sceneEntityPointLightComponent);
1
+ import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const sceneEntityPointLightComponent=t.component("sceneEntityPointLight").withState({type:"object",tsType:"SceneEntityPointLightComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityPointLightComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},color:{type:"string"},intensity:{type:"number"},distance:{type:"number"},decay:{type:"number"},castShadow:{type:"boolean"},blender:{type:"object",properties:{intensity:{type:"number"},radius:{type:"number"},specularFactor:{type:"number"},diffuseFactor:{type:"number"},volumeFactor:{type:"number"}},additionalProperties:!1}},required:[],additionalProperties:!1}).build();export const isSceneEntityPointLightComponent=e(sceneEntityPointLightComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/index.js";export const sceneEntityPropertiesComponent=e.component("sceneEntityProperties").withState({type:"object",tsType:"SceneEntityPropertiesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityPropertiesComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},rotationX:{type:"number"},rotationY:{type:"number"},rotationZ:{type:"number"},scaleX:{type:"number"},scaleY:{type:"number"},scaleZ:{type:"number"}},required:[],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const sceneEntityPropertiesComponent=e.component("sceneEntityProperties").withState({type:"object",tsType:"SceneEntityPropertiesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityPropertiesComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},rotationX:{type:"number"},rotationY:{type:"number"},rotationZ:{type:"number"},scaleX:{type:"number"},scaleY:{type:"number"},scaleZ:{type:"number"}},required:[],additionalProperties:!1}).build();
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityRectAreaLightComponent=e.component("sceneEntityRectAreaLight").withState({type:"object",tsType:"SceneEntityRectAreaLightComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityRectAreaLightComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},targetX:{type:"number"},targetY:{type:"number"},targetZ:{type:"number"},color:{type:"string"},intensity:{type:"number"},width:{type:"number"},height:{type:"number"},roll:{type:"number"},blender:{type:"object",properties:{intensity:{type:"number"},shape:{type:"string",enum:["SQUARE","RECTANGLE","DISK","ELLIPSE"]},spread:{type:"number"},specularFactor:{type:"number"},diffuseFactor:{type:"number"},volumeFactor:{type:"number"}},additionalProperties:!1}},required:[],additionalProperties:!1}).build();export const isSceneEntityRectAreaLightComponent=t(sceneEntityRectAreaLightComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityRectAreaLightComponent=e.component("sceneEntityRectAreaLight").withState({type:"object",tsType:"SceneEntityRectAreaLightComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityRectAreaLightComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},targetX:{type:"number"},targetY:{type:"number"},targetZ:{type:"number"},color:{type:"string"},intensity:{type:"number"},width:{type:"number"},height:{type:"number"},roll:{type:"number"},blender:{type:"object",properties:{intensity:{type:"number"},shape:{type:"string",enum:["SQUARE","RECTANGLE","DISK","ELLIPSE"]},spread:{type:"number"},specularFactor:{type:"number"},diffuseFactor:{type:"number"},volumeFactor:{type:"number"}},additionalProperties:!1}},required:[],additionalProperties:!1}).build();export const isSceneEntityRectAreaLightComponent=t(sceneEntityRectAreaLightComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";import{MaterialOverrideProperties as r}from"./common/index.js";export const sceneEntityRemoteMaterialOverrideComponent=e.component("sceneEntityRemoteMaterialOverride").withState({type:"object",tsType:"SceneEntityRemoteMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityRemoteMaterialOverrideComponentState"}],properties:{fileUrl:{type:"string"},materialName:{type:"string"},...r},required:["fileUrl","materialName","materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityRemoteMaterialOverrideComponentSnapshot=t(sceneEntityRemoteMaterialOverrideComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";import{MaterialOverrideProperties as i}from"./common/index.js";export const sceneEntityRemoteMaterialOverrideComponent=e.component("sceneEntityRemoteMaterialOverride").withState({type:"object",tsType:"SceneEntityRemoteMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityRemoteMaterialOverrideComponentState"}],properties:{fileUrl:{type:"string"},materialName:{type:"string"},...i},required:["fileUrl","materialName","materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityRemoteMaterialOverrideComponentSnapshot=t(sceneEntityRemoteMaterialOverrideComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";import{DimensionUnitSchema as o}from"../dimensions/dimensions.js";export const sceneEntityRemoteObjectComponent=e.component("sceneEntityRemoteObject").withState({type:"object",tsType:"SceneEntityRemoteObjectComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityRemoteObjectComponentState"}],properties:{fileUrl:{type:"string"},objectName:{type:"string"},dimensionUnit:o},required:["fileUrl","objectName"],additionalProperties:!1}).build();export const isSceneEntityRemoteObjectComponent=t(sceneEntityRemoteObjectComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";import{DimensionUnitSchema as o}from"../dimensions/dimensions.js";export const sceneEntityRemoteObjectComponent=e.component("sceneEntityRemoteObject").withState({type:"object",tsType:"SceneEntityRemoteObjectComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityRemoteObjectComponentState"}],properties:{fileUrl:{type:"string"},objectName:{type:"string"},dimensionUnit:o},required:["fileUrl","objectName"],additionalProperties:!1}).build();export const isSceneEntityRemoteObjectComponent=t(sceneEntityRemoteObjectComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntitySpotLightComponent=e.component("sceneEntitySpotLight").withState({type:"object",tsType:"SceneEntitySpotLightComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntitySpotLightComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},color:{type:"string"},intensity:{type:"number"},distance:{type:"number"},angle:{type:"number"},penumbra:{type:"number"},decay:{type:"number"},castShadow:{type:"boolean"},targetX:{type:"number"},targetY:{type:"number"},targetZ:{type:"number"},blender:{type:"object",properties:{intensity:{type:"number"},radius:{type:"number"},showCone:{type:"boolean"},useSquare:{type:"boolean"},specularFactor:{type:"number"},diffuseFactor:{type:"number"},volumeFactor:{type:"number"}},additionalProperties:!1}},required:[],additionalProperties:!1}).build();export const isSceneEntitySpotLightComponent=t(sceneEntitySpotLightComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntitySpotLightComponent=e.component("sceneEntitySpotLight").withState({type:"object",tsType:"SceneEntitySpotLightComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntitySpotLightComponentState"}],properties:{offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},color:{type:"string"},intensity:{type:"number"},distance:{type:"number"},angle:{type:"number"},penumbra:{type:"number"},decay:{type:"number"},castShadow:{type:"boolean"},targetX:{type:"number"},targetY:{type:"number"},targetZ:{type:"number"},blender:{type:"object",properties:{intensity:{type:"number"},radius:{type:"number"},showCone:{type:"boolean"},useSquare:{type:"boolean"},specularFactor:{type:"number"},diffuseFactor:{type:"number"},volumeFactor:{type:"number"}},additionalProperties:!1}},required:[],additionalProperties:!1}).build();export const isSceneEntitySpotLightComponent=t(sceneEntitySpotLightComponent);
@@ -1,5 +1,5 @@
1
1
  export type SceneEntityTransmissiveMaterialOverrideComponentState = {
2
- materialsToOverride: string[];
2
+ materialsToOverride: readonly string[];
3
3
  transmission?: number;
4
4
  thickness?: number;
5
5
  roughness?: number;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityTransmissiveMaterialOverrideComponent=e.component("sceneEntityTransmissiveMaterialOverride").withState({type:"object",tsType:"SceneEntityMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityTransmissiveMaterialOverrideComponentState"}],properties:{materialsToOverride:{type:"array",items:{type:"string"}},transmission:{type:"number"},thickness:{type:"number"},roughness:{type:"number"},chromaticAberration:{type:"number"},anisotropy:{type:"number"},anisotropicBlur:{type:"number"},distortion:{type:"number"},distortionScale:{type:"number"},temporalDistortion:{type:"number"},time:{type:"number"},transmissionSampler:{type:"boolean"},backside:{type:"boolean"},backsideThickness:{type:"number"},resolution:{type:"number"},backsideResolution:{type:"number"},samples:{type:"number"},ior:{type:"number"},clearcoat:{type:"number"},color:{type:"string"}},required:["materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityTransmissiveMaterialOverrideSnapshot=t(sceneEntityTransmissiveMaterialOverrideComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const sceneEntityTransmissiveMaterialOverrideComponent=e.component("sceneEntityTransmissiveMaterialOverride").withState({type:"object",tsType:"SceneEntityMaterialOverrideComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityTransmissiveMaterialOverrideComponentState"}],properties:{materialsToOverride:{type:"array",items:{type:"string"}},transmission:{type:"number"},thickness:{type:"number"},roughness:{type:"number"},chromaticAberration:{type:"number"},anisotropy:{type:"number"},anisotropicBlur:{type:"number"},distortion:{type:"number"},distortionScale:{type:"number"},temporalDistortion:{type:"number"},time:{type:"number"},transmissionSampler:{type:"boolean"},backside:{type:"boolean"},backsideThickness:{type:"number"},resolution:{type:"number"},backsideResolution:{type:"number"},samples:{type:"number"},ior:{type:"number"},clearcoat:{type:"number"},color:{type:"string"}},required:["materialsToOverride"],additionalProperties:!1}).build();export const isSceneEntityTransmissiveMaterialOverrideSnapshot=t(sceneEntityTransmissiveMaterialOverrideComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isComponentModificationOfType as n}from"../components/updates.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as i}from"../core/index.js";export const sketchingLineComponent=e.component("sketchingLine").withState({type:"object",tsType:"SketchingLineComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SketchingLineComponentState"}],properties:{key:{type:"string"},x:{type:"number"},y:{type:"number"},length:{type:"number"},angle:{type:"number"}},required:["key","x","y","length","angle"],additionalProperties:!1}).withWritableKeys(["x","y","length","angle"]).build();export const isSketchingLineSnapshot=i(sketchingLineComponent);export const isSketchingLineInstance=t(sketchingLineComponent);export const isSketchingLineModification=n(sketchingLineComponent);
1
+ import{SystemComponentBuilder as e,isComponentModificationOfType as n,isInstanceOfComponentType as t,isSnapshotOfComponentType as i}from"../core/index.js";export const sketchingLineComponent=e.component("sketchingLine").withState({type:"object",tsType:"SketchingLineComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SketchingLineComponentState"}],properties:{key:{type:"string"},x:{type:"number"},y:{type:"number"},length:{type:"number"},angle:{type:"number"}},required:["key","x","y","length","angle"],additionalProperties:!1}).withWritableKeys(["x","y","length","angle"]).build();export const isSketchingLineSnapshot=i(sketchingLineComponent);export const isSketchingLineInstance=t(sketchingLineComponent);export const isSketchingLineModification=n(sketchingLineComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isComponentModificationOfType as t}from"../components/updates.js";import{isInstanceOfComponentType as n,isSnapshotOfComponentType as o}from"../core/index.js";export const sketchingRectangleComponent=e.component("sketchingRectangle").withState({type:"object",tsType:"SketchingRectangleComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SketchingRectangleComponentState"}],properties:{key:{type:"string"},x:{type:"number"},y:{type:"number"},width:{type:"number"},depth:{type:"number"},angle:{type:"number"}},required:["key","x","y","width","depth","angle"],additionalProperties:!1}).withWritableKeys(["x","y","width","depth","angle"]).build();export const isSketchingRectangleSnapshot=o(sketchingRectangleComponent);export const isSketchingRectangleInstance=n(sketchingRectangleComponent);export const isSketchingRectangleModification=t(sketchingRectangleComponent);
1
+ import{SystemComponentBuilder as e,isComponentModificationOfType as t,isInstanceOfComponentType as n,isSnapshotOfComponentType as i}from"../core/index.js";export const sketchingRectangleComponent=e.component("sketchingRectangle").withState({type:"object",tsType:"SketchingRectangleComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SketchingRectangleComponentState"}],properties:{key:{type:"string"},x:{type:"number"},y:{type:"number"},width:{type:"number"},depth:{type:"number"},angle:{type:"number"}},required:["key","x","y","width","depth","angle"],additionalProperties:!1}).withWritableKeys(["x","y","width","depth","angle"]).build();export const isSketchingRectangleSnapshot=i(sketchingRectangleComponent);export const isSketchingRectangleInstance=n(sketchingRectangleComponent);export const isSketchingRectangleModification=t(sketchingRectangleComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as n}from"../core/index.js";import{DimensionUnitSchema as o}from"../dimensions/dimensions.js";import{DraggableSurfaceSchema as i,recipeListItemSchema as r}from"./common/index.js";export const sketchingComponent=e.component("sketching").withState({type:"object",tsType:"SketchingComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SketchingComponentState"}],properties:{key:{type:"string"},surface:i,displayUnit:o,epsilon:{type:"number"},angleSnapValue:{type:"number"},distanceSnapValue:{type:"number"},disableDepthControl:{type:"boolean"},arrowHeadSize:{type:"number"},yOffset:{type:"number"},fontUrl:{type:"string"},fontSize:{type:"number"},arcDiameter:{type:"number"},extrusionLength:{type:"number"},collection:{type:"string"},recipes:{type:"array",items:r},disableAngles:{type:"boolean"},disableVertices:{type:"boolean"},screenSized:{type:"boolean"}},required:["key","surface","recipes"],additionalProperties:!1}).build();export const isSketchingSnapshot=n(sketchingComponent);export const isSketchingInstance=t(sketchingComponent);
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as t,isSnapshotOfComponentType as n}from"../core/index.js";import{DimensionUnitSchema as o}from"../dimensions/dimensions.js";import{DraggableSurfaceSchema as i,recipeListItemSchema as r}from"./common/index.js";export const sketchingComponent=e.component("sketching").withState({type:"object",tsType:"SketchingComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SketchingComponentState"}],properties:{key:{type:"string"},surface:i,displayUnit:o,epsilon:{type:"number"},angleSnapValue:{type:"number"},distanceSnapValue:{type:"number"},disableDepthControl:{type:"boolean"},arrowHeadSize:{type:"number"},yOffset:{type:"number"},fontUrl:{type:"string"},fontSize:{type:"number"},arcDiameter:{type:"number"},extrusionLength:{type:"number"},collection:{type:"string"},recipes:{type:"array",items:r},disableAngles:{type:"boolean"},disableVertices:{type:"boolean"},screenSized:{type:"boolean"}},required:["key","surface","recipes"],additionalProperties:!1}).build();export const isSketchingSnapshot=n(sketchingComponent);export const isSketchingInstance=t(sketchingComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as o}from"../core/index.js";export const snapAxisComponent=e.component("snapAxis").withState({type:"object",tsType:"SnapAxisComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapAxisComponentState"}],properties:{axes:{type:"array",items:{type:"object",properties:{origin:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},direction:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["origin","direction"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},priority:{type:"number"}},required:["axes","threshold"],additionalProperties:!1}).build();export const isSnapAxisComponentSnapshot=o(snapAxisComponent);export const isSnapAxisComponentInstance=t(snapAxisComponent);
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as t,isSnapshotOfComponentType as p}from"../core/index.js";export const snapAxisComponent=e.component("snapAxis").withState({type:"object",tsType:"SnapAxisComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapAxisComponentState"}],properties:{axes:{type:"array",items:{type:"object",properties:{origin:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},direction:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["origin","direction"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},priority:{type:"number"}},required:["axes","threshold"],additionalProperties:!1}).build();export const isSnapAxisComponentSnapshot=p(snapAxisComponent);export const isSnapAxisComponentInstance=t(snapAxisComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as p}from"../core/index.js";export const snapEdgeComponent=e.component("snapEdge").withState({type:"object",tsType:"SnapEdgeComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapEdgeComponentState"}],properties:{edges:{type:"array",items:{type:"object",properties:{start:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},end:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["start","end"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},priority:{type:"number"}},required:["edges","threshold"],additionalProperties:!1}).build();export const isSnapEdgeComponentSnapshot=p(snapEdgeComponent);export const isSnapEdgeComponentInstance=t(snapEdgeComponent);
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as t,isSnapshotOfComponentType as p}from"../core/index.js";export const snapEdgeComponent=e.component("snapEdge").withState({type:"object",tsType:"SnapEdgeComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapEdgeComponentState"}],properties:{edges:{type:"array",items:{type:"object",properties:{start:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},end:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["start","end"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},priority:{type:"number"}},required:["edges","threshold"],additionalProperties:!1}).build();export const isSnapEdgeComponentSnapshot=p(snapEdgeComponent);export const isSnapEdgeComponentInstance=t(snapEdgeComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as n}from"../core/index.js";export const snapPlaneComponent=e.component("snapPlane").withState({type:"object",tsType:"SnapPlaneComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapPlaneComponentState"}],properties:{planes:{type:"array",items:{type:"object",properties:{position:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},bounds:{type:"object",properties:{width:{type:"number"},depth:{type:"number"}},required:["width","depth"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["position","normal"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},priority:{type:"number"}},required:["planes","threshold"],additionalProperties:!1}).build();export const isSnapPlaneComponentSnapshot=n(snapPlaneComponent);export const isSnapPlaneComponentInstance=t(snapPlaneComponent);
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as t,isSnapshotOfComponentType as n}from"../core/index.js";export const snapPlaneComponent=e.component("snapPlane").withState({type:"object",tsType:"SnapPlaneComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapPlaneComponentState"}],properties:{planes:{type:"array",items:{type:"object",properties:{position:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},bounds:{type:"object",properties:{width:{type:"number"},depth:{type:"number"}},required:["width","depth"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["position","normal"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},priority:{type:"number"}},required:["planes","threshold"],additionalProperties:!1}).build();export const isSnapPlaneComponentSnapshot=n(snapPlaneComponent);export const isSnapPlaneComponentInstance=t(snapPlaneComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/index.js";export const snapPointComponent=t.component("snapPoint").withState({type:"object",tsType:"SnapPointComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapPointComponentState"}],properties:{points:{type:"array",items:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["x","y","z"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},autoRotate:{type:"boolean"},priority:{type:"number"},targetPivotPoint:{type:"string"}},required:["points","threshold"],additionalProperties:!1}).build();export const isSnapPointSnapshot=o(snapPointComponent);export const isSnapPointInstance=e(snapPointComponent);
1
+ import{SystemComponentBuilder as t,isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/index.js";export const snapPointComponent=t.component("snapPoint").withState({type:"object",tsType:"SnapPointComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SnapPointComponentState"}],properties:{points:{type:"array",items:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},normal:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},required:["x","y","z"]},label:{type:"string"},targetLabel:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}]}},required:["x","y","z"]}},threshold:{type:"number"},group:{type:"string"},autoSnap:{type:"boolean"},absolute:{type:"boolean"},autoRotate:{type:"boolean"},priority:{type:"number"},targetPivotPoint:{type:"string"}},required:["points","threshold"],additionalProperties:!1}).build();export const isSnapPointSnapshot=o(snapPointComponent);export const isSnapPointInstance=e(snapPointComponent);
@@ -1,5 +1,5 @@
1
1
  import { type MouseButtons, type Touches } from 'camera-controls/dist/types.js';
2
- import type { ComponentSnapshot } from '../core/index.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  export type StaticOrthographicCameraComponentState = {
4
4
  /**
5
5
  * Priority of the CameraControl settings, highest priority settings will be applied to the scene.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/index.js";export const StaticOrthographicCameraComponentName="staticOrthographicCamera";export const staticOrthographicCameraComponent=e.component(StaticOrthographicCameraComponentName).withState({type:"object",tsType:"StaticOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticOrthographicCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},far:{type:"number"},near:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"}},required:[],additionalProperties:!1}).build();export const isStaticOrthographicCameraComponent=e=>e.componentInstance.componentType.name===StaticOrthographicCameraComponentName;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const StaticOrthographicCameraComponentName="staticOrthographicCamera";export const staticOrthographicCameraComponent=e.component(StaticOrthographicCameraComponentName).withState({type:"object",tsType:"StaticOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticOrthographicCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},far:{type:"number"},near:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number",enum:[0,1,2,4,8,16]},middle:{type:"number",enum:[0,1,2,4,8,16]},right:{type:"number",enum:[0,1,2,4,8,16]},wheel:{type:"number",enum:[0,1,2,4,8,16]}},required:["left","middle","right","wheel"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number",enum:[0,8,16,32,64,128]},two:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]},three:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]}},required:["one","two","three"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"}},required:[],additionalProperties:!1}).build();export const isStaticOrthographicCameraComponent=e=>e.componentInstance.componentType.name===StaticOrthographicCameraComponentName;
@@ -1,5 +1,5 @@
1
1
  import { type MouseButtons, type Touches } from 'camera-controls/dist/types.js';
2
- import type { ComponentSnapshot } from '../core/index.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  export type StaticPerspectiveCameraComponentState = {
4
4
  /**
5
5
  * Priority of the CameraControl settings, highest priority settings will be applied to the scene.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/index.js";export const StaticPerspectiveCameraComponentName="staticPerspectiveCamera";export const staticPerspectiveCameraComponent=e.component(StaticPerspectiveCameraComponentName).withState({type:"object",tsType:"StaticPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isStaticPerspectiveCameraComponent=e=>e.componentInstance.componentType.name===StaticPerspectiveCameraComponentName;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const StaticPerspectiveCameraComponentName="staticPerspectiveCamera";export const staticPerspectiveCameraComponent=e.component(StaticPerspectiveCameraComponentName).withState({type:"object",tsType:"StaticPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number",enum:[0,1,2,4,8,16]},middle:{type:"number",enum:[0,1,2,4,8,16]},right:{type:"number",enum:[0,1,2,4,8,16]},wheel:{type:"number",enum:[0,1,2,4,8,16]}},required:["left","middle","right","wheel"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number",enum:[0,8,16,32,64,128]},two:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]},three:{type:"number",enum:[0,32,64,128,256,512,1024,2048,4096,8192,16384,32768]}},required:["one","two","three"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isStaticPerspectiveCameraComponent=e=>e.componentInstance.componentType.name===StaticPerspectiveCameraComponentName;
@@ -3,7 +3,7 @@ import type { DomainEntity, DomainState } from '../core/index.js';
3
3
  * Clone the evaluation cache from one state to another.
4
4
  * You should not need to use this function manually as it is used internally by the framework.
5
5
  */
6
- export declare const cloneEvalCache: <ENTITIES extends DomainEntity<string>>(originalState: DomainState<ENTITIES>, newState: DomainState<ENTITIES>) => void;
6
+ export declare const cloneEvalCache: (originalState: DomainState<DomainEntity<string>>, newState: DomainState<DomainEntity<string>>) => void;
7
7
  /**
8
8
  * A unique token that can be used to retrieve an evaluation cache from a state.
9
9
  * The token carries type information about the cache's key and value types.
@@ -1 +1 @@
1
- export declare const mapNestedObject: <TI, TO, KI extends string, KO extends string = KI>() => <REC extends Partial<Record<KI, Record<string, TI>>>>(record: REC, map: (entry: [key1: KI, key2: string, value: TI]) => Array<[key1: KO, key2: string, value: TO]>, onDuplicate?: (previousValue: TO, newValue: TO, key1: KO, key2: string) => void) => Record<KO, Record<string, TO>>;
1
+ export declare const mapNestedObject: <TI, TO, KI extends string, KO extends string = KI>() => (record: Partial<Record<KI, Record<string, TI>>>, map: (entry: [key1: KI, key2: string, value: TI]) => Array<[key1: KO, key2: string, value: TO]>, onDuplicate?: (previousValue: TO, newValue: TO, key1: KO, key2: string) => void) => Record<KO, Record<string, TO>>;
@@ -1,4 +1,4 @@
1
- import type { $DomainEntity, DomainEntity, DomainState, ExpressionContext } from '../core/index.js';
1
+ import type { $DomainEntity, DomainEntity, DomainState, OpenExpressionContext } from '../core/index.js';
2
2
  declare const MemoizedValueSymbol: unique symbol;
3
3
  export type MemoizedArray<T extends readonly unknown[]> = {
4
4
  readonly [MemoizedValueSymbol]: 'array';
@@ -19,7 +19,7 @@ export interface MemoEval {
19
19
  * In addition to performance optimizations, this helper is useful for custom expressions that produce non-primitive
20
20
  * results and therefore break any downstream memoization.
21
21
  */
22
- <ENTITIES extends DomainEntity<string>, $ENTITY extends $DomainEntity<ENTITIES>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, const DEPS extends any[], RES>(calculateDeps: (self: $ENTITY, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => DEPS, evaluate: (...deps: DEPS) => RES): (self: $ENTITY, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => RES;
22
+ <ENTITIES extends DomainEntity<string>, $ENTITY extends $DomainEntity<ENTITIES>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, const DEPS extends any[], RES, CONTEXT_EXTENSION = unknown>(calculateDeps: (self: $ENTITY, state: DomainState<ENTITIES>, ctx: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>) => DEPS, evaluate: (...deps: DEPS) => RES): (self: $ENTITY, state: DomainState<ENTITIES>, ctx: OpenExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, CONTEXT_EXTENSION>) => RES;
23
23
  /**
24
24
  * Tags an array so that it is compared by contents rather than reference.
25
25
  * Use in the deps collection phase.
@@ -32,6 +32,13 @@ export interface EditorProps {
32
32
  readonly mockTemplates?: MockTemplateDefinition[];
33
33
  /** If true, automatically apply the first template when templates are initialized */
34
34
  readonly autoApplyTemplate?: boolean;
35
+ /**
36
+ * Key of the mock template to apply on mount, in place of the template stored for this page.
37
+ * Applying it does not store it, so it never changes what an editor without this prop opens.
38
+ * An unknown key logs a warning and falls back to the stored template, or to the first template
39
+ * when `autoApplyTemplate` is set.
40
+ */
41
+ readonly initialTemplateKey?: string;
35
42
  /** Key used to scope localStorage template persistence (e.g. environment slug) */
36
43
  readonly environmentKey?: string;
37
44
  /** Web component tag name for creating and discovering reflection systems. */
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as t}from"react/jsx-runtime";import{Box as o,Chip as n,CssBaseline as r,IconButton as s,ThemeProvider as a,Tooltip as l,Typography as d,createTheme as c,useMediaQuery as m,useTheme as p}from"@mui/material";import{ModalProvider as f}from"mui-modal-provider";import{memo as h,useCallback as u,useEffect as g,useState as w}from"react";import{match as k}from"ts-pattern";import{useLocalStorage as y}from"usehooks-ts";import{PhxIcon as x,SnackbarProvider as b,createThemeWithPhoenixIcons as v}from"#package/ui-sdk";import{EditorMode as S}from"./EditorMode.js";import{EditorRuntimeProvider as P}from"./EditorRuntimeProvider.js";import{EditorAdminContextProvider as j}from"./admin/EditorAdminContext.js";import{EditorAdminMainContent as V}from"./admin/EditorAdminMainContent.js";import{EditorAdminSidebar as E}from"./admin/EditorAdminSidebar.js";import{useEditorAdminState as D}from"./admin/use-editor-admin-state.js";import{Analytics as T}from"./analytics/Analytics.js";import{AnalyticsProvider as A}from"./analytics/AnalyticsContext.js";import{Logotype as C}from"./common/Logotype.js";import{PanelIconButton as L}from"./common/PanelIconButton.js";import{BrowserConsoleReporter as M}from"./console-reporter/BrowserConsoleReporter.js";import{DataHandler as W}from"./data/DataHandler.js";import{DebugFlags as R}from"./debug-flags/DebugFlags.js";import{DiagnosticsPanel as I}from"./diagnostics/DiagnosticsPanel.js";import{DomainEditors as F}from"./domain-editors/DomainEditors.js";import{DomainSpecProvider as G,useDomainSpecContext as z}from"./domain-editors/DomainSpecContext.js";import{DomainReflection as B}from"./domain-reflection/DomainReflection.js";import{GraphQLPanel as Q}from"./graphql/GraphQLPanel.js";import{LogsPanel as H}from"./logs/LogsPanel.js";import{EditorMockProvider as U}from"./mocks/EditorMockContext.js";import{Mocks as q}from"./mocks/Mocks.js";import{ProfilerPanel as O}from"./profiler/ProfilerPanel.js";import{RemoteFilesList as K}from"./remote-files/RemoteFilesList.js";import{SceneHandler as N}from"./scene/SceneHandler.js";import{ScreenshotHandler as X}from"./screenshot/ScreenshotHandler.js";import{EditorConnectionProvider as Y}from"./services/EditorConnectionContext.js";import{EditorActionButtons as $}from"./sidebar/EditorActionButtons.js";import{StateInspector as J}from"./state-inspector/index.js";import{StateHandler as Z}from"./state/StateHandler.js";import{SpaTemplate as _}from"./templates/SpaTemplate.js";import{Templates as ee}from"./templates/Templates.js";import{TemplatesList as ei}from"./templates/TemplatesList.js";import{TunnelProvider as et,useTunnel as eo}from"./tunnel/TunnelContext.js";import{TunnelPanel as en}from"./tunnel/TunnelPanel.js";import{hasTunnelProblem as er}from"./tunnel/tunnel-view-model.js";import{HTML_VARIANT_FRAME_ATTRIBUTE as es,VariantPreviewHandler as ea,useConfiguratorContainerRef as el}from"./variants/VariantPreviewHandler.js";import{VideoStudio as ed}from"./video-studio/VideoStudio.js";import{WebSocketStatus as ec}from"./websocket-status/WebSocketStatus.js";let em=h(()=>e("div",{ref:el(),style:{width:"100%",height:"100%"}})),ep=v(c());export const EditorPanelView={Files:"Files",Reflections:"Reflections",Domain:"Domain",Templates:"Templates",Mocks:"Mocks",Inspector:"Inspector",Debug:"Debug",Profiler:"Profiler",GraphQL:"GraphQL",VideoStudio:"VideoStudio",Analytics:"Analytics",Diagnostics:"Diagnostics",Logs:"Logs",Tunnel:"Tunnel",WebSocketStatus:"WebSocketStatus",Admin:"Admin"};let ef=[{key:EditorPanelView.Templates,icon:"GridFour",title:"Templates"},{key:EditorPanelView.Reflections,icon:"House",title:"Reflections"},{key:EditorPanelView.Files,icon:"List",title:"Files"},{key:EditorPanelView.Domain,icon:"Gear",title:"Domain"},{key:EditorPanelView.Mocks,icon:"TagBold",title:"Mocks"},{key:EditorPanelView.Inspector,icon:"CurrencyDollar",title:"Inspector"},{key:EditorPanelView.Debug,icon:"EyeBold",title:"Debug"},{key:EditorPanelView.Profiler,icon:"Alarm",title:"Profiler"},{key:EditorPanelView.GraphQL,icon:"MagnifyingGlassBold",title:"GraphQL"},{key:EditorPanelView.VideoStudio,icon:"CameraRotate",title:"Video Studio"},{key:EditorPanelView.Analytics,icon:"Flame",title:"Analytics"},{key:EditorPanelView.Diagnostics,icon:"WarningCircle",title:"Diagnostics"},{key:EditorPanelView.Logs,icon:"BracketsCurly",title:"Logs"},{key:EditorPanelView.Tunnel,icon:"ArrowsHorizontal",title:"Webhook Tunnel"}],eh=h(r=>{let{panelView:a,setPanelView:c,width:m,setWidth:p,selectedTemplate:f,setSelectedTemplate:h,isResizing:y,setIsResizing:b,onExit:v,enableAdmin:S}=r,P=D(S),{unreadDiagnosticCount:j,markDiagnosticsRead:A}=z(),{state:M}=eo(),W=a?Math.max(m,240):38,[G,U]=w(0),N=u(()=>U(e=>e+1),[]);return g(()=>{a===EditorPanelView.Diagnostics&&A()},[A,a]),i(o,{component:"div",sx:{display:"grid",gridTemplateColumns:`${W}px min-content auto`,gridTemplateRows:"minmax(0, 1fr)",width:"100vw",height:"100vh",backgroundColor:"#ffffff",overflow:"hidden"},onMouseMove:e=>{y&&p(e.clientX)},onMouseUp:()=>{b(!1)},children:[i(o,{component:"div",sx:{display:"grid",gridTemplateColumns:"36px auto",backgroundColor:"#f8f9fa",borderRight:"1px solid #dee2e6",boxShadow:"2px 0 8px rgba(0, 0, 0, 0.06)",overflow:"hidden",height:"100%"},children:[i("div",{style:{backgroundColor:"#f8f9fa",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",padding:"4px 0"},children:[e("div",{style:{marginBottom:"8px"},children:e(C,{variant:"icon-only"})}),i("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:"2px"},children:[S&&i(t,{children:[e(L,{icon:"SlidersHorizontal",title:"Admin",active:a===EditorPanelView.Admin,onClick:()=>{a===EditorPanelView.Admin?c(null):c(EditorPanelView.Admin)}}),e("div",{style:{borderBottom:"1px solid #dee2e6",margin:"2px 0"}})]}),ef.map(i=>e(L,{icon:i.icon,title:i.title,active:a===i.key,badgeCount:i.key===EditorPanelView.Tunnel?+!!er(M):i.key===EditorPanelView.Diagnostics?j:0,onClick:()=>{a===i.key?c(null):c(i.key)}},i.key))]}),e($,{reload:N}),e("div",{style:{padding:"0 2px",paddingBottom:"4px"},children:e(L,{icon:"CloudArrowUp",title:"WebSocket Status",active:a===EditorPanelView.WebSocketStatus,onClick:()=>{a===EditorPanelView.WebSocketStatus?c(null):c(EditorPanelView.WebSocketStatus)}})}),v&&e("div",{style:{padding:"0 2px",paddingBottom:"8px"},children:e(L,{icon:"SignOut",title:"Exit Editor",variant:"danger",onClick:v})})]}),a&&i(o,{component:"div",sx:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",backgroundColor:"#ffffff"},children:[e(o,{component:"div",sx:{p:1.5,borderBottom:"1px solid #e9ecef",backgroundColor:"#ffffff"},children:i(o,{component:"div",sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[i(o,{component:"div",sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e(d,{variant:"h6",sx:{fontSize:16,fontWeight:600,color:"#212529"},children:k(a).with("Files",()=>"Files").with("Reflections",()=>"Reflections").with("Domain",()=>"Domain").with("Templates",()=>"Templates").with("Mocks",()=>"Mocks").with("Inspector",()=>"State Inspector").with("Debug",()=>"Debug").with("Profiler",()=>"Profiler").with("GraphQL",()=>"GraphQL").with("VideoStudio",()=>"Video Studio").with("Analytics",()=>"Analytics").with("Diagnostics",()=>"Diagnostics").with("Logs",()=>"Dev Server Logs").with("Tunnel",()=>"Webhook Tunnel").with("WebSocketStatus",()=>"WebSocket Status").with("Admin",()=>"Admin").otherwise(e=>e)}),e(l,{title:k(a).with("Files",()=>"Browse and inspect loaded GLTF files and their contents").with("Reflections",()=>"Inspect internal Phoenix systems state and configuration").with("Domain",()=>"Edit YAML domain specifications and component configurations").with("Templates",()=>"Select different layout templates for the configurator interface").with("Mocks",()=>"Create and manage mock data for testing session and access configurations").with("Inspector",()=>"Walk the entity tree: fields, expressions, and children").with("Debug",()=>"Toggle scene debug visuals like offset anchors, snapping, and collision meshes").with("Profiler",()=>"Make domain expressions show up as named frames in browser CPU profiles").with("GraphQL",()=>"Run GraphQL queries against the schema generated from the assistant manifest").with("VideoStudio",()=>"Create video sequences by capturing keyframes and exporting as video").with("Analytics",()=>"View parse pipeline metrics, domain stats, and diagnostics").with("Diagnostics",()=>"View latest editor warnings and errors").with("Logs",()=>"View dev server logs: spec builds, webhooks, vite, and browser console").with("Tunnel",()=>"View webhook tunnel status and the requests routed through it").with("WebSocketStatus",()=>"View WebSocket connection status and editor mode information").with("Admin",()=>"Manage admin panel, publish data, and configure settings").otherwise(()=>"Panel information"),placement:"left",arrow:!0,children:e(s,{size:"small",sx:{ml:1,color:"#6c757d",fontSize:14,p:.25,"&:hover":{backgroundColor:"#f8f9fa",color:"#495057"}},children:e(x,{name:"Info",style:{fontSize:14}})})})]}),e(o,{component:"div",sx:{display:"flex",alignItems:"center",gap:1},children:"Templates"===a&&e(n,{label:f.charAt(0).toUpperCase()+f.slice(1),variant:"outlined",size:"small",sx:{backgroundColor:"#f8f9fa",borderColor:"#dee2e6",color:"#495057",fontWeight:500,fontSize:"0.75rem"}})})]})}),i(o,{component:"div",sx:{flex:1,backgroundColor:"#ffffff",overflow:"auto"},children:["Files"===a&&e(K,{}),"Reflections"===a&&e(B,{}),"Domain"===a&&e(F,{}),"Templates"===a&&e(ei,{selectedTemplate:f,onTemplateSelect:h}),"Mocks"===a&&e(q,{}),"Inspector"===a&&e(J,{}),"Debug"===a&&e(R,{}),"Profiler"===a&&e(O,{}),"GraphQL"===a&&e(Q,{}),"VideoStudio"===a&&e(ed,{}),"Analytics"===a&&e(T,{}),"Diagnostics"===a&&e(I,{}),"Logs"===a&&e(H,{}),"Tunnel"===a&&e(en,{}),"WebSocketStatus"===a&&e(ec,{}),S&&"Admin"===a&&e(E,{...P})]})]})]}),e("div",{style:{width:"2px",backgroundColor:"#dee2e6",cursor:"ew-resize",boxShadow:"1px 0 3px rgba(0, 0, 0, 0.05)"},onMouseDown:()=>{b(!0)}}),i("div",{style:{position:"relative",overflow:"hidden"},children:[e("div",{style:{position:"absolute",inset:0,zIndex:+("Admin"!==a)},children:e(ee,{selectedTemplate:f,children:e(em,{},G)})}),S&&e("div",{style:{position:"absolute",inset:0,zIndex:+("Admin"===a)},children:e(V,{})})]})]})}),eu=h(()=>e(_,{children:e(em,{})})),eg=h(o=>{let{wsUrl:n="ws://localhost:3020",localMode:r=!1,domainSpec:s,initialRawProjectFiles:a,onExit:l,mockTemplates:d,autoApplyTemplate:c,environmentKey:h,tagName:u,enableAdmin:k=!0}=o,x=m(p().breakpoints.up("md")),[v,V]=y("editor-width",350),[E,D]=y("editor-view",null),[T,C]=y("editor-template","spa"),[L,R]=w(!1);return g(()=>{null===E||Object.values(EditorPanelView).some(e=>e===E)&&(k||E!==EditorPanelView.Admin)||D(null)},[k,E,D]),e(f,{children:e(b,{maxSnack:5,children:e(j,{children:e(P,{tagName:u,children:e(Y,{initialWsUrl:n,localMode:r,children:e(et,{children:e(S,{children:e(A,{children:e(G,{domainSpec:s,initialRawProjectFiles:a,children:i(U,{mockTemplates:d,autoApplyTemplate:c,environmentKey:h,children:[!r&&i(t,{children:[e(X,{}),e(Z,{}),e(W,{}),e(N,{}),e(M,{})]}),e(ea,{children:x?e(eh,{panelView:E,setPanelView:D,width:v,setWidth:V,selectedTemplate:T,setSelectedTemplate:C,isResizing:L,setIsResizing:R,onExit:l,enableAdmin:k}):e(eu,{})})]})})})})})})})})})})});export const Editor=h(t=>{try{if(window.frameElement?.hasAttribute(es))return e("div",{role:"alert","data-testid":"variant-page-unavailable",style:{padding:24,fontFamily:"sans-serif"},children:"This preview page is unavailable. Ask the agent to recreate it or close the comparison."})}catch{}return i(a,{theme:ep,children:[e(r,{}),e(eg,{...t})]})});
1
+ import{jsx as e,jsxs as i,Fragment as t}from"react/jsx-runtime";import{Box as o,Chip as n,CssBaseline as r,IconButton as s,ThemeProvider as a,Tooltip as l,Typography as d,createTheme as m,useMediaQuery as c,useTheme as p}from"@mui/material";import{ModalProvider as f}from"mui-modal-provider";import{memo as h,useCallback as u,useEffect as g,useState as w}from"react";import{match as k}from"ts-pattern";import{useLocalStorage as y}from"usehooks-ts";import{PhxIcon as x,SnackbarProvider as b,createThemeWithPhoenixIcons as v}from"#package/ui-sdk";import{EditorMode as S}from"./EditorMode.js";import{EditorRuntimeProvider as P}from"./EditorRuntimeProvider.js";import{EditorAdminContextProvider as j}from"./admin/EditorAdminContext.js";import{EditorAdminMainContent as V}from"./admin/EditorAdminMainContent.js";import{EditorAdminSidebar as E}from"./admin/EditorAdminSidebar.js";import{useEditorAdminState as D}from"./admin/use-editor-admin-state.js";import{Analytics as T}from"./analytics/Analytics.js";import{AnalyticsProvider as A}from"./analytics/AnalyticsContext.js";import{Logotype as C}from"./common/Logotype.js";import{PanelIconButton as L}from"./common/PanelIconButton.js";import{BrowserConsoleReporter as M}from"./console-reporter/BrowserConsoleReporter.js";import{DataHandler as W}from"./data/DataHandler.js";import{DebugFlags as R}from"./debug-flags/DebugFlags.js";import{DiagnosticsPanel as I}from"./diagnostics/DiagnosticsPanel.js";import{DomainEditors as F}from"./domain-editors/DomainEditors.js";import{DomainSpecProvider as G,useDomainSpecContext as z}from"./domain-editors/DomainSpecContext.js";import{DomainReflection as B}from"./domain-reflection/DomainReflection.js";import{GraphQLPanel as Q}from"./graphql/GraphQLPanel.js";import{LogsPanel as H}from"./logs/LogsPanel.js";import{EditorMockProvider as U}from"./mocks/EditorMockContext.js";import{Mocks as q}from"./mocks/Mocks.js";import{ProfilerPanel as K}from"./profiler/ProfilerPanel.js";import{RemoteFilesList as O}from"./remote-files/RemoteFilesList.js";import{SceneHandler as N}from"./scene/SceneHandler.js";import{ScreenshotHandler as X}from"./screenshot/ScreenshotHandler.js";import{EditorConnectionProvider as Y}from"./services/EditorConnectionContext.js";import{EditorActionButtons as $}from"./sidebar/EditorActionButtons.js";import{StateInspector as J}from"./state-inspector/index.js";import{StateHandler as Z}from"./state/StateHandler.js";import{SpaTemplate as _}from"./templates/SpaTemplate.js";import{Templates as ee}from"./templates/Templates.js";import{TemplatesList as ei}from"./templates/TemplatesList.js";import{TunnelProvider as et,useTunnel as eo}from"./tunnel/TunnelContext.js";import{TunnelPanel as en}from"./tunnel/TunnelPanel.js";import{hasTunnelProblem as er}from"./tunnel/tunnel-view-model.js";import{HTML_VARIANT_FRAME_ATTRIBUTE as es,VariantPreviewHandler as ea,useConfiguratorContainerRef as el}from"./variants/VariantPreviewHandler.js";import{VideoStudio as ed}from"./video-studio/VideoStudio.js";import{WebSocketStatus as em}from"./websocket-status/WebSocketStatus.js";let ec=h(()=>e("div",{ref:el(),style:{width:"100%",height:"100%"}})),ep=v(m());export const EditorPanelView={Files:"Files",Reflections:"Reflections",Domain:"Domain",Templates:"Templates",Mocks:"Mocks",Inspector:"Inspector",Debug:"Debug",Profiler:"Profiler",GraphQL:"GraphQL",VideoStudio:"VideoStudio",Analytics:"Analytics",Diagnostics:"Diagnostics",Logs:"Logs",Tunnel:"Tunnel",WebSocketStatus:"WebSocketStatus",Admin:"Admin"};let ef=[{key:EditorPanelView.Templates,icon:"GridFour",title:"Templates"},{key:EditorPanelView.Reflections,icon:"House",title:"Reflections"},{key:EditorPanelView.Files,icon:"List",title:"Files"},{key:EditorPanelView.Domain,icon:"Gear",title:"Domain"},{key:EditorPanelView.Mocks,icon:"TagBold",title:"Mocks"},{key:EditorPanelView.Inspector,icon:"CurrencyDollar",title:"Inspector"},{key:EditorPanelView.Debug,icon:"EyeBold",title:"Debug"},{key:EditorPanelView.Profiler,icon:"Alarm",title:"Profiler"},{key:EditorPanelView.GraphQL,icon:"MagnifyingGlassBold",title:"GraphQL"},{key:EditorPanelView.VideoStudio,icon:"CameraRotate",title:"Video Studio"},{key:EditorPanelView.Analytics,icon:"Flame",title:"Analytics"},{key:EditorPanelView.Diagnostics,icon:"WarningCircle",title:"Diagnostics"},{key:EditorPanelView.Logs,icon:"BracketsCurly",title:"Logs"},{key:EditorPanelView.Tunnel,icon:"ArrowsHorizontal",title:"Webhook Tunnel"}],eh=h(r=>{let{panelView:a,setPanelView:m,width:c,setWidth:p,selectedTemplate:f,setSelectedTemplate:h,isResizing:y,setIsResizing:b,onExit:v,enableAdmin:S}=r,P=D(S),{unreadDiagnosticCount:j,markDiagnosticsRead:A}=z(),{state:M}=eo(),W=a?Math.max(c,240):38,[G,U]=w(0),N=u(()=>U(e=>e+1),[]);return g(()=>{a===EditorPanelView.Diagnostics&&A()},[A,a]),i(o,{component:"div",sx:{display:"grid",gridTemplateColumns:`${W}px min-content auto`,gridTemplateRows:"minmax(0, 1fr)",width:"100vw",height:"100vh",backgroundColor:"#ffffff",overflow:"hidden"},onMouseMove:e=>{y&&p(e.clientX)},onMouseUp:()=>{b(!1)},children:[i(o,{component:"div",sx:{display:"grid",gridTemplateColumns:"36px auto",backgroundColor:"#f8f9fa",borderRight:"1px solid #dee2e6",boxShadow:"2px 0 8px rgba(0, 0, 0, 0.06)",overflow:"hidden",height:"100%"},children:[i("div",{style:{backgroundColor:"#f8f9fa",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",padding:"4px 0"},children:[e("div",{style:{marginBottom:"8px"},children:e(C,{variant:"icon-only"})}),i("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:"2px"},children:[S&&i(t,{children:[e(L,{icon:"SlidersHorizontal",title:"Admin",active:a===EditorPanelView.Admin,onClick:()=>{a===EditorPanelView.Admin?m(null):m(EditorPanelView.Admin)}}),e("div",{style:{borderBottom:"1px solid #dee2e6",margin:"2px 0"}})]}),ef.map(i=>e(L,{icon:i.icon,title:i.title,active:a===i.key,badgeCount:i.key===EditorPanelView.Tunnel?+!!er(M):i.key===EditorPanelView.Diagnostics?j:0,onClick:()=>{a===i.key?m(null):m(i.key)}},i.key))]}),e($,{reload:N}),e("div",{style:{padding:"0 2px",paddingBottom:"4px"},children:e(L,{icon:"CloudArrowUp",title:"WebSocket Status",active:a===EditorPanelView.WebSocketStatus,onClick:()=>{a===EditorPanelView.WebSocketStatus?m(null):m(EditorPanelView.WebSocketStatus)}})}),v&&e("div",{style:{padding:"0 2px",paddingBottom:"8px"},children:e(L,{icon:"SignOut",title:"Exit Editor",variant:"danger",onClick:v})})]}),a&&i(o,{component:"div",sx:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",backgroundColor:"#ffffff"},children:[e(o,{component:"div",sx:{p:1.5,borderBottom:"1px solid #e9ecef",backgroundColor:"#ffffff"},children:i(o,{component:"div",sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[i(o,{component:"div",sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e(d,{variant:"h6",sx:{fontSize:16,fontWeight:600,color:"#212529"},children:k(a).with("Files",()=>"Files").with("Reflections",()=>"Reflections").with("Domain",()=>"Domain").with("Templates",()=>"Templates").with("Mocks",()=>"Mocks").with("Inspector",()=>"State Inspector").with("Debug",()=>"Debug").with("Profiler",()=>"Profiler").with("GraphQL",()=>"GraphQL").with("VideoStudio",()=>"Video Studio").with("Analytics",()=>"Analytics").with("Diagnostics",()=>"Diagnostics").with("Logs",()=>"Dev Server Logs").with("Tunnel",()=>"Webhook Tunnel").with("WebSocketStatus",()=>"WebSocket Status").with("Admin",()=>"Admin").otherwise(e=>e)}),e(l,{title:k(a).with("Files",()=>"Browse and inspect loaded GLTF files and their contents").with("Reflections",()=>"Inspect internal Phoenix systems state and configuration").with("Domain",()=>"Edit YAML domain specifications and component configurations").with("Templates",()=>"Select different layout templates for the configurator interface").with("Mocks",()=>"Create and manage mock data for testing session and access configurations").with("Inspector",()=>"Walk the entity tree: fields, expressions, and children").with("Debug",()=>"Toggle scene debug visuals like offset anchors, snapping, and collision meshes").with("Profiler",()=>"Make domain expressions show up as named frames in browser CPU profiles").with("GraphQL",()=>"Run GraphQL queries against the schema generated from the assistant manifest").with("VideoStudio",()=>"Create video sequences by capturing keyframes and exporting as video").with("Analytics",()=>"View parse pipeline metrics, domain stats, and diagnostics").with("Diagnostics",()=>"View latest editor warnings and errors").with("Logs",()=>"View dev server logs: spec builds, webhooks, vite, and browser console").with("Tunnel",()=>"View webhook tunnel status and the requests routed through it").with("WebSocketStatus",()=>"View WebSocket connection status and editor mode information").with("Admin",()=>"Manage admin panel, publish data, and configure settings").otherwise(()=>"Panel information"),placement:"left",arrow:!0,children:e(s,{size:"small",sx:{ml:1,color:"#6c757d",fontSize:14,p:.25,"&:hover":{backgroundColor:"#f8f9fa",color:"#495057"}},children:e(x,{name:"Info",style:{fontSize:14}})})})]}),e(o,{component:"div",sx:{display:"flex",alignItems:"center",gap:1},children:"Templates"===a&&e(n,{label:f.charAt(0).toUpperCase()+f.slice(1),variant:"outlined",size:"small",sx:{backgroundColor:"#f8f9fa",borderColor:"#dee2e6",color:"#495057",fontWeight:500,fontSize:"0.75rem"}})})]})}),i(o,{component:"div",sx:{flex:1,backgroundColor:"#ffffff",overflow:"auto"},children:["Files"===a&&e(O,{}),"Reflections"===a&&e(B,{}),"Domain"===a&&e(F,{}),"Templates"===a&&e(ei,{selectedTemplate:f,onTemplateSelect:h}),"Mocks"===a&&e(q,{}),"Inspector"===a&&e(J,{}),"Debug"===a&&e(R,{}),"Profiler"===a&&e(K,{}),"GraphQL"===a&&e(Q,{}),"VideoStudio"===a&&e(ed,{}),"Analytics"===a&&e(T,{}),"Diagnostics"===a&&e(I,{}),"Logs"===a&&e(H,{}),"Tunnel"===a&&e(en,{}),"WebSocketStatus"===a&&e(em,{}),S&&"Admin"===a&&e(E,{...P})]})]})]}),e("div",{style:{width:"2px",backgroundColor:"#dee2e6",cursor:"ew-resize",boxShadow:"1px 0 3px rgba(0, 0, 0, 0.05)"},onMouseDown:()=>{b(!0)}}),i("div",{style:{position:"relative",overflow:"hidden"},children:[e("div",{style:{position:"absolute",inset:0,zIndex:+("Admin"!==a)},children:e(ee,{selectedTemplate:f,children:e(ec,{},G)})}),S&&e("div",{style:{position:"absolute",inset:0,zIndex:+("Admin"===a)},children:e(V,{})})]})]})}),eu=h(()=>e(_,{children:e(ec,{})})),eg=h(o=>{let{wsUrl:n="ws://localhost:3020",localMode:r=!1,domainSpec:s,initialRawProjectFiles:a,onExit:l,mockTemplates:d,autoApplyTemplate:m,initialTemplateKey:h,environmentKey:u,tagName:k,enableAdmin:x=!0}=o,v=c(p().breakpoints.up("md")),[V,E]=y("editor-width",350),[D,T]=y("editor-view",null),[C,L]=y("editor-template","spa"),[R,I]=w(!1);return g(()=>{null===D||Object.values(EditorPanelView).some(e=>e===D)&&(x||D!==EditorPanelView.Admin)||T(null)},[x,D,T]),e(f,{children:e(b,{maxSnack:5,children:e(j,{children:e(P,{tagName:k,children:e(Y,{initialWsUrl:n,localMode:r,children:e(et,{children:e(S,{children:e(A,{children:e(G,{domainSpec:s,initialRawProjectFiles:a,children:i(U,{mockTemplates:d,autoApplyTemplate:m,initialTemplateKey:h,environmentKey:u,children:[!r&&i(t,{children:[e(X,{}),e(Z,{}),e(W,{}),e(N,{}),e(M,{})]}),e(ea,{children:v?e(eh,{panelView:D,setPanelView:T,width:V,setWidth:E,selectedTemplate:C,setSelectedTemplate:L,isResizing:R,setIsResizing:I,onExit:l,enableAdmin:x}):e(eu,{})})]})})})})})})})})})})});export const Editor=h(t=>{try{if(window.frameElement?.hasAttribute(es))return e("div",{role:"alert","data-testid":"variant-page-unavailable",style:{padding:24,fontFamily:"sans-serif"},children:"This preview page is unavailable. Ask the agent to recreate it or close the comparison."})}catch{}return i(a,{theme:ep,children:[e(r,{}),e(eg,{...t})]})});
@@ -1,6 +1,5 @@
1
1
  import type { Application, ExpressionImplementations, InvariantImplementations } from '#package/application-spec';
2
2
  import { type AnyActionImplementations, type DomainComponentOptic, type DomainEntity, type ElementRegistration, type HandlerRegistration, type ImportedTransformer, type ProjectModule, type SystemComponentTypeConstraint } from '#package/domain';
3
- type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any, any>;
4
3
  type RuntimeData = Record<string, unknown>;
5
4
  type RuntimeEntity = DomainEntity<string>;
6
5
  export type ReloadedComponentOptic = DomainComponentOptic<RuntimeEntity, RuntimeEntity, RuntimeData, RuntimeData, RuntimeData, RuntimeEntity, SystemComponentTypeConstraint>;
@@ -32,7 +31,7 @@ export interface ImplementationFiles {
32
31
  readonly actionImplementations: AnyActionImplementations | null;
33
32
  readonly adminImplementations?: ExpressionImplementations;
34
33
  readonly invariantImplementations: InvariantImplementations;
35
- readonly importedTransformers: readonly AnyImportedTransformer[];
34
+ readonly importedTransformers: readonly ImportedTransformer[];
36
35
  readonly customComponentOptics: readonly ReloadedComponentOptic[] | null;
37
36
  readonly handlers: HandlerRegistryUpdate | null;
38
37
  readonly elements: ElementRegistryUpdate | null;
@@ -1,7 +1,7 @@
1
- import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{Box as a,Checkbox as n,Dialog as i,DialogActions as r,DialogContent as l,DialogTitle as s,Divider as c,FormControlLabel as d,Stack as p,TextField as f,Tooltip as u,Typography as m}from"@mui/material";import{jwtDecode as h}from"jwt-decode";import{useSnackbar as g}from"notistack";import{useEffect as b,useState as v}from"react";import{stringify as x}from"yaml";import{validateMockTemplateContent as k}from"#package/application-spec";import{useAccessServiceOverride as y,useBackendDataOverride as C,useConfiguratorModelVersion as D,useConfiguratorRawAccessInfo as w,useConfiguratorRawBackendData as S,useConfiguratorRawFrontendData as j,useConfiguratorRawPublishedData as M,useFrontendDataOverride as W,usePublishedDataOverride as z,useSessionContextOverride as E,useSessionService as I}from"#package/react-sdk";import{CollapsibleSection as A}from"../common/CollapsibleSection.js";import{EditorButton as F}from"../common/EditorButton.js";import{useOptionalDomain as P}from"../hooks/use-optional-runtime.js";import{useEditorConnection as T}from"../services/EditorConnectionContext.js";import{trpc as $}from"../services/trpc.js";import{useEditorMockContext as B}from"./EditorMockContext.js";import{ValidationErrorModal as O}from"./ValidationErrorModal.js";let R=({title:o,value:n,setValue:i,placeholder:r})=>t(a,{component:"div",sx:{display:"flex",alignItems:"center",gap:1},children:[e(m,{variant:"subtitle2",sx:{fontSize:"11px",fontWeight:600,color:"#495057",minWidth:"80px"},children:o}),e(f,{value:n,onChange:e=>{i(e.target.value)},fullWidth:!0,size:"small",placeholder:r,InputProps:{sx:{fontSize:"12px",fontFamily:"monospace",backgroundColor:"#fff",height:"32px","& input":{padding:"6px 12px"}}},sx:{"& .MuiOutlinedInput-root":{"&:hover fieldset":{borderColor:"#90caf9"},"&.Mui-focused fieldset":{borderColor:"#1976d2"}}}})]}),V={fontFamily:"monospace",fontSize:"12px",whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0,padding:1,backgroundColor:"#f8f9fa",border:"1px solid #e9ecef",borderRadius:"4px"},N={fontSize:"10px",py:.25,px:1,fontWeight:600,minWidth:"auto"},U=({onClick:t})=>e(F,{variant:"secondary",sx:N,onClick:e=>{e.stopPropagation(),t()},children:"Copy"}),q=({label:t,checked:o,onChange:a})=>e(d,{control:e(n,{size:"small",checked:o,onChange:e=>{a(e.target.checked)},sx:{p:.5}}),label:t,sx:{ml:-.5,mr:0,"& .MuiFormControlLabel-label":{fontSize:"12px",color:"#212529"}}}),H=({title:t,original:o,edited:n,onChange:i,onCopy:r})=>{let[l,s]=v(!1),c=n??o;return e(A,{title:t,subtitle:void 0!==n?"edited":void 0,defaultExpanded:!0,actions:[e(F,{variant:"secondary",sx:N,onClick:e=>{e.stopPropagation(),s(!l)},children:l?"Done":"Edit"},"edit"),e(F,{variant:"secondary",sx:N,disabled:void 0===n,onClick:e=>{e.stopPropagation(),i(void 0)},children:"Reset"},"reset"),e(U,{onClick:()=>r(c)},"copy")],children:l?e(f,{value:c,onChange:e=>{i(e.target.value)},fullWidth:!0,multiline:!0,minRows:4,InputProps:{sx:{fontSize:"12px",fontFamily:"monospace",backgroundColor:"#fff",padding:1}},inputProps:{spellCheck:!1},sx:{"& .MuiOutlinedInput-root":{"&:hover fieldset":{borderColor:"#90caf9"},"&.Mui-focused fieldset":{borderColor:"#1976d2"}}}}):e(a,{component:"pre",sx:V,children:c})})},K=({yaml:o,open:n,onClose:d})=>{let{enqueueSnackbar:f}=g(),{effectiveMockTemplates:u}=B(),{localMode:h,connectionStatus:x}=T(),y=$.saveMock.useMutation(),[C,D]=v(""),[w,S]=v(""),[j,M]=v(""),[W,z]=v(!0),[E,I]=v(!0),[A,P]=v(!0),[V,N]=v(""!==o.frontendData),[U,K]=v(""!==o.backendData),[L,Y]=v({}),[G,J]=v(null);b(()=>{Y({})},[o]);let Q=e=>t=>{Y(o=>{let a={...o};return void 0===t?delete a[e]:a[e]=t,a})},X={sessionAccess:L.sessionAccess??o.session+"\n"+o.access,configuration:L.configuration??o.configuration,publishedData:L.publishedData??o.publishedData,frontendData:L.frontendData??o.frontendData,backendData:L.backendData??o.backendData},Z=async e=>{try{await navigator.clipboard.writeText(e),f("Copied to clipboard!",{variant:"success"})}catch(e){f("Failed to copy to clipboard",{variant:"error"})}},_=()=>{let e,t=(e=`key: '${C}'
1
+ import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{Box as a,Checkbox as n,Dialog as i,DialogActions as r,DialogContent as l,DialogTitle as s,Divider as c,FormControlLabel as d,Stack as p,TextField as f,Tooltip as u,Typography as m}from"@mui/material";import{useSnackbar as h}from"notistack";import{useEffect as g,useMemo as b,useState as v}from"react";import{stringify as x}from"yaml";import{validateMockTemplateContent as k}from"#package/application-spec";import{useAccessServiceOverride as C,useBackendDataOverride as y,useConfiguratorModelVersion as D,useConfiguratorRawAccessInfo as w,useConfiguratorRawBackendData as S,useConfiguratorRawFrontendData as j,useConfiguratorRawPublishedData as M,useFrontendDataOverride as W,usePublishedDataOverride as z,useRawSession as E,useSessionContextOverride as I}from"#package/react-sdk";import{CollapsibleSection as A}from"../common/CollapsibleSection.js";import{EditorButton as F}from"../common/EditorButton.js";import{useOptionalDomain as P}from"../hooks/use-optional-runtime.js";import{useEditorConnection as $}from"../services/EditorConnectionContext.js";import{trpc as B}from"../services/trpc.js";import{useEditorMockContext as O}from"./EditorMockContext.js";import{ValidationErrorModal as T}from"./ValidationErrorModal.js";let R=({title:o,value:n,setValue:i,placeholder:r})=>t(a,{component:"div",sx:{display:"flex",alignItems:"center",gap:1},children:[e(m,{variant:"subtitle2",sx:{fontSize:"11px",fontWeight:600,color:"#495057",minWidth:"80px"},children:o}),e(f,{value:n,onChange:e=>{i(e.target.value)},fullWidth:!0,size:"small",placeholder:r,InputProps:{sx:{fontSize:"12px",fontFamily:"monospace",backgroundColor:"#fff",height:"32px","& input":{padding:"6px 12px"}}},sx:{"& .MuiOutlinedInput-root":{"&:hover fieldset":{borderColor:"#90caf9"},"&.Mui-focused fieldset":{borderColor:"#1976d2"}}}})]}),V={fontFamily:"monospace",fontSize:"12px",whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0,padding:1,backgroundColor:"#f8f9fa",border:"1px solid #e9ecef",borderRadius:"4px"},N={fontSize:"10px",py:.25,px:1,fontWeight:600,minWidth:"auto"},U=({onClick:t})=>e(F,{variant:"secondary",sx:N,onClick:e=>{e.stopPropagation(),t()},children:"Copy"}),H=({label:t,checked:o,onChange:a})=>e(d,{control:e(n,{size:"small",checked:o,onChange:e=>{a(e.target.checked)},sx:{p:.5}}),label:t,sx:{ml:-.5,mr:0,"& .MuiFormControlLabel-label":{fontSize:"12px",color:"#212529"}}}),K=({title:t,original:o,edited:n,onChange:i,onCopy:r})=>{let[l,s]=v(!1),c=n??o;return e(A,{title:t,subtitle:void 0!==n?"edited":void 0,defaultExpanded:!0,actions:[e(F,{variant:"secondary",sx:N,onClick:e=>{e.stopPropagation(),s(!l)},children:l?"Done":"Edit"},"edit"),e(F,{variant:"secondary",sx:N,disabled:void 0===n,onClick:e=>{e.stopPropagation(),i(void 0)},children:"Reset"},"reset"),e(U,{onClick:()=>r(c)},"copy")],children:l?e(f,{value:c,onChange:e=>{i(e.target.value)},fullWidth:!0,multiline:!0,minRows:4,InputProps:{sx:{fontSize:"12px",fontFamily:"monospace",backgroundColor:"#fff",padding:1}},inputProps:{spellCheck:!1},sx:{"& .MuiOutlinedInput-root":{"&:hover fieldset":{borderColor:"#90caf9"},"&.Mui-focused fieldset":{borderColor:"#1976d2"}}}}):e(a,{component:"pre",sx:V,children:c})})},L=({yaml:o,open:n,onClose:d})=>{let{enqueueSnackbar:f}=h(),{effectiveMockTemplates:u}=O(),{localMode:b,connectionStatus:x}=$(),C=B.saveMock.useMutation(),[y,D]=v(""),[w,S]=v(""),[j,M]=v(""),[W,z]=v(!0),[E,I]=v(!0),[A,P]=v(!0),[V,N]=v(""!==o.frontendData),[U,L]=v(""!==o.backendData),[Y,q]=v({}),[G,J]=v(null);g(()=>{q({})},[o]);let Q=e=>t=>{q(o=>{let a={...o};return void 0===t?delete a[e]:a[e]=t,a})},X={sessionAccess:Y.sessionAccess??o.session+"\n"+o.access,configuration:Y.configuration??o.configuration,publishedData:Y.publishedData??o.publishedData,frontendData:Y.frontendData??o.frontendData,backendData:Y.backendData??o.backendData},Z=async e=>{try{await navigator.clipboard.writeText(e),f("Copied to clipboard!",{variant:"success"})}catch(e){f("Failed to copy to clipboard",{variant:"error"})}},_=()=>{let e,t=(e=`key: '${y}'
2
2
  title: '${w}'
3
3
  description: '${j}'
4
4
  order: ${o.order.toString()}
5
5
  `,W&&(e+="\n"+X.sessionAccess+"\n"),E&&(e+="\n"+X.configuration),A&&(e+="\n"+X.publishedData),V&&(e+="\n"+X.frontendData),U&&(e+="\n"+X.backendData),e),a=k(t);return a.valid?t:(J(`The assembled mock template is not valid:
6
6
 
7
- ${a.errors.join("\n")}`),null)},ee=async()=>{let e=_();null!==e&&await Z(e)},et=async()=>{if(""===C)return void f("Enter a key for the mock file",{variant:"error"});let e=C+".yaml";if(u.find(e=>e.key===C))return void f(`A mock template '${e}' already exists`,{variant:"error"});if(h)return void f("Cannot save files in local mode",{variant:"error"});if("connected"!==x)return void f("Not connected to server. Cannot save file.",{variant:"error"});let t=_();if(null!==t)try{await y.mutateAsync({fileName:e,content:t}),f(`Mock file ${e} saved successfully!`,{variant:"success"})}catch(e){f(e instanceof Error?e.message:"Failed to save mock file",{variant:"error"})}};return t(i,{open:n,onClose:d,maxWidth:"md",fullWidth:!0,children:[e(s,{sx:{fontSize:"14px",fontWeight:600,py:1.5,px:2,borderBottom:"1px solid #e9ecef"},children:"Created Mock Data"}),e(l,{sx:{p:2},children:t(a,{component:"div",sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:[t(a,{component:"div",sx:{display:"flex",flexDirection:"column",gap:1},children:[e(R,{title:"Key",value:C,setValue:D,placeholder:"e.g. 'regularUser', also in the filename"}),e(R,{title:"Title",value:w,setValue:S,placeholder:"e.g. 'Regular User'"}),e(R,{title:"Description",value:j,setValue:M,placeholder:"Human readable description of the mock data"}),t(a,{component:"div",sx:{display:"flex",alignItems:"center",gap:1,flexWrap:"wrap"},children:[e(m,{variant:"subtitle2",sx:{fontSize:"11px",fontWeight:600,color:"#495057",minWidth:"80px"},children:"Include"}),e(q,{label:"Session & Access",checked:W,onChange:z}),e(q,{label:"Configuration",checked:E,onChange:I}),e(q,{label:"Published data",checked:A,onChange:P}),e(q,{label:"Frontend data",checked:V,onChange:N}),e(q,{label:"Backend data",checked:U,onChange:K})]})]}),e(c,{}),t(p,{direction:"column",spacing:1,children:[e(H,{title:"Session & Access",original:o.session+"\n"+o.access,edited:L.sessionAccess,onChange:Q("sessionAccess"),onCopy:e=>void Z(e)}),e(H,{title:"Configuration (entities)",original:o.configuration,edited:L.configuration,onChange:Q("configuration"),onCopy:e=>void Z(e)}),e(H,{title:"Published Data",original:o.publishedData,edited:L.publishedData,onChange:Q("publishedData"),onCopy:e=>void Z(e)}),""!==o.frontendData&&e(H,{title:"Frontend Data",original:o.frontendData,edited:L.frontendData,onChange:Q("frontendData"),onCopy:e=>void Z(e)}),""!==o.backendData&&e(H,{title:"Backend Data",original:o.backendData,edited:L.backendData,onChange:Q("backendData"),onCopy:e=>void Z(e)})]})]})}),t(r,{sx:{p:2,borderTop:"1px solid #e9ecef"},children:[e(F,{onClick:et,children:"Save to file"}),e(F,{onClick:ee,children:"Copy to clipboard"}),e(F,{onClick:d,children:"Close"})]}),e(O,{open:null!==G,error:G,onClose:()=>{J(null)}})]})};export const CreateMockYaml=()=>{let n=P(),i=D(),{effectiveMockTemplates:r}=B(),l=I(),s=w(),c=z(),d=W(),p=C(),f=M(),g=j(),k=S(),A=c??f,T=d??g,$=p??k,[O,R]=v([]),V=n?i:-1,[U,q]=v(""),[H,L]=v(),[Y,G]=v(),[J,Q]=v();b(()=>{(async()=>{var e;let t;G(((e=h(await l.requestSessionToken())).data&&"object"==typeof e.data&&("object"==typeof e.data.tags&&0===Object.keys(e.data.tags).length&&delete e.data.tags,t=e.data),{role:e.role,data:t}))})()},[l]);let X=E();b(()=>{Q(X??void 0)},[X]);let[Z,_]=v(),[ee,et]=v();b(()=>{_(s?.viewMode?"read-revision":"owner")},[s]);let eo=y();b(()=>{eo?et(eo.accessInfo.viewMode?"read-revision":"owner"):et(void 0)},[eo,eo?.accessInfo.viewMode]),b(()=>{if(!n)return void R([]);let e=n.storeSystem.stateSlices.committed.value.state;R([...e.entities]),q(e.rootEntityType);let t=n.storeSystem.stateSlices.committed.subscribe(e=>{R([...e.state.entities]),q(e.state.rootEntityType)});return()=>{t.unsubscribe()}},[n]);let[ea,en]=v(!1);return t(o,{children:[e(a,{component:"div",sx:{borderBottom:"1px solid #e9ecef",backgroundColor:"#f8f9fa",px:1.5,py:1,display:"flex",flexDirection:"column",gap:1.5,mb:0},children:t(a,{component:"div",sx:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e(m,{variant:"subtitle2",sx:{fontWeight:600,color:"#495057",fontSize:"12px"},children:"Create mock yaml from current state"}),e(u,{title:-1===V?"No configuration is loaded yet — load a configuration to capture its state":"Capture the current session, access, configuration and data as a mock template",placement:"left",arrow:!0,enterDelay:300,children:e("span",{children:e(F,{variant:"secondary",onClick:e=>{let t,o,a,n,i,l;e.stopPropagation(),t=x({session:{role:(J??Y)?.role??"anonymous",data:(J??Y)?.data??{}}}),o=x({access:{access:ee??Z??"owner"}}),a=x({configuration:{entities:O,modelVersion:V,rootEntityType:U}}),n=A&&Object.keys(A).length>=1?x({publishedData:{data:A}}):"",i=T&&Object.keys(T).length>=1?x({frontendData:{data:T}}):"",l=$&&Object.keys($).length>=1?x({backendData:{data:$}}):"",L({order:(r.length??0)+1,configuration:a,session:t,access:o,publishedData:n,frontendData:i,backendData:l}),en(!0)},sx:N,disabled:-1===V,children:"Create Mock"})})})]})}),H&&e(K,{yaml:H,open:ea,onClose:()=>{en(!1)}})]})};
7
+ ${a.errors.join("\n")}`),null)},ee=async()=>{let e=_();null!==e&&await Z(e)},et=async()=>{if(""===y)return void f("Enter a key for the mock file",{variant:"error"});let e=y+".yaml";if(u.find(e=>e.key===y))return void f(`A mock template '${e}' already exists`,{variant:"error"});if(b)return void f("Cannot save files in local mode",{variant:"error"});if("connected"!==x)return void f("Not connected to server. Cannot save file.",{variant:"error"});let t=_();if(null!==t)try{await C.mutateAsync({fileName:e,content:t}),f(`Mock file ${e} saved successfully!`,{variant:"success"})}catch(e){f(e instanceof Error?e.message:"Failed to save mock file",{variant:"error"})}};return t(i,{open:n,onClose:d,maxWidth:"md",fullWidth:!0,children:[e(s,{sx:{fontSize:"14px",fontWeight:600,py:1.5,px:2,borderBottom:"1px solid #e9ecef"},children:"Created Mock Data"}),e(l,{sx:{p:2},children:t(a,{component:"div",sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:[t(a,{component:"div",sx:{display:"flex",flexDirection:"column",gap:1},children:[e(R,{title:"Key",value:y,setValue:D,placeholder:"e.g. 'regularUser', also in the filename"}),e(R,{title:"Title",value:w,setValue:S,placeholder:"e.g. 'Regular User'"}),e(R,{title:"Description",value:j,setValue:M,placeholder:"Human readable description of the mock data"}),t(a,{component:"div",sx:{display:"flex",alignItems:"center",gap:1,flexWrap:"wrap"},children:[e(m,{variant:"subtitle2",sx:{fontSize:"11px",fontWeight:600,color:"#495057",minWidth:"80px"},children:"Include"}),e(H,{label:"Session & Access",checked:W,onChange:z}),e(H,{label:"Configuration",checked:E,onChange:I}),e(H,{label:"Published data",checked:A,onChange:P}),e(H,{label:"Frontend data",checked:V,onChange:N}),e(H,{label:"Backend data",checked:U,onChange:L})]})]}),e(c,{}),t(p,{direction:"column",spacing:1,children:[e(K,{title:"Session & Access",original:o.session+"\n"+o.access,edited:Y.sessionAccess,onChange:Q("sessionAccess"),onCopy:e=>void Z(e)}),e(K,{title:"Configuration (entities)",original:o.configuration,edited:Y.configuration,onChange:Q("configuration"),onCopy:e=>void Z(e)}),e(K,{title:"Published Data",original:o.publishedData,edited:Y.publishedData,onChange:Q("publishedData"),onCopy:e=>void Z(e)}),""!==o.frontendData&&e(K,{title:"Frontend Data",original:o.frontendData,edited:Y.frontendData,onChange:Q("frontendData"),onCopy:e=>void Z(e)}),""!==o.backendData&&e(K,{title:"Backend Data",original:o.backendData,edited:Y.backendData,onChange:Q("backendData"),onCopy:e=>void Z(e)})]})]})}),t(r,{sx:{p:2,borderTop:"1px solid #e9ecef"},children:[e(F,{onClick:et,children:"Save to file"}),e(F,{onClick:ee,children:"Copy to clipboard"}),e(F,{onClick:d,children:"Close"})]}),e(T,{open:null!==G,error:G,onClose:()=>{J(null)}})]})};export const CreateMockYaml=()=>{let n=P(),i=D(),{effectiveMockTemplates:r}=O(),{sessionPayload:l}=E(),s=w(),c=z(),d=W(),p=y(),f=M(),h=j(),k=S(),A=c??f,$=d??h,B=p??k,[T,R]=v([]),V=n?i:-1,[U,H]=v(""),[K,Y]=v(),q=b(()=>null===l?void 0:(e=>{let{tags:t,...o}=e.data,a="object"==typeof t&&null!==t&&0===Object.keys(t).length;return{role:e.role,data:a?o:e.data}})(l),[l]),[G,J]=v(),Q=I();g(()=>{J(Q??void 0)},[Q]);let[X,Z]=v(),[_,ee]=v();g(()=>{Z(s?.viewMode?"read-revision":"owner")},[s]);let et=C();g(()=>{et?ee(et.accessInfo.viewMode?"read-revision":"owner"):ee(void 0)},[et,et?.accessInfo.viewMode]),g(()=>{if(!n)return void R([]);let e=n.storeSystem.stateSlices.committed.value.state;R([...e.entities]),H(e.rootEntityType);let t=n.storeSystem.stateSlices.committed.subscribe(e=>{R([...e.state.entities]),H(e.state.rootEntityType)});return()=>{t.unsubscribe()}},[n]);let[eo,ea]=v(!1);return t(o,{children:[e(a,{component:"div",sx:{borderBottom:"1px solid #e9ecef",backgroundColor:"#f8f9fa",px:1.5,py:1,display:"flex",flexDirection:"column",gap:1.5,mb:0},children:t(a,{component:"div",sx:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e(m,{variant:"subtitle2",sx:{fontWeight:600,color:"#495057",fontSize:"12px"},children:"Create mock yaml from current state"}),e(u,{title:-1===V?"No configuration is loaded yet — load a configuration to capture its state":"Capture the current session, access, configuration and data as a mock template",placement:"left",arrow:!0,enterDelay:300,children:e("span",{children:e(F,{variant:"secondary",onClick:e=>{let t,o,a,n,i,l;e.stopPropagation(),t=x({session:{role:(G??q)?.role??"anonymous",data:(G??q)?.data??{}}}),o=x({access:{access:_??X??"owner"}}),a=x({configuration:{entities:T,modelVersion:V,rootEntityType:U}}),n=A&&Object.keys(A).length>=1?x({publishedData:{data:A}}):"",i=$&&Object.keys($).length>=1?x({frontendData:{data:$}}):"",l=B&&Object.keys(B).length>=1?x({backendData:{data:B}}):"",Y({order:(r.length??0)+1,configuration:a,session:t,access:o,publishedData:n,frontendData:i,backendData:l}),ea(!0)},sx:N,disabled:-1===V,children:"Create Mock"})})})]})}),K&&e(L,{yaml:K,open:eo,onClose:()=>{ea(!1)}})]})};
@@ -18,6 +18,8 @@ export interface EditorMockProviderProps {
18
18
  readonly children: React.ReactNode;
19
19
  readonly mockTemplates?: MockTemplateDefinition[];
20
20
  readonly autoApplyTemplate?: boolean;
21
+ /** Applied on mount in place of the stored template, without being stored. */
22
+ readonly initialTemplateKey?: string;
21
23
  readonly environmentKey?: string;
22
24
  }
23
25
  export declare const EditorMockProvider: (props: EditorMockProviderProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as t,useCallback as r,useContext as o,useEffect as n,useMemo as a,useRef as s,useState as c}from"react";import{createUnsignedJWT as i,memoryStorage as l}from"#package/client";import{createInitialDomainState as d}from"#package/domain";import{useApplicationRuntime as u,useIntegrationService as m,useModal as p,useMountGuard as f}from"#package/react-sdk";import{useEditorConnection as w}from"../services/EditorConnectionContext.js";import{trpc as g}from"../services/trpc.js";import{ConfirmMemoryModeModal as y}from"./ConfirmMemoryModeModal.js";import{ValidationErrorModal as b}from"./ValidationErrorModal.js";let h=e=>{let t=e??("u">typeof window?window.location.pathname:"default");return`phx-editor-template:${t}`},k=e=>`template-configuration-${e}`,v=t(null);export const EditorMockProvider=t=>{let{children:o,mockTemplates:E,autoApplyTemplate:I,environmentKey:C}=t,V=s(!1),P=s(0),S=s(null),[M,x]=c(null),[D,A]=c([]),[R,T]=c(null),[j,$]=c({session:null,access:null,embeddedView:null}),B=f(),F=u(),L=F.actions.overrides,O=m(),{showModal:_}=p(),{localMode:q}=w(),z=a(()=>[...E&&E.length>0?E:D].sort((e,t)=>(e.order??1/0)-(t.order??1/0)),[E,D]),G=r(()=>F.selectors.spec.getConfiguratorFactory(),[F]),H=r(e=>(G().parseSessionData(e.data),{role:e.role,data:e.data}),[G]),J=r(e=>G().parsePublishedData(e.data),[G]),K=r(e=>G().parseFrontendData(e.data),[G]),N=r(e=>{let t=G();if(!t.hasBackendData)throw Error("Backend data mock could not be applied, because backend data is not supported by the current domain configuration. Please use a domain that supports backend data.");return t.parseBackendData(e.data)},[G]),Q=r(e=>{if("recipe"===e.type){if(!e.collection)throw Error("Embedded view mock could not be applied, because a collection is required for recipe type embedded views. Please specify a collection for this mock.");return{type:"recipe",recipeId:`Recipe_${Math.floor(1e6*Math.random())}`,collection:e.collection,...e.rootRecipeId?{rootRecipeId:e.rootRecipeId}:{}}}return{type:"preset",presetId:`Preset_${Math.floor(1e6*Math.random())}`}},[]),U=r((e,t)=>{if(l.has(e))return null;let r=F.selectors.loadedData.getConfiguratorRawLoadedData();if(null===r)return null;let o=F.selectors.domainContext.configurator,n=o.getInitializationState().isCurrent?o.getStoreSystem().stateSlices.committed.value.state.entities:r.initialEntities;return{configurationId:e,revisionId:t??r.initialRevisionId,modelVersion:r.modelVersion,rootEntityType:r.rootEntityType,data:n}},[F]),W=r((e,t)=>{let r=U(e,t);null!==r&&l.set(e,[r])},[U]),X=r(async()=>!!("server"!==F.selectors.environment.getBasePersistenceConfig().type||F.selectors.overrides.getActive())||new Promise(e=>{_(y,{onConfirm:()=>e(!0),onCancel:()=>e(!1)})}),[F,_]),Y=s(null),Z=r((e,t)=>{let r=e instanceof Error?e.message:t;Y.current?.destroy(),Y.current=_(b,{error:r})},[_]),ee=r(async e=>{try{if(!await X())return;let t=H(e),r=F.selectors.access.getConfiguratorRawAccessService();null!==r&&W(r.configurationId,r.accessInfo.revisionId),L.setSessionContext(t),$(t=>({...t,session:e}))}catch(e){Z(e,"Session mock could not be applied, because an unknown error has occurred. Please check the mock data and try again.")}},[X,H,F,W,L,Z]),et=r(async e=>{try{if(!await X())return;let t=F.selectors.access.getConfiguratorRawAccessInfo();null!==t&&W(t.configurationId,t.revisionId),L.setAccessLevel(e.access),$(t=>({...t,access:e}))}catch(e){Z(e,"Access mock could not be applied, because an unknown error has occurred. Please check the mock data and try again.")}},[X,F,W,L,Z]),er=r(async e=>{try{if(!await X())return;let t=Q(e),r=F.selectors.access.getConfiguratorRawAccessInfo();null!==r&&W(r.configurationId,r.revisionId),O.enterEmbeddedView(t),L.setEmbeddedViewActive(!0),$(t=>({...t,embeddedView:e}))}catch(e){Z(e,"Embedded view mock could not be applied, because an unknown error has occurred. Please check the mock data and try again.")}},[X,Q,F,W,O,L,Z]),eo=r(async()=>{try{let e=R?H(R.session):null;L.setSessionContext(e),$(e=>({...e,session:null}))}catch(e){Z(e,"Session mock could not be reset, because an unknown error has occurred. Please check the active template and try again.")}},[L,R,H,Z]),en=r(async()=>{L.setAccessLevel(R?.access.access??null),$(e=>({...e,access:null}))},[L,R]),ea=r(async()=>{try{let e=R?.embeddedView?Q(R.embeddedView):null;null!==e?O.enterEmbeddedView(e):O.exitEmbeddedView(),L.setEmbeddedViewActive(null!==e),$(e=>({...e,embeddedView:null}))}catch(e){Z(e,"Embedded view mock could not be reset, because an unknown error has occurred. Please check the active template and try again.")}},[O,L,R,Q,Z]),es=r(e=>{null!==e&&l.delete(k(e))},[]),ec=r(async()=>{P.current+=1,es(S.current),S.current=null,x(null),T(null),$({session:null,access:null,embeddedView:null}),O.exitEmbeddedView(),L.clearMockOverrides();try{localStorage.removeItem(h(C))}catch{console.warn("[Editor] Failed to clear template key from localStorage")}},[O,L,C,es]),ei=r(async(e,t)=>{let r=t?.generation??++P.current;try{let t=e.embeddedView?Q(e.embeddedView):null,n=H(e.session),a=e.publishedData?J(e.publishedData):null,s=e.frontendData?K(e.frontendData):null,c=e.backendData?N(e.backendData):null,u=null,m=null,p=F.selectors.access.getConfiguratorRawAccessInfo(),f=null===p?null:U(p.configurationId,p.revisionId);if(e.configuration){let t=k(e.key),r="latest",o=e.configuration,n=G(),a=n.validateAndMigrateState(o.entities,o.modelVersion);d(a,o.rootEntityType),u={configurationId:t,revisionId:r,modelVersion:n.modelVersion,rootEntityType:o.rootEntityType,data:a};let s=Math.floor(Date.now()/1e3),c=i({configurationId:t,revisionId:r,access:e.access.access,iat:s,exp:s+3600});m={configurationId:t,accessInfo:{raw:c,viewMode:"read-revision"===e.access.access,revisionId:r,configurationId:t}}}else null!==p&&(u=U(p.configurationId,p.revisionId));if(r!==P.current)return;null!==f&&l.set(f.configurationId,[f]),null!==u&&l.set(u.configurationId,[u]),null!==t?O.enterEmbeddedView(t):O.exitEmbeddedView(),L.updateOverrides({accessService:m,accessLevel:null===m?e.access.access:null,sessionContext:n,publishedData:a,frontendData:s,backendData:c,webComponentProperties:e.webComponentProperties??null,embeddedViewActive:null!==t,persistenceConfig:F.selectors.overrides.getPersistenceConfig()}),S.current!==e.key&&es(S.current),S.current=e.key,x(e.key),T(e),$({session:null,access:null,embeddedView:null});var o=e.key;try{localStorage.setItem(h(C),o)}catch{console.warn("[Editor] Failed to store template key to localStorage")}}catch(o){let r="Template could not be applied, because an unknown error has occurred. Please check the template configuration and try again.";if(t?.errorPresentation==="console")return void console.warn(`[Editor] Template "${e.title}" could not be applied:`,o instanceof Error?o.message:r);Z(o,r)}},[H,G,J,K,N,Q,O,L,Z,C,F,es,U]),el=r(async e=>{let t=++P.current;await X()&&t===P.current&&await ei(e,{generation:t})},[X,ei]);g.onMockTemplateChange.useSubscription(void 0,{enabled:!q,onData:e=>{B()&&A(e.templates)}}),n(()=>{if(z&&z.length>0&&!V.current){V.current=!0;let e=(e=>{try{return localStorage.getItem(h(e))}catch{return null}})(C);if(e){let t=z.find(t=>t.key===e);if(t)return void ei(t,{errorPresentation:"console"});console.warn(`[Editor] Stored template "${e}" not found in available templates`)}if(I){let e=z[0];e&&ei(e,{errorPresentation:"console"})}}},[I,z,ei,C]);let ed=a(()=>({activeTemplateKey:M,activeCustomizations:j,effectiveMockTemplates:z,applySessionMock:ee,applyAccessMock:et,resetSessionOverride:eo,resetAccessOverride:en,applyEmbeddedViewMock:er,resetEmbeddedViewOverride:ea,applyTemplate:el,resetAllMocks:ec}),[M,j,z,ee,et,eo,en,er,ea,el,ec]);return e(v.Provider,{value:ed,children:o})};export const useEditorMockContext=()=>{let e=o(v);if(null===e)throw Error("useEditorMockContext must be used within EditorMockProvider");return e};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as t,useCallback as r,useContext as o,useEffect as n,useMemo as a,useRef as s,useState as i}from"react";import{AccessLevel as c}from"@salsita-ai/contracts/api";import{createUnsignedJWT as l,memoryStorage as d}from"#package/client";import{createInitialDomainState as u}from"#package/domain";import{useApplicationRuntime as m,useIntegrationService as p,useModal as f,useMountGuard as w}from"#package/react-sdk";import{useEditorConnection as y}from"../services/EditorConnectionContext.js";import{trpc as g}from"../services/trpc.js";import{ConfirmMemoryModeModal as b}from"./ConfirmMemoryModeModal.js";import{ValidationErrorModal as h}from"./ValidationErrorModal.js";let k=e=>{let t=e??("u">typeof window?window.location.pathname:"default");return`phx-editor-template:${t}`},v=e=>`template-configuration-${e}`,E=t(null);export const EditorMockProvider=t=>{let{children:o,mockTemplates:I,autoApplyTemplate:C,initialTemplateKey:V,environmentKey:P}=t,S=s(!1),M=s(0),x=s(null),[D,R]=i(null),[A,T]=i([]),[$,j]=i(null),[B,F]=i({session:null,access:null,embeddedView:null}),L=w(),O=m(),_=O.actions.overrides,q=p(),{showModal:z}=f(),{localMode:G}=y(),H=a(()=>[...I&&I.length>0?I:A].sort((e,t)=>(e.order??1/0)-(t.order??1/0)),[I,A]),J=r(()=>O.selectors.spec.getConfiguratorFactory(),[O]),K=r(e=>(J().parseSessionData(e.data),{role:e.role,data:e.data}),[J]),N=r(e=>J().parsePublishedData(e.data),[J]),Q=r(e=>J().parseFrontendData(e.data),[J]),U=r(e=>{let t=J();if(!t.hasBackendData)throw Error("Backend data mock could not be applied, because backend data is not supported by the current domain configuration. Please use a domain that supports backend data.");return t.parseBackendData(e.data)},[J]),W=r(e=>{if("recipe"===e.type){if(!e.collection)throw Error("Embedded view mock could not be applied, because a collection is required for recipe type embedded views. Please specify a collection for this mock.");return{type:"recipe",recipeId:`Recipe_${Math.floor(1e6*Math.random())}`,collection:e.collection,...e.rootRecipeId?{rootRecipeId:e.rootRecipeId}:{}}}return{type:"preset",presetId:`Preset_${Math.floor(1e6*Math.random())}`}},[]),X=r((e,t)=>{if(d.has(e))return null;let r=O.selectors.loadedData.getConfiguratorRawLoadedData();if(null===r)return null;let o=O.selectors.domainContext.configurator,n=o.getInitializationState().isCurrent?o.getStoreSystem().stateSlices.committed.value.state.entities:r.initialEntities;return{configurationId:e,revisionId:t??r.initialRevisionId,modelVersion:r.modelVersion,rootEntityType:r.rootEntityType,data:n}},[O]),Y=r((e,t)=>{let r=X(e,t);null!==r&&d.set(e,[r])},[X]),Z=r(async()=>!!("server"!==O.selectors.environment.getBasePersistenceConfig().type||O.selectors.overrides.getActive())||new Promise(e=>{z(b,{onConfirm:()=>e(!0),onCancel:()=>e(!1)})}),[O,z]),ee=s(null),et=r((e,t)=>{let r=e instanceof Error?e.message:t;ee.current?.destroy(),ee.current=z(h,{error:r})},[z]),er=r(async e=>{try{if(!await Z())return;let t=K(e),r=O.selectors.access.getConfiguratorRawAccessService();null!==r&&Y(r.configurationId,r.accessInfo.revisionId),_.setSessionContext(t),F(t=>({...t,session:e}))}catch(e){et(e,"Session mock could not be applied, because an unknown error has occurred. Please check the mock data and try again.")}},[Z,K,O,Y,_,et]),eo=r(async e=>{try{if(!await Z())return;let t=O.selectors.access.getConfiguratorRawAccessInfo();null!==t&&Y(t.configurationId,t.revisionId),_.setAccessLevel(e.access),F(t=>({...t,access:e}))}catch(e){et(e,"Access mock could not be applied, because an unknown error has occurred. Please check the mock data and try again.")}},[Z,O,Y,_,et]),en=r(async e=>{try{if(!await Z())return;let t=W(e),r=O.selectors.access.getConfiguratorRawAccessInfo();null!==r&&Y(r.configurationId,r.revisionId),q.enterEmbeddedView(t),_.setEmbeddedViewActive(!0),F(t=>({...t,embeddedView:e}))}catch(e){et(e,"Embedded view mock could not be applied, because an unknown error has occurred. Please check the mock data and try again.")}},[Z,W,O,Y,q,_,et]),ea=r(async()=>{try{let e=$?K($.session):null;_.setSessionContext(e),F(e=>({...e,session:null}))}catch(e){et(e,"Session mock could not be reset, because an unknown error has occurred. Please check the active template and try again.")}},[_,$,K,et]),es=r(async()=>{_.setAccessLevel($?.access.access??null),F(e=>({...e,access:null}))},[_,$]),ei=r(async()=>{try{let e=$?.embeddedView?W($.embeddedView):null;null!==e?q.enterEmbeddedView(e):q.exitEmbeddedView(),_.setEmbeddedViewActive(null!==e),F(e=>({...e,embeddedView:null}))}catch(e){et(e,"Embedded view mock could not be reset, because an unknown error has occurred. Please check the active template and try again.")}},[q,_,$,W,et]),ec=r(e=>{null!==e&&d.delete(v(e))},[]),el=r(async()=>{M.current+=1,ec(x.current),x.current=null,R(null),j(null),F({session:null,access:null,embeddedView:null}),q.exitEmbeddedView(),_.clearMockOverrides();try{localStorage.removeItem(k(P))}catch{console.warn("[Editor] Failed to clear template key from localStorage")}},[q,_,P,ec]),ed=r(async(e,t)=>{let r=t.generation??++M.current;try{let o=e.embeddedView?W(e.embeddedView):null,n=K(e.session),a=e.publishedData?N(e.publishedData):null,s=e.frontendData?Q(e.frontendData):null,i=e.backendData?U(e.backendData):null,m=null,p=null,f=O.selectors.access.getConfiguratorRawAccessInfo(),w=null===f?null:X(f.configurationId,f.revisionId);if(e.configuration){let t=v(e.key),r="latest",o=e.configuration,n=J(),a=n.validateAndMigrateState(o.entities,o.modelVersion);u(a,o.rootEntityType),m={configurationId:t,revisionId:r,modelVersion:n.modelVersion,rootEntityType:o.rootEntityType,data:a};let s=Math.floor(Date.now()/1e3),i=l({configurationId:t,revisionId:r,access:e.access.access,iat:s,exp:s+3600});p={configurationId:t,accessInfo:{raw:i,access:"owner"===e.access.access?c.Owner:"read-revision"===e.access.access?c.ReadRevision:c.Read,viewMode:"read-revision"===e.access.access,revisionId:r,configurationId:t}}}else null!==f&&(m=X(f.configurationId,f.revisionId));if(r!==M.current)return;null!==w&&d.set(w.configurationId,[w]),null!==m&&d.set(m.configurationId,[m]),null!==o?q.enterEmbeddedView(o):q.exitEmbeddedView(),_.updateOverrides({accessService:p,accessLevel:null===p?e.access.access:null,sessionContext:n,publishedData:a,frontendData:s,backendData:i,webComponentProperties:e.webComponentProperties??null,embeddedViewActive:null!==o,persistenceConfig:O.selectors.overrides.getPersistenceConfig()}),x.current!==e.key&&ec(x.current),x.current=e.key,R(e.key),j(e),F({session:null,access:null,embeddedView:null}),t.persist&&((e,t)=>{try{localStorage.setItem(k(t),e)}catch{console.warn("[Editor] Failed to store template key to localStorage")}})(e.key,P)}catch(o){let r="Template could not be applied, because an unknown error has occurred. Please check the template configuration and try again.";if("console"===t.errorPresentation)return void console.warn(`[Editor] Template "${e.title}" could not be applied:`,o instanceof Error?o.message:r);et(o,r)}},[K,J,N,Q,U,W,q,_,et,P,O,ec,X]),eu=r(async e=>{let t=++M.current;await Z()&&t===M.current&&await ed(e,{generation:t,persist:!0})},[Z,ed]);g.onMockTemplateChange.useSubscription(void 0,{enabled:!G,onData:e=>{L()&&T(e.templates)}}),n(()=>{if(H&&H.length>0&&!S.current){if(S.current=!0,V){let e=H.find(e=>e.key===V);if(e)return void ed(e,{errorPresentation:"console",persist:!1});console.warn(`[Editor] Initial template "${V}" not found in available templates`)}let e=(e=>{try{return localStorage.getItem(k(e))}catch{return null}})(P);if(e){let t=H.find(t=>t.key===e);if(t)return void ed(t,{errorPresentation:"console",persist:!0});console.warn(`[Editor] Stored template "${e}" not found in available templates`)}if(C){let e=H[0];e&&ed(e,{errorPresentation:"console",persist:!0})}}},[C,V,H,ed,P]);let em=a(()=>({activeTemplateKey:D,activeCustomizations:B,effectiveMockTemplates:H,applySessionMock:er,applyAccessMock:eo,resetSessionOverride:ea,resetAccessOverride:es,applyEmbeddedViewMock:en,resetEmbeddedViewOverride:ei,applyTemplate:eu,resetAllMocks:el}),[D,B,H,er,eo,ea,es,en,ei,eu,el]);return e(E.Provider,{value:em,children:o})};export const useEditorMockContext=()=>{let e=o(E);if(null===e)throw Error("useEditorMockContext must be used within EditorMockProvider");return e};
@@ -1,4 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/triple-slash-reference */
2
+ // Resolved from the SDK's own `vite`, so a project's `import.meta.env` and asset imports type-check without a `vite` of its own
3
+ /// <reference types="vite/client" />
2
4
  /// <reference path="./asset-modules.d.ts" />
3
5
 
4
6
  export {}