@salsita-ai/sdk 0.50.0-develop.c1dcc73e88 → 0.50.0-develop.c4848d224b

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 (952) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  16. package/dist/application-spec/core/components/component-filter.js +1 -0
  17. package/dist/application-spec/core/components/index.d.ts +2 -0
  18. package/dist/application-spec/core/components/index.js +1 -0
  19. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  21. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  22. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  23. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  24. package/dist/application-spec/core/expressions/index.js +1 -0
  25. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.js +1 -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 +9 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +12 -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 +15 -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.js +1 -1
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +67 -70
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  87. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  88. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  89. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  90. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  91. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  92. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  93. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  94. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  95. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  96. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -3
  97. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  98. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  99. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  100. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  101. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  102. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  103. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  104. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  105. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  106. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  107. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  110. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +26 -7
  111. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  112. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  113. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  114. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  115. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  116. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  122. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  123. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  124. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  125. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  126. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  127. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  128. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  129. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  130. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  131. package/dist/application-spec/generate-application/index.d.ts +2 -0
  132. package/dist/application-spec/generate-application/index.js +1 -1
  133. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  134. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  135. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  136. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  137. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  138. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -5
  139. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  140. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  141. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  142. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -2
  143. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  144. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  145. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  146. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  147. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  148. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  149. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  154. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  156. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  158. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  159. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  160. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  161. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  162. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
  163. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  165. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  166. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  167. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  168. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  169. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  170. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  172. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  173. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  174. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  175. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  176. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  177. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  178. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  179. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  180. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  181. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  182. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  183. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  184. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  185. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  186. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  187. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  188. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  189. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  190. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  191. package/dist/application-spec/index.d.ts +1 -0
  192. package/dist/application-spec/index.js +1 -1
  193. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  194. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  195. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  196. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  197. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  198. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  199. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  200. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  201. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  202. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  203. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  204. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  205. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  206. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  207. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  208. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  209. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  210. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  211. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  212. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  221. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  222. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  223. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  224. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  225. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  227. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  228. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  229. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  230. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  231. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  232. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  233. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  234. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  235. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  237. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  238. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  239. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  240. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  242. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  243. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  244. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  245. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  246. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  247. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  251. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  252. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  253. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  254. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  256. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  258. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  259. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  261. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  262. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  263. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  264. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  265. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  266. package/dist/client/phoenix-api.d.ts +463 -0
  267. package/dist/configurator/ConfiguratorApp.js +1 -1
  268. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  269. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  270. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  271. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  272. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  273. package/dist/configurator/app-loader-content/index.js +1 -0
  274. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  275. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  276. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  277. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +38 -1
  278. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  279. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  280. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  281. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  282. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  283. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  284. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  285. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  286. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  287. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  288. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  289. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  290. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  291. package/dist/configurator/common/configurator-interface.d.ts +132 -4
  292. package/dist/configurator/common/configurator-interface.js +1 -1
  293. package/dist/configurator/common/index.d.ts +3 -1
  294. package/dist/configurator/common/index.js +1 -1
  295. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  296. package/dist/configurator/common/use-reset-camera.js +1 -0
  297. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  298. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  299. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  300. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  301. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  302. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  303. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  304. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  305. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  306. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  307. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  308. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  309. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +7 -1
  310. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  311. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  312. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  313. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  314. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  315. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  316. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  317. package/dist/configurator/configurator-error-page/index.js +1 -0
  318. package/dist/configurator/index.d.ts +3 -0
  319. package/dist/configurator/index.js +1 -1
  320. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  321. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  322. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  323. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  324. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  325. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  326. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  327. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  328. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  329. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  330. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  331. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  332. package/dist/configurator/pages/RootPage.js +1 -1
  333. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  334. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  335. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  336. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  337. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  338. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  339. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  340. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  341. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  342. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  343. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  344. package/dist/configurator/pages/default-elements/index.js +1 -0
  345. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  346. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  347. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  348. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  349. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  350. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  351. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  352. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  353. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  354. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  355. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  356. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  357. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  358. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  359. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  360. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  361. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  362. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  363. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  364. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  365. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  366. package/dist/configurator/pages/index.d.ts +1 -0
  367. package/dist/configurator/pages/index.js +1 -1
  368. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  369. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  370. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  371. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  372. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  373. package/dist/configurator/preset-screen-elements/index.js +1 -0
  374. package/dist/configurator/scene/index.d.ts +1 -0
  375. package/dist/configurator/scene/index.js +1 -1
  376. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  377. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  378. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  379. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  380. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  381. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  382. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  383. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  384. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  385. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  386. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  387. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  388. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  389. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  390. package/dist/configurator/toolbar-actions/index.d.ts +2 -0
  391. package/dist/configurator/toolbar-actions/index.js +1 -0
  392. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  393. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  394. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  395. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  396. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  397. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  398. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  399. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  400. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  401. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  402. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  403. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  404. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  405. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  406. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  407. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  408. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  409. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  410. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  411. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  412. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  413. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  414. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  415. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  416. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  417. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  418. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  419. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  420. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  421. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  422. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  423. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  424. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  425. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  426. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  427. package/dist/configurator/ui/assistant/form/index.js +1 -0
  428. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  429. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  430. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  431. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  432. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  433. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  434. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  435. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  436. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  437. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  438. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  439. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  440. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  441. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  442. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  443. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  444. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  445. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  446. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  447. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  448. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  449. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  450. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  451. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  452. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  453. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  454. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  455. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  456. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  457. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  458. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  459. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  460. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  461. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  462. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  463. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  464. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  465. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  466. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  467. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  468. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  469. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  470. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  471. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  472. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  473. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  474. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  475. package/dist/configurator/ui/configurator-layout/{universal → slots/desktop-sidebar}/DesktopSidebar.d.ts +23 -14
  476. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  477. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  478. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  479. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  480. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  481. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  482. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  483. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  484. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  485. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  486. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  487. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  488. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  489. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  490. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +1 -1
  491. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +2 -2
  492. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  493. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  494. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  495. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  496. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  497. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  498. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  499. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  500. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  501. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  502. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  503. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  504. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  505. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  506. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  507. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  508. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  509. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  510. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  511. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  512. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  513. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  514. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  515. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  516. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  517. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  518. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  519. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  520. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  521. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  522. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  523. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  524. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  525. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  526. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  527. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  528. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  529. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  530. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  531. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  532. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  533. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  534. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  535. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  536. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  537. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  538. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  539. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  540. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  541. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  542. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  543. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  544. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  545. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  546. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  547. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  548. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  549. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  550. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  551. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  552. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  553. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  554. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  555. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  556. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  557. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  558. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  559. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  560. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  561. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  562. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  563. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  564. package/dist/docs/fabs/basic.mdx +6 -2
  565. package/dist/docs/index.json +42 -1
  566. package/dist/docs/layouts/custom-layout.mdx +2437 -0
  567. package/dist/docs/layouts/header/fixed.mdx +2 -2
  568. package/dist/docs/layouts/header/floating.mdx +2 -2
  569. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  570. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  571. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  572. package/dist/docs/other-features/error-5xx.mdx +1 -1
  573. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  574. package/dist/docs/other-features/not-found-404.mdx +1 -1
  575. package/dist/docs/other-features/transformers.mdx +4 -0
  576. package/dist/docs/phoenix/application-states.mdx +9 -7
  577. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  578. package/dist/docs/phoenix/components.mdx +6 -0
  579. package/dist/docs/phoenix/configurator-interface.mdx +302 -23
  580. package/dist/docs/phoenix/deployments.mdx +2 -6
  581. package/dist/docs/phoenix/domain-model.mdx +2 -0
  582. package/dist/docs/phoenix/finalization.mdx +1 -1
  583. package/dist/docs/phoenix/getting-started.mdx +6 -3
  584. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  585. package/dist/docs/phoenix/localization.mdx +10 -6
  586. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  587. package/dist/docs/phoenix/phoenix-cli.mdx +72 -21
  588. package/dist/docs/phoenix/project-structure.mdx +72 -34
  589. package/dist/docs/phoenix/quickstart.mdx +7 -7
  590. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -7
  591. package/dist/docs/phoenix/testing.mdx +148 -0
  592. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  593. package/dist/docs/phoenix/webhooks.mdx +21 -4
  594. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  595. package/dist/domain/application/application-config.d.ts +3 -1
  596. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  597. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  598. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  599. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  600. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  601. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  602. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  603. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  604. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  605. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  606. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  607. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  608. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  609. package/dist/domain/application/assistant/index.d.ts +8 -1
  610. package/dist/domain/application/assistant/index.js +1 -1
  611. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  612. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  613. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  614. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  615. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  616. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  617. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  618. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  619. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  620. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  621. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  622. package/dist/domain/application/configurator-builder.d.ts +5 -2
  623. package/dist/domain/application/configurator-builder.js +1 -1
  624. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  625. package/dist/domain/core/invariant/violation.d.ts +50 -2
  626. package/dist/domain/core/invariant/violation.js +1 -1
  627. package/dist/domain/core/model/model.d.ts +1 -1
  628. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  629. package/dist/domain/domain-context/index.d.ts +1 -1
  630. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  631. package/dist/domain/domain-context/undo-system.js +1 -1
  632. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  633. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  634. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  635. package/dist/domain/domain-runtime/access/types.js +1 -1
  636. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  637. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  638. package/dist/domain/domain-runtime/domain-runtime.d.ts +16 -0
  639. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  640. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  641. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  642. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  643. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  644. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  645. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  646. package/dist/domain/domain-runtime/errors/index.js +1 -0
  647. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  648. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  649. package/dist/domain/domain-runtime/index.d.ts +1 -0
  650. package/dist/domain/domain-runtime/index.js +1 -1
  651. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  652. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  653. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +12 -11
  654. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  655. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
  656. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  657. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
  658. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
  659. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
  660. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  661. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
  662. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
  663. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  664. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  665. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  666. package/dist/domain/extensions/attribute-switch.js +1 -1
  667. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  668. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  669. package/dist/domain/extensions/client-side-image.js +1 -1
  670. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  671. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  672. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  673. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  674. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  675. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  676. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  677. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  678. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  679. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  680. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  681. package/dist/domain/extensions/offset-indicator.js +1 -1
  682. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  683. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  684. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  685. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  686. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  687. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  688. package/dist/domain/mocks/create-mock-domain.js +1 -1
  689. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  690. package/dist/domain/mocks/create-test-application-config.js +1 -0
  691. package/dist/domain/mocks/index.d.ts +1 -0
  692. package/dist/domain/mocks/index.js +1 -1
  693. package/dist/domain/system-components/application-config.d.ts +2 -2
  694. package/dist/domain/system-components/child-entity-selection.js +1 -1
  695. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  696. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  697. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  698. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  699. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  700. package/dist/domain/system-components/common/recipes.js +1 -1
  701. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  702. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  703. package/dist/domain/system-components/constraint.d.ts +10 -23
  704. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  705. package/dist/domain/system-components/drag-handle.js +1 -1
  706. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  707. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  708. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  709. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  710. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  711. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  712. package/dist/domain/system-components/material-swatch.js +1 -1
  713. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  714. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  715. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  716. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  717. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  718. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  719. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  720. package/dist/editor/Editor.d.ts +7 -0
  721. package/dist/editor/Editor.js +1 -1
  722. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  723. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  724. package/dist/editor/mocks/EditorMockContext.js +1 -1
  725. package/dist/globals/index.d.ts +2 -0
  726. package/dist/i18n/locales/cs/messages.js +1 -1
  727. package/dist/i18n/locales/da/messages.js +1 -1
  728. package/dist/i18n/locales/de/messages.js +1 -1
  729. package/dist/i18n/locales/de-AT/messages.js +1 -1
  730. package/dist/i18n/locales/en/messages.js +1 -1
  731. package/dist/i18n/locales/en-AU/messages.js +1 -1
  732. package/dist/i18n/locales/en-GB/messages.js +1 -1
  733. package/dist/i18n/locales/es/messages.js +1 -1
  734. package/dist/i18n/locales/fr/messages.js +1 -1
  735. package/dist/i18n/locales/hu/messages.js +1 -1
  736. package/dist/i18n/locales/it/messages.js +1 -1
  737. package/dist/i18n/locales/nl/messages.js +1 -1
  738. package/dist/i18n/locales/pl/messages.js +1 -1
  739. package/dist/i18n/locales/pt/messages.js +1 -1
  740. package/dist/i18n/locales/ro/messages.js +1 -1
  741. package/dist/i18n/locales/sk/messages.js +1 -1
  742. package/dist/i18n/locales/tr/messages.js +1 -1
  743. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
  744. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  745. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  746. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  747. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  748. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  749. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  750. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -1
  751. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  752. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  753. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  754. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  755. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  756. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  757. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  758. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  759. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  760. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  761. package/dist/phoenix/application-spec/project-files.js +1 -1
  762. package/dist/phoenix/bin.d.ts +2 -0
  763. package/dist/phoenix/bin.js +2 -0
  764. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  765. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  766. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  767. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  768. package/dist/phoenix/check-configs/index.d.ts +8 -0
  769. package/dist/phoenix/check-configs/index.js +1 -0
  770. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  771. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  772. package/dist/phoenix/cli.d.ts +0 -1
  773. package/dist/phoenix/cli.js +1 -2
  774. package/dist/phoenix/commands/build.js +1 -1
  775. package/dist/phoenix/commands/check.js +1 -1
  776. package/dist/phoenix/commands/clean.js +1 -1
  777. package/dist/phoenix/commands/deploy.js +2 -2
  778. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  779. package/dist/phoenix/commands/deps/deps.js +3 -0
  780. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  781. package/dist/phoenix/commands/deps/index.js +1 -0
  782. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  783. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  784. package/dist/phoenix/commands/dev.js +5 -5
  785. package/dist/phoenix/commands/fix.js +1 -1
  786. package/dist/phoenix/commands/index.d.ts +1 -0
  787. package/dist/phoenix/commands/index.js +1 -1
  788. package/dist/phoenix/commands/init.d.ts +17 -5
  789. package/dist/phoenix/commands/init.js +1 -1
  790. package/dist/phoenix/commands/link.js +1 -1
  791. package/dist/phoenix/commands/prettier.js +1 -1
  792. package/dist/phoenix/commands/sync.js +1 -1
  793. package/dist/phoenix/commands/unlink.js +1 -1
  794. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  795. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  796. package/dist/phoenix/services/lingui.d.ts +8 -0
  797. package/dist/phoenix/services/lingui.js +1 -1
  798. package/dist/phoenix/services/source-archive.d.ts +1 -0
  799. package/dist/phoenix/services/source-archive.js +1 -1
  800. package/dist/phoenix/services/swc.js +1 -1
  801. package/dist/phoenix/services/vite-config.js +1 -1
  802. package/dist/phoenix/utils/index.d.ts +4 -2
  803. package/dist/phoenix/utils/index.js +1 -1
  804. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  805. package/dist/phoenix/utils/node-version/index.js +1 -0
  806. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  807. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  808. package/dist/phoenix/utils/package-info.d.ts +0 -9
  809. package/dist/phoenix/utils/package-info.js +1 -1
  810. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  811. package/dist/phoenix/utils/package-manager/index.js +1 -0
  812. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  813. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  814. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  815. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  816. package/dist/phoenix/utils/run-command.d.ts +11 -0
  817. package/dist/phoenix/utils/run-command.js +1 -1
  818. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  819. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  820. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  821. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  822. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  823. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  824. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  825. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  826. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  827. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  828. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  829. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +17 -0
  830. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  831. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  832. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +8 -0
  833. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  834. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  835. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  836. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  837. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  838. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  839. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  840. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  841. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  842. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  843. package/dist/react-sdk/domain-context/index.d.ts +8 -1
  844. package/dist/react-sdk/domain-context/index.js +1 -1
  845. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  846. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  847. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  848. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  849. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  850. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  851. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  852. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +5 -0
  853. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  854. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  855. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  856. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  857. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  858. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  859. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  860. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  861. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  862. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  863. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  864. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  865. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  866. package/dist/react-sdk/elements/index.d.ts +1 -0
  867. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  868. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  869. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  870. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  871. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  872. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  873. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  874. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  875. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  876. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  877. package/dist/react-sdk/handlers/index.d.ts +6 -0
  878. package/dist/react-sdk/handlers/index.js +1 -1
  879. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  880. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  881. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  882. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  883. package/dist/react-sdk/index.d.ts +2 -0
  884. package/dist/react-sdk/index.js +1 -1
  885. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  886. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  887. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +25 -0
  888. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +1 -0
  889. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +14 -0
  890. package/dist/react-sdk/responsive-state/canvas-padding.js +1 -0
  891. package/dist/react-sdk/responsive-state/index.d.ts +5 -0
  892. package/dist/react-sdk/responsive-state/index.js +1 -0
  893. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +111 -0
  894. package/dist/react-sdk/responsive-state/responsive-state-manager.js +1 -0
  895. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +10 -0
  896. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +1 -0
  897. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +11 -0
  898. package/dist/react-sdk/responsive-state/use-responsive-state.js +1 -0
  899. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  900. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  901. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  902. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  903. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  904. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  905. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  906. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  907. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  908. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  909. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  910. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  911. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  912. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  913. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  914. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  915. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  916. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  917. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  918. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  919. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  920. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  921. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  922. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  923. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  924. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  925. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  926. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  927. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  928. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +57 -0
  929. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  930. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  931. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  932. package/dist/ui-sdk/theme/types.d.ts +1 -1
  933. package/dist/webhook/builders/webhook-builder.js +1 -1
  934. package/package.json +48 -36
  935. package/schema/domain-spec.json +1201 -217
  936. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  937. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  938. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  939. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  940. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  941. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  942. package/dist/configurator/common/frontend-analytics.js +0 -1
  943. package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.js +0 -16
  944. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  945. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  946. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  947. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  948. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  949. package/dist/phoenix/commands/generate-project-files.js +0 -1
  950. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  951. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  952. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -26,15 +26,6 @@ export interface CustomPhoenixEntityElementProps {
26
26
  entityId: DomainEntityId<string>;
27
27
  children?: ReactNode;
28
28
  }
29
- export interface SystemElementRegistry {
30
- layoutElements: Record<string, (props: PropsWithChildren) => JSX.Element>;
31
- entityElements: Record<string, (props: CustomPhoenixEntityElementProps) => JSX.Element>;
32
- }
33
- /**
34
- * Internal registry for system-level elements registered at import time
35
- * via createPhoenixLayoutElement / createPhoenixEntityElement.
36
- */
37
- export declare const systemElementRegistry: SystemElementRegistry;
38
29
  type SchemaOfPhoenixLayoutElement<SCHEMA extends {
39
30
  kind: string;
40
31
  props?: Record<string, unknown>;
@@ -61,7 +52,12 @@ export interface PhoenixLayoutElementDefinition<SCHEMA extends {
61
52
  }>;
62
53
  }
63
54
  /**
64
- * For internal use in PHX only.
55
+ * Returns the component of a built-in layout element definition; it registers nothing. A layout
56
+ * element reaches the runtime only through a registration in `elements` or `defaultElements`.
57
+ *
58
+ * @deprecated Register a layout element with `createCustomPhoenixLayoutElement(name, component)`;
59
+ * the built-in ones are in `defaultConfiguratorElements` and `defaultAdminElements`. This API will
60
+ * be removed in a future version.
65
61
  */
66
62
  export declare const createPhoenixLayoutElement: <SCHEMA extends {
67
63
  kind: string;
@@ -95,7 +91,12 @@ export interface PhoenixEntityElementDefinition<SCHEMA extends {
95
91
  component: React.FunctionComponent<SCHEMA['props'] & CustomPhoenixEntityElementProps>;
96
92
  }
97
93
  /**
98
- * For internal use in PHX only.
94
+ * Returns the component of a built-in entity element definition; it registers nothing. An entity
95
+ * element reaches the runtime only through a registration in `elements` or `defaultElements`.
96
+ *
97
+ * @deprecated Register an entity element with `createCustomPhoenixEntityElement(name, component)`;
98
+ * the built-in ones are in `defaultConfiguratorElements` and `defaultAdminElements`. This API will
99
+ * be removed in a future version.
99
100
  */
100
101
  export declare const createPhoenixEntityElement: <SCHEMA extends {
101
102
  kind: string;
@@ -1 +1 @@
1
- import{SHARED_FOLDER_HINT as e,isRecord as t,resolveListModule as n}from"./project-modules.js";export const systemElementRegistry={layoutElements:{},entityElements:{}};export const createPhoenixLayoutElement=e=>(systemElementRegistry.layoutElements[e.schema.properties.kind.enum[0]]=e.component,e.component);export const createCustomPhoenixLayoutElement=(e,t)=>({type:"layout",name:e,element:t});export const createPhoenixEntityElement=e=>(systemElementRegistry.entityElements[e.schema.properties.kind.enum[0]]=e.component,e.component);export const createCustomPhoenixEntityElement=(e,t)=>({type:"entity",name:e,element:t});let o={expected:"an element registration, or an array of them",fix:`Create it with phx.frontend.createCustomPhoenixLayoutElement(...) or phx.frontend.createCustomPhoenixEntityElement(...), ${e}.`},r=e=>!!t(e)&&("icon"===e.type?Array.isArray(e.elements):("entity"===e.type||"layout"===e.type)&&"string"==typeof e.name&&"function"==typeof e.element);export const resolveElementModule=e=>n(e,o,r);export const resolveElementModules=e=>e.flatMap(resolveElementModule);
1
+ import{SHARED_FOLDER_HINT as e,isRecord as t,resolveListModule as o}from"./project-modules.js";export const createPhoenixLayoutElement=e=>e.component;export const createCustomPhoenixLayoutElement=(e,t)=>({type:"layout",name:e,element:t});export const createPhoenixEntityElement=e=>e.component;export const createCustomPhoenixEntityElement=(e,t)=>({type:"entity",name:e,element:t});let n={expected:"an element registration, or an array of them",fix:`Create it with phx.frontend.createCustomPhoenixLayoutElement(...) or phx.frontend.createCustomPhoenixEntityElement(...), ${e}.`},r=e=>!!t(e)&&("icon"===e.type?Array.isArray(e.elements):("entity"===e.type||"layout"===e.type)&&"string"==typeof e.name&&"function"==typeof e.element);export const resolveElementModule=e=>o(e,n,r);export const resolveElementModules=e=>e.flatMap(resolveElementModule);
@@ -1,4 +1,4 @@
1
- export { type PhoenixEntityElementProps, type PhoenixEntityElementRegistration, type PhoenixLayoutElementRegistration, type PhoenixIconRegistration, type ElementRegistration, type CustomPhoenixEntityElementProps, type PhoenixLayoutElementDefinition, type PhoenixEntityElementDefinition, type CreateCustomPhoenixLayoutElement, type CreateCustomPhoenixEntityElement, createPhoenixLayoutElement, createPhoenixEntityElement, createCustomPhoenixLayoutElement, createCustomPhoenixEntityElement, resolveElementModule, resolveElementModules, systemElementRegistry, } from './element-registration.js';
1
+ export { type PhoenixEntityElementProps, type PhoenixEntityElementRegistration, type PhoenixLayoutElementRegistration, type PhoenixIconRegistration, type ElementRegistration, type CustomPhoenixEntityElementProps, type PhoenixLayoutElementDefinition, type PhoenixEntityElementDefinition, type CreateCustomPhoenixLayoutElement, type CreateCustomPhoenixEntityElement, createPhoenixLayoutElement, createPhoenixEntityElement, createCustomPhoenixLayoutElement, createCustomPhoenixEntityElement, resolveElementModule, resolveElementModules, } from './element-registration.js';
2
2
  export { type PhoenixHandlerDefinition, type SystemPhoenixHandlerDefinition, type PhoenixHandlerRegistration, type SystemPhoenixHandlerRegistration, type SystemPhoenixAsyncHandlerDefinition, type SystemPhoenixAsyncHandlerRegistration, type HandlerRegistration, type CreatePhoenixHandler, createPhoenixHandler, createSystemPhoenixHandler, createSystemPhoenixAsyncHandler, resolveHandlerModule, resolveHandlerModules, } from './handler-registration.js';
3
3
  export { type ProjectModule } from './project-modules.js';
4
4
  export { resolveActionModules } from './resolve-action-modules.js';
@@ -1 +1 @@
1
- export{createPhoenixLayoutElement,createPhoenixEntityElement,createCustomPhoenixLayoutElement,createCustomPhoenixEntityElement,resolveElementModule,resolveElementModules,systemElementRegistry}from"./element-registration.js";export{createPhoenixHandler,createSystemPhoenixHandler,createSystemPhoenixAsyncHandler,resolveHandlerModule,resolveHandlerModules}from"./handler-registration.js";export{resolveActionModules}from"./resolve-action-modules.js";export{resolveComponentOpticModules}from"./resolve-component-optic-modules.js";export{resolveExpressionModules}from"./resolve-expression-modules.js";export{resolveImportedTransformers,resolveTransformerModule,resolveTransformerModules}from"./resolve-imported-transformers.js";export{resolveInvariantModules}from"./resolve-invariant-modules.js";
1
+ export{createPhoenixLayoutElement,createPhoenixEntityElement,createCustomPhoenixLayoutElement,createCustomPhoenixEntityElement,resolveElementModule,resolveElementModules}from"./element-registration.js";export{createPhoenixHandler,createSystemPhoenixHandler,createSystemPhoenixAsyncHandler,resolveHandlerModule,resolveHandlerModules}from"./handler-registration.js";export{resolveActionModules}from"./resolve-action-modules.js";export{resolveComponentOpticModules}from"./resolve-component-optic-modules.js";export{resolveExpressionModules}from"./resolve-expression-modules.js";export{resolveImportedTransformers,resolveTransformerModule,resolveTransformerModules}from"./resolve-imported-transformers.js";export{resolveInvariantModules}from"./resolve-invariant-modules.js";
@@ -1,3 +1,4 @@
1
+ import { ImplementationError } from '../../errors/index.js';
1
2
  /**
2
3
  * The default export of one file in a project convention folder (`src/elements/`, `src/handlers/`,
3
4
  * `src/expressions/`, …), paired with the project-relative path it was imported from.
@@ -17,7 +18,13 @@ export interface ProjectModuleContract {
17
18
  }
18
19
  export declare const SHARED_FOLDER_HINT = "or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";
19
20
  export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
20
- export declare const createContractError: (origin: string, contract: ProjectModuleContract, received: unknown) => Error;
21
+ /**
22
+ * The error of a file whose default export does not match its folder's contract. `received` is the
23
+ * value the message reports: the export itself, or the item of an array export that fails. The
24
+ * code is `MISSING_EXPORT` when the file has no default export at all, and `INVALID_EXPORT`
25
+ * otherwise, also when an item of an array export is `undefined`.
26
+ */
27
+ export declare const createContractError: (module: ProjectModule, contract: ProjectModuleContract, received: unknown) => ImplementationError;
21
28
  /**
22
29
  * Checks a file of a folder whose contract is one item or an array of them, and returns its items.
23
30
  * The first item that fails the check is the value the error reports.
@@ -1 +1 @@
1
- export const SHARED_FOLDER_HINT="or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";export const isRecord=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);export const createContractError=(e,r,t)=>Error(`Invalid default export in ${e}: expected ${r.expected}, but got ${(e=>{if(void 0===e)return"nothing (the file has no default export)";if(null===e)return"null";if("function"==typeof e)return e.name?`the function "${e.name}"`:"an anonymous function";if(Array.isArray(e))return`an array of ${e.length} item(s)`;if(isRecord(e)){let r=Object.keys(e);return r.length>0?`an object with the keys ${r.join(", ")}`:"an empty object"}return`the ${typeof e} ${JSON.stringify(e)}`})(t)}. Every file in this folder is loaded by convention, so each one must default-export that shape. ${r.fix}`);export const resolveListModule=(e,r,t)=>{let o=Array.isArray(e.exports)?e.exports:[e.exports],n=[];for(let i of o){if(!t(i))throw createContractError(e.origin,r,i);n.push(i)}return n};
1
+ import{ImplementationError as e}from"../../errors/index.js";export const SHARED_FOLDER_HINT="or move the file to an underscore-prefixed folder such as src/_shared/ when it is shared code";export const isRecord=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);export const createContractError=(r,t,o)=>new e({code:void 0===r.exports?"MISSING_EXPORT":"INVALID_EXPORT",origin:r.origin,problem:"Invalid default export",expected:t.expected,received:(e=>{if(void 0===e)return"nothing (the file has no default export)";if(null===e)return"null";if("function"==typeof e)return e.name?`the function "${e.name}"`:"an anonymous function";if(Array.isArray(e))return`an array of ${e.length} item(s)`;if(isRecord(e)){let r=Object.keys(e);return r.length>0?`an object with the keys ${r.join(", ")}`:"an empty object"}return`the ${typeof e} ${JSON.stringify(e)}`})(o),fix:`Every file in this folder is loaded by convention, so each one must default-export that shape. ${t.fix}`});export const resolveListModule=(e,r,t)=>{let o=Array.isArray(e.exports)?e.exports:[e.exports],n=[];for(let i of o){if(!t(i))throw createContractError(e,r,i);n.push(i)}return n};
@@ -1 +1 @@
1
- import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as o}from"./project-modules.js";let i={expected:"an object of action implementations keyed by action name",fix:`Create it with phx.domain.implementActions({ ... }), ${e}.`},n=e=>"function"==typeof e;export const resolveActionModules=e=>e.reduce((e,r)=>{let c;if(!(o(c=r.exports)&&Object.values(c).every(n)))throw t(r.origin,i,r.exports);return{...e,...r.exports}},{});
1
+ import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as o}from"./project-modules.js";let i={expected:"an object of action implementations keyed by action name",fix:`Create it with phx.domain.implementActions({ ... }), ${e}.`},n=e=>"function"==typeof e;export const resolveActionModules=e=>e.reduce((e,r)=>{let c;if(!(o(c=r.exports)&&Object.values(c).every(n)))throw t(r,i,r.exports);return{...e,...r.exports}},{});
@@ -1 +1 @@
1
- import{SHARED_FOLDER_HINT as e,createContractError as o,isRecord as t}from"./project-modules.js";let i={expected:"an object of expressions keyed by entity type or alias, then by expression name",fix:`Create it with phx.domain.implementCustomExpressions({ ... }) (phx.domain.admin.implementCustomExpressions({ ... }) under src/admin/), ${e}.`},r=e=>t(e)&&"function"==typeof e.evaluate,n=e=>t(e)&&Object.values(e).every(r);export const resolveExpressionModules=(e,r)=>{let s=new Map;return e.map(e=>{let p;if(!(t(p=e.exports)&&Object.values(p).every(n)))throw o(e.origin,i,e.exports);for(let[o,t]of Object.entries(e.exports))for(let i of r[o]??[o])for(let o of Object.keys(t)){let t=`${i}.${o}`,r=s.get(t);if(void 0!==r&&r!==e.origin)throw Error(`Duplicate expression ${t}: it is defined in both ${r} and ${e.origin}, which would make its value depend on file order. Keep one definition and remove the other.`);s.set(t,e.origin)}return{origin:e.origin,expressions:e.exports}})};
1
+ import{SHARED_FOLDER_HINT as e,createContractError as o,isRecord as t}from"./project-modules.js";let i={expected:"an object of expressions keyed by entity type or alias, then by expression name",fix:`Create it with phx.domain.implementCustomExpressions({ ... }) (phx.domain.admin.implementCustomExpressions({ ... }) under src/admin/), ${e}.`},r=e=>t(e)&&"function"==typeof e.evaluate,n=e=>t(e)&&Object.values(e).every(r);export const resolveExpressionModules=(e,r)=>{let s=new Map;return e.map(e=>{let p;if(!(t(p=e.exports)&&Object.values(p).every(n)))throw o(e,i,e.exports);for(let[o,t]of Object.entries(e.exports))for(let i of r[o]??[o])for(let o of Object.keys(t)){let t=`${i}.${o}`,r=s.get(t);if(void 0!==r&&r!==e.origin)throw Error(`Duplicate expression ${t}: it is defined in both ${r} and ${e.origin}, which would make its value depend on file order. Keep one definition and remove the other.`);s.set(t,e.origin)}return{origin:e.origin,expressions:e.exports}})};
@@ -1 +1 @@
1
- import{SHARED_FOLDER_HINT as r,createContractError as e,isRecord as t}from"./project-modules.js";let o={expected:"a transformer (a function of the domain context, or an object with a register method), or an array of them",fix:`Create it with phx.frontend.transformerBuilder, ${r}.`},n=r=>"function"==typeof r||t(r)&&"function"==typeof r.register;export const resolveTransformerModule=r=>{let t;if(!(Array.isArray(t=r.exports)?t.every(n):n(t)))throw e(r.origin,o,r.exports);return{name:r.origin.replace(/^.*\//,"").replace(/\.tsx?$/,""),transformer:r.exports}};export const resolveTransformerModules=r=>r.map(resolveTransformerModule);export const resolveImportedTransformers=(r,e,t)=>{let o=r.flatMap(({name:r,transformer:e})=>{if(Array.isArray(e))return e.map((e,o)=>{if("register"in e)return e.register(t);if("function"==typeof e)return{priority:1/0,transformer:e(t),name:`${r}[${o}]`};throw Error(`Transformer '${r}[${o}]' must be either a RegistrableTransformer (with register method) or a TransformerFactory (function)`)});if("register"in e)return e.register(t);if("function"==typeof e)return{priority:1/0,transformer:e(t),name:r};throw Error(`Transformer '${r}' must be either a RegistrableTransformer (with register method) or a TransformerFactory (function)`)}),n=[];for(let r of e){let e=o.find(e=>e.name===r.name);if(!e){let e=o.map(r=>r.name).filter(Boolean).join(", ");throw Error(`Transformer '${r.name}' not found in imported transformer files. Available transformers: ${e||"none"}`)}n.push({priority:r.priority??1/0,transformer:e.transformer,name:r.name})}return n};
1
+ import{SHARED_FOLDER_HINT as r,createContractError as e,isRecord as t}from"./project-modules.js";let o={expected:"a transformer (a function of the domain context, or an object with a register method), or an array of them",fix:`Create it with phx.frontend.transformerBuilder, ${r}.`},n=r=>"function"==typeof r||t(r)&&"function"==typeof r.register;export const resolveTransformerModule=r=>{let t;if(!(Array.isArray(t=r.exports)?t.every(n):n(t)))throw e(r,o,r.exports);return{name:r.origin.replace(/^.*\//,"").replace(/\.tsx?$/,""),transformer:r.exports}};export const resolveTransformerModules=r=>r.map(resolveTransformerModule);export const resolveImportedTransformers=(r,e,t)=>{let o=r.flatMap(({name:r,transformer:e})=>{if(Array.isArray(e))return e.map((e,o)=>{if("register"in e)return e.register(t);if("function"==typeof e)return{priority:1/0,transformer:e(t),name:`${r}[${o}]`};throw Error(`Transformer '${r}[${o}]' must be either a RegistrableTransformer (with register method) or a TransformerFactory (function)`)});if("register"in e)return e.register(t);if("function"==typeof e)return{priority:1/0,transformer:e(t),name:r};throw Error(`Transformer '${r}' must be either a RegistrableTransformer (with register method) or a TransformerFactory (function)`)}),n=[];for(let r of e){let e=o.find(e=>e.name===r.name);if(!e){let e=o.map(r=>r.name).filter(Boolean).join(", ");throw Error(`Transformer '${r.name}' not found in imported transformer files. Available transformers: ${e||"none"}`)}n.push({priority:r.priority??1/0,transformer:e.transformer,name:r.name})}return n};
@@ -1 +1 @@
1
- import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as r}from"./project-modules.js";let o={expected:"an object of invariant lists keyed by entity type or alias",fix:`Create it with phx.domain.implementCustomInvariants({ ... }) (phx.domain.admin.implementCustomInvariants({ ... }) under src/admin/), ${e}.`},i=e=>r(e)&&"function"==typeof e.evaluate,n=e=>r(e)&&Object.values(e).every(e=>Array.isArray(e)&&e.every(i));export const resolveInvariantModules=e=>{let r={};for(let i of e){if(!n(i.exports))throw t(i.origin,o,i.exports);for(let[e,t]of Object.entries(i.exports))r[e]=[...r[e]??[],...t]}return r};
1
+ import{SHARED_FOLDER_HINT as e,createContractError as t,isRecord as r}from"./project-modules.js";let o={expected:"an object of invariant lists keyed by entity type or alias",fix:`Create it with phx.domain.implementCustomInvariants({ ... }) (phx.domain.admin.implementCustomInvariants({ ... }) under src/admin/), ${e}.`},i=e=>r(e)&&"function"==typeof e.evaluate,n=e=>r(e)&&Object.values(e).every(e=>Array.isArray(e)&&e.every(i));export const resolveInvariantModules=e=>{let r={};for(let i of e){if(!n(i.exports))throw t(i,o,i.exports);for(let[e,t]of Object.entries(i.exports))r[e]=[...r[e]??[],...t]}return r};
@@ -1 +1 @@
1
- import{createSelector as e}from"@salsita-ai/common/utils";import{buildAssistantManifest as t}from"../../application/assistant/index.js";import{systemElementRegistry as n}from"./module-checks/index.js";export const createSpecSelectors=a=>{let{getState:s}=a,r=e.withTypes(),o=r([r.leaf(e=>e.spec)],e=>e),l=r([o],e=>e.version),i=r([o],e=>e.baseResourcesUrl),m=r([o],e=>e.configurator),g=r([o],e=>e.dataConfig),p=r([o],e=>e.chunks),d=r([o],e=>e.publishedDataHash),c=r([o],e=>e.initialPublishedData),u=r([o],e=>e.canCreate),h=r([o],e=>e.enableAdminRelease),y=r([o],e=>e.textLanguages),f=r([m],e=>e.modelVersion),C=r([o],e=>e.admin),x=r([C],e=>e.preset),A=r([C],e=>e.modelVersion),E=r([m],e=>e.theme),b=r([m],e=>e.assistant),H=r([b],e=>e?t(e):null),D=r([m],e=>e.factory),P=r([C],e=>e.factory),S=r([m],e=>e.componentOptics),w=r([C],e=>e.componentOptics),O=r([m],e=>e.appLoader),T=r([m],e=>e.preview),V=r([m],e=>e.alwaysExpand),L=r([m],e=>e.presets),R=r([m],e=>e.deploymentQueryDisabled),U=r([m],e=>e.prefetchTextureUrls),k=r([m],e=>e.handlerHashes),v=r([m],e=>e.handlers),j=r([v,k],(e,t)=>({...(e=>{let t={},n={},a={};for(let s of e)"phoenix"===s.type&&(t[s.name]=s.handler),"system"===s.type&&(n[s.name]=s.handler),"system-async"===s.type&&(a[s.name]=s.handler);return{handlers:t,systemHandlers:n,systemAsyncHandlers:a}})(e),hashes:t})),F=r([m],e=>e.elementHashes),M=r([m],e=>e.elements),Q=r([M,F],(e,t)=>({...(e=>{let t={},a={};for(let n of e)"layout"===n.type&&(t[n.name]=n.element),"entity"===n.type&&(a[n.name]=n.element);return{entityElements:{...n.entityElements,...a},layoutElements:{...n.layoutElements,...t}}})(e),hashes:t}));return{selectSpec:o,selectVersion:l,selectBaseResourcesUrl:i,selectConfiguratorSpec:m,selectConfiguratorModelVersion:f,selectAdminSpec:C,selectAdminPreset:x,selectAdminModelVersion:A,selectThemeOptions:E,selectAssistant:H,selectConfiguratorFactory:D,selectAdminFactory:P,selectConfiguratorComponentOptics:S,selectAdminComponentOptics:w,selectAppLoader:O,selectPreview:T,selectAlwaysExpand:V,selectPresetSeed:L,selectDeploymentQueryDisabled:R,selectPrefetchTextureUrls:U,selectTextLanguages:y,selectHandlerHashes:k,selectHandlers:v,selectHandlerSlots:j,selectElementHashes:F,selectElements:M,selectElementSlots:Q,selectDataConfig:g,selectChunks:p,selectPublishedDataHash:d,selectInitialPublishedData:c,selectCanCreate:u,selectEnableAdminRelease:h,getVersion:()=>l(s()),getBaseResourcesUrl:()=>i(s()),getConfiguratorSpec:()=>m(s()),getConfiguratorModelVersion:()=>f(s()),getAdminSpec:()=>C(s()),getAdminPreset:()=>x(s()),getAdminModelVersion:()=>A(s()),getThemeOptions:()=>E(s()),getAssistant:()=>H(s()),getConfiguratorFactory:()=>D(s()),getAdminFactory:()=>P(s()),getConfiguratorComponentOptics:()=>S(s()),getAdminComponentOptics:()=>w(s()),getAppLoader:()=>O(s()),getPreview:()=>T(s()),getAlwaysExpand:()=>V(s()),getPresetSeed:()=>L(s()),getDeploymentQueryDisabled:()=>R(s()),getPrefetchTextureUrls:()=>U(s()),getTextLanguages:()=>y(s()),getHandlerHashes:()=>k(s()),getHandlers:()=>v(s()),getHandlerSlots:()=>j(s()),getElementHashes:()=>F(s()),getElements:()=>M(s()),getElementSlots:()=>Q(s()),getDataConfig:()=>g(s()),getChunks:()=>p(s()),getPublishedDataHash:()=>d(s()),getInitialPublishedData:()=>c(s()),getCanCreate:()=>u(s()),getEnableAdminRelease:()=>h(s())}};
1
+ import{createSelector as e}from"@salsita-ai/common/utils";import{buildAssistantManifest as t}from"../../application/assistant/index.js";export const createSpecSelectors=a=>{let{getState:n}=a,s=e.withTypes(),r=s([s.leaf(e=>e.spec)],e=>e),l=s([r],e=>e.version),o=s([r],e=>e.baseResourcesUrl),i=s([r],e=>e.configurator),g=s([r],e=>e.dataConfig),m=s([r],e=>e.chunks),p=s([r],e=>e.publishedDataHash),d=s([r],e=>e.initialPublishedData),c=s([r],e=>e.canCreate),u=s([r],e=>e.enableAdminRelease),h=s([r],e=>e.textLanguages),y=s([i],e=>e.modelVersion),f=s([r],e=>e.admin),C=s([f],e=>e.preset),A=s([f],e=>e.modelVersion),b=s([i],e=>e.theme),x=s([i],e=>e.assistant),E=s([x],e=>e?t(e):null),H=s([i],e=>e.factory),D=s([f],e=>e.factory),P=s([i],e=>e.componentOptics),S=s([f],e=>e.componentOptics),w=s([i],e=>e.appLoader),O=s([i],e=>e.preview),T=s([i],e=>e.alwaysExpand),V=s([i],e=>e.presets),L=s([i],e=>e.deploymentQueryDisabled),R=s([i],e=>e.prefetchTextureUrls),U=s([i],e=>e.handlerHashes),v=s([i],e=>e.handlers),k=s([v,U],(e,t)=>({...(e=>{let t={},a={},n={};for(let s of e)"phoenix"===s.type&&(t[s.name]=s.handler),"system"===s.type&&(a[s.name]=s.handler),"system-async"===s.type&&(n[s.name]=s.handler);return{handlers:t,systemHandlers:a,systemAsyncHandlers:n}})(e),hashes:t})),F=s([i],e=>e.elementHashes),M=s([i],e=>e.elements),Q=s([i],e=>e.defaultElements),j=s([Q,M,F],(e,t,a)=>({...(e=>{let t={},a={};for(let n of e)"layout"===n.type&&(t[n.name]=n.element),"entity"===n.type&&(a[n.name]=n.element);return{entityElements:a,layoutElements:t}})([...e,...t]),hashes:a}));return{selectSpec:r,selectVersion:l,selectBaseResourcesUrl:o,selectConfiguratorSpec:i,selectConfiguratorModelVersion:y,selectAdminSpec:f,selectAdminPreset:C,selectAdminModelVersion:A,selectThemeOptions:b,selectAssistant:E,selectConfiguratorFactory:H,selectAdminFactory:D,selectConfiguratorComponentOptics:P,selectAdminComponentOptics:S,selectAppLoader:w,selectPreview:O,selectAlwaysExpand:T,selectPresetSeed:V,selectDeploymentQueryDisabled:L,selectPrefetchTextureUrls:R,selectTextLanguages:h,selectHandlerHashes:U,selectHandlers:v,selectHandlerSlots:k,selectElementHashes:F,selectElements:M,selectElementSlots:j,selectDataConfig:g,selectChunks:m,selectPublishedDataHash:p,selectInitialPublishedData:d,selectCanCreate:c,selectEnableAdminRelease:u,getVersion:()=>l(n()),getBaseResourcesUrl:()=>o(n()),getConfiguratorSpec:()=>i(n()),getConfiguratorModelVersion:()=>y(n()),getAdminSpec:()=>f(n()),getAdminPreset:()=>C(n()),getAdminModelVersion:()=>A(n()),getThemeOptions:()=>b(n()),getAssistant:()=>E(n()),getConfiguratorFactory:()=>H(n()),getAdminFactory:()=>D(n()),getConfiguratorComponentOptics:()=>P(n()),getAdminComponentOptics:()=>S(n()),getAppLoader:()=>w(n()),getPreview:()=>O(n()),getAlwaysExpand:()=>T(n()),getPresetSeed:()=>V(n()),getDeploymentQueryDisabled:()=>L(n()),getPrefetchTextureUrls:()=>R(n()),getTextLanguages:()=>h(n()),getHandlerHashes:()=>U(n()),getHandlers:()=>v(n()),getHandlerSlots:()=>k(n()),getElementHashes:()=>F(n()),getElements:()=>M(n()),getElementSlots:()=>j(n()),getDataConfig:()=>g(n()),getChunks:()=>m(n()),getPublishedDataHash:()=>p(n()),getInitialPublishedData:()=>d(n()),getCanCreate:()=>c(n()),getEnableAdminRelease:()=>u(n())}};
@@ -35,6 +35,8 @@ export interface ApplicationConfiguratorSpec {
35
35
  */
36
36
  readonly handlerHashes: Record<string, string>;
37
37
  readonly elements: readonly ElementRegistration[];
38
+ /** The SDK's default element registrations; an entry of `elements` with the same name replaces one. */
39
+ readonly defaultElements: readonly ElementRegistration[];
38
40
  /**
39
41
  * Per-element content hash. Used as remount key so only the specific element
40
42
  * whose source changed remounts. Unchanged elements keep their hash and stay mounted.
@@ -1,5 +1,5 @@
1
1
  export declare const AttributeSwitchValueSchema: {
2
- readonly type: ["string", "number", "boolean"];
2
+ readonly type: 'boolean';
3
3
  };
4
4
  export type AttributeSwitchComponentState = {
5
5
  readonly value: boolean;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../core/index.js";export const AttributeSwitchValueSchema={type:["string","number","boolean"]};export const attributeSwitchComponent=t.component("attributeSwitch").withState({type:"object",properties:{value:AttributeSwitchValueSchema},tsType:"AttributeSwitchComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSwitchComponentState"}],required:["value"],additionalProperties:!1}).withWritableKeys(["value"]).build();
1
+ import{SystemComponentBuilder as t}from"../core/index.js";export const AttributeSwitchValueSchema={type:"boolean"};export const attributeSwitchComponent=t.component("attributeSwitch").withState({type:"object",properties:{value:AttributeSwitchValueSchema},tsType:"AttributeSwitchComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSwitchComponentState"}],required:["value"],additionalProperties:!1}).withWritableKeys(["value"]).build();
@@ -41,7 +41,7 @@ export type CanvasConfigComponentState = {
41
41
  /**
42
42
  * Can be "high-performance", "low-power" or "default"
43
43
  */
44
- readonly powerPreference?: string | undefined;
44
+ readonly powerPreference?: 'high-performance' | 'low-power' | 'default' | undefined;
45
45
  /**
46
46
  * default is true.
47
47
  */
@@ -1,10 +1,10 @@
1
- import { type Color } from '@salsita-ai/common/utils';
1
+ import { type HexColor } from '@salsita-ai/common/utils';
2
2
  export type ClientSideImageComponentState = {
3
3
  readonly exportState: string;
4
4
  readonly width: number;
5
5
  readonly height: number;
6
6
  readonly fileFormat: 'PNG' | 'JPEG';
7
- readonly backgroundColor?: Color;
7
+ readonly backgroundColor?: HexColor;
8
8
  readonly toolState: string;
9
9
  readonly viewState: string;
10
10
  readonly navigationState: string;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const clientSideImageComponent=t.component("clientSideImage").withState({type:"object",tsType:"ClientSideImageComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ClientSideImageComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$"},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isClientSideImageComponentSnapshot=e(clientSideImageComponent);
1
+ import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const clientSideImageComponent=t.component("clientSideImage").withState({type:"object",tsType:"ClientSideImageComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ClientSideImageComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$",tsType:"HexColor",import:[{module:"@salsita-ai/sdk/common/utils",member:"HexColor"}]},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isClientSideImageComponentSnapshot=e(clientSideImageComponent);
@@ -71,9 +71,9 @@ export type AngleIndicatorBaseState = {
71
71
  */
72
72
  readonly labelFontStyle?: 'normal' | 'italic';
73
73
  /**
74
- * Font weight, which can be a numeric value, 'normal', or 'bold'.
74
+ * Font weight: a number, or a keyword such as 'normal' or 'bold'.
75
75
  */
76
- readonly labelFontWeight?: number | 'normal' | 'bold';
76
+ readonly labelFontWeight?: number | string;
77
77
  /**
78
78
  * Spacing between letters. Default is 0.
79
79
  */
@@ -119,10 +119,10 @@ export type DimensionIndicatorBaseState = {
119
119
  */
120
120
  readonly labelFontStyle?: 'normal' | 'italic';
121
121
  /**
122
- * Font weight, which can be a numeric value, 'normal', or 'bold'.
122
+ * Font weight: a number, or a keyword such as 'normal' or 'bold'.
123
123
  * See https://protectwise.github.io/troika/troika-three-text/
124
124
  */
125
- readonly labelFontWeight?: number | 'normal' | 'bold';
125
+ readonly labelFontWeight?: number | string;
126
126
  /**
127
127
  * Spacing between letters. Default is 0.
128
128
  * See https://protectwise.github.io/troika/troika-three-text/
@@ -10,7 +10,7 @@ export type EditableAngleIndicatorComponentState = AngleIndicatorBaseState & Sce
10
10
  /**
11
11
  * An array of fixable violations. They will be ignored in the violation hint.
12
12
  */
13
- readonly fixableViolations?: string[];
13
+ readonly fixableViolations?: readonly string[];
14
14
  /**
15
15
  * The label of the input field.
16
16
  */
@@ -10,7 +10,7 @@ export type EditableDistanceDimensionIndicatorComponentState = DimensionIndicato
10
10
  /**
11
11
  * An array of fixable violations. They will be ignored in the violation hint.
12
12
  */
13
- readonly fixableViolations?: string[];
13
+ readonly fixableViolations?: readonly string[];
14
14
  /**
15
15
  * The label of the input field.
16
16
  */
@@ -13,7 +13,7 @@ export type EditableOffsetIndicatorComponentState = OffsetIndicatorComponentStat
13
13
  /**
14
14
  * Violation names to ignore when computing hints for the edit input.
15
15
  */
16
- readonly fixableViolations?: string[];
16
+ readonly fixableViolations?: readonly string[];
17
17
  /**
18
18
  * Label displayed on the edit input field.
19
19
  */
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as i}from"../core/index.js";import{DimensionUnitSchema as n,UnitsConfigSchema as r}from"../dimensions/index.js";import{SceneHtmlOpacityProperties as o,SceneHtmlVisibilityProperties as a}from"../system-components/index.js";import{DimensionIndicatorBaseProperties as s,EditableIndicatorButtonVariantSchema as p}from"./common/index.js";export const editableOffsetIndicatorComponent=e.component("editableOffsetIndicator").withState({tsType:"EditableOffsetIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EditableOffsetIndicatorComponentState"}],type:"object",properties:{...s,targetEntityOffsetAnchors:{type:"array",items:{type:"string"}},targetReferenceOffsetAnchors:{type:"array",items:{type:"string"}},referenceEntityIds:{type:"array",items:{type:"string"}},directionVector:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},additionalProperties:!1},directionVectorRelativeToEntityId:{type:"string"},maxDistance:{type:["number","null"]},minDistance:{type:["number","null"]},maxPerpendicularDistance:{type:["number","null"]},minPerpendicularDistance:{type:["number","null"]},visible:{type:"boolean"},force:{type:"boolean"},displayUnit:n,unitDisplayConfig:r,...o,...a,targetOffset:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},inputLabel:t,modalTitle:t,modalText:t,helperText:t,buttonVariant:p},required:["targetOffset","targetEntityOffsetAnchors","targetReferenceOffsetAnchors","directionVector"],additionalProperties:!1}).build();export const isEditableOffsetIndicatorSnapshot=i(editableOffsetIndicatorComponent);
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{DomainEntityIdSchema as t,SystemComponentBuilder as i,isSnapshotOfComponentType as n}from"../core/index.js";import{DimensionUnitSchema as r,UnitsConfigSchema as o}from"../dimensions/index.js";import{SceneHtmlOpacityProperties as a,SceneHtmlVisibilityProperties as s}from"../system-components/index.js";import{DimensionIndicatorBaseProperties as p,EditableIndicatorButtonVariantSchema as m}from"./common/index.js";export const editableOffsetIndicatorComponent=i.component("editableOffsetIndicator").withState({tsType:"EditableOffsetIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"EditableOffsetIndicatorComponentState"}],type:"object",properties:{...p,targetEntityOffsetAnchors:{type:"array",items:{type:"string"}},targetReferenceOffsetAnchors:{type:"array",items:{type:"string"}},referenceEntityIds:{type:["array","null"],items:t},directionVector:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},additionalProperties:!1},directionVectorRelativeToEntityId:{anyOf:[t,{type:"null"}]},maxDistance:{type:["number","null"]},minDistance:{type:["number","null"]},maxPerpendicularDistance:{type:["number","null"]},minPerpendicularDistance:{type:["number","null"]},visible:{type:"boolean"},force:{type:"boolean"},displayUnit:r,unitDisplayConfig:o,...a,...s,targetOffset:{type:"string"},fixableViolations:{type:"array",items:{type:"string"}},inputLabel:e,modalTitle:e,modalText:e,helperText:e,buttonVariant:m},required:["targetOffset","targetEntityOffsetAnchors","targetReferenceOffsetAnchors","directionVector"],additionalProperties:!1}).build();export const isEditableOffsetIndicatorSnapshot=n(editableOffsetIndicatorComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionOrthographicCameraComponentName="fitSelectionOrthographicCamera";export const fitSelectionOrthographicCameraComponent=e.component("fitSelectionOrthographicCamera").withState({type:"object",tsType:"FitSelectionOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},focus:{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"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionOrthographicCameraComponent=t(fitSelectionOrthographicCameraComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionOrthographicCameraComponentName="fitSelectionOrthographicCamera";export const fitSelectionOrthographicCameraComponent=e.component("fitSelectionOrthographicCamera").withState({type:"object",tsType:"FitSelectionOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{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"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionOrthographicCameraComponent=t(fitSelectionOrthographicCameraComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionPerspectiveCameraComponentName="fitSelectionPerspectiveCamera";export const fitSelectionPerspectiveCameraComponent=e.component("fitSelectionPerspectiveCamera").withState({type:"object",tsType:"FitSelectionPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},fitMeshChanges:{type:"boolean"},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"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionPerspectiveCameraComponent=t(fitSelectionPerspectiveCameraComponent);
1
+ import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionPerspectiveCameraComponentName="fitSelectionPerspectiveCamera";export const fitSelectionPerspectiveCameraComponent=e.component("fitSelectionPerspectiveCamera").withState({type:"object",tsType:"FitSelectionPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},fitMeshChanges:{type:"boolean"},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"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionPerspectiveCameraComponent=t(fitSelectionPerspectiveCameraComponent);
@@ -12,13 +12,13 @@ export interface HorizontalTab {
12
12
  /**
13
13
  * List of navigation states when the tab is active. First one will be used for activation.
14
14
  */
15
- readonly navigationStates: string[];
15
+ readonly navigationStates: readonly string[];
16
16
  }
17
17
  export type HorizontalTabsComponentState = {
18
18
  /**
19
19
  * List of tabs in the horizontal tabs.
20
20
  */
21
- readonly tabs: HorizontalTab[];
21
+ readonly tabs: readonly HorizontalTab[];
22
22
  };
23
23
  export declare const horizontalTabsComponent: import("../index.js").SystemComponentType<"horizontalTabs", HorizontalTabsComponentState, never>;
24
24
  export type HorizontalTabsComponent = typeof horizontalTabsComponent;
@@ -10,7 +10,7 @@ export type ListSelectorDimensionIndicatorComponentState = DimensionIndicatorSta
10
10
  /**
11
11
  * An array of fixable violations. They will be ignored in the violation hint.
12
12
  */
13
- readonly fixableViolations?: string[];
13
+ readonly fixableViolations?: readonly string[];
14
14
  /**
15
15
  * The title of the modal.
16
16
  */
@@ -7,13 +7,13 @@ export interface NavigationStep {
7
7
  /**
8
8
  * List of navigation states when the tab is active. First one will be used for activation.
9
9
  */
10
- readonly navigationStates: string[];
10
+ readonly navigationStates: readonly string[];
11
11
  }
12
12
  export type NavigationStepsComponentState = {
13
13
  /**
14
14
  * List of steps in the top navigation.
15
15
  */
16
- readonly steps: NavigationStep[];
16
+ readonly steps: readonly NavigationStep[];
17
17
  };
18
18
  export declare const navigationStepsComponent: import("../index.js").SystemComponentType<"navigationSteps", NavigationStepsComponentState, never>;
19
19
  export type NavigationStepsComponent = typeof navigationStepsComponent;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e,isSnapshotOfComponentType as t}from"../core/index.js";import{DimensionUnitSchema as n,UnitsConfigSchema as r}from"../dimensions/index.js";import{DimensionIndicatorBaseProperties as i}from"./common/index.js";export const offsetIndicatorComponent=e.component("offsetIndicator").withState({tsType:"OffsetIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"OffsetIndicatorComponentState"}],type:"object",properties:{...i,targetEntityOffsetAnchors:{type:"array",items:{type:"string"}},targetReferenceOffsetAnchors:{type:"array",items:{type:"string"}},referenceEntityIds:{type:"array",items:{type:"string"}},directionVector:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},additionalProperties:!1},directionVectorRelativeToEntityId:{type:"string"},maxDistance:{type:["number","null"]},minDistance:{type:["number","null"]},maxPerpendicularDistance:{type:["number","null"]},minPerpendicularDistance:{type:["number","null"]},visible:{type:"boolean"},force:{type:"boolean"},displayUnit:n,unitDisplayConfig:r},required:["targetEntityOffsetAnchors","targetReferenceOffsetAnchors","directionVector"],additionalProperties:!1}).build();export const isOffsetIndicatorSnapshot=t(offsetIndicatorComponent);
1
+ import{DomainEntityIdSchema as e,SystemComponentBuilder as t,isSnapshotOfComponentType as n}from"../core/index.js";import{DimensionUnitSchema as r,UnitsConfigSchema as o}from"../dimensions/index.js";import{DimensionIndicatorBaseProperties as i}from"./common/index.js";export const offsetIndicatorComponent=t.component("offsetIndicator").withState({tsType:"OffsetIndicatorComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"OffsetIndicatorComponentState"}],type:"object",properties:{...i,targetEntityOffsetAnchors:{type:"array",items:{type:"string"}},targetReferenceOffsetAnchors:{type:"array",items:{type:"string"}},referenceEntityIds:{type:["array","null"],items:e},directionVector:{type:"object",properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"}},additionalProperties:!1},directionVectorRelativeToEntityId:{anyOf:[e,{type:"null"}]},maxDistance:{type:["number","null"]},minDistance:{type:["number","null"]},maxPerpendicularDistance:{type:["number","null"]},minPerpendicularDistance:{type:["number","null"]},visible:{type:"boolean"},force:{type:"boolean"},displayUnit:r,unitDisplayConfig:o},required:["targetEntityOffsetAnchors","targetReferenceOffsetAnchors","directionVector"],additionalProperties:!1}).build();export const isOffsetIndicatorSnapshot=n(offsetIndicatorComponent);
@@ -1,8 +1,8 @@
1
1
  export type RotatableSurface = {
2
2
  /**
3
- * Unique identifier for the surface.
3
+ * Identifier of the surface.
4
4
  */
5
- readonly key: string;
5
+ readonly key?: string;
6
6
  /**
7
7
  * The widget rotation axis in normal form. Usually corresponds to the target object's rotation axis.
8
8
  */
@@ -1,10 +1,10 @@
1
- import { type Color } from '@salsita-ai/common/utils';
1
+ import { type HexColor } from '@salsita-ai/common/utils';
2
2
  export type SaveTemplateThumbnailComponentState = {
3
3
  readonly exportState: string;
4
4
  readonly width: number;
5
5
  readonly height: number;
6
6
  readonly fileFormat: 'PNG' | 'JPEG';
7
- readonly backgroundColor?: Color;
7
+ readonly backgroundColor?: HexColor;
8
8
  readonly toolState: string;
9
9
  readonly viewState: string;
10
10
  readonly navigationState: string;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const saveTemplateThumbnailComponent=t.component("saveTemplateThumbnail").withState({type:"object",tsType:"SaveTemplateThumbnailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SaveTemplateThumbnailComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$"},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isSaveTemplateThumbnailComponentSnapshot=e(saveTemplateThumbnailComponent);
1
+ import{SystemComponentBuilder as t,isSnapshotOfComponentType as e}from"../core/index.js";export const saveTemplateThumbnailComponent=t.component("saveTemplateThumbnail").withState({type:"object",tsType:"SaveTemplateThumbnailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SaveTemplateThumbnailComponentState"}],properties:{exportState:{type:"string"},width:{type:"number"},height:{type:"number"},fileFormat:{type:"string",enum:["PNG","JPEG"]},backgroundColor:{type:"string",pattern:"^#[0-9a-fA-F]{6}$",tsType:"HexColor",import:[{module:"@salsita-ai/sdk/common/utils",member:"HexColor"}]},toolState:{type:"string"},viewState:{type:"string"},navigationState:{type:"string"}},required:["exportState","width","height","fileFormat","toolState","viewState","navigationState"],additionalProperties:!1}).build();export const isSaveTemplateThumbnailComponentSnapshot=e(saveTemplateThumbnailComponent);
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../core/index.js";export const sceneEntityAnimationComponent=e.component("sceneEntityAnimation").withState({type:"object",tsType:"SceneEntityAnimationComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityAnimationComponentState"}],properties:{fileUrl:{type:"string"},name:{type:"string"},type:{type:"string"},timeScale:{type:"number"}},required:["fileUrl","name","timeScale","type"],additionalProperties:!1}).build();
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const sceneEntityAnimationComponent=e.component("sceneEntityAnimation").withState({type:"object",tsType:"SceneEntityAnimationComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityAnimationComponentState"}],properties:{fileUrl:{type:"string"},name:{type:"string"},type:{type:"string",enum:["reversable"]},timeScale:{type:"number"}},required:["fileUrl","name","timeScale","type"],additionalProperties:!1}).build();
@@ -1,3 +1,4 @@
1
+ import { AccessLevel } from '@salsita-ai/contracts/api';
1
2
  import type { ApplicationConfig } from '../application/index.js';
2
3
  import type { $DomainEntity, DomainEntity } from '../core/index.js';
3
4
  import type { RegistrableTransformer } from '../domain-context/index.js';
@@ -268,24 +269,28 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
268
269
  access: {
269
270
  selectConfiguratorRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
270
271
  raw: string;
272
+ access: AccessLevel;
271
273
  viewMode: boolean;
272
274
  revisionId: string | undefined;
273
275
  configurationId: string;
274
276
  } | null>;
275
277
  selectAdminRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
276
278
  raw: string;
279
+ access: AccessLevel;
277
280
  viewMode: boolean;
278
281
  revisionId: string | undefined;
279
282
  configurationId: string;
280
283
  } | null>;
281
284
  selectConfiguratorAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
282
285
  raw: string;
286
+ access: AccessLevel;
283
287
  viewMode: boolean;
284
288
  revisionId: string | undefined;
285
289
  configurationId: string;
286
290
  }>;
287
291
  selectAdminAccessInfo: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, {
288
292
  raw: string;
293
+ access: AccessLevel;
289
294
  viewMode: boolean;
290
295
  revisionId: string | undefined;
291
296
  configurationId: string;
@@ -298,24 +303,28 @@ export declare const createMockDomainRuntime: <ENTITIES extends DomainEntity<str
298
303
  selectAdminConfigurationId: import("@salsita-ai/common/utils").Selector<import("../index.js").AccessSelectorState, string>;
299
304
  getConfiguratorRawAccessInfo: () => {
300
305
  raw: string;
306
+ access: AccessLevel;
301
307
  viewMode: boolean;
302
308
  revisionId: string | undefined;
303
309
  configurationId: string;
304
310
  } | null;
305
311
  getAdminRawAccessInfo: () => {
306
312
  raw: string;
313
+ access: AccessLevel;
307
314
  viewMode: boolean;
308
315
  revisionId: string | undefined;
309
316
  configurationId: string;
310
317
  } | null;
311
318
  getConfiguratorAccessInfo: () => {
312
319
  raw: string;
320
+ access: AccessLevel;
313
321
  viewMode: boolean;
314
322
  revisionId: string | undefined;
315
323
  configurationId: string;
316
324
  };
317
325
  getAdminAccessInfo: () => {
318
326
  raw: string;
327
+ access: AccessLevel;
319
328
  viewMode: boolean;
320
329
  revisionId: string | undefined;
321
330
  configurationId: string;
@@ -1 +1 @@
1
- import{createDomainRuntime as o}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as t}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as e}from"./create-mock-session-context.js";export const createMockDomainRuntime=(a,i)=>{let{sessionData:n,mode:r,role:s}=i,c=o({config:a,services:t()}),m=c.getState().spec;return c.actions.spec.updateSpec({...m,configurator:{...m.configurator,createTransformers:o=>i.transformers.map(t=>t.transformer.register(o,t.priority??1/0))}}),c.actions.sessionContext.setSessionContext(e(s,n)),c.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",viewMode:"read"===r,revisionId:void 0,configurationId:"mock"}),c.actions.domainData.setDomainData({publishedData:i.publishedData,frontendData:i.frontendData,backendData:i.backendData}),c.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:i.entities,modelVersion:a.domain.domainFactory.modelVersion,rootEntityType:i.rootEntityType,schemaIdentity:a.domain.domainFactory}),c};
1
+ import{AccessLevel as t}from"@salsita-ai/contracts/api";import{createDomainRuntime as e}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as o}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as a}from"./create-mock-session-context.js";export const createMockDomainRuntime=(i,n)=>{let{sessionData:r,mode:s,role:c}=n,m=e({config:i,services:o()}),d=m.getState().spec;return m.actions.spec.updateSpec({...d,configurator:{...d.configurator,createTransformers:t=>n.transformers.map(e=>e.transformer.register(t,e.priority??1/0))}}),m.actions.sessionContext.setSessionContext(a(c,r)),m.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",access:"read"===s?t.Read:t.Owner,viewMode:"read"===s,revisionId:void 0,configurationId:"mock"}),m.actions.domainData.setDomainData({publishedData:n.publishedData,frontendData:n.frontendData,backendData:n.backendData}),m.actions.loadedData.completeConfiguratorLoad({initialRevisionId:"mock-revision",initialEntities:n.entities,modelVersion:i.domain.domainFactory.modelVersion,rootEntityType:n.rootEntityType,schemaIdentity:i.domain.domainFactory}),m};
@@ -1 +1 @@
1
- import{createDomainRuntime as o}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as e}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as t}from"./create-mock-session-context.js";export const createMockDomain=(i,n)=>{let{frontendData:s,publishedData:a,sessionData:c,backendData:r,mode:m,role:d}=n,f=o({config:i,services:e()});return f.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",viewMode:"read"===m,revisionId:void 0,configurationId:"mock-configuration"}),"finalize"===m&&f.actions.domainContext.configurator.setExecutionMode("finalize"),f.actions.domainData.setDomainData({publishedData:a,frontendData:s,backendData:r}),f.actions.sessionContext.setSessionContext(t(d,c)),f.selectors.domainContext.configurator.getDomain()};
1
+ import{AccessLevel as o}from"@salsita-ai/contracts/api";import{createDomainRuntime as e}from"../domain-runtime/index.js";import{createMockDomainRuntimeServices as t}from"./create-mock-domain-runtime-services.js";import{createMockSessionContext as i}from"./create-mock-session-context.js";export const createMockDomain=(n,a)=>{let{frontendData:s,publishedData:c,sessionData:r,backendData:m,mode:d,role:f}=a,u=e({config:n,services:t()});return u.actions.access.setConfiguratorAccessInfo({raw:"mock-access-token",access:"read"===d?o.Read:o.Owner,viewMode:"read"===d,revisionId:void 0,configurationId:"mock-configuration"}),"finalize"===d&&u.actions.domainContext.configurator.setExecutionMode("finalize"),u.actions.domainData.setDomainData({publishedData:c,frontendData:s,backendData:m}),u.actions.sessionContext.setSessionContext(i(f,r)),u.selectors.domainContext.configurator.getDomain()};
@@ -0,0 +1,59 @@
1
+ import type { TransformersConfig } from '../application/index.js';
2
+ import type { ProjectModule } from '../domain-runtime/index.js';
3
+ /**
4
+ * What a project's test adds to its generated application before it builds the config.
5
+ *
6
+ * Each option names a part of the application config: the test states what it wants in the
7
+ * application, not how the application is assembled.
8
+ */
9
+ export interface TestApplicationOptions {
10
+ /**
11
+ * Component files added after the components the generated application already has, for example
12
+ * the `customComponentOptics` of `.phoenix/configurator-domain-code.js`, which the configurator and
13
+ * the webhooks add to the domain the generated `configuratorBuilder` describes.
14
+ */
15
+ readonly componentModules?: readonly ProjectModule[];
16
+ /**
17
+ * The transformers of the application: the `src/transformers/` files the test runs, and the
18
+ * entries of the spec's `transformers` section that select and order them. Replaces the
19
+ * transformers the generated application has.
20
+ */
21
+ readonly transformers?: TransformersConfig;
22
+ /**
23
+ * The tag of the custom element the application mounts as. Without it the config keeps the tag of
24
+ * the generated application, which is `salsita-configurator` unless the application names another.
25
+ */
26
+ readonly tag?: string;
27
+ }
28
+ /**
29
+ * The shape of a generated application export (`configuratorBuilder` of `.phoenix/domain.js`,
30
+ * `configuratorConfig` of `.phoenix/configurator-config.js`) that the helper reads. `CONFIG` is the
31
+ * application config the export builds, with the project's types, so the result needs no type argument.
32
+ */
33
+ interface GeneratedApplication<CONFIG> {
34
+ withComponentOptics(componentModules: readonly ProjectModule[]): GeneratedApplication<CONFIG>;
35
+ withTransformers(importedTransformers: TransformersConfig['importedTransformers'], specTransformers: TransformersConfig['specTransformers']): GeneratedApplication<CONFIG>;
36
+ withWebComponentTag(tag: string): GeneratedApplication<CONFIG>;
37
+ buildConfig(): CONFIG;
38
+ }
39
+ /**
40
+ * Builds the application config of a project for its tests, from the generated application export
41
+ * the test imports and the parts the test adds. The config carries the project's types, so it goes
42
+ * straight into `createDomainRuntime`, `createMockDomainContext`, `createMockState` or a mounted
43
+ * custom element, and its `initialPublishedData`, `domain.presets` and domain factories are the ones
44
+ * the deployed application starts with.
45
+ *
46
+ * This is the way a project's test builds its application. Its call does not depend on how the SDK
47
+ * assembles an application, so a test written against it needs no change when that assembly changes.
48
+ *
49
+ * @example
50
+ * const config = createTestApplicationConfig(configuratorBuilder, {
51
+ * componentModules: customComponentOptics,
52
+ * transformers: {
53
+ * importedTransformers: [{ origin: 'src/transformers/add-cooking-top.ts', exports: addCookingTop }],
54
+ * specTransformers: [{ name: 'addCookingTop', priority: 30 }],
55
+ * },
56
+ * })
57
+ */
58
+ export declare const createTestApplicationConfig: <CONFIG>(application: GeneratedApplication<CONFIG>, options?: TestApplicationOptions) => CONFIG;
59
+ export {};
@@ -0,0 +1 @@
1
+ export const createTestApplicationConfig=(e,o={})=>{let{componentModules:r,transformers:t,tag:n}=o,i=e;return r&&(i=i.withComponentOptics(r)),t&&(i=i.withTransformers(t.importedTransformers,t.specTransformers)),void 0!==n&&(i=i.withWebComponentTag(n)),i.buildConfig()};
@@ -4,3 +4,4 @@ export { createMockDomainContext, type MockTransformer } from './create-mock-dom
4
4
  export { createMockDomainRuntime } from './create-mock-domain-runtime.js';
5
5
  export { createMockSessionContext } from './create-mock-session-context.js';
6
6
  export { createMockDomainRuntimeServices } from './create-mock-domain-runtime-services.js';
7
+ export { type TestApplicationOptions, createTestApplicationConfig } from './create-test-application-config.js';
@@ -1 +1 @@
1
- export{createMockDomain}from"./create-mock-domain.js";export{createMockState}from"./create-mock-state.js";export{createMockDomainContext}from"./create-mock-domain-context.js";export{createMockDomainRuntime}from"./create-mock-domain-runtime.js";export{createMockSessionContext}from"./create-mock-session-context.js";export{createMockDomainRuntimeServices}from"./create-mock-domain-runtime-services.js";
1
+ export{createMockDomain}from"./create-mock-domain.js";export{createMockState}from"./create-mock-state.js";export{createMockDomainContext}from"./create-mock-domain-context.js";export{createMockDomainRuntime}from"./create-mock-domain-runtime.js";export{createMockSessionContext}from"./create-mock-session-context.js";export{createMockDomainRuntimeServices}from"./create-mock-domain-runtime-services.js";export{createTestApplicationConfig}from"./create-test-application-config.js";
@@ -38,7 +38,7 @@ export type ApplicationConfigComponentState = {
38
38
  /**
39
39
  * Array of available dimensions in the application. It will be possible to select them in toolbar if more than one is available.
40
40
  */
41
- readonly availableDimensions?: DimensionUnit[];
41
+ readonly availableDimensions?: readonly DimensionUnit[];
42
42
  /**
43
43
  * When true, the sidebar will be split, it will show the tabs and the header, otherwise it will not.
44
44
  *
@@ -83,7 +83,7 @@ export type ApplicationConfigComponentState = {
83
83
  /**
84
84
  * Locales that user can select in the language switcher. Default ['en'].
85
85
  */
86
- readonly availableLocales?: string[];
86
+ readonly availableLocales?: readonly string[];
87
87
  /**
88
88
  * Initial state of dimension indicators. Default false.
89
89
  */