@salsita-ai/sdk 0.50.0-develop.8c8c362f86 → 0.50.0-develop.8d2f236284

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 (716) 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 +5 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +5 -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 +59 -63
  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-presets.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  86. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  87. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  88. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  89. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  90. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  91. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  92. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  93. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  94. package/dist/application-spec/generate-application/code/templates/globals.js +24 -44
  95. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -3
  96. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  97. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  98. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  99. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  100. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  101. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  102. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  103. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  104. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  105. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  106. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +3 -3
  107. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  109. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +24 -6
  110. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  111. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  112. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  113. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  114. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  115. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  116. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  121. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  122. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  123. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  124. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  125. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  126. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  127. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  128. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  129. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  130. package/dist/application-spec/generate-application/index.d.ts +2 -0
  131. package/dist/application-spec/generate-application/index.js +1 -1
  132. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  133. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  134. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  135. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  136. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  137. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -5
  138. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  140. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -2
  142. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  143. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  144. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  145. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  146. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  147. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  148. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  149. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  152. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  153. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  154. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  155. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  156. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  157. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  158. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  159. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  160. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  161. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
  162. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  163. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  164. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  165. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  167. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  169. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  170. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  171. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  172. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  173. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  174. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  175. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  176. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  177. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  178. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  179. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  180. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  181. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  182. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  183. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  184. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  185. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  186. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  187. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  188. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  189. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  190. package/dist/application-spec/index.d.ts +1 -0
  191. package/dist/application-spec/index.js +1 -1
  192. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  193. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  194. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  195. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  196. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  197. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  198. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  199. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  200. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  201. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  202. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  203. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  204. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  205. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  206. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  207. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  208. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  209. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  210. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  211. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  212. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  217. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  219. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  220. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  221. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  222. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  223. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  224. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  225. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  226. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  227. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  228. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  229. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  230. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  231. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  232. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  233. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  234. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  235. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  237. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  238. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  239. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  240. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  241. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  242. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  243. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  244. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  245. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  247. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  249. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  250. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  251. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  252. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  253. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  254. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  256. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  257. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  258. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  259. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  260. package/dist/client/phoenix-api.d.ts +367 -0
  261. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +36 -1
  262. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  263. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  264. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  265. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  266. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  267. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  268. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +7 -1
  269. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  270. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  271. package/dist/configurator/common/configurator-interface.d.ts +41 -1
  272. package/dist/configurator/common/configurator-interface.js +1 -1
  273. package/dist/configurator/common/index.d.ts +3 -1
  274. package/dist/configurator/common/index.js +1 -1
  275. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  276. package/dist/configurator/common/use-reset-camera.js +1 -0
  277. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  278. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  279. package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
  280. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  281. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  282. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +7 -1
  283. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  284. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  285. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  286. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  287. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  288. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  289. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  290. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  291. package/dist/configurator/pages/RootPage.js +1 -1
  292. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  293. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  294. package/dist/configurator/pages/default-configurator-elements.d.ts +11 -0
  295. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  296. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  297. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  298. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  299. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  300. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  301. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  302. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  303. package/dist/configurator/pages/default-elements/index.js +1 -0
  304. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  305. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  306. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  307. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  308. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  309. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  310. package/dist/configurator/pages/index.d.ts +1 -0
  311. package/dist/configurator/pages/index.js +1 -1
  312. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  313. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  314. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  315. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  316. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  317. package/dist/configurator/preset-screen-elements/index.js +1 -0
  318. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  319. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  320. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  321. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  322. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  323. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  324. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  325. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  326. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  327. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  328. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  329. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  330. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  331. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  332. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  333. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  334. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  335. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  336. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  337. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  338. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  339. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  340. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  341. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  342. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  343. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  344. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  345. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  346. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  347. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  348. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  349. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  350. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  351. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  352. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  353. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  354. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  355. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  356. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  357. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  358. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  359. package/dist/configurator/ui/assistant/form/index.js +1 -0
  360. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  361. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  362. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  363. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  364. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  365. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  366. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  367. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  368. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  369. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  370. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  371. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  372. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  373. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  374. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  375. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  376. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  377. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  378. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  379. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  380. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  381. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  382. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  383. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  384. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  385. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  386. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  387. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  388. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  389. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  390. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  391. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  392. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  393. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  394. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  395. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  396. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  397. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  398. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  399. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  400. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  401. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  402. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  403. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  404. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  405. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  406. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  407. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  408. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  409. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  410. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  411. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  412. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  413. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  414. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  415. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  416. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  417. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  418. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  419. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  420. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  421. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  422. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  423. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  424. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  425. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  426. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  427. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  428. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  429. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  430. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  431. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  432. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  433. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  434. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  435. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  436. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  437. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  438. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  439. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  440. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  441. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  442. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  443. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  444. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  445. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  446. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  447. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  448. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  449. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  450. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  451. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  452. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  453. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  454. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  455. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  456. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  457. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  458. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  459. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  460. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  461. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  462. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  463. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  464. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  465. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  466. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  467. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  468. package/dist/docs/fabs/basic.mdx +2 -2
  469. package/dist/docs/index.json +11 -1
  470. package/dist/docs/layouts/custom-layout.mdx +1636 -182
  471. package/dist/docs/layouts/header/fixed.mdx +2 -2
  472. package/dist/docs/layouts/header/floating.mdx +2 -2
  473. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +2 -2
  474. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  475. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  476. package/dist/docs/other-features/not-found-404.mdx +1 -1
  477. package/dist/docs/phoenix/application-states.mdx +9 -7
  478. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  479. package/dist/docs/phoenix/components.mdx +6 -0
  480. package/dist/docs/phoenix/configurator-interface.mdx +198 -19
  481. package/dist/docs/phoenix/deployments.mdx +2 -6
  482. package/dist/docs/phoenix/domain-model.mdx +2 -0
  483. package/dist/docs/phoenix/finalization.mdx +1 -1
  484. package/dist/docs/phoenix/getting-started.mdx +6 -3
  485. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  486. package/dist/docs/phoenix/localization.mdx +10 -6
  487. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  488. package/dist/docs/phoenix/phoenix-cli.mdx +72 -21
  489. package/dist/docs/phoenix/project-structure.mdx +70 -33
  490. package/dist/docs/phoenix/quickstart.mdx +7 -7
  491. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -7
  492. package/dist/docs/phoenix/testing.mdx +8 -0
  493. package/dist/docs/phoenix/webhooks.mdx +21 -4
  494. package/dist/domain/application/application-config.d.ts +3 -1
  495. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  496. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  497. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  498. package/dist/domain/application/assistant/index.d.ts +2 -0
  499. package/dist/domain/application/assistant/index.js +1 -1
  500. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  501. package/dist/domain/application/configurator-builder.d.ts +4 -1
  502. package/dist/domain/application/configurator-builder.js +1 -1
  503. package/dist/domain/core/invariant/violation.d.ts +50 -2
  504. package/dist/domain/core/invariant/violation.js +1 -1
  505. package/dist/domain/core/model/model.d.ts +1 -1
  506. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  507. package/dist/domain/domain-context/index.d.ts +1 -1
  508. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  509. package/dist/domain/domain-context/undo-system.js +1 -1
  510. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  511. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +12 -11
  512. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  513. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
  514. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  515. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  516. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  517. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  518. package/dist/domain/extensions/attribute-switch.js +1 -1
  519. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  520. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  521. package/dist/domain/extensions/client-side-image.js +1 -1
  522. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  523. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  524. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  525. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  526. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  527. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  528. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  529. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  530. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  531. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  532. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  533. package/dist/domain/extensions/offset-indicator.js +1 -1
  534. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  535. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  536. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  537. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  538. package/dist/domain/system-components/application-config.d.ts +2 -2
  539. package/dist/domain/system-components/child-entity-selection.js +1 -1
  540. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  541. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  542. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  543. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  544. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  545. package/dist/domain/system-components/common/recipes.js +1 -1
  546. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  547. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  548. package/dist/domain/system-components/constraint.d.ts +10 -23
  549. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  550. package/dist/domain/system-components/drag-handle.js +1 -1
  551. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  552. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  553. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  554. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  555. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  556. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  557. package/dist/domain/system-components/material-swatch.js +1 -1
  558. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  559. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  560. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  561. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  562. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  563. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  564. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  565. package/dist/editor/Editor.d.ts +7 -0
  566. package/dist/editor/Editor.js +1 -1
  567. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  568. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  569. package/dist/editor/mocks/EditorMockContext.js +1 -1
  570. package/dist/globals/index.d.ts +2 -0
  571. package/dist/i18n/locales/cs/messages.js +1 -1
  572. package/dist/i18n/locales/da/messages.js +1 -1
  573. package/dist/i18n/locales/de/messages.js +1 -1
  574. package/dist/i18n/locales/de-AT/messages.js +1 -1
  575. package/dist/i18n/locales/en/messages.js +1 -1
  576. package/dist/i18n/locales/en-AU/messages.js +1 -1
  577. package/dist/i18n/locales/en-GB/messages.js +1 -1
  578. package/dist/i18n/locales/es/messages.js +1 -1
  579. package/dist/i18n/locales/fr/messages.js +1 -1
  580. package/dist/i18n/locales/hu/messages.js +1 -1
  581. package/dist/i18n/locales/it/messages.js +1 -1
  582. package/dist/i18n/locales/nl/messages.js +1 -1
  583. package/dist/i18n/locales/pl/messages.js +1 -1
  584. package/dist/i18n/locales/pt/messages.js +1 -1
  585. package/dist/i18n/locales/ro/messages.js +1 -1
  586. package/dist/i18n/locales/sk/messages.js +1 -1
  587. package/dist/i18n/locales/tr/messages.js +1 -1
  588. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  589. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  590. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  591. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  592. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  593. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  594. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -1
  595. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  596. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  597. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  598. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  599. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  600. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  601. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  602. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  603. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  604. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  605. package/dist/phoenix/application-spec/project-files.js +1 -1
  606. package/dist/phoenix/bin.d.ts +2 -0
  607. package/dist/phoenix/bin.js +2 -0
  608. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  609. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  610. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  611. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  612. package/dist/phoenix/check-configs/index.d.ts +8 -0
  613. package/dist/phoenix/check-configs/index.js +1 -0
  614. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  615. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  616. package/dist/phoenix/cli.d.ts +0 -1
  617. package/dist/phoenix/cli.js +1 -2
  618. package/dist/phoenix/commands/build.js +1 -1
  619. package/dist/phoenix/commands/check.js +1 -1
  620. package/dist/phoenix/commands/clean.js +1 -1
  621. package/dist/phoenix/commands/deploy.js +2 -2
  622. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  623. package/dist/phoenix/commands/deps/deps.js +3 -0
  624. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  625. package/dist/phoenix/commands/deps/index.js +1 -0
  626. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  627. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  628. package/dist/phoenix/commands/dev.js +5 -5
  629. package/dist/phoenix/commands/fix.js +1 -1
  630. package/dist/phoenix/commands/index.d.ts +1 -0
  631. package/dist/phoenix/commands/index.js +1 -1
  632. package/dist/phoenix/commands/init.d.ts +17 -5
  633. package/dist/phoenix/commands/init.js +1 -1
  634. package/dist/phoenix/commands/link.js +1 -1
  635. package/dist/phoenix/commands/prettier.js +1 -1
  636. package/dist/phoenix/commands/sync.js +1 -1
  637. package/dist/phoenix/commands/unlink.js +1 -1
  638. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  639. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  640. package/dist/phoenix/services/lingui.d.ts +8 -0
  641. package/dist/phoenix/services/lingui.js +1 -1
  642. package/dist/phoenix/services/source-archive.d.ts +1 -0
  643. package/dist/phoenix/services/source-archive.js +1 -1
  644. package/dist/phoenix/services/swc.js +1 -1
  645. package/dist/phoenix/services/vite-config.js +1 -1
  646. package/dist/phoenix/utils/index.d.ts +4 -2
  647. package/dist/phoenix/utils/index.js +1 -1
  648. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  649. package/dist/phoenix/utils/node-version/index.js +1 -0
  650. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  651. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  652. package/dist/phoenix/utils/package-info.d.ts +0 -9
  653. package/dist/phoenix/utils/package-info.js +1 -1
  654. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  655. package/dist/phoenix/utils/package-manager/index.js +1 -0
  656. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  657. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  658. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  659. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  660. package/dist/phoenix/utils/run-command.d.ts +11 -0
  661. package/dist/phoenix/utils/run-command.js +1 -1
  662. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  663. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  664. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  665. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  666. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +2 -0
  667. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  668. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  669. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  670. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  671. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  672. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  673. package/dist/react-sdk/domain-context/index.d.ts +5 -1
  674. package/dist/react-sdk/domain-context/index.js +1 -1
  675. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +5 -0
  676. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  677. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  678. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  679. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  680. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  681. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  682. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  683. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  684. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  685. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  686. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  687. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  688. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  689. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  690. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  691. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  692. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  693. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  694. package/dist/react-sdk/handlers/index.d.ts +6 -0
  695. package/dist/react-sdk/handlers/index.js +1 -1
  696. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  697. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  698. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  699. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  700. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  701. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  702. package/dist/ui-sdk/theme/types.d.ts +1 -1
  703. package/package.json +48 -36
  704. package/schema/domain-spec.json +1201 -217
  705. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  706. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  707. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  708. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  709. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  710. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  711. package/dist/configurator/common/frontend-analytics.js +0 -1
  712. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  713. package/dist/phoenix/commands/generate-project-files.js +0 -1
  714. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  715. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  716. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import type { I18n } from '@lingui/core';
2
- import type { Localizable } from '@salsita-ai/common/utils';
2
+ import { type Localizable } from '@salsita-ai/common/utils';
3
3
  import type { StateEmission } from '../emission/index.js';
4
4
  import type { $DomainEntity, DomainEntity, EntityId } from '../model/index.js';
5
5
  /**
@@ -66,7 +66,55 @@ export declare const ViolationSchema: {
66
66
  readonly enum: ("fatal" | "fixable" | "notice" | "warning")[];
67
67
  };
68
68
  readonly message: {
69
- readonly type: 'string';
69
+ readonly anyOf: [{
70
+ readonly type: 'string';
71
+ }, {
72
+ readonly type: 'object';
73
+ readonly properties: {
74
+ readonly id: {
75
+ readonly type: 'string';
76
+ };
77
+ readonly comment: {
78
+ readonly type: 'string';
79
+ };
80
+ readonly message: {
81
+ readonly type: 'string';
82
+ };
83
+ readonly values: {
84
+ readonly type: 'object';
85
+ readonly additionalProperties: true;
86
+ };
87
+ };
88
+ readonly required: ["id"];
89
+ readonly additionalProperties: false;
90
+ readonly import: [{
91
+ readonly module: '@lingui/core';
92
+ readonly member: 'MessageDescriptor';
93
+ }];
94
+ readonly tsType: 'MessageDescriptor';
95
+ }, {
96
+ readonly import: [{
97
+ readonly module: '@salsita-ai/sdk/common/utils';
98
+ readonly member: 'MultilingualString';
99
+ }];
100
+ readonly tsType: 'MultilingualString';
101
+ readonly type: 'object';
102
+ readonly properties: {
103
+ readonly $lang: {
104
+ readonly type: 'object';
105
+ readonly additionalProperties: {
106
+ readonly type: 'string';
107
+ };
108
+ };
109
+ };
110
+ readonly required: ["$lang"];
111
+ readonly additionalProperties: false;
112
+ }];
113
+ readonly tsType: 'Localizable';
114
+ readonly import: [{
115
+ readonly module: '@salsita-ai/sdk/common/utils';
116
+ readonly member: 'Localizable';
117
+ }];
70
118
  };
71
119
  readonly controlViolationPriority: {
72
120
  readonly type: 'number';
@@ -1 +1 @@
1
- let e=["fatal","fixable","warning","notice"];export const compareSeverity=(t,i)=>e.indexOf(t)-e.indexOf(i);export const ViolationSchema={type:"object",properties:{type:{type:"string"},severity:{enum:e.slice()},message:{type:"string"},controlViolationPriority:{type:"number"}},required:["type","severity"],additionalProperties:!1};
1
+ import{MessageDescriptorSchema as e,MultilingualStringSchema as t}from"@salsita-ai/common/utils";let i=["fatal","fixable","warning","notice"];export const compareSeverity=(e,t)=>i.indexOf(e)-i.indexOf(t);export const ViolationSchema={type:"object",properties:{type:{type:"string"},severity:{enum:i.slice()},message:{anyOf:[{type:"string"},e,t],tsType:"Localizable",import:[{module:"@salsita-ai/sdk/common/utils",member:"Localizable"}]},controlViolationPriority:{type:"number"}},required:["type","severity"],additionalProperties:!1};
@@ -25,7 +25,7 @@ export declare const VirtualEntityIdSchema: {
25
25
  };
26
26
  export declare const createVirtualEntityId: (name: string) => VirtualEntityId;
27
27
  export declare const isVirtualEntityId: (value: EntityId<any>) => value is VirtualEntityId;
28
- export type DomainEntityId<TYPE extends string> = `${TYPE}-${number}` & {
28
+ export type DomainEntityId<TYPE extends string = string> = `${TYPE}-${number}` & {
29
29
  __brand: TYPE;
30
30
  };
31
31
  /**
@@ -1 +1 @@
1
- import{createAjvSchemaValidator as e}from"./create-ajv-schema-validator.js";import{createCspSchemaValidator as a}from"./create-csp-schema-validator.js";let t="csp-compatible"===globalThis.PHX_SCHEMA_VALIDATOR?a:e;export const getExtendedSchemaValidator=()=>{let e=t();return e.addKeyword("tsType"),e.addKeyword("import"),e.addKeyword("declared"),e};export const extendedSchemaValidator=getExtendedSchemaValidator();
1
+ import{createAjvSchemaValidator as e}from"./create-ajv-schema-validator.js";import{createCspSchemaValidator as a}from"./create-csp-schema-validator.js";export const getExtendedSchemaValidator=()=>{let t="csp-compatible"===globalThis.PHX_SCHEMA_VALIDATOR?a():e();return t.addKeyword("tsType"),t.addKeyword("import"),t.addKeyword("declared"),t};export const extendedSchemaValidator=getExtendedSchemaValidator();
@@ -2,7 +2,7 @@ export { type AnalyticsSystem, NoopAnalyticsSystem, type AnalyticsEvent, Analyti
2
2
  export { NavigationUpdateTag, isInitialNavigationUpdate, isNavigationUpdate, isInitialViewUpdate, isViewUpdate, isInitialSelectionUpdate, isSelectUpdate, isDeselectUpdate, isInitialFullscreenUpdate, isToggleFullscreenUpdate, isInitialDebugUpdate, isInitialViewportUpdate, isSetViewportUpdate, isInitialDragUpdate, isDragStartUpdate, isDragEndUpdate, isInitialToolUpdate, isToolUpdate, isExportUpdate, createAutoSelectionTransformer, NavigationSystem, type NavigationSystemContext, createResetSelectionOnNavigationTransformer, createNavigationOnSelectionTransformer, createNavigationOnDeselectTransformer, createSelectParentOnDeselectionTransformer, createNavigationOnSelectionChangeTransformer, type AnyNavigationSystem, } from './navigation-system/index.js';
3
3
  export { StoreSystem, type TransformerRegistration, type UpdateTransformer, type TransformerLogFunction, type Transformers, type StateSliceName, type StateEmissionKind, type CommitPreparedOutcome, nextDomainEntityId, getIdSequence, applyUpdates, SystemState, SystemStateInitialUpdateTag, SystemStateUpdateTag, type SystemStateContext, type AnyCreateTransformersFactory, type AnyStoreSystem, type Unregister, } from './store-system/index.js';
4
4
  export { createRefReplaceTransformer, createCascadeDeletesTransformer, createCascadeRefPruningTransformer, createCreateEntityRefsTransformer, } from './relation-transformers/index.js';
5
- export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, type AnyUndoSystem, } from './undo-system.js';
5
+ export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, type UndoStep, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, type AnyUndoSystem, } from './undo-system.js';
6
6
  export { DimensionSystem, type AnyDimensionSystem, type DimensionSystemContext, type AngleDimensionViolation, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system/index.js';
7
7
  export { ActionSystem, type AnyActionSystem, type ActionSystemContext } from './action-system/index.js';
8
8
  export { RecipeCookerSystem, type AnyRecipeCookerSystem, type RecipeCookerSystemContext, ReplaceRecipeUpdateTag, isReplaceEntityUpdate, type IsReplaceRecipeUpdate, CreateRecipeUpdateTag, isCreateEntityUpdate, type IsCreateRecipeUpdate, } from './recipe-system/index.js';
@@ -1,10 +1,31 @@
1
1
  import type { ObservableWithLastValue } from '@salsita-ai/common/utils';
2
- import type { $DomainEntity, DomainEntity, ResetStateEmission, StateEmission } from '../core/index.js';
2
+ import type { $DomainEntity, DomainEntity, DomainState, ResetStateEmission, StateEmission } from '../core/index.js';
3
3
  import type { DomainContextSelectors } from '../domain-runtime/index.js';
4
4
  export interface UndoCapabilities {
5
5
  readonly canUndo: boolean;
6
6
  readonly canRedo: boolean;
7
7
  }
8
+ /**
9
+ * One step of the undo history: a state that undo and redo return to.
10
+ *
11
+ * A step is made by an undoable change. The non-undoable commits made on top of it afterwards, such
12
+ * as a selection or a navigation, do not make steps of their own; returning to the step keeps them,
13
+ * so undoing a later change does not also take back what the user selected since. A step therefore
14
+ * holds two states: the one that identifies it and the one it returns to.
15
+ */
16
+ export interface UndoStep<ENTITIES extends DomainEntity<string>> {
17
+ /**
18
+ * The state the undoable change committed. It identifies the step and never changes, so a caller
19
+ * that knows which state its own change committed can tell whether that change is the step the
20
+ * configuration is at.
21
+ */
22
+ readonly committedState: DomainState<ENTITIES>;
23
+ /**
24
+ * What undo or redo resets the store to: `committedState` plus the non-undoable commits made on
25
+ * top of it before the next undoable change.
26
+ */
27
+ readonly restoreState: DomainState<ENTITIES>;
28
+ }
8
29
  export interface CanBeUndoneContext<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> {
9
30
  oldEmission: StateEmission<ENTITIES, $MAP>;
10
31
  newEmission: StateEmission<ENTITIES, $MAP>;
@@ -39,6 +60,12 @@ export declare class UndoSystem<ENTITIES extends DomainEntity<string>, $MAP exte
39
60
  private _activeIsUndoable;
40
61
  private readonly _canSubject;
41
62
  readonly can$: ObservableWithLastValue<UndoCapabilities>;
63
+ private readonly _tipSubject;
64
+ /**
65
+ * The step the configuration is at: the top of the stack, or the step an undo or redo returned to.
66
+ * Nothing while the stack is empty, before the first undoable change and after a reset.
67
+ */
68
+ readonly tip$: ObservableWithLastValue<UndoStep<ENTITIES> | undefined>;
42
69
  constructor(_context: UndoSystemContext);
43
70
  initialize: () => void;
44
71
  /**
@@ -1 +1 @@
1
- import{BehaviorSubject as t,pairwise as e}from"rxjs";let s=t=>t.oldEmission.state.entities!==t.newEmission.state.entities;export const UNDO_REDO_RESET_TAG={};export const isUndoRedoReset=t=>"reset"===t.kind&&t.tag===UNDO_REDO_RESET_TAG;export class UndoSystem{_context;_stack=[];_currentIndex=-1;_activeIsUndoable;_canSubject=new t({canUndo:!1,canRedo:!1});can$=this._canSubject;constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(e()).subscribe(([t,e])=>{if("reset"===e.kind&&e.tag!==UNDO_REDO_RESET_TAG)return void this.resetStack();let n=this._activeIsUndoable?.handler??s;("reset"!==e.kind||e.tag!==UNDO_REDO_RESET_TAG)&&n({oldEmission:t,newEmission:e})&&(this._stack=[...this._stack.slice(0,this._currentIndex),t.state,e.state],this._currentIndex=this._stack.length-1,this._refresh())})}initialize=()=>{this.resetStack()};registerIsUndoable(t){let e={handler:t};return this._activeIsUndoable=e,()=>{this._activeIsUndoable===e&&(this._activeIsUndoable=void 0)}}resetStack(){this._stack=[],this._currentIndex=-1,this._refresh()}_refresh(){this._canSubject.next({canUndo:this.canUndo(),canRedo:this.canRedo()})}canUndo(){return this._currentIndex>0}canRedo(){return this._currentIndex<this._stack.length-1}undo(){let t=this._stack[this._currentIndex-1];void 0!==t&&(this._currentIndex--,this._context.selectors.getStoreSystem().reset(t,UNDO_REDO_RESET_TAG),this._refresh())}redo(){let t=this._stack[this._currentIndex+1];void 0!==t&&(this._currentIndex++,this._context.selectors.getStoreSystem().reset(t,UNDO_REDO_RESET_TAG),this._refresh())}}
1
+ import{BehaviorSubject as t,pairwise as e}from"rxjs";let s=t=>t.oldEmission.state.entities!==t.newEmission.state.entities;export const UNDO_REDO_RESET_TAG={};export const isUndoRedoReset=t=>"reset"===t.kind&&t.tag===UNDO_REDO_RESET_TAG;export class UndoSystem{_context;_stack=[];_currentIndex=-1;_activeIsUndoable;_canSubject=new t({canUndo:!1,canRedo:!1});can$=this._canSubject;_tipSubject=new t(void 0);tip$=this._tipSubject;constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(e()).subscribe(([t,e])=>{if("reset"===e.kind&&e.tag!==UNDO_REDO_RESET_TAG)return void this.resetStack();let i=this._activeIsUndoable?.handler??s;if("reset"===e.kind&&e.tag===UNDO_REDO_RESET_TAG||!i({oldEmission:t,newEmission:e}))return;let r=this._stack[this._currentIndex],n={committedState:r?.committedState??t.state,restoreState:t.state},c={committedState:e.state,restoreState:e.state};this._stack=[...this._stack.slice(0,this._currentIndex),n,c],this._currentIndex=this._stack.length-1,this._refresh()})}initialize=()=>{this.resetStack()};registerIsUndoable(t){let e={handler:t};return this._activeIsUndoable=e,()=>{this._activeIsUndoable===e&&(this._activeIsUndoable=void 0)}}resetStack(){this._stack=[],this._currentIndex=-1,this._refresh()}_refresh(){this._canSubject.next({canUndo:this.canUndo(),canRedo:this.canRedo()}),this._tipSubject.next(this._stack[this._currentIndex])}canUndo(){return this._currentIndex>0}canRedo(){return this._currentIndex<this._stack.length-1}undo(){let t=this._stack[this._currentIndex-1];void 0!==t&&(this._currentIndex--,this._context.selectors.getStoreSystem().reset(t.restoreState,UNDO_REDO_RESET_TAG),this._refresh())}redo(){let t=this._stack[this._currentIndex+1];void 0!==t&&(this._currentIndex++,this._context.selectors.getStoreSystem().reset(t.restoreState,UNDO_REDO_RESET_TAG),this._refresh())}}
@@ -1 +1 @@
1
- import{SessionRole as e}from"@salsita-ai/contracts/api";import{createImplementationErrorCollector as t}from"../errors/index.js";import{resolveComponentOpticModules as a,resolveElementModule as n,resolveHandlerModule as o,resolveImportedTransformers as i,resolveTransformerModule as s}from"./module-checks/index.js";let r=(e,t,a)=>e.flatMap(e=>a.attempt(()=>t(e),[]));export const initializeSpec=m=>{let c=m.adminDomain.presets[0];if(!c)throw Error("Cannot register application spec because admin preset is required.");let d=t(),l=r(m.handlers,o,d),p=r(m.elements,n,d),y=r(m.transformers?.importedTransformers??[],e=>[s(e)],d),u=r(m.domain.componentOptics,e=>a([e]),d),f=r(m.adminDomain.componentOptics,e=>a([e]),d);d.throwIfAny();let x=(e=>{let t={};for(let a of e)t[a.name]=(void 0)??a.name;return t})(l),g=(e=>{let t={},a=0;for(let n of e)if("entity"===n.type||"layout"===n.type)t[n.name]=(void 0)??n.name;else{let e=`icon:${a}`;t[e]=(void 0)??`${e}:${n.elements.length}`,a+=1}return t})(p),v=m.transformers?.specTransformers??[];return{version:m.version,dataConfig:m.dataSpec??null,chunks:m.chunks,publishedDataHash:m.publishedDataHash,initialPublishedData:m.initialPublishedData,canCreate:m.features?.acl?.canCreate??Object.values(e),enableAdminRelease:m.features?.enableAdminRelease??!1,textLanguages:m.domain.textLanguages??m.adminDomain.textLanguages??["en"],baseResourcesUrl:m.resources?.baseResourcesUrl??m.defaultEnvs?.resourcesUrl??"",configurator:{factory:m.domain.domainFactory,presets:m.domain.presets,aliasMap:m.domain.domainFactory.context.aliasMap,entityReflections:m.domain.domainFactory.context.entityReflections,$entityReflections:m.domain.domainFactory.context.$entityReflections,expressions:m.domain.domainFactory.context.expressions,actions:m.domain.domainFactory.context.actions,actionImplementations:m.domain.domainFactory.context.actionImplementations,allowedRootEntityTypes:m.domain.domainFactory.context.allowedRootEntityTypes,migrate:m.domain.domainFactory.context.migrate,componentOptics:u,createTransformers:e=>i(y,v,e),navigationStates:m.navigation?.navigationStates??[],viewStates:m.navigation?.viewStates??[],toolStates:m.navigation?.toolStates??[],exportStates:m.navigation?.exportStates??[],handlers:l,handlerHashes:x,elements:p,elementHashes:g,appLoader:m.ui?.appLoader??"universal",preview:m.ui?.preview??"auto",alwaysExpand:m.ui?.alwaysExpand??!1,theme:m.ui?.theme??{},assistant:m.assistant??null,deploymentQueryDisabled:m.resources?.deploymentQueryDisabled??!1,prefetchTextureUrls:m.resources?.prefetchTextureUrls??[],modelVersion:m.domain.domainFactory.modelVersion},admin:{factory:m.adminDomain.domainFactory,modelVersion:m.adminDomain.domainFactory.modelVersion,aliasMap:m.adminDomain.domainFactory.context.aliasMap,entityReflections:m.adminDomain.domainFactory.context.entityReflections,$entityReflections:m.adminDomain.domainFactory.context.$entityReflections,expressions:m.adminDomain.domainFactory.context.expressions,actions:m.adminDomain.domainFactory.context.actions,actionImplementations:m.adminDomain.domainFactory.context.actionImplementations,allowedRootEntityTypes:m.adminDomain.domainFactory.context.allowedRootEntityTypes,migrate:m.adminDomain.domainFactory.context.migrate,preset:c,componentOptics:f,navigationStates:m.adminNavigation?.navigationStates??[],viewStates:m.adminNavigation?.viewStates??[],handlers:l,handlerHashes:x,elements:p,elementHashes:g}}};
1
+ import{SessionRole as e}from"@salsita-ai/contracts/api";import{createImplementationErrorCollector as t}from"../errors/index.js";import{resolveComponentOpticModules as a,resolveElementModule as n,resolveHandlerModule as o,resolveImportedTransformers as i,resolveTransformerModule as s}from"./module-checks/index.js";let r=(e,t,a)=>e.flatMap(e=>a.attempt(()=>t(e),[]));export const initializeSpec=m=>{let c=m.adminDomain.presets[0];if(!c)throw Error("Cannot register application spec because admin preset is required.");let d=t(),l=r(m.handlers,o,d),p=r(m.elements,n,d),y=r(m.transformers?.importedTransformers??[],e=>[s(e)],d),u=r(m.domain.componentOptics,e=>a([e]),d),f=r(m.adminDomain.componentOptics,e=>a([e]),d);d.throwIfAny();let x=(e=>{let t={};for(let a of e)t[a.name]=(void 0)??a.name;return t})(l),g=(e=>{let t={},a=0;for(let n of e)if("entity"===n.type||"layout"===n.type)t[n.name]=(void 0)??n.name;else{let e=`icon:${a}`;t[e]=(void 0)??`${e}:${n.elements.length}`,a+=1}return t})(p),v=m.transformers?.specTransformers??[];return{version:m.version,dataConfig:m.dataSpec??null,chunks:m.chunks,publishedDataHash:m.publishedDataHash,initialPublishedData:m.initialPublishedData,canCreate:m.features?.acl?.canCreate??Object.values(e),enableAdminRelease:m.features?.enableAdminRelease??!1,textLanguages:m.domain.textLanguages??m.adminDomain.textLanguages??["en"],baseResourcesUrl:m.resources?.baseResourcesUrl??m.defaultEnvs?.resourcesUrl??"",configurator:{factory:m.domain.domainFactory,presets:m.domain.presets,aliasMap:m.domain.domainFactory.context.aliasMap,entityReflections:m.domain.domainFactory.context.entityReflections,$entityReflections:m.domain.domainFactory.context.$entityReflections,expressions:m.domain.domainFactory.context.expressions,actions:m.domain.domainFactory.context.actions,actionImplementations:m.domain.domainFactory.context.actionImplementations,allowedRootEntityTypes:m.domain.domainFactory.context.allowedRootEntityTypes,migrate:m.domain.domainFactory.context.migrate,componentOptics:u,createTransformers:e=>i(y,v,e),navigationStates:m.navigation?.navigationStates??[],viewStates:m.navigation?.viewStates??[],toolStates:m.navigation?.toolStates??[],exportStates:m.navigation?.exportStates??[],handlers:l,handlerHashes:x,elements:p,defaultElements:m.defaultElements??[],elementHashes:g,appLoader:m.ui?.appLoader??"universal",preview:m.ui?.preview??"auto",alwaysExpand:m.ui?.alwaysExpand??!1,theme:m.ui?.theme??{},assistant:m.assistant??null,deploymentQueryDisabled:m.resources?.deploymentQueryDisabled??!1,prefetchTextureUrls:m.resources?.prefetchTextureUrls??[],modelVersion:m.domain.domainFactory.modelVersion},admin:{factory:m.adminDomain.domainFactory,modelVersion:m.adminDomain.domainFactory.modelVersion,aliasMap:m.adminDomain.domainFactory.context.aliasMap,entityReflections:m.adminDomain.domainFactory.context.entityReflections,$entityReflections:m.adminDomain.domainFactory.context.$entityReflections,expressions:m.adminDomain.domainFactory.context.expressions,actions:m.adminDomain.domainFactory.context.actions,actionImplementations:m.adminDomain.domainFactory.context.actionImplementations,allowedRootEntityTypes:m.adminDomain.domainFactory.context.allowedRootEntityTypes,migrate:m.adminDomain.domainFactory.context.migrate,preset:c,componentOptics:f,navigationStates:m.adminNavigation?.navigationStates??[],viewStates:m.adminNavigation?.viewStates??[],handlers:l,handlerHashes:x,elements:p,elementHashes:g}}};
@@ -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 +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();
@@ -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
  */
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../core/index.js";import{recipeSchema as i}from"./common/recipes.js";export const childEntitySelectionComponent=t.component("childEntitySelection").withState({type:"object",tsType:"ChildEntitySelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntitySelectionComponentState"}],properties:{value:{type:"string"},options:{type:"array",items:{type:"object",properties:{label:e,description:e,img:e,recipes:{type:"array",items:i},keepChildren:{type:"boolean"}},required:["recipes","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).build();
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{DomainEntityIdSchema as t,SystemComponentBuilder as i}from"../core/index.js";import{recipeSchema as o}from"./common/recipes.js";export const childEntitySelectionComponent=i.component("childEntitySelection").withState({type:"object",tsType:"ChildEntitySelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntitySelectionComponentState"}],properties:{value:t,options:{type:"array",items:{type:"object",properties:{label:e,description:e,img:e,recipes:{type:"array",items:o}},required:["recipes","label"],additionalProperties:!1}},keepChildren:{type:"boolean"}},required:["value","options"],additionalProperties:!1}).build();
@@ -1,4 +1,3 @@
1
- import type { Color } from '@salsita-ai/common/utils';
2
1
  import { type ComponentSnapshot } from '../core/index.js';
3
2
  /**
4
3
  * Axis-aligned box collision geometry, authored via per-axis start/end
@@ -14,7 +13,10 @@ export type CollisionBoxGeometryComponentState = {
14
13
  readonly endY: number;
15
14
  readonly startZ: number;
16
15
  readonly endZ: number;
17
- readonly color: Color;
16
+ /**
17
+ * Colour of the collision mesh's wireframe material, any CSS colour string that three.js `Color` accepts.
18
+ */
19
+ readonly color: string;
18
20
  };
19
21
  export declare const collisionBoxGeometryComponent: import("../index.js").SystemComponentType<"collisionBoxGeometry", CollisionBoxGeometryComponentState, never>;
20
22
  export type CollisionBoxGeometryComponent = typeof collisionBoxGeometryComponent;
@@ -1,4 +1,3 @@
1
- import type { Color } from '@salsita-ai/common/utils';
2
1
  import { type ComponentSnapshot } from '../core/index.js';
3
2
  /**
4
3
  * Mesh-backed collision geometry. The caller supplies a pre-built
@@ -10,7 +9,10 @@ import { type ComponentSnapshot } from '../core/index.js';
10
9
  */
11
10
  export type CollisionGeometryComponentState = {
12
11
  readonly geometry: THREE.BufferGeometry;
13
- readonly color: Color;
12
+ /**
13
+ * Colour of the collision mesh's wireframe material, any CSS colour string that three.js `Color` accepts.
14
+ */
15
+ readonly color: string;
14
16
  };
15
17
  export declare const collisionGeometryComponent: import("../index.js").SystemComponentType<"collisionGeometry", CollisionGeometryComponentState, never>;
16
18
  export type CollisionGeometryComponent = typeof collisionGeometryComponent;