@salsita-ai/sdk 0.50.0-develop.9ed52379e9 → 0.50.0-develop.9fe72d003e

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 (1567) hide show
  1. package/README.md +20 -15
  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/index.d.ts +1 -0
  13. package/dist/application/index.js +1 -1
  14. package/dist/application/mount-application.d.ts +1 -1
  15. package/dist/application/mount-application.js +1 -1
  16. package/dist/application/mount-configurator.d.ts +19 -0
  17. package/dist/application/mount-configurator.js +1 -0
  18. package/dist/application/mounted-application-runtime.d.ts +4 -0
  19. package/dist/application/mounted-application-runtime.js +1 -0
  20. package/dist/application/register-web-component.d.ts +2 -0
  21. package/dist/application/register-web-component.js +1 -0
  22. package/dist/application-spec/caching/content-diff.js +1 -1
  23. package/dist/application-spec/core/application-file.d.ts +0 -2
  24. package/dist/application-spec/core/application-file.js +1 -1
  25. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -99
  26. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  27. package/dist/application-spec/core/index.d.ts +1 -1
  28. package/dist/application-spec/core/index.js +1 -1
  29. package/dist/application-spec/core/json-schema.d.ts +2 -52
  30. package/dist/application-spec/core/json-value.d.ts +1 -1
  31. package/dist/application-spec/core/markers/index.d.ts +1 -1
  32. package/dist/application-spec/core/markers/index.js +1 -1
  33. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  34. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  35. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  36. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  37. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  38. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  39. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  40. package/dist/application-spec/enhanced-json/index.js +1 -0
  41. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  42. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  43. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  44. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  45. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  46. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  47. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  48. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  49. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  50. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  51. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  52. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  53. package/dist/application-spec/errors/diagnostic-codes.d.ts +31 -1
  54. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  55. package/dist/application-spec/errors/diagnostic-messages.d.ts +42 -2
  56. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  57. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  58. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  59. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  60. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  61. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  62. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  63. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  65. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  66. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  67. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  68. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  69. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  70. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  71. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  72. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  73. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  74. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  75. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  76. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  77. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  78. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  79. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  80. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  90. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  91. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  92. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  93. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  94. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  95. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  96. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  97. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  98. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  99. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  100. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  101. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  102. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  103. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  104. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  105. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  106. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  107. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  108. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  109. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  110. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  111. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  112. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  113. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  114. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  115. package/dist/application-spec/generate-application/code/templates/index.d.ts +5 -10
  116. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  117. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  118. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  119. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  120. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  121. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  122. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  124. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  125. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  126. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  127. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +7 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  130. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  131. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +33 -7
  132. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  133. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  134. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  135. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  136. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  137. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  138. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  139. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  140. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  141. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  142. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  143. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  144. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  145. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  146. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  147. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  148. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  149. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  150. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  151. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  152. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  153. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  154. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  155. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  156. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  157. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  158. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  159. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  160. package/dist/application-spec/generate-application/index.d.ts +4 -0
  161. package/dist/application-spec/generate-application/index.js +1 -1
  162. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -5
  163. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +12 -4
  165. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  167. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  168. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  169. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +35 -10
  170. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  172. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  173. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +7 -6
  174. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +12 -7
  176. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  177. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  178. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  179. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  180. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  181. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  182. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +42 -0
  183. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  184. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  185. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  186. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  187. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  188. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +15 -0
  189. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  190. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.d.ts +1 -1
  191. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +1 -1
  192. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  193. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  194. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  195. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  196. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  197. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  198. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +1 -2
  199. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  200. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  201. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  202. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +3 -2
  203. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  204. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +6 -3
  205. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  206. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  207. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +14 -6
  208. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  209. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +10 -7
  210. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  211. package/dist/application-spec/generate-application/runtime/sections/preset-runtime.d.ts +2 -3
  212. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +4 -2
  213. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  214. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  215. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  216. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  217. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  218. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  219. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  220. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  221. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  222. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  223. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  224. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  225. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  226. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  227. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +28 -0
  228. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  229. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  230. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  231. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +168 -0
  232. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  233. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  234. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  235. package/dist/application-spec/index.d.ts +1 -0
  236. package/dist/application-spec/index.js +1 -1
  237. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  238. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  239. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  240. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  241. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  242. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  243. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  244. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  245. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  246. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  247. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  248. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  249. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  250. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  251. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  252. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  253. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  254. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +72 -24
  255. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  256. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  257. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  258. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  259. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  261. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  263. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  265. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  266. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  267. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  268. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  269. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  270. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  271. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  272. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  273. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  274. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  275. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  276. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  277. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  278. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  279. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  280. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  281. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  282. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  283. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  284. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  285. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  286. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  287. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +3 -62
  288. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  289. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  290. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  291. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  292. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  293. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  294. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  295. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  296. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  297. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  298. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  299. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +8 -3
  300. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  301. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +9 -7
  302. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  303. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  304. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  305. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  306. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  307. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  308. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  309. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +12 -30
  310. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  311. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -2
  312. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  313. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  314. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  315. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +5 -3
  316. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  317. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  318. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +6 -16
  319. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  320. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  321. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  322. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -26
  323. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  324. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  325. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  326. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  327. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  328. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  329. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  330. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  331. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  332. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  333. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  334. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  335. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  336. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  337. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  338. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  339. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  340. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  341. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  342. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  343. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  344. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  345. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  346. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  347. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  348. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  349. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  350. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  351. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  352. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  353. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  354. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  355. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  356. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  357. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  358. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  359. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  360. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  361. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  362. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  363. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  364. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  365. package/dist/client/authorized-client.d.ts +3 -1
  366. package/dist/client/authorized-client.js +1 -1
  367. package/dist/client/contract.d.ts +17 -0
  368. package/dist/client/index.d.ts +1 -1
  369. package/dist/client/local-authorized-client.d.ts +3 -1
  370. package/dist/client/local-authorized-client.js +1 -1
  371. package/dist/client/memory-authorized-client.d.ts +4 -1
  372. package/dist/client/memory-authorized-client.js +1 -1
  373. package/dist/client/phoenix-api.d.ts +809 -118
  374. package/dist/configurator/ConfiguratorApp.js +1 -1
  375. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  376. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  377. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  378. package/dist/configurator/app-loader-content/index.js +1 -0
  379. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  380. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  381. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  382. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +54 -3
  383. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  384. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +58 -9
  385. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  386. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  387. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  388. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  389. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  390. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  391. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  392. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  393. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  394. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  395. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  396. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +82 -55
  397. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  398. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +85 -7
  399. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  400. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  401. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  402. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  403. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  404. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  405. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  406. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  407. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  408. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  409. package/dist/configurator/common/configurator-interface.d.ts +145 -5
  410. package/dist/configurator/common/configurator-interface.js +1 -1
  411. package/dist/configurator/common/index.d.ts +3 -1
  412. package/dist/configurator/common/index.js +1 -1
  413. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  414. package/dist/configurator/common/use-reset-camera.js +1 -0
  415. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  416. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  417. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  418. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  419. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  420. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  421. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  422. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  423. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  424. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  425. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  426. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  427. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  428. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  429. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  430. package/dist/configurator/configurator-context/index.d.ts +0 -4
  431. package/dist/configurator/configurator-context/index.js +1 -1
  432. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  433. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  434. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  435. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  436. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  437. package/dist/configurator/configurator-error-page/index.js +1 -0
  438. package/dist/configurator/index.d.ts +10 -0
  439. package/dist/configurator/index.js +1 -1
  440. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  441. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  442. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  443. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  444. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  445. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  446. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  447. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  448. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  449. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  450. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  451. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  452. package/dist/configurator/pages/RootPage.js +1 -1
  453. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  454. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  455. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  456. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  457. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  458. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  459. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  460. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  461. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  462. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  463. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  464. package/dist/configurator/pages/default-elements/index.js +1 -0
  465. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  466. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  467. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  468. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  469. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  470. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  471. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  472. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  473. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  474. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  475. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  476. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  477. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  478. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  479. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  480. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  481. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  482. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  483. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  484. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  485. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  486. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  487. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  488. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  489. package/dist/configurator/pages/index.d.ts +1 -0
  490. package/dist/configurator/pages/index.js +1 -1
  491. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  492. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  493. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  494. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  495. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  496. package/dist/configurator/preset-screen-elements/index.js +1 -0
  497. package/dist/configurator/scene/index.d.ts +1 -0
  498. package/dist/configurator/scene/index.js +1 -1
  499. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  500. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  501. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  502. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  503. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  504. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  505. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  506. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  507. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  508. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  509. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  510. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  511. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  512. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  513. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  514. package/dist/configurator/toolbar-actions/index.js +1 -0
  515. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  516. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  517. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  518. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  519. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  520. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  521. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  522. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  523. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -3
  524. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  525. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  526. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  527. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  528. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  529. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  530. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  531. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  532. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  533. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  534. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  535. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  536. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  537. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  538. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  539. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  540. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  541. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  542. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  543. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  544. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  545. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  546. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  547. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  548. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  549. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  550. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  551. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  552. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  553. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  554. package/dist/configurator/ui/assistant/form/index.js +1 -0
  555. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  556. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  557. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  558. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  559. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  560. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  561. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  562. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  563. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  564. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  565. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  566. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  567. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  568. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  569. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  570. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  571. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  572. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  573. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  574. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  575. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  576. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  577. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  578. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  579. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  580. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  581. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  582. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  583. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  584. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  585. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  586. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  587. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  588. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  589. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  590. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  591. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  592. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  593. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  594. package/dist/configurator/ui/assistant/index.js +1 -1
  595. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  596. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  597. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  598. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  599. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  600. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  601. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  602. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  603. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  604. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  605. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  606. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  607. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  608. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  609. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  610. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  611. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  612. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  613. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  614. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  615. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  616. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  617. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  618. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  619. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  620. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  621. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  622. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  623. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  624. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  625. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  626. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  627. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  628. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  629. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  630. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  631. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  632. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  633. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  634. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  635. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  636. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  637. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  638. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  639. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  640. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  641. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  642. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  643. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  644. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  645. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  646. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  647. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  648. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  649. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  650. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  651. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  652. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  653. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  654. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  655. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  656. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  657. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  658. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  659. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  660. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  661. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  662. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  663. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  664. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  665. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  666. package/dist/configurator/ui/index.d.ts +1 -0
  667. package/dist/configurator/ui/index.js +1 -1
  668. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  669. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  670. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  671. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  672. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  673. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  674. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  675. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  676. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  677. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  678. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  679. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  680. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  681. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  682. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  683. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  684. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  685. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  686. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  687. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  688. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  689. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  690. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  691. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  692. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  693. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  694. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  695. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  696. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  697. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  698. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  699. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  700. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  701. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  702. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  703. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  704. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  705. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  706. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  707. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  708. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  709. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  710. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  711. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  712. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  713. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  714. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  715. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  716. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  717. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  718. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  719. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  720. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  721. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  722. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  723. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  724. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  725. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  726. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  727. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  728. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  729. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  730. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  731. package/dist/configurator/ui/preset-layout/index.js +1 -1
  732. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  733. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  734. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  735. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  736. package/dist/docs/3d-scene/cameras/custom.mdx +4 -2
  737. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  738. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  739. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  740. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  741. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  742. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  743. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  744. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  745. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  746. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  747. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  748. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  749. package/dist/docs/drag-and-drop/room-planner.mdx +1 -1
  750. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  751. package/dist/docs/fabs/basic.mdx +6 -2
  752. package/dist/docs/index.json +136 -1
  753. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  754. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  755. package/dist/docs/layouts/custom-layout.mdx +2597 -0
  756. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  757. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  758. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  759. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  760. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  761. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  762. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  763. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  764. package/dist/docs/layouts/header/fixed.mdx +2 -2
  765. package/dist/docs/layouts/header/floating.mdx +2 -2
  766. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  767. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  768. package/dist/docs/other-features/client-side-rendering/declarative.mdx +2 -2
  769. package/dist/docs/other-features/error-5xx.mdx +1 -1
  770. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  771. package/dist/docs/other-features/not-found-404.mdx +1 -1
  772. package/dist/docs/other-features/side-effects.mdx +8 -11
  773. package/dist/docs/other-features/transformers.mdx +4 -0
  774. package/dist/docs/other-features/violation-messages.mdx +52 -56
  775. package/dist/docs/phoenix/application-states.mdx +9 -7
  776. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  777. package/dist/docs/phoenix/components.mdx +6 -0
  778. package/dist/docs/phoenix/configurator-interface.mdx +377 -83
  779. package/dist/docs/phoenix/deployments.mdx +2 -6
  780. package/dist/docs/phoenix/domain-model.mdx +10 -1
  781. package/dist/docs/phoenix/finalization.mdx +1 -1
  782. package/dist/docs/phoenix/getting-started.mdx +6 -3
  783. package/dist/docs/phoenix/layout-slots.mdx +137 -0
  784. package/dist/docs/phoenix/localization.mdx +10 -6
  785. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  786. package/dist/docs/phoenix/phoenix-cli.mdx +101 -48
  787. package/dist/docs/phoenix/project-structure.mdx +83 -37
  788. package/dist/docs/phoenix/quickstart.mdx +9 -9
  789. package/dist/docs/phoenix/sdk-builder-workflow.mdx +15 -13
  790. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  791. package/dist/docs/phoenix/testing.mdx +148 -0
  792. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  793. package/dist/docs/phoenix/webhooks.mdx +27 -6
  794. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  795. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  796. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  797. package/dist/domain/admin-domain/index.js +1 -1
  798. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  799. package/dist/domain/application/application-config.d.ts +13 -27
  800. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  801. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  802. package/dist/domain/application/assistant/assistant-manifest.d.ts +38 -5
  803. package/dist/domain/application/assistant/assistant-manifest.js +1 -1
  804. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +48 -9
  805. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  806. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  807. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  808. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  809. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  810. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  811. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  812. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  813. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  814. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  815. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  816. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  817. package/dist/domain/application/assistant/form/index.js +1 -0
  818. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  819. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  820. package/dist/domain/application/assistant/index.d.ts +8 -2
  821. package/dist/domain/application/assistant/index.js +1 -1
  822. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  823. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  824. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  825. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  826. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  827. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  828. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  829. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  830. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  831. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  832. package/dist/domain/application/assistant-mutations.js +1 -1
  833. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  834. package/dist/domain/application/configurator-builder.d.ts +11 -2
  835. package/dist/domain/application/configurator-builder.js +1 -1
  836. package/dist/domain/application/create-initial-published-data.d.ts +5 -5
  837. package/dist/domain/application/index.d.ts +1 -2
  838. package/dist/domain/application/index.js +1 -1
  839. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  840. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  841. package/dist/domain/application/standard-properties.js +1 -1
  842. package/dist/domain/application/web-component-property.d.ts +3 -1
  843. package/dist/domain/application/web-component-property.js +1 -1
  844. package/dist/domain/available-system-components.d.ts +1 -1
  845. package/dist/domain/available-system-components.js +1 -1
  846. package/dist/domain/core/component/domain-component-optic.d.ts +1 -2
  847. package/dist/domain/core/component/domain-component-optic.js +2 -2
  848. package/dist/domain/core/component/system-component-filter.d.ts +15 -2
  849. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  850. package/dist/domain/core/expression/custom-expression.d.ts +16 -3
  851. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  852. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  853. package/dist/domain/core/invariant/violation.d.ts +50 -2
  854. package/dist/domain/core/invariant/violation.js +1 -1
  855. package/dist/domain/core/model/model.d.ts +1 -1
  856. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  857. package/dist/domain/core/recipe/recipes.js +1 -1
  858. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  859. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  860. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  861. package/dist/domain/core/relation/index.d.ts +0 -1
  862. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  863. package/dist/domain/core/relation/indirect-relation.js +1 -1
  864. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  865. package/dist/domain/core/relation/relation-factory.js +1 -1
  866. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  867. package/dist/domain/core/state/state.d.ts +1 -1
  868. package/dist/domain/domain-builder.d.ts +9 -3
  869. package/dist/domain/domain-builder.js +1 -1
  870. package/dist/domain/domain-context/index.d.ts +1 -1
  871. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  872. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  873. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  874. package/dist/domain/domain-context/undo-system.js +1 -1
  875. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  876. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  877. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  878. package/dist/domain/domain-runtime/access/types.js +1 -1
  879. package/dist/domain/domain-runtime/application.d.ts +39 -0
  880. package/dist/domain/domain-runtime/application.js +1 -0
  881. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +15 -13
  882. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  883. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  884. package/dist/domain/domain-runtime/domain-runtime.d.ts +76 -20
  885. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  886. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  887. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  888. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +21 -0
  889. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  890. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  891. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  892. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  893. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  894. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  895. package/dist/domain/domain-runtime/errors/index.js +1 -0
  896. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  897. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  898. package/dist/domain/domain-runtime/index.d.ts +2 -0
  899. package/dist/domain/domain-runtime/index.js +1 -1
  900. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  901. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  902. package/dist/domain/domain-runtime/spec/index.d.ts +2 -2
  903. package/dist/domain/domain-runtime/spec/index.js +1 -1
  904. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  905. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  906. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +27 -12
  907. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  908. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  909. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  910. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +4 -2
  911. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  912. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  913. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  914. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
  915. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
  916. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
  917. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  918. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  919. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +7 -7
  920. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
  921. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +2 -2
  922. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
  923. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  924. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  925. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  926. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  927. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  928. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  929. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  930. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  931. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  932. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  933. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  934. package/dist/domain/extensions/attribute-switch.js +1 -1
  935. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  936. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  937. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  938. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  939. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  940. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  941. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  942. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  943. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  944. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  945. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  946. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  947. package/dist/domain/extensions/export-images/index.js +1 -0
  948. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +4 -4
  949. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  950. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  951. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  952. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  953. package/dist/domain/extensions/index.d.ts +1 -2
  954. package/dist/domain/extensions/index.js +1 -1
  955. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  956. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  957. package/dist/domain/extensions/offset-indicator.js +1 -1
  958. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  959. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  960. package/dist/domain/index.d.ts +1 -0
  961. package/dist/domain/index.js +1 -1
  962. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  963. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +27 -9
  964. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  965. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  966. package/dist/domain/mocks/create-mock-domain.js +1 -1
  967. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  968. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  969. package/dist/domain/mocks/create-test-application-config.js +1 -0
  970. package/dist/domain/mocks/index.d.ts +1 -0
  971. package/dist/domain/mocks/index.js +1 -1
  972. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  973. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  974. package/dist/domain/spec/application/admin-pages-section.js +1 -0
  975. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  976. package/dist/domain/spec/application/admin-pages.js +1 -0
  977. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  978. package/dist/domain/spec/application/admin-states.js +1 -0
  979. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  980. package/dist/domain/spec/application/configurator-states.js +1 -0
  981. package/dist/domain/spec/application/index.d.ts +5 -0
  982. package/dist/domain/spec/application/index.js +1 -0
  983. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  984. package/dist/domain/spec/components/bindings/index.js +1 -0
  985. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  986. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  987. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  988. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  989. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -11
  990. package/dist/domain/spec/components/component-entry.js +1 -0
  991. package/dist/domain/spec/components/component-filter.d.ts +54 -0
  992. package/dist/domain/spec/components/component-filter.js +1 -0
  993. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  994. package/dist/domain/spec/components/component-filters.js +1 -0
  995. package/dist/domain/spec/components/components.d.ts +4 -0
  996. package/dist/domain/spec/components/components.js +1 -0
  997. package/dist/domain/spec/components/index.d.ts +6 -0
  998. package/dist/domain/spec/components/index.js +1 -0
  999. package/dist/domain/spec/components/sdk-code-ref.d.ts +9 -0
  1000. package/dist/domain/spec/enhanced-json-value.d.ts +30 -0
  1001. package/dist/domain/spec/enhanced-json-value.js +1 -0
  1002. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -30
  1003. package/dist/domain/spec/expressions/expression.js +1 -0
  1004. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  1005. package/dist/domain/spec/expressions/expressions.js +1 -0
  1006. package/dist/domain/spec/expressions/index.d.ts +5 -0
  1007. package/dist/domain/spec/expressions/index.js +1 -0
  1008. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  1009. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  1010. package/dist/domain/spec/expressions/relation-expression-params.d.ts +11 -0
  1011. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  1012. package/dist/domain/spec/expressions/sdk-expression-implementation.d.ts +24 -0
  1013. package/dist/domain/spec/index.d.ts +9 -0
  1014. package/dist/domain/spec/index.js +1 -0
  1015. package/dist/domain/spec/invariants/index.d.ts +2 -0
  1016. package/dist/domain/spec/invariants/index.js +1 -0
  1017. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  1018. package/dist/domain/spec/invariants/invariant.js +1 -0
  1019. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  1020. package/dist/domain/spec/invariants/invariants.js +1 -0
  1021. package/dist/domain/spec/json-schema.d.ts +52 -0
  1022. package/dist/domain/spec/json-schema.js +1 -0
  1023. package/dist/domain/spec/markers/index.d.ts +3 -0
  1024. package/dist/domain/spec/markers/index.js +1 -0
  1025. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  1026. package/dist/domain/spec/markers/msg-marker.js +1 -0
  1027. package/dist/domain/spec/model/aliases.d.ts +9 -0
  1028. package/dist/domain/spec/model/aliases.js +1 -0
  1029. package/dist/domain/spec/model/common-types.d.ts +15 -0
  1030. package/dist/domain/spec/model/common-types.js +1 -0
  1031. package/dist/domain/spec/model/defaults.d.ts +33 -0
  1032. package/dist/domain/spec/model/defaults.js +1 -0
  1033. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  1034. package/dist/domain/spec/model/entity-types.js +1 -0
  1035. package/dist/domain/spec/model/index.d.ts +7 -0
  1036. package/dist/domain/spec/model/index.js +1 -0
  1037. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  1038. package/dist/domain/spec/model/model-version-key.js +1 -0
  1039. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  1040. package/dist/domain/spec/model/names/action-name.js +1 -0
  1041. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  1042. package/dist/domain/spec/model/names/alias-name.js +1 -0
  1043. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  1044. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  1045. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  1046. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  1047. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  1048. package/dist/domain/spec/model/names/expression-name.js +1 -0
  1049. package/dist/domain/spec/model/names/index.d.ts +9 -0
  1050. package/dist/domain/spec/model/names/index.js +1 -0
  1051. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  1052. package/dist/domain/spec/model/names/instance-name.js +1 -0
  1053. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  1054. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  1055. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  1056. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  1057. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  1058. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  1059. package/dist/domain/spec/model/presets.d.ts +30 -0
  1060. package/dist/domain/spec/model/presets.js +1 -0
  1061. package/dist/domain/spec/sections/actions.d.ts +23 -0
  1062. package/dist/domain/spec/sections/actions.js +1 -0
  1063. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  1064. package/dist/domain/spec/sections/app-metadata.js +1 -0
  1065. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  1066. package/dist/domain/spec/sections/application-version.js +1 -0
  1067. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  1068. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  1069. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  1070. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  1071. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  1072. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  1073. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  1074. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  1075. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  1076. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  1077. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  1078. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  1079. package/dist/domain/spec/sections/index.d.ts +9 -0
  1080. package/dist/domain/spec/sections/index.js +1 -0
  1081. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  1082. package/dist/domain/spec/sections/infra/acl.js +1 -0
  1083. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  1084. package/dist/domain/spec/sections/infra/index.js +1 -0
  1085. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  1086. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  1087. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  1088. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  1089. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  1090. package/dist/domain/spec/sections/state-value.js +1 -0
  1091. package/dist/domain/spec/sections/theme.d.ts +10 -0
  1092. package/dist/domain/spec/sections/theme.js +1 -0
  1093. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  1094. package/dist/domain/spec/sections/transformers.js +1 -0
  1095. package/dist/domain/spec/sections/ui.d.ts +12 -0
  1096. package/dist/domain/spec/sections/ui.js +1 -0
  1097. package/dist/domain/system-components/application-config.d.ts +2 -2
  1098. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1099. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  1100. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  1101. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  1102. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  1103. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  1104. package/dist/domain/system-components/common/recipes.js +1 -1
  1105. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1106. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1107. package/dist/domain/system-components/constraint.d.ts +10 -23
  1108. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  1109. package/dist/domain/system-components/drag-handle.js +1 -1
  1110. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  1111. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  1112. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  1113. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  1114. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  1115. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  1116. package/dist/domain/system-components/material-swatch.js +1 -1
  1117. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  1118. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  1119. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1120. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1121. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1122. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1123. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1124. package/dist/domain/utils/eval-cache.d.ts +1 -1
  1125. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1126. package/dist/editor/Editor.d.ts +7 -0
  1127. package/dist/editor/Editor.js +1 -1
  1128. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  1129. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  1130. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  1131. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -16
  1132. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  1133. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  1134. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1135. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1136. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1137. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  1138. package/dist/globals/index.d.ts +2 -0
  1139. package/dist/i18n/locales/cs/messages.js +1 -1
  1140. package/dist/i18n/locales/da/messages.js +1 -1
  1141. package/dist/i18n/locales/de/messages.js +1 -1
  1142. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1143. package/dist/i18n/locales/en/messages.js +1 -1
  1144. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1145. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1146. package/dist/i18n/locales/es/messages.js +1 -1
  1147. package/dist/i18n/locales/fr/messages.js +1 -1
  1148. package/dist/i18n/locales/hu/messages.js +1 -1
  1149. package/dist/i18n/locales/it/messages.js +1 -1
  1150. package/dist/i18n/locales/nl/messages.js +1 -1
  1151. package/dist/i18n/locales/pl/messages.js +1 -1
  1152. package/dist/i18n/locales/pt/messages.js +1 -1
  1153. package/dist/i18n/locales/ro/messages.js +1 -1
  1154. package/dist/i18n/locales/sk/messages.js +1 -1
  1155. package/dist/i18n/locales/tr/messages.js +1 -1
  1156. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  1157. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
  1158. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1159. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  1160. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1161. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1162. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1163. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +176 -148
  1164. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  1165. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1166. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1167. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1168. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +13 -1
  1169. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +15 -13
  1170. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1171. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1172. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1173. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1174. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  1175. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1176. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -2
  1177. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1178. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1179. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -2
  1180. package/dist/phoenix/application-spec/index.d.ts +1 -0
  1181. package/dist/phoenix/application-spec/index.js +1 -1
  1182. package/dist/phoenix/application-spec/project-files.js +1 -1
  1183. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  1184. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1185. package/dist/phoenix/bin.d.ts +2 -0
  1186. package/dist/phoenix/bin.js +2 -0
  1187. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1188. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1189. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1190. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1191. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1192. package/dist/phoenix/check-configs/index.js +1 -0
  1193. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1194. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1195. package/dist/phoenix/cli.d.ts +0 -1
  1196. package/dist/phoenix/cli.js +1 -2
  1197. package/dist/phoenix/commands/build.js +1 -1
  1198. package/dist/phoenix/commands/check.js +1 -1
  1199. package/dist/phoenix/commands/clean.js +1 -1
  1200. package/dist/phoenix/commands/deploy.js +2 -2
  1201. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1202. package/dist/phoenix/commands/deps/deps.js +3 -0
  1203. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1204. package/dist/phoenix/commands/deps/index.js +1 -0
  1205. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1206. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1207. package/dist/phoenix/commands/dev.js +5 -5
  1208. package/dist/phoenix/commands/fix.js +1 -1
  1209. package/dist/phoenix/commands/generated-env-markers.d.ts +1 -0
  1210. package/dist/phoenix/commands/generated-env-markers.js +1 -1
  1211. package/dist/phoenix/commands/index.d.ts +1 -0
  1212. package/dist/phoenix/commands/index.js +1 -1
  1213. package/dist/phoenix/commands/init.d.ts +17 -5
  1214. package/dist/phoenix/commands/init.js +1 -1
  1215. package/dist/phoenix/commands/link.js +1 -1
  1216. package/dist/phoenix/commands/prettier.js +1 -1
  1217. package/dist/phoenix/commands/sync.js +1 -1
  1218. package/dist/phoenix/commands/unlink.js +1 -1
  1219. package/dist/phoenix/lingui/index.d.ts +1 -0
  1220. package/dist/phoenix/lingui/index.js +1 -0
  1221. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  1222. package/dist/phoenix/lingui/lingui.js +1 -0
  1223. package/dist/phoenix/services/application-spec-project-watcher.d.ts +5 -3
  1224. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1225. package/dist/phoenix/services/index.d.ts +1 -0
  1226. package/dist/phoenix/services/index.js +1 -1
  1227. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1228. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1229. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1230. package/dist/phoenix/services/source-archive.js +1 -1
  1231. package/dist/phoenix/services/swc.js +1 -1
  1232. package/dist/phoenix/services/vite-config.js +1 -1
  1233. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1234. package/dist/phoenix/utils/git/index.js +1 -0
  1235. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1236. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1237. package/dist/phoenix/utils/index.d.ts +5 -2
  1238. package/dist/phoenix/utils/index.js +1 -1
  1239. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1240. package/dist/phoenix/utils/node-version/index.js +1 -0
  1241. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1242. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1243. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1244. package/dist/phoenix/utils/package-info.js +1 -1
  1245. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1246. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1247. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1248. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1249. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1250. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1251. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1252. package/dist/phoenix/utils/run-command.js +1 -1
  1253. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1254. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1255. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1256. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1257. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1258. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  1259. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1260. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1261. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1262. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1263. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1264. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  1265. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  1266. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  1267. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  1268. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  1269. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  1270. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  1271. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  1272. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  1273. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  1274. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  1275. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  1276. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  1277. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  1278. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  1279. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  1280. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  1281. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  1282. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  1283. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  1284. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  1285. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  1286. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  1287. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  1288. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +7 -0
  1289. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  1290. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1291. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  1292. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  1293. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  1294. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  1295. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  1296. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  1297. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  1298. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  1299. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  1300. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  1301. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  1302. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  1303. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  1304. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  1305. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  1306. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  1307. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  1308. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  1309. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  1310. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  1311. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  1312. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  1313. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  1314. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  1315. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  1316. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  1317. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  1318. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  1319. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  1320. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  1321. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  1322. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  1323. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  1324. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  1325. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  1326. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  1327. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  1328. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  1329. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1330. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  1331. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  1332. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  1333. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  1334. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  1335. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  1336. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  1337. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  1338. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  1339. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  1340. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  1341. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  1342. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  1343. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  1344. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1345. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1346. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1347. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +346 -26
  1348. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1349. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  1350. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1351. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  1352. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1353. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1354. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  1355. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  1356. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1357. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1358. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1359. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1360. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1361. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1362. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1363. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1364. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1365. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1366. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1367. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  1368. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1369. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  1370. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  1371. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1372. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1373. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -4
  1374. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1375. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1376. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1377. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1378. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1379. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1380. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1381. package/dist/react-sdk/domain-context/index.d.ts +9 -1
  1382. package/dist/react-sdk/domain-context/index.js +1 -1
  1383. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1384. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1385. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1386. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1387. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1388. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1389. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1390. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1391. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1392. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1393. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1394. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1395. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1396. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1397. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1398. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1399. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1400. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1401. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1402. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1403. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1404. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1405. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1406. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1407. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1408. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1409. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1410. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1411. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1412. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1413. package/dist/react-sdk/handlers/index.js +1 -1
  1414. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1415. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1416. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1417. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1418. package/dist/react-sdk/index.d.ts +6 -0
  1419. package/dist/react-sdk/index.js +1 -1
  1420. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1421. package/dist/react-sdk/integration/index.d.ts +1 -0
  1422. package/dist/react-sdk/integration/index.js +1 -0
  1423. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1424. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1425. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1426. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1427. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1428. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  1429. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  1430. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  1431. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  1432. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  1433. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  1434. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  1435. package/dist/react-sdk/loading-state/index.js +1 -1
  1436. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  1437. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  1438. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1439. package/dist/react-sdk/notifications/index.js +1 -0
  1440. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1441. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1442. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  1443. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  1444. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  1445. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  1446. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  1447. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  1448. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  1449. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  1450. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  1451. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  1452. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  1453. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  1454. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  1455. package/dist/react-sdk/page-elements/index.js +1 -0
  1456. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1457. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1458. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1459. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1460. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1461. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1462. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1463. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1464. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1465. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1466. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1467. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1468. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1469. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1470. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1471. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1472. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1473. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1474. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1475. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1476. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  1477. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  1478. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1479. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1480. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1481. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1482. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1483. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1484. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1485. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1486. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1487. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1488. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1489. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1490. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1491. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1492. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1493. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1494. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  1495. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1496. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1497. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1498. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1499. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1500. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  1501. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1502. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1503. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1504. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1505. package/dist/watch/glob-matcher.d.ts +4 -4
  1506. package/dist/watch/glob-matcher.js +1 -1
  1507. package/dist/watch/watch.d.ts +4 -4
  1508. package/dist/watch/watch.js +1 -1
  1509. package/dist/webhook/builders/webhook-builder.js +1 -1
  1510. package/package.json +58 -36
  1511. package/schema/domain-spec.json +1341 -217
  1512. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1513. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1514. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1515. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1516. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1517. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1518. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1519. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1520. package/dist/configurator/common/frontend-analytics.js +0 -1
  1521. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1522. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1523. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1524. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1525. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1526. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1527. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1528. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1529. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1530. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1531. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1532. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1533. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1534. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1535. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1536. package/dist/domain/application/resource-builder.d.ts +0 -13
  1537. package/dist/domain/application/resource-builder.js +0 -1
  1538. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  1539. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -26
  1540. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  1541. package/dist/domain/extensions/client-side-image.d.ts +0 -14
  1542. package/dist/domain/extensions/client-side-image.js +0 -1
  1543. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1544. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1545. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1546. package/dist/phoenix/services/lingui.d.ts +0 -7
  1547. package/dist/phoenix/services/lingui.js +0 -1
  1548. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1549. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1550. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1551. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  1552. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1553. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1554. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1555. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1556. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  1557. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1558. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1559. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/components/sdk-code-ref.js} +0 -0
  1560. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/expressions/sdk-expression-implementation.js} +0 -0
  1561. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1562. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1563. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1564. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1565. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1566. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1567. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
@@ -1 +1 @@
1
- import{jsx as r,jsxs as e}from"react/jsx-runtime";import{I18nProvider as o}from"@lingui/react";import{QueryClientProvider as i}from"@tanstack/react-query";import n from"mui-modal-provider";import{useEffect as t}from"react";import{standardWebComponentProperties as c}from"#package/domain";import{getAvailableLocales as a,resolveLocale as m}from"#package/i18n";import{ApplicationType as l,ApplicationTypeProvider as d,InvalidDeploymentReload as p,LoadingStateProvider as s,SessionServiceProvider as f,useApplicationQueryClient as u,useI18n as h,useSpecAlwaysExpand as g,useSpecAppLoader as x,useSpecPrefetchTextureUrls as j,useSpecPreview as k,useWebComponentProperty$ as b,useWebComponentPropertySetter as y,useWebComponentPropertyValue as v,useWebComponentReadonlySync as w}from"#package/react-sdk";import{ResponsiveApplicationProvider as C,SnackbarProvider as E}from"#package/ui-sdk";import{ConfiguratorDataProvider as I}from"./configurator-context/ConfiguratorDataProvider.js";import{usePowerRoutingLifecycle as L}from"./configurator-context/configurator-routing/use-power-routing-lifecycle.js";import{ConfiguratorRoutingProvider as Z,OnApplicationStartProvider as q,OnRoutingReadyProvider as A,OnSessionReadyProvider as B,PresetSelectionProvider as D,PreviewApplicationProvider as F}from"./configurator-context/index.js";import{LoadingErrorBoundary as P}from"./pages/error-boundaries/LoadingErrorBoundary.js";import{GeneralErrorFallback as S,RootPage as T}from"./pages/index.js";import{SceneResourcesProvider as U}from"./scene/index.js";import{EncapsulatedConfiguratorTheme as z}from"./ui/index.js";import{AppLoader as G}from"./ui/phoenix-layout-elements/index.js";export const ConfiguratorApp=()=>{let H=u(),J=h(),K=x(),M=k(),N=g(),O=j(),Q=y(c.locale),R=b(c.locale);w(),t(()=>{let r=R.subscribe(r=>{let e=m(r,a(J));J.activate(e)}),e=()=>{Q(J.locale)};return J.on("change",e),()=>{r.unsubscribe(),J.removeListener("change",e)}},[R,J,Q]);let V=v(c.containerZIndex),W=v(c.power);return(L(),"off"===W)?null:r(d,{type:l.Configurator,children:r(i,{client:H,children:r(z,{children:r(s,{children:r(C,{containerZIndex:V,children:r(G,{mode:K,children:r(F,{alwaysExpand:N,preview:M,children:r(o,{i18n:J,children:r(E,{maxSnack:5,children:r(P,{FallbackComponent:S,children:r(U,{prefetchTextureUrls:O,children:r(q,{children:r(f,{children:r(B,{children:"on"===W&&r(Z,{children:r(I,{children:r(D,{children:r(A,{children:e(n,{children:[r(p,{}),r(T,{})]})})})})})})})})})})})})})})})})})})})};
1
+ import{jsx as r,jsxs as e}from"react/jsx-runtime";import{I18nProvider as o}from"@lingui/react";import{QueryClientProvider as i}from"@tanstack/react-query";import n from"mui-modal-provider";import{useEffect as t}from"react";import{standardWebComponentProperties as c}from"#package/domain";import{getAvailableLocales as a,resolveLocale as m}from"#package/i18n";import{ApplicationType as l,ApplicationTypeProvider as d,ConfiguratorDataProvider as p,ConfiguratorRoutingProvider as s,InvalidDeploymentReload as f,LoaderHost as h,OnApplicationStartProvider as u,OnRoutingReadyProvider as x,OnSessionReadyProvider as g,SessionServiceProvider as j,useApplicationQueryClient as k,useI18n as b,usePowerRoutingLifecycle as v,useSpecAlwaysExpand as y,useSpecAppLoader as C,useSpecPrefetchTextureUrls as w,useSpecPreview as E,useWebComponentProperty$ as I,useWebComponentPropertySetter as L,useWebComponentPropertyValue as Z}from"#package/react-sdk";import{SnackbarProvider as q}from"#package/ui-sdk";import{ConfiguratorResponsiveProvider as A}from"./configurator-context/ConfiguratorResponsiveProvider.js";import{PresetSelectionProvider as B,PreviewApplicationProvider as F}from"./configurator-context/index.js";import{LoadingErrorBoundary as P}from"./pages/error-boundaries/LoadingErrorBoundary.js";import{GeneralErrorFallback as R,RootPage as S}from"./pages/index.js";import{SceneResourcesProvider as T}from"./scene/index.js";import{EncapsulatedConfiguratorTheme as U}from"./ui/index.js";import{AppLoader as z}from"./ui/phoenix-layout-elements/index.js";export const ConfiguratorApp=()=>{let D=k(),G=b(),H=C(),J=E(),K=y(),M=w(),N=L(c.locale),O=I(c.locale);t(()=>{let r=O.subscribe(r=>{let e=m(r,a(G));G.activate(e)}),e=()=>{N(G.locale)};return G.on("change",e),()=>{r.unsubscribe(),G.removeListener("change",e)}},[O,G,N]);let Q=Z(c.containerZIndex),V=Z(c.power);return(v(),"off"===V)?null:r(d,{type:l.Configurator,children:r(i,{client:D,children:r(U,{children:r(h,{children:r(A,{containerZIndex:Q,children:r(z,{mode:H,children:r(F,{alwaysExpand:K,preview:J,children:r(o,{i18n:G,children:r(q,{maxSnack:5,children:r(P,{FallbackComponent:R,children:r(T,{prefetchTextureUrls:M,children:r(u,{children:r(j,{children:r(g,{children:"on"===V&&r(s,{children:r(p,{children:r(B,{children:r(x,{children:e(n,{children:[r(f,{}),r(S,{})]})})})})})})})})})})})})})})})})})})})};
@@ -0,0 +1,2 @@
1
+ /** The built-in content of the app loader overlay: a square in the primary colour, flipping. */
2
+ export declare const DefaultAppLoaderContent: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{keyframes as e,styled as r}from"@mui/material";let a=e`
2
+ 0% { transform: perspective(200px) rotateX(0deg) rotateY(0deg) }
3
+ 50% { transform: perspective(200px) rotateX(-180deg) rotateY(0deg) }
4
+ 100% { transform: perspective(200px) rotateX(-180deg) rotateY(-180deg) }
5
+ `,o=r("span")(({theme:t})=>({animation:`${a} 1s linear infinite`,aspectRatio:1,background:t.palette.primary.main,height:36}));export const DefaultAppLoaderContent=()=>t(o,{});
@@ -0,0 +1 @@
1
+ export { DefaultAppLoaderContent } from './DefaultAppLoaderContent.js';
@@ -0,0 +1 @@
1
+ export{DefaultAppLoaderContent}from"./DefaultAppLoaderContent.js";
@@ -1 +1 @@
1
- import{createApplicationRuntimeExtension as e}from"#package/react-sdk";import{createConfiguratorExtensionSelectors as s}from"./selectors.js";export const createConfiguratorExtensions=o=>[e(s({domainContextSelectors:o.selectors.domainContext.configurator,specSelectors:o.selectors.spec,domainServicesSelectors:o.selectors.domainServices,accessSelectors:o.selectors.access,commonServicesSelectors:o.selectors.commonServices}).getSystems())];
1
+ import{createApplicationRuntimeExtension as e}from"#package/react-sdk";import{createConfiguratorExtensionSelectors as s}from"./selectors.js";export const createConfiguratorExtensions=o=>[e(s({getState:o.getState,domainContextSelectors:o.selectors.domainContext.configurator,specSelectors:o.selectors.spec,domainServicesSelectors:o.selectors.domainServices,accessSelectors:o.selectors.access,commonServicesSelectors:o.selectors.commonServices}).getSystems())];
@@ -1,8 +1,9 @@
1
- import type { AccessInfoSelectors, DomainContextSelectors, DomainServicesSelectors, SpecSelectors } from '#package/domain';
1
+ import { type AccessInfoSelectors, type DomainContextSelectorState, type DomainContextSelectors, type DomainServicesSelectors, type SpecSelectors } from '#package/domain';
2
2
  import type { CommonServicesSelectors } from '#package/react-sdk';
3
3
  import type { AnyConfiguratorExtensionSystems } from './configurator-extension-systems.js';
4
4
  import { AnimationSystem, type AnyCameraSystem, type AnyCanvasSystem, type AnyDragAndDropSystem, type AnyExportSystem, type AnyImageRenderingSystem, type AnyLayoutSystem, type AnySketchingSystem, AssistantSystem, CameraControlSystem, GraphQLSystem } from './systems/index.js';
5
5
  interface Context {
6
+ readonly getState: () => DomainContextSelectorState;
6
7
  readonly domainContextSelectors: DomainContextSelectors;
7
8
  readonly specSelectors: SpecSelectors;
8
9
  readonly domainServicesSelectors: DomainServicesSelectors;
@@ -18,6 +19,7 @@ interface Context {
18
19
  * matching the domain layer. Every configurator system reads the domain through
19
20
  * `domainContextSelectors` and its same-layer peers through this slice's own selectors, so no
20
21
  * system is handed a constructed instance and construction order stops being a dependency graph.
22
+ * The exceptions are the narrowed getters of `systemContext`, each with its reason there.
21
23
  */
22
24
  export declare const createConfiguratorExtensionSelectors: (context: Context) => {
23
25
  getSystems: () => AnyConfiguratorExtensionSystems;
@@ -1 +1 @@
1
- import{AnimationSystem as e,AssistantSystem as t,CameraControlSystem as n,CameraSystem as o,CanvasSystem as r,DragAndDropSystem as s,ExportSystem as g,GraphQLSystem as i,ImageRenderingSystem as a,LayoutSystem as m,SketchingSystem as S}from"./systems/index.js";export const createConfiguratorExtensionSelectors=y=>{let{domainContextSelectors:u,specSelectors:w,domainServicesSelectors:C,accessSelectors:c,commonServicesSelectors:f}=y,d={getConfigurationId:()=>c.getConfiguratorConfigurationId(),getAuthorizedClient:()=>f.getConfiguratorAuthorizedClient(),domainContextSelectors:u,domainServicesSelectors:C,specSelectors:w},l={getSystems:()=>G,getCanvasSystem:()=>p,getCameraControlSystem:()=>A,getAnimationSystem:()=>E,getDragAndDropSystem:()=>h,getImageRenderingSystem:()=>v,getLayoutSystem:()=>L,getSketchingSystem:()=>j,getExportSystem:()=>I,getCameraSystem:()=>k,getGraphQLSystem:()=>z,getAssistantSystem:()=>D},x={...d,configuratorExtensionSelectors:l},p=new r(d),A=new n({configuratorExtensionSelectors:l}),h=new s(x),E=new e(d),I=new g(x),z=new i(d),D=new t(x),L=new m(d),j=new S(x),k=new o(x),v=new a(x),G={cameraControlSystem:A,layoutSystem:L,sketchingSystem:j,dragAndDropSystem:h,canvasSystem:p,cameraSystem:k,exportSystem:I,imageRenderingSystem:v,animationSystem:E,graphQLSystem:z,assistantSystem:D};return l};
1
+ import{createSelector as e}from"@salsita-ai/common/utils";import{createSessionAssistant as t,isAssistantSetupHandler as n}from"#package/domain";import{AnimationSystem as s,AssistantSystem as o,CameraControlSystem as r,CameraSystem as a,CanvasSystem as i,DragAndDropSystem as g,ExportSystem as m,GraphQLSystem as l,ImageRenderingSystem as c,LayoutSystem as S,SketchingSystem as d}from"./systems/index.js";export const createConfiguratorExtensionSelectors=u=>{let{getState:y,domainContextSelectors:C,specSelectors:p,domainServicesSelectors:w,accessSelectors:f,commonServicesSelectors:h}=u,A=e.withTypes()([p.selectConfiguratorSpec,C.selectInitializationContext],(e,s)=>t({resolved:e.assistant,handler:e.handlers.find(n),inputs:s&&s.access?{role:s.role,sessionData:s.sessionData,access:s.access}:null})),I={getConfigurationId:()=>f.getConfiguratorConfigurationId(),getAuthorizedClient:()=>h.getConfiguratorAuthorizedClient(),getAssistantSetup:()=>A(y()),domainContextSelectors:C,domainServicesSelectors:w,specSelectors:p},x={getSystems:()=>Q,getCanvasSystem:()=>z,getCameraControlSystem:()=>D,getAnimationSystem:()=>b,getDragAndDropSystem:()=>v,getImageRenderingSystem:()=>G,getLayoutSystem:()=>T,getSketchingSystem:()=>j,getExportSystem:()=>k,getCameraSystem:()=>F,getGraphQLSystem:()=>L,getAssistantSystem:()=>R},E={...I,configuratorExtensionSelectors:x},z=new i(I),D=new r({configuratorExtensionSelectors:x}),v=new g(E),b=new s(I),k=new m(E),L=new l({...I,renderScreenshot:async(e,t)=>{let[n]=await x.getImageRenderingSystem().generateImagesFromComponents([e],t,{},{awaitSettledState:!0});if(!n)throw Error("The canvas rendered no image.");return n.blob},uploadScreenshot:e=>I.getAuthorizedClient().uploadAssistantImage(I.getConfigurationId(),e)}),R=new o(E),T=new S(I),j=new d(E),F=new a(E),G=new c(E),Q={cameraControlSystem:D,layoutSystem:T,sketchingSystem:j,dragAndDropSystem:v,canvasSystem:z,cameraSystem:F,exportSystem:k,imageRenderingSystem:G,animationSystem:b,graphQLSystem:L,assistantSystem:R};return x};
@@ -2,14 +2,14 @@ import type { AnyClientTool } from '@tanstack/ai';
2
2
  import { type UIMessage } from '@tanstack/ai-client';
3
3
  import { type ObservableWithLastValue } from '@salsita-ai/common/utils';
4
4
  import { type AuthorizedPhoenixApiClient } from '#package/client';
5
- import type { DomainContextSelectors, DomainServicesSelectors, InitializableSystem, SpecSelectors } from '#package/domain';
5
+ import type { AssistantManifest, DomainContextSelectors, DomainServicesSelectors, InitializableSystem, SessionAssistantSetup, SpecSelectors } from '#package/domain';
6
6
  import type { ConfiguratorExtensionSelectors } from '../../selectors.js';
7
7
  /** A tool of the assistant that the model calls and the browser runs, as the chat client accepts it. */
8
8
  export type AssistantClientTool = AnyClientTool;
9
9
  /**
10
10
  * Constructor context of an `AssistantSystem`: whole selector objects, like its peers take them, so
11
- * the tools reach the store, the session mode and the `GraphQLSystem` when they are called, and the
12
- * chat reaches the server of the current session when it sends a request.
11
+ * the tools reach the store, the session mode, the view mode and the `GraphQLSystem` when they are
12
+ * called, and the chat reaches the server of the current session when it sends a request.
13
13
  */
14
14
  export interface AssistantSystemContext {
15
15
  readonly configuratorExtensionSelectors: ConfiguratorExtensionSelectors;
@@ -18,6 +18,8 @@ export interface AssistantSystemContext {
18
18
  readonly specSelectors: SpecSelectors;
19
19
  readonly getConfigurationId: () => string;
20
20
  readonly getAuthorizedClient: () => AuthorizedPhoenixApiClient<any, any, any>;
21
+ /** The assistant the initialized session runs: its tools, its exposed fields and whether chat runs at all. */
22
+ readonly getAssistantSetup: () => SessionAssistantSetup;
21
23
  }
22
24
  /**
23
25
  * The conversation with the assistant as the panel paints it. One value is published per change, so
@@ -125,11 +127,36 @@ export declare class AssistantSystem implements InitializableSystem {
125
127
  private readonly _recorder;
126
128
  /** The recorder's subscription to the committed emissions of the store; made by the first `initialize()`. */
127
129
  private _recording;
130
+ /**
131
+ * The tool call of every `apply` by the state it committed or held, for as long as the state
132
+ * lives: an undone state that the undo history dropped is forgotten with it.
133
+ *
134
+ * Accepted: a commit the project's `registerIsUndoable` keeps out of the history never becomes a
135
+ * step, so the row of its `apply` never offers Undo.
136
+ */
137
+ private readonly _applyToolCallIds;
138
+ private readonly _undoTipToolCallId;
139
+ /**
140
+ * Object URLs of the screenshots read so far, by image id. An uploaded image never changes, so
141
+ * each is read once and kept while the configuration stays loaded.
142
+ */
143
+ private _screenshotUrls;
128
144
  constructor(_context: AssistantSystemContext);
129
145
  /** The conversation. It never completes, and holds the empty chat whenever no chat is active. */
130
146
  readonly chat$: ObservableWithLastValue<AssistantChatSnapshot>;
131
147
  /** The state of the built-in panel. It never completes. */
132
148
  readonly panel$: ObservableWithLastValue<AssistantPanelSnapshot>;
149
+ /**
150
+ * The `apply` tool call whose committed state is the step of the undo history the configuration is
151
+ * at; nothing when that step is not a change of the assistant. It never completes.
152
+ */
153
+ readonly undoTipToolCallId$: ObservableWithLastValue<string | undefined>;
154
+ /**
155
+ * The manifest the initialized session runs, narrowed by the project's setup handler: what the
156
+ * agent can read, so the panel reads recipes and options the way the agent does. `null` while the
157
+ * assistant is off for the session or its setup failed.
158
+ */
159
+ getSessionManifest: () => AssistantManifest | null;
133
160
  /**
134
161
  * A new configuration load: the chat of the previous one is deactivated and both observables go
135
162
  * back to their empty values. An activation that is still held outlives it and gets the chat of
@@ -209,6 +236,12 @@ export declare class AssistantSystem implements InitializableSystem {
209
236
  * refuses with a conflict is not a failure: the thread is read again and `false` is returned.
210
237
  */
211
238
  resume: () => Promise<boolean>;
239
+ /**
240
+ * An object URL of a screenshot of the conversation, by the id its tool result references it by.
241
+ * It is read from the server through the client of the current chat, once per image; a read that
242
+ * failed is forgotten, so it can be asked for again. Rejects without a chat or when the read fails.
243
+ */
244
+ loadScreenshotUrl: (imageId: string) => Promise<string>;
212
245
  /**
213
246
  * Loads the thread before the oldest painted one and paints it above. Does nothing when there is
214
247
  * none or one is being loaded. A load that fails is logged and can be asked for again.
@@ -225,6 +258,16 @@ export declare class AssistantSystem implements InitializableSystem {
225
258
  * server is therefore gone from the thread and has to be written again.
226
259
  */
227
260
  reloadThread: () => void;
261
+ /**
262
+ * Undoes the changes of the given `apply` tool calls, one undo step at a time, while the step the
263
+ * configuration is at is one of them. A change the user made in between stops it, so it is never
264
+ * taken back; the non-undoable commits made on top of an undone change go with it, as with the
265
+ * toolbar's undo.
266
+ *
267
+ * Accepted: like the toolbar's undo, it checks neither the session mode nor the view mode; only
268
+ * `apply` follows the view mode and refuses a finalize run.
269
+ */
270
+ undoToolCalls: (toolCallIds: ReadonlySet<string>) => void;
228
271
  setOpen: (open: boolean) => void;
229
272
  setInputFocused: (isInputFocused: boolean) => void;
230
273
  /**
@@ -235,6 +278,12 @@ export declare class AssistantSystem implements InitializableSystem {
235
278
  private _findRefusedMessageIndex;
236
279
  private _sendOn;
237
280
  private _resume;
281
+ /**
282
+ * The `apply` call whose committed state is the step the configuration is at. Nothing at the bottom
283
+ * of the history, where nothing can be undone: that step was not made by a change it could take back.
284
+ */
285
+ private _findTipToolCallId;
286
+ private _refreshUndoTip;
238
287
  private _committedState;
239
288
  private _patchPanel;
240
289
  /**
@@ -262,6 +311,8 @@ export declare class AssistantSystem implements InitializableSystem {
262
311
  * it is: whether it finishes its reply or is cut off is the caller's decision.
263
312
  */
264
313
  private _retireChat;
314
+ /** Revokes the object URLs of the screenshots read for the configuration that was loaded, also those still being read. */
315
+ private _releaseScreenshotUrls;
265
316
  /** Ends the current chat without cutting its reply off. */
266
317
  private _endChat;
267
318
  }
@@ -1 +1 @@
1
- import{ChatClient as e,fetchServerSentEvents as t}from"@tanstack/ai-client";import{BehaviorSubject as i}from"rxjs";import{skip as s}from"rxjs/operators";import{isShallowEqual as a}from"@salsita-ai/common/utils";import{AssistantRequestError as r}from"#package/client";import{createBrowserDetailsClientTool as n}from"./browser-details.js";import{ChangeRecorder as h}from"./change-recorder.js";import{createApplyClientTool as o,createQueryClientTool as l}from"./graphql-tools.js";let c=Object.freeze({messages:Object.freeze([]),isLoading:!1,error:void 0,failedStatus:void 0,isContinuable:!0,isLoaded:!1,isResuming:!1,earlierThreads:Object.freeze([]),hasEarlierThread:!1,isLoadingEarlierThread:!1}),d=Object.freeze({open:!1,hasUnreadReply:!1,isInputFocused:!1}),u=Object.freeze({}),_=Object.freeze({results:Object.freeze([]),committed:!1,sideEffects:Object.freeze([]),message:"Nothing was run, because the user closed the configurator while this reply was being written. Do not call any more tools in this reply and end it now. The tools work again as soon as the user writes the next message."}),g=e=>{if(e.getError())return!0;let t=e.getMessages().at(-1)?.parts.at(-1);return t?.type!=="tool-call"&&t?.type!=="tool-result"};export class AssistantSystem{_context;_tools;_chat=new i(c);_panel=new i(d);_activation=null;_current=null;_finishing=new Set;_olderThreadId=null;_resuming=null;_refused=null;_firstAttempt=null;_chain={};_loadingThreadId=null;_recorder;_recording=null;constructor(e){this._context=e;let{configuratorExtensionSelectors:t,domainContextSelectors:i,domainServicesSelectors:s,specSelectors:a}=e;this._recorder=new h({maxEntities:30},{readers:{selectedEntityId:e=>i.getNavigationSystem().getActiveSelectionState(e),navigationState:e=>i.getNavigationSystem().getActiveNavigationState(e),viewState:e=>i.getNavigationSystem().getActiveViewState(e),toolState:e=>i.getNavigationSystem().getActiveToolState(e)},getExposedFields:()=>a.getAssistant()?.fields??u,resolveLocalizable:e=>s.getResolveLocalizable()(e)});let r={getGraphQLSystem:()=>t.getGraphQLSystem(),getStoreSystem:()=>i.getStoreSystem(),getActiveMode:()=>i.getActiveMode(),clearChanges:()=>this._recorder.clear(this._committedState())};this._tools=[n(),l(r),o(r)]}chat$=this._chat;panel$=this._panel;initialize=()=>{let{committed:e}=this._context.domainContextSelectors.getStoreSystem().stateSlices;this._recording??=e.pipe(s(1)).subscribe(this._recorder.record),this._recorder.reset(e.value.state),this._endChat(),this._patchPanel(d),this._activation&&this._startClient()};activate=()=>{this._endChat();let e={};return this._activation=e,this._startClient(),()=>{this._activation===e&&(this._activation=null,this._endChat())}};send=async e=>{if(!this._chat.value.isContinuable&&!await this.resume())return;let t=this._current;if(!t)return;let i={changes:this._recorder.take(this._committedState())};this._firstAttempt=t;try{await this._sendOn(t,e,i);let s=this._findRefusedMessageIndex(t);if(-1===s)return;this._refused={chat:t,index:s}}finally{this._firstAttempt===t&&(this._firstAttempt=null)}if(!await this.resume())return;let s=this._current;s&&await this._sendOn(s,e,i)};resume=async()=>{let e=this._current;if(!e)return!1;if(this._chat.value.isContinuable)return!0;if(this._resuming)return this._resuming;let t=this._resume(e).finally(()=>{this._resuming===t&&(this._resuming=null)});return this._resuming=t,t};loadEarlierThread=async()=>{let e=this._current,t=this._olderThreadId;if(!e||null===t||this._loadingThreadId===t)return;let i=this._chain;this._loadingThreadId=t,this._chat.next({...this._chat.value,isLoadingEarlierThread:!0});try{let s=await e.authorizedClient.getAssistantEarlierThread(e.configurationId,t,50);if(this._chain!==i||this._olderThreadId!==t)return;this._olderThreadId=s.previousThreadId,this._chat.next({...this._chat.value,earlierThreads:[{threadId:t,messages:s.messages},...this._chat.value.earlierThreads],hasEarlierThread:null!==s.previousThreadId})}catch(e){this._context.domainServicesSelectors.getLogger().warn("Could not load the earlier assistant conversation",{error:e})}finally{this._chain===i&&this._loadingThreadId===t&&(this._loadingThreadId=null,this._chat.next({...this._chat.value,isLoadingEarlierThread:!1}))}};stop=async()=>{let e=this._current;if(!e)return;let t=e.client.getCurrentRunId();if(e.client.stop(),null!=t)try{let i=e.getConnection();await fetch(`${i.url}/runs/${encodeURIComponent(t)}/cancel`,{method:"POST",headers:await i.headers()})}catch(e){this._context.domainServicesSelectors.getLogger().warn("Could not cancel the assistant run on the server",{error:e})}};reloadThread=()=>{if(!this._activation)return;let e=this._retireChat();e?.client.stop(),e?.dispose(),this._recorder.reset(this._committedState()),this._startClient()};setOpen=e=>{this._patchPanel(e?{open:e,hasUnreadReply:!1}:{open:e,isInputFocused:!1})};setInputFocused=e=>{this._patchPanel({isInputFocused:e})};_findRefusedMessageIndex=e=>{var t;let i,{failedStatus:s,isContinuable:a}=this._chat.value;return this._firstAttempt===e&&e.generation.active&&409===s&&!a?(i=(t=e.client.getMessages()).map(e=>e.role).lastIndexOf("user"),t.slice(i+1).every(e=>0===e.parts.length)?i:-1):-1};_sendOn=async(e,t,i)=>{let{client:s}=e;s.getIsLoading()||null===s.getResumeState()||s.stop();try{await s.sendMessage({content:t,metadata:i})}catch(i){let t=i instanceof Error?i:Error(String(i));e.generation.active&&this._chat.next({...this._chat.value,error:t}),this._context.domainServicesSelectors.getLogger().error("The assistant message could not be sent",{},t)}};_resume=async e=>{this._chat.next({...this._chat.value,isResuming:!0,error:void 0,failedStatus:void 0});try{let{previousThreadId:t}=await e.authorizedClient.compactAssistantThread(e.configurationId);if(!e.generation.active)return!1;let{messages:i,earlierThreads:s,hasEarlierThread:a}=this._chat.value,r=this._refused?.chat===e?i.slice(0,this._refused.index):i;return e.generation.active=!1,this._current=null,e.client.stop(),e.dispose(),this._chat.next({...c,earlierThreads:[...s,{threadId:t,messages:r}],hasEarlierThread:a,isLoadingEarlierThread:null!==this._loadingThreadId}),this._startClient(),!0}catch(i){let t=i instanceof Error?i:Error(String(i));if(t instanceof r&&409===t.status)return e.generation.active&&this.reloadThread(),!1;return e.generation.active&&this._chat.next({...this._chat.value,isResuming:!1,error:t,failedStatus:t instanceof r?t.status:void 0}),this._context.domainServicesSelectors.getLogger().error("The assistant thread could not be resumed",{},t),!1}};_committedState=()=>this._context.domainContextSelectors.getStoreSystem().stateSlices.committed.value.state;_patchPanel=e=>{let t={...this._panel.value,...e};a(t,this._panel.value)||this._panel.next(t)};_takeOverThread=e=>{for(let t of this._finishing)t.configurationId===e&&(t.client.stop(),t.dispose())};_startClient=()=>{let i={active:!0},s=this._context.getConfigurationId();this._takeOverThread(s);let r=this._context.getAuthorizedClient(),n=()=>r.getAssistantChatConnection(s),h=e=>{if(!i.active)return;let t={...this._chat.value,...e};a(t,this._chat.value)||this._chat.next(t)},o=async(e,t)=>{let s=await fetch(e,t).finally(()=>h({isLoaded:!0})),a=s.headers.get("x-assistant-thread-continuable");return null!=a&&s.ok&&i.active&&0===this._chat.value.earlierThreads.length&&(this._olderThreadId=s.headers.get("x-assistant-previous-thread")),h({failedStatus:s.ok?void 0:s.status,...null!=a&&{isContinuable:"false"!==a,hasEarlierThread:null!==this._olderThreadId}}),s},l=async()=>({headers:await n().headers(),fetchClient:o}),c=t(()=>n().url,l),d=t(()=>`${n().url}/runs`,l),u=this._tools.map(e=>({...e,execute:(t,s)=>i.active?e.execute?.(t,s):_})),m=new e({threadId:`assistant:${s}`,connection:{...c,joinRun:d.joinRun},persistence:!0,history:{pageSize:50},tools:u,onMessagesChange:e=>h({messages:e}),onLoadingChange:e=>{let t=i.active&&this._chat.value.isLoading;h({isLoading:e}),!e&&g(m)&&(i.active?t&&!this._panel.value.open&&this._patchPanel({hasUnreadReply:!0}):v())},onErrorChange:e=>{i.active&&e!==this._chat.value.error&&(!e||-1===this._findRefusedMessageIndex(p))&&(h({error:e}),e&&this._context.domainServicesSelectors.getLogger().error("The assistant request failed",{status:this._chat.value.failedStatus},e))}}),f=!1,v=()=>{f||(f=!0,this._finishing.delete(p),m.dispose())},p={client:m,configurationId:s,generation:i,authorizedClient:r,getConnection:n,dispose:v};this._current=p,m.attach()};_retireChat=()=>{let e=this._current;return this._current=null,e&&(e.generation.active=!1),this._chain={},this._olderThreadId=null,this._resuming=null,this._refused=null,this._loadingThreadId=null,this._chat.value!==c&&this._chat.next(c),e};_endChat=()=>{let e=this._retireChat();if(e){if(!e.client.getIsLoading()&&g(e.client))return void e.dispose();this._finishing.add(e)}}}
1
+ import{ChatClient as e,fetchServerSentEvents as t}from"@tanstack/ai-client";import{BehaviorSubject as s}from"rxjs";import{skip as i}from"rxjs/operators";import{isShallowEqual as a}from"@salsita-ai/common/utils";import{AssistantRequestError as r}from"#package/client";import{createBrowserDetailsClientTool as n}from"./browser-details.js";import{ChangeRecorder as o}from"./change-recorder.js";import{createApplyClientTool as l,createQueryClientTool as h,toToolResult as d}from"./graphql-tools.js";let c=Object.freeze({messages:Object.freeze([]),isLoading:!1,error:void 0,failedStatus:void 0,isContinuable:!0,isLoaded:!1,isResuming:!1,earlierThreads:Object.freeze([]),hasEarlierThread:!1,isLoadingEarlierThread:!1}),u=Object.freeze({open:!1,hasUnreadReply:!1,isInputFocused:!1}),_=Object.freeze({}),g=d({results:[],committed:!1,sideEffects:[],warnings:[],screenshots:new Map,message:"Nothing was run, because the user closed the configurator while this reply was being written. Do not call any more tools in this reply and end it now. The tools work again as soon as the user writes the next message."}),f=e=>{if(e.getError())return!0;let t=e.getMessages().at(-1)?.parts.at(-1);return t?.type!=="tool-call"&&t?.type!=="tool-result"};export class AssistantSystem{_context;_tools;_chat=new s(c);_panel=new s(u);_activation=null;_current=null;_finishing=new Set;_olderThreadId=null;_resuming=null;_refused=null;_firstAttempt=null;_chain={};_loadingThreadId=null;_recorder;_recording=null;_applyToolCallIds=new WeakMap;_undoTipToolCallId=new s(void 0);_screenshotUrls=new Map;constructor(e){this._context=e;let{configuratorExtensionSelectors:t,domainContextSelectors:s,domainServicesSelectors:i,getAssistantSetup:a}=e;this._recorder=new o({maxEntities:30},{readers:{selectedEntityId:e=>s.getNavigationSystem().getActiveSelectionState(e),navigationState:e=>s.getNavigationSystem().getActiveNavigationState(e),viewState:e=>s.getNavigationSystem().getActiveViewState(e),toolState:e=>s.getNavigationSystem().getActiveToolState(e)},getExposedFields:()=>a().manifest?.fields??_,resolveLocalizable:e=>i.getResolveLocalizable()(e)});let r={getGraphQLSystem:()=>t.getGraphQLSystem(),getStoreSystem:()=>s.getStoreSystem(),getActiveMode:()=>s.getActiveMode(),getIsViewMode:()=>s.getIsViewMode(),clearChanges:()=>this._recorder.clear(this._committedState()),rememberCommit:(e,t)=>{this._applyToolCallIds.set(t,e),this._refreshUndoTip()}};this._tools=[n(),h(r),l(r)],s.getUndoSystem().tip$.subscribe(this._refreshUndoTip)}chat$=this._chat;panel$=this._panel;undoTipToolCallId$=this._undoTipToolCallId;getSessionManifest=()=>this._context.getAssistantSetup().manifest;initialize=()=>{let{committed:e}=this._context.domainContextSelectors.getStoreSystem().stateSlices;this._recording??=e.pipe(i(1)).subscribe(this._recorder.record),this._recorder.reset(e.value.state),this._endChat(),this._patchPanel(u),this._releaseScreenshotUrls(),this._activation&&this._startClient()};activate=()=>{this._endChat();let e={};return this._activation=e,this._startClient(),()=>{this._activation===e&&(this._activation=null,this._endChat())}};send=async e=>{if(!this._chat.value.isContinuable&&!await this.resume())return;let t=this._current;if(!t)return;let s={changes:this._recorder.take(this._committedState())};this._firstAttempt=t;try{await this._sendOn(t,e,s);let i=this._findRefusedMessageIndex(t);if(-1===i)return;this._refused={chat:t,index:i}}finally{this._firstAttempt===t&&(this._firstAttempt=null)}if(!await this.resume())return;let i=this._current;i&&await this._sendOn(i,e,s)};resume=async()=>{let e=this._current;if(!e)return!1;if(this._chat.value.isContinuable)return!0;if(this._resuming)return this._resuming;let t=this._resume(e).finally(()=>{this._resuming===t&&(this._resuming=null)});return this._resuming=t,t};loadScreenshotUrl=e=>{let t=this._screenshotUrls.get(e);if(t)return t;let s=this._current;if(!s)return Promise.reject(Error(`The screenshot ${e} cannot be read, because the assistant chat is not active. Open the assistant panel of the configuration first.`));let i=this._screenshotUrls,a=s.authorizedClient.getAssistantImage(s.configurationId,e).then(e=>URL.createObjectURL(e));return i.set(e,a),a.catch(()=>{i.get(e)===a&&i.delete(e)}),a};loadEarlierThread=async()=>{let e=this._current,t=this._olderThreadId;if(!e||null===t||this._loadingThreadId===t)return;let s=this._chain;this._loadingThreadId=t,this._chat.next({...this._chat.value,isLoadingEarlierThread:!0});try{let i=await e.authorizedClient.getAssistantEarlierThread(e.configurationId,t,50);if(this._chain!==s||this._olderThreadId!==t)return;this._olderThreadId=i.previousThreadId,this._chat.next({...this._chat.value,earlierThreads:[{threadId:t,messages:i.messages},...this._chat.value.earlierThreads],hasEarlierThread:null!==i.previousThreadId})}catch(e){this._context.domainServicesSelectors.getLogger().warn("Could not load the earlier assistant conversation",{error:e})}finally{this._chain===s&&this._loadingThreadId===t&&(this._loadingThreadId=null,this._chat.next({...this._chat.value,isLoadingEarlierThread:!1}))}};stop=async()=>{let e=this._current;if(!e)return;let t=e.client.getCurrentRunId();if(e.client.stop(),null!=t)try{let s=e.getConnection();await fetch(`${s.url}/runs/${encodeURIComponent(t)}/cancel`,{method:"POST",headers:await s.headers()})}catch(e){this._context.domainServicesSelectors.getLogger().warn("Could not cancel the assistant run on the server",{error:e})}};reloadThread=()=>{if(!this._activation)return;let e=this._retireChat();e?.client.stop(),e?.dispose(),this._recorder.reset(this._committedState()),this._startClient()};undoToolCalls=e=>{let t=this._context.domainContextSelectors.getUndoSystem(),s=()=>{let t=this._findTipToolCallId();return void 0!==t&&e.has(t)};for(;s();)t.undo()};setOpen=e=>{this._patchPanel(e?{open:e,hasUnreadReply:!1}:{open:e,isInputFocused:!1})};setInputFocused=e=>{this._patchPanel({isInputFocused:e})};_findRefusedMessageIndex=e=>{var t;let s,{failedStatus:i,isContinuable:a}=this._chat.value;return this._firstAttempt===e&&e.generation.active&&409===i&&!a?(s=(t=e.client.getMessages()).map(e=>e.role).lastIndexOf("user"),t.slice(s+1).every(e=>0===e.parts.length)?s:-1):-1};_sendOn=async(e,t,s)=>{let{client:i}=e;i.getIsLoading()||null===i.getResumeState()||i.stop();try{await i.sendMessage({content:t,metadata:s})}catch(s){let t=s instanceof Error?s:Error(String(s));e.generation.active&&this._chat.next({...this._chat.value,error:t}),this._context.domainServicesSelectors.getLogger().error("The assistant message could not be sent",{},t)}};_resume=async e=>{this._chat.next({...this._chat.value,isResuming:!0,error:void 0,failedStatus:void 0});try{let{previousThreadId:t}=await e.authorizedClient.compactAssistantThread(e.configurationId);if(!e.generation.active)return!1;let{messages:s,earlierThreads:i,hasEarlierThread:a}=this._chat.value,r=this._refused?.chat===e?s.slice(0,this._refused.index):s;return e.generation.active=!1,this._current=null,e.client.stop(),e.dispose(),this._chat.next({...c,earlierThreads:[...i,{threadId:t,messages:r}],hasEarlierThread:a,isLoadingEarlierThread:null!==this._loadingThreadId}),this._startClient(),!0}catch(s){let t=s instanceof Error?s:Error(String(s));if(t instanceof r&&409===t.status)return e.generation.active&&this.reloadThread(),!1;return e.generation.active&&this._chat.next({...this._chat.value,isResuming:!1,error:t,failedStatus:t instanceof r?t.status:void 0}),this._context.domainServicesSelectors.getLogger().error("The assistant thread could not be resumed",{},t),!1}};_findTipToolCallId=()=>{let e=this._context.domainContextSelectors.getUndoSystem(),t=e.tip$.value?.committedState;return void 0!==t&&e.canUndo()?this._applyToolCallIds.get(t):void 0};_refreshUndoTip=()=>{let e=this._findTipToolCallId();e!==this._undoTipToolCallId.value&&this._undoTipToolCallId.next(e)};_committedState=()=>this._context.domainContextSelectors.getStoreSystem().stateSlices.committed.value.state;_patchPanel=e=>{let t={...this._panel.value,...e};a(t,this._panel.value)||this._panel.next(t)};_takeOverThread=e=>{for(let t of this._finishing)t.configurationId===e&&(t.client.stop(),t.dispose())};_startClient=()=>{let s={active:!0},i=this._context.getConfigurationId();this._takeOverThread(i);let r=this._context.getAuthorizedClient(),n=()=>{if(s.active){let{manifest:e,error:t}=this._context.getAssistantSetup();if(t)throw t;if(!e)throw Error("The assistant is disabled for this session.")}return r.getAssistantChatConnection(i)},o=e=>{if(!s.active)return;let t={...this._chat.value,...e};a(t,this._chat.value)||this._chat.next(t)},l=async(e,t)=>{let i=await fetch(e,t).finally(()=>o({isLoaded:!0})),a=i.headers.get("x-assistant-thread-continuable");return null!=a&&i.ok&&s.active&&0===this._chat.value.earlierThreads.length&&(this._olderThreadId=i.headers.get("x-assistant-previous-thread")),o({failedStatus:i.ok?void 0:i.status,...null!=a&&{isContinuable:"false"!==a,hasEarlierThread:null!==this._olderThreadId}}),i},h=async()=>({headers:await n().headers(),fetchClient:l}),d=t(()=>n().url,h),c=t(()=>`${n().url}/runs`,h),u=this._tools.map(e=>({...e,execute:(t,i)=>{if(!s.active)return g;let{manifest:a,error:r}=this._context.getAssistantSetup();return r||!a?{error:r?.message??"The assistant is disabled for this session."}:e.execute?.(t,i)}})),_=new e({threadId:`assistant:${i}`,connection:{...d,joinRun:c.joinRun},persistence:!0,history:{pageSize:50},tools:u,onMessagesChange:e=>o({messages:e}),onLoadingChange:e=>{let t=s.active&&this._chat.value.isLoading;o({isLoading:e}),!e&&f(_)&&(s.active?t&&!this._panel.value.open&&this._patchPanel({hasUnreadReply:!0}):p())},onErrorChange:e=>{s.active&&e!==this._chat.value.error&&(!e||-1===this._findRefusedMessageIndex(v))&&(o({error:e}),e&&this._context.domainServicesSelectors.getLogger().error("The assistant request failed",{status:this._chat.value.failedStatus},e))}}),m=!1,p=()=>{m||(m=!0,this._finishing.delete(v),_.dispose())},v={client:_,configurationId:i,generation:s,authorizedClient:r,getConnection:n,dispose:p};this._current=v,_.attach()};_retireChat=()=>{let e=this._current;return this._current=null,e&&(e.generation.active=!1),this._chain={},this._olderThreadId=null,this._resuming=null,this._refused=null,this._loadingThreadId=null,this._chat.value!==c&&this._chat.next(c),e};_releaseScreenshotUrls=()=>{for(let e of this._screenshotUrls.values())e.then(URL.revokeObjectURL,()=>void 0);this._screenshotUrls=new Map};_endChat=()=>{let e=this._retireChat();if(e){if(!e.client.getIsLoading()&&f(e.client))return void e.dispose();this._finishing.add(e)}}}
@@ -1,12 +1,13 @@
1
+ import type { ContentPart } from '@tanstack/ai';
1
2
  import type { DomainEntity, DomainMode, DomainState } from '#package/domain';
2
- import type { GraphQLSystem } from '../graphql-system/graphql-system.js';
3
+ import type { GraphQLExecution, GraphQLSystem } from '../graphql-system/graphql-system.js';
3
4
  /**
4
5
  * What the assistant's client tools need from the running configurator, as accessors they call when
5
- * the model calls them: a tool call always runs against the systems and the session mode current at
6
- * that moment, never against ones captured when its reply began streaming.
6
+ * the model calls them: a tool call always runs against the systems, the session mode and the view
7
+ * mode current at that moment, never against ones captured when its reply began streaming.
7
8
  */
8
9
  export interface AssistantToolDependencies {
9
- readonly getGraphQLSystem: () => Pick<GraphQLSystem, 'prepare' | 'execute' | 'readSideEffects'>;
10
+ readonly getGraphQLSystem: () => Pick<GraphQLSystem, 'prepare' | 'execute' | 'readSideEffects' | 'readWarnings' | 'readScreenshots'>;
10
11
  readonly getStoreSystem: () => {
11
12
  readonly isInitialized: boolean;
12
13
  readonly stateSlices: {
@@ -18,18 +19,42 @@ export interface AssistantToolDependencies {
18
19
  };
19
20
  };
20
21
  readonly getActiveMode: () => DomainMode;
22
+ /**
23
+ * Whether the configuration is read-only for the user now, by the rule the UI follows: the
24
+ * domain-context selector `getIsViewMode`, which `useAccessService().accessInfo.viewMode` returns.
25
+ */
26
+ readonly getIsViewMode: () => boolean;
21
27
  /** Forgets the changes recorded for the next change record, so it never lists what the agent itself changed. */
22
28
  readonly clearChanges: () => void;
29
+ /**
30
+ * Remembers the state an `apply` call committed or held for the user's approval, so the panel can
31
+ * tell while that state is the step of the undo history the configuration is at.
32
+ */
33
+ readonly rememberCommit: (toolCallId: string, state: DomainState<DomainEntity<string>>) => void;
23
34
  }
35
+ /**
36
+ * A tool result as the chat client accepts it: content parts, the execution's JSON as a text part
37
+ * followed, per screenshot, by its label as a text part and its picture as an image part, so the
38
+ * model reads each picture under the label its `image` field returned; the image part references the picture the browser uploaded, which the server
39
+ * inlines only for the model. The client deep-clones a
40
+ * result and rejects anything that is not plain JSON, so the `GraphQLError` instances of a result
41
+ * are formatted through their `toJSON` and `undefined` members are dropped. The prepared state stays
42
+ * in the browser.
43
+ */
44
+ export declare const toToolResult: ({ preparedState, screenshots, ...execution }: GraphQLExecution) => ContentPart[];
24
45
  /**
25
46
  * Browser implementation of the assistant's `query` tool: prepares the operations from the
26
47
  * committed state and drops their emissions, so mutations in the list show a hypothetical state and
27
- * the configuration, the undo stack and the saved revision stay as they were. The side effects of
28
- * the dropped emissions are still reported, as what the changes would do.
48
+ * the configuration, the undo stack and the saved revision stay as they were. The side effects and
49
+ * the new warnings of the dropped emissions are still reported, as what the changes would do.
29
50
  */
30
51
  export declare const createQueryClientTool: (dependencies: AssistantToolDependencies) => import("@tanstack/ai").ClientTool<{
31
52
  type: string;
32
53
  properties: {
54
+ title: {
55
+ type: string;
56
+ description: string;
57
+ };
33
58
  operations: {
34
59
  type: string;
35
60
  minItems: number;
@@ -59,6 +84,10 @@ export declare const createQueryClientTool: (dependencies: AssistantToolDependen
59
84
  inputSchema: {
60
85
  type: string;
61
86
  properties: {
87
+ title: {
88
+ type: string;
89
+ description: string;
90
+ };
62
91
  operations: {
63
92
  type: string;
64
93
  minItems: number;
@@ -93,13 +122,29 @@ export declare const createQueryClientTool: (dependencies: AssistantToolDependen
93
122
  * `GraphQLSystem.execute`, which commits their changes as one undo step, and returns its result,
94
123
  * including why nothing was committed when a commit was held or lost to a conflict. A commit clears
95
124
  * the recorded changes; a held one does not, so it shows in the next change record once the user
96
- * approves it. Only an owner
97
- * session may change the configuration; the check lives here and not in the `GraphQLSystem`, whose
98
- * other caller, the editor panel, has its own rules.
125
+ * approves it. The state it committed or held is remembered under the id of the call, so the chip
126
+ * row of the call can undo it.
127
+ *
128
+ * The assistant changes the configuration exactly when the UI lets the user change it: while the
129
+ * view mode is off, which the host can switch both ways while the configurator runs. A finalize run
130
+ * never changes it. The checks live here and not in the `GraphQLSystem`, whose other caller, the
131
+ * editor panel, has its own rules.
132
+ *
133
+ * Accepted: the view mode is read live, while saving follows the mode captured at initialization
134
+ * (the named exception in `docs/architecture/application-runtime.md`). When the configuration turns
135
+ * editable, because the host cleared `readonly` or the access changed, for example from a
136
+ * read-revision to an owner token, a change applied before the configuration is initialized again
137
+ * is committed and reported to the model as committed, but it is not saved, and that initialization
138
+ * replaces it. The configurator page loads the configuration again on either switch, so the window
139
+ * lasts one load.
99
140
  */
100
141
  export declare const createApplyClientTool: (dependencies: AssistantToolDependencies) => import("@tanstack/ai").ClientTool<{
101
142
  type: string;
102
143
  properties: {
144
+ title: {
145
+ type: string;
146
+ description: string;
147
+ };
103
148
  operations: {
104
149
  type: string;
105
150
  minItems: number;
@@ -129,6 +174,10 @@ export declare const createApplyClientTool: (dependencies: AssistantToolDependen
129
174
  inputSchema: {
130
175
  type: string;
131
176
  properties: {
177
+ title: {
178
+ type: string;
179
+ description: string;
180
+ };
132
181
  operations: {
133
182
  type: string;
134
183
  minItems: number;
@@ -1 +1 @@
1
- import{AssistantGraphQLToolInput as e,applyTool as t,queryTool as o}from"@salsita-ai/contracts/assistant";let a=e=>({results:[],committed:!1,message:e,sideEffects:[]}),i=e=>JSON.parse(JSON.stringify(e)),s=t=>{let o=e.safeParse(t);if(!o.success){let e=o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ");return{ok:!1,refusal:a(`Nothing was run, because the tool input is not a list of operations (${e}). Send { "operations": [{ "query": "<one GraphQL operation>" }] } with at least one item.`)}}return{ok:!0,operations:o.data.operations.map(({query:e,variables:t,operationName:o})=>({document:e,variables:t??void 0,operationName:o??void 0}))}};export const createQueryClientTool=e=>o.client(async t=>{let o=s(t);if(!o.ok)return o.refusal;let n=e.getStoreSystem();if(!n.isInitialized)return a("Nothing was run, because the configuration is not loaded yet, so there is no state to query. Call the tool again once the configurator has finished loading.");let r=e.getGraphQLSystem(),l=await r.prepare(n.stateSlices.committed.value.state,o.operations);return i({results:l.map(({result:e})=>e),committed:!1,sideEffects:r.readSideEffects(l)})});export const createApplyClientTool=e=>t.client(async t=>{if("owner"!==e.getActiveMode())return a("Nothing was run, because changes cannot be applied in this session: the user may view this configuration but not change it. The query tool still works here, including mutations, to show what a change would do without keeping it.");let o=s(t);if(!o.ok)return o.refusal;let n=await e.getGraphQLSystem().execute(o.operations);return n.committed&&e.clearChanges(),i(n)});
1
+ import{AssistantGraphQLToolInput as e,applyTool as t,assistantImageReference as o,queryTool as a}from"@salsita-ai/contracts/assistant";let i=e=>({results:[],committed:!1,message:e,sideEffects:[],screenshots:new Map,warnings:[]});export const toToolResult=({preparedState:e,screenshots:t,...a})=>[{type:"text",content:JSON.stringify(a)},...[...t].flatMap(([e,{imageId:t}])=>[{type:"text",content:e},{type:"image",source:{type:"url",value:o(t)}}])];let s=t=>{let o=e.safeParse(t);if(!o.success){let e=o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ");return{ok:!1,refusal:i(`Nothing was run, because the tool input is not a list of operations (${e}). Send { "operations": [{ "query": "<one GraphQL operation>" }] } with at least one item.`)}}return{ok:!0,operations:o.data.operations.map(({query:e,variables:t,operationName:o})=>({document:e,variables:t??void 0,operationName:o??void 0}))}};export const createQueryClientTool=e=>a.client(async t=>{let o=s(t);if(!o.ok)return toToolResult(o.refusal);let a=e.getStoreSystem();if(!a.isInitialized)return toToolResult(i("Nothing was run, because the configuration is not loaded yet, so there is no state to query. Call the tool again once the configurator has finished loading."));let n=e.getGraphQLSystem(),r=a.stateSlices.committed.value.state,l=await n.prepare(r,o.operations);return toToolResult({results:l.map(({result:e})=>e),committed:!1,sideEffects:n.readSideEffects(l),screenshots:n.readScreenshots(l),warnings:n.readWarnings(r,l)})});export const createApplyClientTool=e=>t.client(async(t,o)=>{if("finalize"===e.getActiveMode())return toToolResult(i("Nothing was run, because changes cannot be applied in this session: the user may view this configuration but not change it. The query tool still works here, including mutations, to show what a change would do without keeping it."));if(e.getIsViewMode())return toToolResult(i("Nothing was run, because the configuration is read-only right now: the user may view it but not change it. The query tool still works here, including mutations, to show what a change would do without keeping it. Call apply again only once the configuration is editable."));let a=s(t);if(!a.ok)return toToolResult(a.refusal);let n=await e.getGraphQLSystem().execute(a.operations),r=o?.toolCallId;return void 0!==r&&void 0!==n.preparedState&&e.rememberCommit(r,n.preparedState),n.committed&&e.clearChanges(),toToolResult(n)});
@@ -3,7 +3,7 @@ import type { Observable } from 'rxjs';
3
3
  import { OrthographicCamera, PerspectiveCamera } from 'three';
4
4
  import type { ObservableWithLastValue, ValueOf } from '@salsita-ai/common/utils';
5
5
  import { type DomainEntityId } from '#package/domain';
6
- import type { CanvasPadding } from '#package/ui-sdk';
6
+ import type { CanvasPadding } from '#package/react-sdk';
7
7
  import type { ConfiguratorExtensionSelectors } from '../../selectors.js';
8
8
  export declare const CameraControlType: {
9
9
  readonly Perspective: 'perspective';
@@ -94,6 +94,14 @@ export declare class CanvasSystem<ENTITIES extends DomainEntity<string>> {
94
94
  readonly getCanvasEnvironment: (state: DomainState<ENTITIES>) => import("#package/domain").ComponentSnapshot<import("#package/domain").SystemComponentType<"canvasCustomEnvironment", import("#package/domain").CanvasCustomEnvironmentComponentState, never> | import("#package/domain").SystemComponentType<"canvasPresetEnvironment", import("#package/domain").CanvasPresetEnvironmentComponentState, never>> | undefined;
95
95
  readonly getCanvasConfig: (state: DomainState<ENTITIES>) => import("#package/domain").CanvasConfigComponentState | undefined;
96
96
  readonly register: (scene: Scene, gl: WebGLRenderer, r3fHandle: R3FHandle, loadingProgress$: Observable<LoadingProgress>) => () => void;
97
+ /**
98
+ * Resolves with the handle of the mounted canvas, waiting for a canvas to register when none is
99
+ * mounted yet. Work that needs the canvas and can be started by the user before the first mount
100
+ * (an image capture started from the summary) awaits this instead of failing on an empty handle.
101
+ *
102
+ * @internal
103
+ */
104
+ readonly waitForCanvas: (timeoutMs?: number) => Promise<R3FHandle>;
97
105
  readonly reportFlush: (token: FlushToken) => void;
98
106
  readonly registerForceFlush: (trigger: (token: FlushToken) => void) => () => void;
99
107
  private _forceFlush;
@@ -1 +1 @@
1
- import{BehaviorSubject as e,Subject as t,debounceTime as i,delay as n,filter as s,firstValueFrom as r,map as o,merge as a,of as h,switchMap as l,tap as c}from"rxjs";import{applicationConfigComponent as d,canvasConfigComponent as u,canvasCustomEnvironmentComponent as g,canvasPresetEnvironmentComponent as _}from"#package/domain";export const resolveInteractiveViewport=(e,t)=>!Number.isFinite(t.width)||!Number.isFinite(t.height)||t.width<=0||t.height<=0||e?.width===t.width&&e.height===t.height?e:t;export class CanvasInitializationCancellationError extends Error{constructor(){super("Canvas generation ended while waiting for a flush!"),this.name="CanvasInitializationCancellationError"}}export class CanvasSystem{_context;_dimensionIndicatorShown;_meshChanged$=new e(!0);_firstLoadFinished=new e(!1);dimensionIndicatorShown$;meshChanged$=this._meshChanged$;firstLoadFinished$=this._firstLoadFinished;onCanvasClick$=new t;onCanvasPointerMove$=new t;_ready$=new e(null);ready$=this._ready$;_r3fHandle$=new e(null);r3fHandle$=this._r3fHandle$;_interactiveViewport$=new e(null);interactiveViewport$=this._interactiveViewport$;_flushed$=new t;_flushSequence=0;_lastReportedFlushSequence=0;_triggerForceFlush=null;_registration=null;_progress$=new e({type:"finished"});_generation=null;constructor(t){this._context=t,this._dimensionIndicatorShown=new e(!1),this.dimensionIndicatorShown$=this._dimensionIndicatorShown}getCanvasEnvironment=e=>{let t=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[g,_]},e);return t.length>1&&this._context.domainServicesSelectors.getLogger().warn("Multiple canvas environments found, using the first one!",{environments:t}),t.at(0)};getCanvasConfig=e=>{let t=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[u]},e);return t.length>1&&this._context.domainServicesSelectors.getLogger().warn("Multiple canvas configs found, using the first one!",{configs:t}),t.at(0)?.state};register=(e,t,i,n)=>{let s={scene:e,gl:t,r3fHandle:i};this._registration=s,this._ready$.next({scene:e,gl:t}),this._r3fHandle$.next(i),this._interactiveViewport$.next(null);let r=n.subscribe(e=>{this._progress$.next(e)}),o=e=>{if(this._registration!==s)return;let t=resolveInteractiveViewport(this._interactiveViewport$.value,e);t!==this._interactiveViewport$.value&&(this._interactiveViewport$.next(t),i.get().invalidate())},a=t.domElement,h=a.getBoundingClientRect();o({width:h.width,height:h.height});let l=new ResizeObserver(([e])=>{e&&o({width:e.contentRect.width,height:e.contentRect.height})});return l.observe(a),()=>{r.unsubscribe(),l.disconnect(),this._registration===s&&(this._registration=null,this._ready$.next(null),this._r3fHandle$.next(null),this._interactiveViewport$.next(null),this._progress$.next({type:"finished"}),this._firstLoadFinished.next(!1))}};reportFlush=e=>{this._lastReportedFlushSequence=Math.max(this._lastReportedFlushSequence,e.sequence),this._flushed$.next(e)};registerForceFlush=e=>(this._triggerForceFlush=e,()=>{this._triggerForceFlush===e&&(this._triggerForceFlush=null)});_forceFlush(){if(!this._triggerForceFlush)throw this._context.domainServicesSelectors.getLogger().debug("Force flush skipped: canvas not ready"),new CanvasInitializationCancellationError;let e={sequence:++this._flushSequence},t=r(a(this._flushed$.pipe(s(t=>t.sequence>=e.sequence),o(()=>void 0)),h(void 0).pipe(n(1e4),c(()=>{this._context.domainServicesSelectors.getLogger().error("Force flush timeout",{requestedSequence:e.sequence,lastReportedSequence:this._lastReportedFlushSequence,timeoutMs:1e4,detectorRegistered:null!==this._triggerForceFlush})}))));return this._triggerForceFlush(e),t}toggleDimensionIndicator=()=>{this._dimensionIndicatorShown.next(!this._dimensionIndicatorShown.value)};setDimensionIndicatorShown=e=>{this._dimensionIndicatorShown.value!==e&&this._dimensionIndicatorShown.next(e)};reportMeshChanged=()=>{this._meshChanged$.next(!0)};reportFirstLoadFinished=()=>{this._firstLoadFinished.next(!0)};_findEntity3d(e,t){let i=[];if(e.entityIds?.length===0)return i;if(t.traverse(t=>{let n=t.userData;"entityRoot"===n.type&&(void 0===e.entityIds||e.entityIds.includes(n.entityId))&&i.push(t)}),e.descendantEntities){let e=[...i];for(;e.length>0;){let t=e.shift();t&&t.children.forEach(t=>{"entityRoot"===t.userData.type&&(i.push(t),e.push(t))})}}let n=e.entityRoots?[...i]:[];if(e.entityObjects){let t=i=>{i.children.forEach(i=>{let s=i.userData;"entityObjectGroup"===s.type?t(i):"entityObject"!==s.type||(void 0===e.objectInstanceNames||e.objectInstanceNames.includes(s.objectInstanceName))&&(e.recursiveObjects?i.traverse(e=>{n.push(e)}):n.push(i))})};i.forEach(e=>t(e))}return n}findEntity3d=e=>this.ready$.value?.scene?this._findEntity3d(e,this.ready$.value.scene):[];findEntity3d$=e=>this.ready$.pipe(s(e=>null!=e),l(({scene:t})=>this.meshChanged$.pipe(i(0),o(()=>this._findEntity3d(e,t)))));initialize=()=>{let e=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[d]},this._context.domainContextSelectors.getStoreSystem().stateSlices.committed.value.state);null!==this._generation&&(this._generation.active=!1);let t=e?.state.initialIndicatorShown??!1;this._generation={active:!0},this._dimensionIndicatorShown.next(t),this._meshChanged$.next(!0)};waitForFlush=async()=>{let e=this._generation,t=()=>{if(!e?.active)throw new CanvasInitializationCancellationError};for(t(),await this._forceFlush(),t(),await this._forceFlush(),t();"finished"!==this._progress$.value.type;)await r(this._progress$.pipe(s(e=>"finished"===e.type))),t(),await this._forceFlush(),t(),await this._forceFlush(),t()}}
1
+ import{BehaviorSubject as e,Subject as t,debounceTime as i,delay as n,filter as s,firstValueFrom as r,map as o,merge as a,of as h,switchMap as l,tap as c,throwError as d,timeout as u}from"rxjs";import{isNonNullish as g}from"@salsita-ai/common/utils";import{applicationConfigComponent as _,canvasConfigComponent as p,canvasCustomEnvironmentComponent as m,canvasPresetEnvironmentComponent as w}from"#package/domain";export const resolveInteractiveViewport=(e,t)=>!Number.isFinite(t.width)||!Number.isFinite(t.height)||t.width<=0||t.height<=0||e?.width===t.width&&e.height===t.height?e:t;export class CanvasInitializationCancellationError extends Error{constructor(){super("Canvas generation ended while waiting for a flush!"),this.name="CanvasInitializationCancellationError"}}let v=1e4;export class CanvasSystem{_context;_dimensionIndicatorShown;_meshChanged$=new e(!0);_firstLoadFinished=new e(!1);dimensionIndicatorShown$;meshChanged$=this._meshChanged$;firstLoadFinished$=this._firstLoadFinished;onCanvasClick$=new t;onCanvasPointerMove$=new t;_ready$=new e(null);ready$=this._ready$;_r3fHandle$=new e(null);r3fHandle$=this._r3fHandle$;_interactiveViewport$=new e(null);interactiveViewport$=this._interactiveViewport$;_flushed$=new t;_flushSequence=0;_lastReportedFlushSequence=0;_triggerForceFlush=null;_registration=null;_progress$=new e({type:"finished"});_generation=null;constructor(t){this._context=t,this._dimensionIndicatorShown=new e(!1),this.dimensionIndicatorShown$=this._dimensionIndicatorShown}getCanvasEnvironment=e=>{let t=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[m,w]},e);return t.length>1&&this._context.domainServicesSelectors.getLogger().warn("Multiple canvas environments found, using the first one!",{environments:t}),t.at(0)};getCanvasConfig=e=>{let t=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[p]},e);return t.length>1&&this._context.domainServicesSelectors.getLogger().warn("Multiple canvas configs found, using the first one!",{configs:t}),t.at(0)?.state};register=(e,t,i,n)=>{let s={scene:e,gl:t,r3fHandle:i};this._registration=s,this._ready$.next({scene:e,gl:t}),this._r3fHandle$.next(i),this._interactiveViewport$.next(null);let r=n.subscribe(e=>{this._progress$.next(e)}),o=e=>{if(this._registration!==s)return;let t=resolveInteractiveViewport(this._interactiveViewport$.value,e);t!==this._interactiveViewport$.value&&(this._interactiveViewport$.next(t),i.get().invalidate())},a=t.domElement,h=a.getBoundingClientRect();o({width:h.width,height:h.height});let l=new ResizeObserver(([e])=>{e&&o({width:e.contentRect.width,height:e.contentRect.height})});return l.observe(a),()=>{r.unsubscribe(),l.disconnect(),this._registration===s&&(this._registration=null,this._ready$.next(null),this._r3fHandle$.next(null),this._interactiveViewport$.next(null),this._progress$.next({type:"finished"}),this._firstLoadFinished.next(!1))}};waitForCanvas=(e=v)=>r(this._r3fHandle$.pipe(s(g),u({first:e,with:()=>d(()=>Error(`The 3D canvas did not mount within ${e} ms, so the canvas work that waited for it (an image capture or an export) cannot run. The canvas mounts when the configurator layout renders it; make sure the current layout shows the canvas, then retry once the scene is visible.`))})));reportFlush=e=>{this._lastReportedFlushSequence=Math.max(this._lastReportedFlushSequence,e.sequence),this._flushed$.next(e)};registerForceFlush=e=>(this._triggerForceFlush=e,()=>{this._triggerForceFlush===e&&(this._triggerForceFlush=null)});_forceFlush(){if(!this._triggerForceFlush)throw this._context.domainServicesSelectors.getLogger().debug("Force flush skipped: canvas not ready"),new CanvasInitializationCancellationError;let e={sequence:++this._flushSequence},t=r(a(this._flushed$.pipe(s(t=>t.sequence>=e.sequence),o(()=>void 0)),h(void 0).pipe(n(1e4),c(()=>{this._context.domainServicesSelectors.getLogger().error("Force flush timeout",{requestedSequence:e.sequence,lastReportedSequence:this._lastReportedFlushSequence,timeoutMs:1e4,detectorRegistered:null!==this._triggerForceFlush})}))));return this._triggerForceFlush(e),t}toggleDimensionIndicator=()=>{this._dimensionIndicatorShown.next(!this._dimensionIndicatorShown.value)};setDimensionIndicatorShown=e=>{this._dimensionIndicatorShown.value!==e&&this._dimensionIndicatorShown.next(e)};reportMeshChanged=()=>{this._meshChanged$.next(!0)};reportFirstLoadFinished=()=>{this._firstLoadFinished.next(!0)};_findEntity3d(e,t){let i=[];if(e.entityIds?.length===0)return i;if(t.traverse(t=>{let n=t.userData;"entityRoot"===n.type&&(void 0===e.entityIds||e.entityIds.includes(n.entityId))&&i.push(t)}),e.descendantEntities){let e=[...i];for(;e.length>0;){let t=e.shift();t&&t.children.forEach(t=>{"entityRoot"===t.userData.type&&(i.push(t),e.push(t))})}}let n=e.entityRoots?[...i]:[];if(e.entityObjects){let t=i=>{i.children.forEach(i=>{let s=i.userData;"entityObjectGroup"===s.type?t(i):"entityObject"!==s.type||(void 0===e.objectInstanceNames||e.objectInstanceNames.includes(s.objectInstanceName))&&(e.recursiveObjects?i.traverse(e=>{n.push(e)}):n.push(i))})};i.forEach(e=>t(e))}return n}findEntity3d=e=>this.ready$.value?.scene?this._findEntity3d(e,this.ready$.value.scene):[];findEntity3d$=e=>this.ready$.pipe(s(e=>null!=e),l(({scene:t})=>this.meshChanged$.pipe(i(0),o(()=>this._findEntity3d(e,t)))));initialize=()=>{let e=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[_]},this._context.domainContextSelectors.getStoreSystem().stateSlices.committed.value.state);null!==this._generation&&(this._generation.active=!1);let t=e?.state.initialIndicatorShown??!1;this._generation={active:!0},this._dimensionIndicatorShown.next(t),this._meshChanged$.next(!0)};waitForFlush=async()=>{let e=this._generation,t=()=>{if(!e?.active)throw new CanvasInitializationCancellationError};for(t(),await this._forceFlush(),t(),await this._forceFlush(),t();"finished"!==this._progress$.value.type;)await r(this._progress$.pipe(s(e=>"finished"===e.type))),t(),await this._forceFlush(),t(),await this._forceFlush(),t()}}
@@ -1,6 +1,6 @@
1
1
  import type { Object3D, Vector2, Vector3 } from 'three';
2
2
  import type { ObservableWithLastValue } from '@salsita-ai/common/utils';
3
- import type { DomainContextSelectors, DomainEntity, DomainEntityId, DomainServicesSelectors, DomainState, DraggableSurface } from '#package/domain';
3
+ import type { DomainContextSelectors, DomainEntity, DomainEntityId, DomainServicesSelectors, DomainState, DraggableSurface, RotatableSurface } from '#package/domain';
4
4
  import type { ConfiguratorExtensionSelectors } from '../../selectors.js';
5
5
  /**
6
6
  * Constructor context of a `DragAndDropSystem`. Same-layer configurator peers are reached through
@@ -17,7 +17,7 @@ export interface DraggableState {
17
17
  readonly type: 'draggable';
18
18
  readonly entityId: DomainEntityId<string>;
19
19
  readonly originalMouseDiff: Vector3;
20
- readonly draggingPlanes: DraggableSurface[];
20
+ readonly draggingPlanes: readonly DraggableSurface[];
21
21
  readonly dragHandleInstance: string;
22
22
  readonly newWorldPosition: Vector3;
23
23
  readonly originalWorldPosition: Vector3;
@@ -28,7 +28,7 @@ export interface RotationDraggingState {
28
28
  readonly type: 'rotation';
29
29
  readonly entityId: DomainEntityId<string>;
30
30
  readonly originalMouseVector: Vector2;
31
- readonly draggingPlane: DraggableSurface;
31
+ readonly draggingPlane: RotatableSurface;
32
32
  readonly originalEntityVector: Vector3;
33
33
  readonly initialAngle: number;
34
34
  readonly dragHandleTarget: string;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * An export run that waited for the configuration to settle gave up: the user kept changing what
3
+ * the configurator shows (a drag in progress, for instance), and exporting over it would have thrown
4
+ * the change away.
5
+ */
6
+ export declare class ExportBusyError extends Error {
7
+ constructor();
8
+ }
@@ -0,0 +1 @@
1
+ export class ExportBusyError extends Error{constructor(){super("The export did not start, because the user kept changing the configuration while it waited, and exporting would have discarded the change. Run the export again once the user has finished."),this.name="ExportBusyError"}}
@@ -1,4 +1,5 @@
1
1
  import type { Scene } from 'three';
2
+ import { type ObservableWithLastValue } from '@salsita-ai/common/utils';
2
3
  import type { $DomainEntity, DomainContextSelectors, DomainEntity, DomainEntityId, DomainServicesSelectors, DomainState } from '#package/domain';
3
4
  import type { ConfiguratorExtensionSelectors } from '../../selectors.js';
4
5
  import type { R3FHandle } from '../canvas-system.js';
@@ -29,12 +30,26 @@ export interface ExportJob<EXPORT_STATES extends string, ENTITIES extends Domain
29
30
  selectedEntityId?: ENTITIES['id'];
30
31
  execute: (props: ExportJobArguments<ENTITIES, any, any>) => Promise<R>;
31
32
  }
33
+ /** How one export run starts. */
34
+ export interface ExportRunOptions {
35
+ /**
36
+ * Waits for the user to finish a change they are making, such as a drag, before the first job, for
37
+ * up to {@link SETTLE_TIMEOUT_MS}, and rejects with an {@link ExportBusyError} when they do not. A run
38
+ * the user did not start themselves, such as the assistant's screenshot, must not export over it. A
39
+ * hover is no such change: the run's restore drops it, as it always did.
40
+ */
41
+ readonly awaitSettledState?: boolean;
42
+ }
32
43
  /** ExportSystem with its entity types erased — how the runtime selectors expose the instance. */
33
44
  export type AnyExportSystem = ExportSystem<any, any, any, any, any, any, any>;
34
45
  export declare class ExportSystem<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string> {
35
46
  private readonly _context;
36
47
  private _generation;
37
48
  private _frameloopPause;
49
+ private _queue;
50
+ private readonly _exporting;
51
+ /** True while an export run is queued or running; the configurator UI is inert meanwhile. */
52
+ readonly exporting$: ObservableWithLastValue<boolean>;
38
53
  constructor(_context: ExportSystemContext);
39
54
  /**
40
55
  * Pauses the frameloop of the given canvas mount until the returned release has been called as
@@ -55,6 +70,13 @@ export declare class ExportSystem<ENTITIES extends DomainEntity<string>, ALLOWED
55
70
  navigationState?: NAVIGATION_STATES;
56
71
  selectedEntityId?: DomainEntityId<ENTITY_TYPE>;
57
72
  }, job: (props: ExportJobArguments<ENTITIES, $MAP[ENTITY_TYPE], $MAP[ALLOWED_ROOT_ENTITIES['type']]>) => Promise<R>) => ExportJob<EXPORT_STATES, ENTITIES, TOOL_STATES, VIEW_STATES, NAVIGATION_STATES, R>;
58
- runExportJobs: <R>(jobs: ReadonlyArray<ExportJob<EXPORT_STATES, ENTITIES, TOOL_STATES, VIEW_STATES, NAVIGATION_STATES, R>>) => Promise<R[]>;
73
+ /**
74
+ * Queues the jobs as one export run behind every run already queued and resolves with their
75
+ * results in order. While the run is queued or running, `exporting$` is true. Afterwards the store
76
+ * shows the committed state current at that moment, not the one the run started from.
77
+ */
78
+ runExportJobs: <R>(jobs: ReadonlyArray<ExportJob<EXPORT_STATES, ENTITIES, TOOL_STATES, VIEW_STATES, NAVIGATION_STATES, R>>, options?: ExportRunOptions) => Promise<R[]>;
79
+ private readonly _awaitSettledState;
80
+ private readonly _runExportJobs;
59
81
  initialize: () => void;
60
82
  }
@@ -1 +1 @@
1
- import{isNonNullish as t}from"@salsita-ai/common/utils";export class ExportSystem{_context;_generation=null;_frameloopPause=null;constructor(t){this._context=t}pauseFrameloop=t=>{if(this._frameloopPause?.handle===t)this._frameloopPause.holders+=1;else{let{frameloop:e,internal:o}=t.get();this._frameloopPause={handle:t,frameloop:e,priority:o.priority,holders:1},t.set(t=>({...t,frameloop:"never",internal:{...t.internal,priority:1/0}}))}let e=this._frameloopPause,o=!1;return()=>{o||(o=!0,e.holders-=1,e.holders>0||this._frameloopPause!==e||(this._frameloopPause=null,this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value===t&&t.set(t=>({...t,frameloop:e.frameloop,internal:{...t.internal,priority:e.priority}}))))}};createExportJob=(t,e,o)=>({sourceState:t,exportState:e.exportState,exportedEntityId:e.exportedEntityId,execute:o,toolState:e.toolState,viewState:e.viewState,navigationState:e.navigationState,selectedEntityId:e.selectedEntityId});runExportJobs=async e=>{let o=this._generation,i=()=>{if(!o?.active)throw Error("Export generation ended while jobs were running! The configurator context was reinitialized mid-export, so the remaining jobs would drive a state that is no longer theirs. Await the export before leaving the configuration, or discard the rejection.")};i();let a=this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value;if(!a)throw Error("Canvas is not ready");let n=this._context.domainContextSelectors.getStoreSystem().stateSlices.committed.value,r=this.pauseFrameloop(a);try{let o=[];for(let n of e){i();let e=this._context.domainContextSelectors.getStoreSystem().prepareStateEmission([this._context.domainContextSelectors.getNavigationSystem().getExportUpdate(n.exportState,n.exportedEntityId),null!=n.toolState?this._context.domainContextSelectors.getNavigationSystem().getToolUpdate(n.toolState):void 0,null!=n.viewState?this._context.domainContextSelectors.getNavigationSystem().getViewUpdate(n.viewState):void 0,null!=n.navigationState?this._context.domainContextSelectors.getNavigationSystem().getNavigationUpdate(n.navigationState):void 0,null!=n.selectedEntityId?this._context.domainContextSelectors.getNavigationSystem().getSelectUpdate(n.selectedEntityId):void 0,this._context.domainContextSelectors.getNavigationSystem().getHoverOutUpdate()].filter(t),n.sourceState,"staged");if(this._context.domainContextSelectors.getStoreSystem().emit(e),await this._context.configuratorExtensionSelectors.getCanvasSystem().waitForFlush(),i(),!e.validity.valid)throw this._context.domainServicesSelectors.getLogger().error(`Setting an export state to ${n.exportState} for entity ${n.exportedEntityId} resulted in an invalid state! Check if there isn't a transformer corrupting the state as a reaction to setting the export state.`,e),Error("Exported state is invalid!");let r=e.state,s=this._context.domainContextSelectors.getDomain().get$Entity(n.exportedEntityId,r),l=this._context.domainContextSelectors.getDomain().getRoot$Entity(r),c=await n.execute({$entity:s,$root:l,state:r,scene:a.get().scene});i(),o.push(c)}return o}finally{o?.active&&this._context.domainContextSelectors.getStoreSystem().emit(n),r()}};initialize=()=>{null!==this._generation&&(this._generation.active=!1),this._generation={active:!0}}}
1
+ import{BehaviorSubject as t}from"rxjs";import{isNonNullish as e}from"@salsita-ai/common/utils";import{ExportBusyError as o}from"./export-busy-error.js";export class ExportSystem{_context;_generation=null;_frameloopPause=null;_queue=null;_exporting=new t(!1);exporting$=this._exporting;constructor(t){this._context=t}pauseFrameloop=t=>{if(this._frameloopPause?.handle===t)this._frameloopPause.holders+=1;else{let{frameloop:e,internal:o}=t.get();this._frameloopPause={handle:t,frameloop:e,priority:o.priority,holders:1},t.set(t=>({...t,frameloop:"never",internal:{...t.internal,priority:1/0}}))}let e=this._frameloopPause,o=!1;return()=>{o||(o=!0,e.holders-=1,e.holders>0||this._frameloopPause!==e||(this._frameloopPause=null,this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value===t&&t.set(t=>({...t,frameloop:e.frameloop,internal:{...t.internal,priority:e.priority}}))))}};createExportJob=(t,e,o)=>({sourceState:t,exportState:e.exportState,exportedEntityId:e.exportedEntityId,execute:o,toolState:e.toolState,viewState:e.viewState,navigationState:e.navigationState,selectedEntityId:e.selectedEntityId});runExportJobs=(t,e={})=>{let o=this._generation,i=(this._queue??Promise.resolve()).then(()=>this._runExportJobs(t,e,o)),a=i.catch(()=>void 0);return this._queue=a,this._exporting.value||this._exporting.next(!0),a.then(()=>{this._queue===a&&(this._queue=null,this._exporting.next(!1))}),i};_awaitSettledState=async t=>{let e=this._context.domainContextSelectors.getStoreSystem(),i=Date.now()+2e3;for(;e.hasStagedUpdates;){if(Date.now()>=i)throw new o;await new Promise(t=>setTimeout(t,200)),t()}};_runExportJobs=async(t,{awaitSettledState:o=!1},i)=>{let a=()=>{if(!i?.active)throw Error("Export generation ended while jobs were running! The configurator context was reinitialized mid-export, so the remaining jobs would drive a state that is no longer theirs. Await the export before leaving the configuration, or discard the rejection.")};a(),o&&await this._awaitSettledState(a);let n=this._context.configuratorExtensionSelectors.getCanvasSystem(),r=n.r3fHandle$.value??await n.waitForCanvas().catch(t=>{throw a(),t});a();let s=this.pauseFrameloop(r);try{let o=[];for(let i of t){a();let t=this._context.domainContextSelectors.getStoreSystem().prepareStateEmission([this._context.domainContextSelectors.getNavigationSystem().getExportUpdate(i.exportState,i.exportedEntityId),null!=i.toolState?this._context.domainContextSelectors.getNavigationSystem().getToolUpdate(i.toolState):void 0,null!=i.viewState?this._context.domainContextSelectors.getNavigationSystem().getViewUpdate(i.viewState):void 0,null!=i.navigationState?this._context.domainContextSelectors.getNavigationSystem().getNavigationUpdate(i.navigationState):void 0,null!=i.selectedEntityId?this._context.domainContextSelectors.getNavigationSystem().getSelectUpdate(i.selectedEntityId):void 0,this._context.domainContextSelectors.getNavigationSystem().getHoverOutUpdate()].filter(e),i.sourceState,"staged");if(this._context.domainContextSelectors.getStoreSystem().emit(t),await this._context.configuratorExtensionSelectors.getCanvasSystem().waitForFlush(),a(),!t.validity.valid)throw this._context.domainServicesSelectors.getLogger().error(`Setting an export state to ${i.exportState} for entity ${i.exportedEntityId} resulted in an invalid state! Check if there isn't a transformer corrupting the state as a reaction to setting the export state.`,t),Error("Exported state is invalid!");let n=t.state,s=this._context.domainContextSelectors.getDomain().get$Entity(i.exportedEntityId,n),l=this._context.domainContextSelectors.getDomain().getRoot$Entity(n),c=await i.execute({$entity:s,$root:l,state:n,scene:r.get().scene});a(),o.push(c)}return o}finally{if(i?.active){let t=this._context.domainContextSelectors.getStoreSystem();t.emit(t.stateSlices.committed.value)}s()}};initialize=()=>{null!==this._generation&&(this._generation.active=!1),this._generation={active:!0},this._queue=null,this._exporting.value&&this._exporting.next(!1)}}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The agent's operation document with the closing braces it left off added at its end. Models
3
+ * often drop the last `}` of a nested selection, and the only error GraphQL gives for it is
4
+ * "Expected Name, found <EOF>", which costs the agent a round trip to fix. At the end of a
5
+ * document, closing braces are the only completion there is, so this cannot change what a valid
6
+ * document means; a brace missing in the middle nests the following fields one level deeper, which
7
+ * validation then rejects. Appending keeps the positions GraphQL reports for the agent's own text.
8
+ * A document with no unclosed brace, which covers every document that parses, or one that still
9
+ * does not parse with them closed is returned as it is, so GraphQL reports the agent's own syntax
10
+ * error and not one of the repair.
11
+ */
12
+ export declare const closeUnclosedBraces: (document: string) => string;
@@ -0,0 +1 @@
1
+ import{Lexer as r,Source as e,TokenKind as t,parse as n}from"graphql";export const closeUnclosedBraces=c=>{let a=(n=>{let c=new r(new e(n)),a=0;try{for(let r=c.advance();r.kind!==t.EOF;r=c.advance())r.kind===t.BRACE_L?a+=1:r.kind===t.BRACE_R&&(a-=1)}catch{return 0}return a})(c);if(a<=0)return c;let l=`${c}${" }".repeat(a)}`;return(r=>{try{return n(r),!0}catch{return!1}})(l)?l:c};