@salsita-ai/sdk 0.50.0-develop.662fa65a4c → 0.50.0-develop.6806625cca

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 (1538) hide show
  1. package/README.md +8 -2
  2. package/dist/admin/AdminShell.js +1 -1
  3. package/dist/admin/common/admin-interface.d.ts +3 -3
  4. package/dist/admin/legacy-admin/Application.js +1 -1
  5. package/dist/application/index.d.ts +1 -0
  6. package/dist/application/index.js +1 -1
  7. package/dist/application/mount-application.d.ts +1 -1
  8. package/dist/application/mount-application.js +1 -1
  9. package/dist/application/mount-configurator.d.ts +19 -0
  10. package/dist/application/mount-configurator.js +1 -0
  11. package/dist/application/mounted-application-runtime.d.ts +4 -0
  12. package/dist/application/mounted-application-runtime.js +1 -0
  13. package/dist/application/register-web-component.d.ts +2 -0
  14. package/dist/application/register-web-component.js +1 -0
  15. package/dist/application-spec/caching/index.d.ts +6 -1
  16. package/dist/application-spec/caching/index.js +1 -1
  17. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  18. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  19. package/dist/application-spec/core/index.d.ts +1 -3
  20. package/dist/application-spec/core/index.js +1 -1
  21. package/dist/application-spec/core/json-schema.d.ts +2 -52
  22. package/dist/application-spec/core/markers/index.d.ts +1 -1
  23. package/dist/application-spec/core/markers/index.js +1 -1
  24. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  25. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  26. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  27. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  28. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  29. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -1
  30. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  31. package/dist/application-spec/errors/diagnostic-messages.d.ts +16 -1
  32. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  33. package/dist/application-spec/generate-application/code/domain-runtime-files.d.ts +0 -19
  34. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  35. package/dist/application-spec/generate-application/code/index.d.ts +1 -0
  36. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  37. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +4 -3
  38. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  39. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +9 -8
  40. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +3 -3
  41. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-base-configurator-builder.js +2 -1
  42. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +31 -31
  43. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-locale.js +1 -1
  44. package/dist/application-spec/generate-application/code/templates/editor.d.ts +1 -1
  45. package/dist/application-spec/generate-application/code/templates/editor.js +16 -3
  46. package/dist/application-spec/generate-application/code/templates/gitignore.js +2 -1
  47. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +15 -15
  48. package/dist/application-spec/generate-application/code/templates/html-index.d.ts +12 -1
  49. package/dist/application-spec/generate-application/code/templates/html-index.js +9 -10
  50. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -7
  51. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  52. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +5 -4
  53. package/dist/application-spec/generate-application/code/templates/skills/core/cli.d.ts +2 -0
  54. package/dist/application-spec/generate-application/code/templates/skills/core/cli.js +1 -0
  55. package/dist/application-spec/generate-application/code/templates/skills/core/index.d.ts +3 -0
  56. package/dist/application-spec/generate-application/code/templates/skills/core/index.js +1 -0
  57. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.d.ts +2 -0
  58. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.js +89 -0
  59. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.d.ts +2 -0
  60. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.js +46 -0
  61. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.d.ts +3 -0
  62. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.js +3 -0
  63. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.d.ts +1 -0
  64. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.js +1 -0
  65. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.d.ts +3 -0
  66. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.js +48 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.d.ts +3 -0
  68. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.js +38 -0
  69. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.d.ts +3 -0
  70. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.js +35 -0
  71. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.d.ts +3 -0
  72. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.js +61 -0
  73. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.d.ts +3 -0
  74. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.js +7 -0
  75. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.d.ts +3 -0
  76. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.js +79 -0
  77. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.d.ts +1 -0
  78. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.js +1 -0
  79. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.d.ts +3 -0
  80. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.js +52 -0
  81. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.d.ts +3 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.js +49 -0
  83. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.d.ts +3 -0
  84. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.js +62 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.d.ts +3 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.js +40 -0
  87. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.d.ts +3 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.js +65 -0
  89. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.d.ts +3 -0
  90. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.js +58 -0
  91. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.d.ts +3 -0
  92. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.js +41 -0
  93. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.d.ts +3 -0
  94. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.js +24 -0
  95. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.d.ts +3 -0
  96. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.js +44 -0
  97. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.d.ts +3 -0
  98. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.js +74 -0
  99. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.d.ts +3 -0
  100. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.js +8 -0
  101. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.d.ts +1 -0
  102. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.js +1 -0
  103. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.d.ts +3 -0
  104. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.js +48 -0
  105. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.d.ts +3 -0
  106. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.js +64 -0
  107. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.d.ts +3 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.js +62 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.d.ts +3 -0
  110. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.js +1 -0
  111. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.d.ts +3 -0
  112. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.js +59 -0
  113. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.d.ts +3 -0
  114. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.js +46 -0
  115. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.d.ts +1 -0
  116. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.js +1 -0
  117. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.d.ts +3 -0
  118. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.js +43 -0
  119. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.d.ts +3 -0
  120. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.js +30 -0
  121. package/dist/application-spec/generate-application/code/templates/skills/features/features.d.ts +3 -0
  122. package/dist/application-spec/generate-application/code/templates/skills/features/features.js +1 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/features/index.d.ts +1 -0
  124. package/dist/application-spec/generate-application/code/templates/skills/features/index.js +1 -0
  125. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.d.ts +2 -0
  126. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.js +1 -0
  127. package/dist/application-spec/generate-application/code/templates/skills/features/localization.d.ts +3 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/features/localization.js +87 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.d.ts +3 -0
  130. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.js +43 -0
  131. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.d.ts +1 -0
  132. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.js +1 -0
  133. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.d.ts +3 -0
  134. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.js +48 -0
  135. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.d.ts +3 -0
  136. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.js +1 -0
  137. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.d.ts +3 -0
  138. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.js +39 -0
  139. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.d.ts +3 -0
  140. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.js +36 -0
  141. package/dist/application-spec/generate-application/code/templates/skills/features/variants.d.ts +2 -0
  142. package/dist/application-spec/generate-application/code/templates/skills/features/variants.js +1 -0
  143. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/assistant-setup.d.ts +3 -0
  144. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/assistant-setup.js +32 -0
  145. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/authentication.d.ts +3 -0
  146. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/authentication.js +42 -0
  147. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/backend-data.d.ts +3 -0
  148. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/backend-data.js +45 -0
  149. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/entry-and-environment.d.ts +3 -0
  150. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/entry-and-environment.js +38 -0
  151. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/finalization.d.ts +3 -0
  152. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/finalization.js +92 -0
  153. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/index.d.ts +1 -0
  154. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/index.js +1 -0
  155. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/publishing.d.ts +3 -0
  156. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/publishing.js +1 -0
  157. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/callback.d.ts +3 -0
  158. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/callback.js +26 -0
  159. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/documents.d.ts +3 -0
  160. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/documents.js +51 -0
  161. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/email.d.ts +3 -0
  162. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/email.js +38 -0
  163. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/index.d.ts +1 -0
  164. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/index.js +1 -0
  165. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/integrations.d.ts +3 -0
  166. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/integrations.js +88 -0
  167. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/links-and-images.d.ts +3 -0
  168. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/links-and-images.js +68 -0
  169. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/tasks.d.ts +3 -0
  170. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/tasks.js +1 -0
  171. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/webhooks.d.ts +3 -0
  172. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/webhooks.js +1 -0
  173. package/dist/application-spec/generate-application/code/templates/skills/guide.d.ts +68 -0
  174. package/dist/application-spec/generate-application/code/templates/skills/guide.js +18 -0
  175. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  176. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +14 -0
  177. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.d.ts +9 -0
  178. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.js +1 -0
  179. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.d.ts +2 -0
  180. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.js +23 -0
  181. package/dist/application-spec/generate-application/code/templates/skills/{phoenix-skill.d.ts → processes/beta.d.ts} +2 -1
  182. package/dist/application-spec/generate-application/code/templates/skills/processes/beta.js +4 -0
  183. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.d.ts +2 -0
  184. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.js +38 -0
  185. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.d.ts +3 -0
  186. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.js +1 -0
  187. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.d.ts +1 -0
  188. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.js +1 -0
  189. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.d.ts +2 -0
  190. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.js +7 -0
  191. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.d.ts +2 -0
  192. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.js +2 -0
  193. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.d.ts +2 -0
  194. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.js +2 -0
  195. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.d.ts +2 -0
  196. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.js +25 -0
  197. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.d.ts +2 -0
  198. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.js +35 -0
  199. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.d.ts +3 -0
  200. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.js +3 -0
  201. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.d.ts +2 -0
  202. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.js +9 -0
  203. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.d.ts +1 -0
  204. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.js +1 -0
  205. package/dist/application-spec/generate-application/code/templates/skills/processes/index.d.ts +8 -0
  206. package/dist/application-spec/generate-application/code/templates/skills/processes/index.js +1 -0
  207. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.d.ts +2 -0
  208. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.js +1 -0
  209. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.d.ts +2 -0
  210. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.js +46 -0
  211. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.d.ts +2 -0
  212. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.js +2 -0
  213. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.d.ts +2 -0
  214. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.js +6 -0
  215. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.d.ts +1 -0
  216. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.js +1 -0
  217. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.d.ts +3 -0
  218. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.js +1 -0
  219. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.d.ts +2 -0
  220. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.js +13 -0
  221. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.d.ts +2 -0
  222. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.js +20 -0
  223. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.d.ts +2 -0
  224. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.js +1 -0
  225. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.d.ts +1 -0
  226. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.js +1 -0
  227. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.d.ts +2 -0
  228. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.js +22 -0
  229. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.d.ts +3 -0
  230. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.js +1 -0
  231. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.d.ts +2 -0
  232. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.js +25 -0
  233. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +49 -263
  234. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +3 -58
  235. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.d.ts +9 -0
  236. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.js +1 -0
  237. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +1 -1
  238. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -1
  239. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -4
  240. package/dist/application-spec/generate-application/code/templates/tsconfig.js +2 -1
  241. package/dist/application-spec/generate-application/index.d.ts +1 -7
  242. package/dist/application-spec/generate-application/index.js +1 -1
  243. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  244. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  245. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  246. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  247. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  248. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  249. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  250. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  251. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +25 -20
  252. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  253. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  254. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  255. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  256. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  257. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  258. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  259. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  260. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  261. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  262. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  263. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  264. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  265. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  266. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
  267. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
  269. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
  270. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
  271. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  272. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  273. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  274. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
  275. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  276. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +4 -14
  277. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  278. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  279. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  280. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  281. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  282. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  283. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  284. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  285. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  286. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  287. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  288. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  289. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  290. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  291. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  292. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  293. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  294. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  295. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  296. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  297. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  298. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  299. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  300. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  301. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  302. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  303. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  304. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  305. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  306. package/dist/client/authorized-client.d.ts +5 -2
  307. package/dist/client/authorized-client.js +1 -1
  308. package/dist/client/contract.d.ts +56 -5
  309. package/dist/client/contract.js +1 -1
  310. package/dist/client/index.d.ts +1 -1
  311. package/dist/client/local-authorized-client.d.ts +4 -1
  312. package/dist/client/local-authorized-client.js +1 -1
  313. package/dist/client/memory-authorized-client.d.ts +5 -1
  314. package/dist/client/memory-authorized-client.js +1 -1
  315. package/dist/client/phoenix-api.d.ts +1137 -341
  316. package/dist/configurator/ConfiguratorApp.js +1 -1
  317. package/dist/configurator/agent-at-work/AgentAtWorkFallback.d.ts +7 -0
  318. package/dist/configurator/agent-at-work/AgentAtWorkFallback.js +1 -0
  319. package/dist/configurator/agent-at-work/AgentAtWorkPage.d.ts +20 -0
  320. package/dist/configurator/agent-at-work/AgentAtWorkPage.js +1 -0
  321. package/dist/configurator/agent-at-work/AgentModeBadge.d.ts +11 -0
  322. package/dist/configurator/agent-at-work/AgentModeBadge.js +1 -0
  323. package/dist/configurator/agent-at-work/StudioMark.d.ts +8 -0
  324. package/dist/configurator/agent-at-work/StudioMark.js +1 -0
  325. package/dist/configurator/agent-at-work/agent-at-work-copy.d.ts +17 -0
  326. package/dist/configurator/agent-at-work/agent-at-work-copy.js +1 -0
  327. package/dist/configurator/agent-at-work/agent-at-work-styles.d.ts +23 -0
  328. package/dist/configurator/agent-at-work/agent-at-work-styles.js +374 -0
  329. package/dist/configurator/agent-at-work/index.d.ts +3 -0
  330. package/dist/configurator/agent-at-work/index.js +1 -0
  331. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  332. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.d.ts +34 -0
  333. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-image-view.d.ts +18 -0
  334. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-speech-player.d.ts +69 -0
  335. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-speech-player.js +1 -0
  336. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +302 -24
  337. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  338. package/dist/configurator/application-runtime/extensions/systems/assistant-system/composer-attachments.d.ts +68 -0
  339. package/dist/configurator/application-runtime/extensions/systems/assistant-system/composer-attachments.js +1 -0
  340. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +21 -4
  341. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  342. package/dist/configurator/application-runtime/extensions/systems/assistant-system/rasterize-image.d.ts +13 -0
  343. package/dist/configurator/application-runtime/extensions/systems/assistant-system/rasterize-image.js +1 -0
  344. package/dist/configurator/application-runtime/extensions/systems/assistant-system/speakable-reply.d.ts +7 -0
  345. package/dist/configurator/application-runtime/extensions/systems/assistant-system/speakable-reply.js +1 -0
  346. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +43 -0
  347. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
  348. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +4 -1
  349. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  350. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +70 -56
  351. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  352. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +38 -11
  353. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  354. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  355. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  356. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.d.ts +10 -0
  357. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.js +1 -0
  358. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +8 -0
  359. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  360. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +7 -2
  361. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  362. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +11 -0
  363. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  364. package/dist/configurator/application-runtime/extensions/systems/sketching-system/sketching-system.d.ts +5 -5
  365. package/dist/configurator/common/configurator-interface.d.ts +18 -8
  366. package/dist/configurator/common/configurator-interface.js +1 -1
  367. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  368. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  369. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.js +1 -1
  370. package/dist/configurator/configurator-context/index.d.ts +0 -5
  371. package/dist/configurator/configurator-context/index.js +1 -1
  372. package/dist/configurator/index.d.ts +1 -0
  373. package/dist/configurator/index.js +1 -1
  374. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  375. package/dist/configurator/{ui/configurator-layout/universal → pages}/ExportingOverlay.d.ts +3 -2
  376. package/dist/configurator/pages/ExportingOverlay.js +1 -0
  377. package/dist/configurator/pages/InertRoot.d.ts +10 -0
  378. package/dist/configurator/pages/InertRoot.js +1 -0
  379. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  380. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  381. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  382. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  383. package/dist/configurator/pages/default-configurator-elements.d.ts +6 -2
  384. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  385. package/dist/configurator/pages/error-boundaries/AgentModeErrorFallback.d.ts +8 -0
  386. package/dist/configurator/pages/error-boundaries/AgentModeErrorFallback.js +1 -0
  387. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
  388. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
  389. package/dist/configurator/pages/error-boundaries/DevContextFallback.d.ts +4 -2
  390. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  391. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.d.ts +6 -4
  392. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  393. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  394. package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
  395. package/dist/configurator/pages/error-boundaries/index.js +1 -1
  396. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
  397. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
  398. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
  399. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
  400. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
  401. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
  402. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
  403. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
  404. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
  405. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
  406. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
  407. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
  408. package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
  409. package/dist/configurator/pages/provider-slots/index.js +1 -0
  410. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
  411. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
  412. package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
  413. package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
  414. package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
  415. package/dist/configurator/pages/ui-elements/index.js +1 -0
  416. package/dist/configurator/scene/cameras/CameraPadding.js +1 -1
  417. package/dist/configurator/ui/assistant/AssistantChips.d.ts +83 -1
  418. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  419. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +102 -1
  420. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  421. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +37 -3
  422. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  423. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +46 -1
  424. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  425. package/dist/configurator/ui/assistant/AssistantThread.d.ts +80 -4
  426. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  427. package/dist/configurator/ui/assistant/AssistantThreadItemView.d.ts +104 -0
  428. package/dist/configurator/ui/assistant/AssistantThreadItemView.js +1 -0
  429. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +39 -2
  430. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -1
  431. package/dist/configurator/ui/assistant/alert/index.d.ts +1 -1
  432. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.d.ts +43 -0
  433. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.js +1 -0
  434. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.d.ts +5 -0
  435. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.js +1 -0
  436. package/dist/configurator/ui/assistant/annotation/AnnotationPin.d.ts +14 -0
  437. package/dist/configurator/ui/assistant/annotation/AnnotationPin.js +1 -0
  438. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.d.ts +12 -0
  439. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.js +1 -0
  440. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.d.ts +11 -0
  441. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.js +1 -0
  442. package/dist/configurator/ui/assistant/annotation/annotation-layout.d.ts +80 -0
  443. package/dist/configurator/ui/assistant/annotation/annotation-layout.js +1 -0
  444. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.d.ts +49 -0
  445. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.js +1 -0
  446. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.d.ts +18 -0
  447. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.js +1 -0
  448. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.d.ts +22 -0
  449. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.js +1 -0
  450. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.d.ts +22 -0
  451. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.js +1 -0
  452. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.d.ts +17 -0
  453. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.js +1 -0
  454. package/dist/configurator/ui/assistant/annotation/editor/index.d.ts +2 -0
  455. package/dist/configurator/ui/assistant/annotation/editor/index.js +1 -0
  456. package/dist/configurator/ui/assistant/annotation/index.d.ts +6 -0
  457. package/dist/configurator/ui/assistant/annotation/index.js +1 -0
  458. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.d.ts +2 -0
  459. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.js +1 -0
  460. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.d.ts +6 -0
  461. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.js +1 -0
  462. package/dist/configurator/ui/assistant/assistant-failure.d.ts +20 -7
  463. package/dist/configurator/ui/assistant/assistant-failure.js +1 -1
  464. package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +63 -0
  465. package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
  466. package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
  467. package/dist/configurator/ui/assistant/attachments/index.js +1 -0
  468. package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +24 -0
  469. package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
  470. package/dist/configurator/ui/assistant/composer/composer-frame.d.ts +20 -0
  471. package/dist/configurator/ui/assistant/composer/composer-frame.js +1 -0
  472. package/dist/configurator/ui/assistant/composer/index.d.ts +1 -0
  473. package/dist/configurator/ui/assistant/composer/index.js +1 -0
  474. package/dist/configurator/ui/assistant/drawing/AssistantDrawing.d.ts +58 -0
  475. package/dist/configurator/ui/assistant/drawing/AssistantDrawing.js +1 -0
  476. package/dist/configurator/ui/assistant/drawing/index.d.ts +2 -0
  477. package/dist/configurator/ui/assistant/drawing/index.js +1 -0
  478. package/dist/configurator/ui/assistant/drawing/parse-drawing.d.ts +18 -0
  479. package/dist/configurator/ui/assistant/drawing/parse-drawing.js +1 -0
  480. package/dist/configurator/ui/assistant/drawing/use-drawing-url.d.ts +14 -0
  481. package/dist/configurator/ui/assistant/drawing/use-drawing-url.js +1 -0
  482. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +35 -1
  483. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  484. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -2
  485. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +59 -2
  486. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  487. package/dist/configurator/ui/assistant/form/built-in-form-slots.d.ts +16 -0
  488. package/dist/configurator/ui/assistant/form/built-in-form-slots.js +1 -0
  489. package/dist/configurator/ui/assistant/form/index.d.ts +2 -1
  490. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +26 -0
  491. package/dist/configurator/ui/assistant/form/registry/index.d.ts +1 -1
  492. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +59 -0
  493. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -1
  494. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +51 -0
  495. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -1
  496. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +47 -0
  497. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -1
  498. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +43 -0
  499. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -1
  500. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +51 -0
  501. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -1
  502. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +43 -0
  503. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  504. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +51 -0
  505. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -1
  506. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +47 -0
  507. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  508. package/dist/configurator/ui/assistant/form-elements/index.d.ts +8 -8
  509. package/dist/configurator/ui/assistant/image-view/ImageView.d.ts +66 -0
  510. package/dist/configurator/ui/assistant/image-view/ImageView.js +1 -0
  511. package/dist/configurator/ui/assistant/image-view/index.d.ts +1 -0
  512. package/dist/configurator/ui/assistant/image-view/index.js +1 -0
  513. package/dist/configurator/ui/assistant/image-view/use-image-blob.d.ts +7 -0
  514. package/dist/configurator/ui/assistant/image-view/use-image-blob.js +1 -0
  515. package/dist/configurator/ui/assistant/index.d.ts +24 -3
  516. package/dist/configurator/ui/assistant/index.js +1 -1
  517. package/dist/configurator/ui/assistant/panel/AssistantPanelHeader.d.ts +57 -0
  518. package/dist/configurator/ui/assistant/panel/AssistantPanelHeader.js +1 -0
  519. package/dist/configurator/ui/assistant/panel/index.d.ts +1 -0
  520. package/dist/configurator/ui/assistant/panel/index.js +1 -0
  521. package/dist/configurator/ui/assistant/popover/AssistantPopover.d.ts +24 -0
  522. package/dist/configurator/ui/assistant/popover/AssistantPopover.js +1 -0
  523. package/dist/configurator/ui/assistant/popover/index.d.ts +1 -0
  524. package/dist/configurator/ui/assistant/popover/index.js +1 -0
  525. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +43 -1
  526. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -1
  527. package/dist/configurator/ui/assistant/reference-link/index.d.ts +1 -1
  528. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -1
  529. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +49 -2
  530. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -1
  531. package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
  532. package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
  533. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +35 -1
  534. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -1
  535. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -1
  536. package/dist/configurator/ui/assistant/screenshots/index.js +1 -1
  537. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +6 -4
  538. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -1
  539. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  540. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  541. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +11 -0
  542. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  543. package/dist/configurator/ui/assistant/thread-items.d.ts +22 -3
  544. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  545. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  546. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  547. package/dist/configurator/ui/assistant/use-assistant-composer.d.ts +88 -0
  548. package/dist/configurator/ui/assistant/use-assistant-composer.js +2 -0
  549. package/dist/configurator/ui/assistant/use-assistant-thread.d.ts +52 -0
  550. package/dist/configurator/ui/assistant/use-assistant-thread.js +1 -0
  551. package/dist/configurator/ui/assistant/use-load-older-on-top.d.ts +22 -0
  552. package/dist/configurator/ui/assistant/use-load-older-on-top.js +1 -0
  553. package/dist/configurator/ui/assistant/voice/RecordingBar.d.ts +21 -0
  554. package/dist/configurator/ui/assistant/voice/RecordingBar.js +1 -0
  555. package/dist/configurator/ui/assistant/voice/ReplyPlayButton.d.ts +43 -0
  556. package/dist/configurator/ui/assistant/voice/ReplyPlayButton.js +1 -0
  557. package/dist/configurator/ui/assistant/voice/index.d.ts +4 -0
  558. package/dist/configurator/ui/assistant/voice/index.js +1 -0
  559. package/dist/configurator/ui/assistant/voice/use-voice-recording.d.ts +39 -0
  560. package/dist/configurator/ui/assistant/voice/use-voice-recording.js +1 -0
  561. package/dist/configurator/ui/assistant/voice/voice-capture.d.ts +22 -0
  562. package/dist/configurator/ui/assistant/voice/voice-capture.js +1 -0
  563. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  564. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  565. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  566. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  567. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  568. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  569. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  570. package/dist/configurator/ui/index.d.ts +1 -1
  571. package/dist/configurator/ui/index.js +1 -1
  572. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  573. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  574. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  575. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  576. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  577. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  578. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  579. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  580. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  581. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  582. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/use-basic-sidebar-footer.js +1 -1
  583. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  584. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  585. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  586. package/dist/docs/3d-scene/animations-basic.mdx +0 -4
  587. package/dist/docs/3d-scene/camera-based-hiding.mdx +0 -2
  588. package/dist/docs/3d-scene/cameras/custom.mdx +4 -4
  589. package/dist/docs/3d-scene/cameras/fit-during-drag.mdx +0 -4
  590. package/dist/docs/3d-scene/cameras/locks.mdx +0 -4
  591. package/dist/docs/3d-scene/cameras/transitions.mdx +0 -2
  592. package/dist/docs/3d-scene/engraving.mdx +0 -4
  593. package/dist/docs/3d-scene/materials/custom.mdx +1 -2
  594. package/dist/docs/3d-scene/materials/inherit.mdx +0 -4
  595. package/dist/docs/3d-scene/materials/multilevel.mdx +0 -47
  596. package/dist/docs/3d-scene/materials/override.mdx +0 -4
  597. package/dist/docs/3d-scene/materials/simple.mdx +0 -4
  598. package/dist/docs/3d-scene/materials/transformer.mdx +0 -4
  599. package/dist/docs/3d-scene/materials/transition.mdx +0 -4
  600. package/dist/docs/3d-scene/materials/transmissive.mdx +0 -4
  601. package/dist/docs/3d-scene/postprocessing.mdx +0 -2
  602. package/dist/docs/3d-scene/rendering/basic.mdx +5 -9
  603. package/dist/docs/3d-scene/rendering/custom-entity.mdx +0 -6
  604. package/dist/docs/3d-scene/rendering/lights/ambient-light.mdx +0 -2
  605. package/dist/docs/3d-scene/rendering/lights/directional-light.mdx +0 -2
  606. package/dist/docs/3d-scene/rendering/lights/point-light.mdx +0 -2
  607. package/dist/docs/3d-scene/rendering/lights/rect-area-light.mdx +0 -2
  608. package/dist/docs/3d-scene/rendering/lights/spot-light.mdx +0 -2
  609. package/dist/docs/3d-scene/rendering/object-groups.mdx +0 -2
  610. package/dist/docs/3d-scene/rendering/objects.mdx +0 -4
  611. package/dist/docs/3d-scene/rendering/scene-entity-object.mdx +0 -43
  612. package/dist/docs/3d-scene/rendering/smma.mdx +0 -2
  613. package/dist/docs/3d-scene/rendering/soft-shadows.mdx +0 -2
  614. package/dist/docs/3d-scene/rendering/transformer.mdx +1 -3
  615. package/dist/docs/complex-use-cases/custom-ui-on-root-level.mdx +0 -1
  616. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +19 -19
  617. package/dist/docs/complex-use-cases/navigation-guard.mdx +81 -19
  618. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +28 -65
  619. package/dist/docs/complex-use-cases/navigation-reset-undo.mdx +16 -20
  620. package/dist/docs/complex-use-cases/sketching.mdx +2 -10
  621. package/dist/docs/controls/custom.mdx +88 -87
  622. package/dist/docs/controls/manage-child-entities/entitychildrenlist.mdx +0 -4
  623. package/dist/docs/controls/nullable-attributes.mdx +0 -2
  624. package/dist/docs/controls/scene/custom-controls.mdx +7 -8
  625. package/dist/docs/controls/scene/html-hotspots.mdx +0 -4
  626. package/dist/docs/controls/scene/object-html-hotspots.mdx +0 -4
  627. package/dist/docs/controls/select-attribute/cardselect.mdx +0 -4
  628. package/dist/docs/controls/select-attribute/listselect.mdx +0 -4
  629. package/dist/docs/controls/select-attribute/select.mdx +0 -4
  630. package/dist/docs/controls/select-attribute/swatchselect.mdx +0 -4
  631. package/dist/docs/controls/select-attribute/switchselect.mdx +0 -4
  632. package/dist/docs/controls/select-attribute/toggleselect.mdx +0 -4
  633. package/dist/docs/controls/select-child-entity/cardselect.mdx +2 -6
  634. package/dist/docs/controls/select-child-entity/listselect.mdx +5 -11
  635. package/dist/docs/controls/select-child-entity/toggleselect.mdx +4 -10
  636. package/dist/docs/controls/text-input.mdx +90 -19
  637. package/dist/docs/demos/glass.mdx +0 -4
  638. package/dist/docs/demos/heater.mdx +0 -10
  639. package/dist/docs/demos/office-chair.mdx +0 -8
  640. package/dist/docs/demos/office-desk.mdx +0 -8
  641. package/dist/docs/demos/ring.mdx +0 -9
  642. package/dist/docs/dimensions/3d-scene-integration/angle-indicators.mdx +0 -2
  643. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +0 -2
  644. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +0 -14
  645. package/dist/docs/dimensions/3d-scene-integration/editable-offset-indicator.mdx +0 -6
  646. package/dist/docs/dimensions/3d-scene-integration/editable-size-indicator.mdx +0 -4
  647. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +0 -16
  648. package/dist/docs/dimensions/3d-scene-integration/offset-indicator.mdx +0 -6
  649. package/dist/docs/dimensions/3d-scene-integration/overlap-offset-demo.mdx +0 -6
  650. package/dist/docs/dimensions/basic-concepts/dimension-data-unit.mdx +0 -12
  651. package/dist/docs/dimensions/basic-concepts/dimension-unit-config.mdx +0 -12
  652. package/dist/docs/dimensions/input-controls/distance-input.mdx +0 -12
  653. package/dist/docs/dimensions/input-controls/distance-slider.mdx +6 -18
  654. package/dist/docs/dimensions/selection-controls/list-selector.mdx +0 -14
  655. package/dist/docs/dimensions/selection-controls/toggle-selector.mdx +0 -14
  656. package/dist/docs/drag-and-drop/drag-handle.mdx +0 -1
  657. package/dist/docs/drag-and-drop/hotspot-handle.mdx +0 -1
  658. package/dist/docs/drag-and-drop/no-selection.mdx +0 -1
  659. package/dist/docs/drag-and-drop/planes.mdx +0 -3
  660. package/dist/docs/drag-and-drop/room-planner.mdx +1 -7
  661. package/dist/docs/drag-and-drop/rotatable.mdx +0 -1
  662. package/dist/docs/drag-and-drop/snapping/auto-rotation-demo.mdx +0 -2
  663. package/dist/docs/drag-and-drop/snapping/label-matching-demo.mdx +0 -2
  664. package/dist/docs/drag-and-drop/snapping/multi-snap-composition-demo.mdx +0 -2
  665. package/dist/docs/drag-and-drop/snapping/nested-entity-demo.mdx +0 -2
  666. package/dist/docs/drag-and-drop/snapping/priority-demo.mdx +0 -2
  667. package/dist/docs/drag-and-drop/snapping/snap-axis-demo.mdx +0 -2
  668. package/dist/docs/drag-and-drop/snapping/snap-edge-demo.mdx +0 -2
  669. package/dist/docs/drag-and-drop/snapping/snap-plane-demo.mdx +0 -5
  670. package/dist/docs/drag-and-drop/snapping/snap-point-demo.mdx +0 -2
  671. package/dist/docs/drag-and-drop/spatial-constraints/collision-system.mdx +0 -2
  672. package/dist/docs/drag-and-drop/spatial-constraints/disjoint-and-within.mdx +0 -6
  673. package/dist/docs/drag-and-drop/spatial-constraints/geometry-override.mdx +0 -4
  674. package/dist/docs/drag-and-drop/spatial-constraints/multiple-collision-meshes.mdx +0 -4
  675. package/dist/docs/drag-and-drop/spatial-constraints/touches.mdx +0 -4
  676. package/dist/docs/drag-and-drop/swap.mdx +0 -4
  677. package/dist/docs/fabs/basic.mdx +6 -12
  678. package/dist/docs/fabs/layout.mdx +0 -7
  679. package/dist/docs/index.json +6 -6
  680. package/dist/docs/integrations/lifecycle-providers.mdx +0 -12
  681. package/dist/docs/integrations/onloadprovider.mdx +0 -3
  682. package/dist/docs/integrations/webcomponent-api/basics.mdx +6 -2
  683. package/dist/docs/integrations/webcomponent-api/preset-tags.mdx +4 -1
  684. package/dist/docs/integrations/woocommerce/overview.mdx +4 -2
  685. package/dist/docs/layouts/custom-layout.mdx +1 -41
  686. package/dist/docs/layouts/custom-price.mdx +0 -2
  687. package/dist/docs/layouts/custom-theme-handler.mdx +0 -4
  688. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3 -34
  689. package/dist/docs/layouts/gallery/corvid-drone.mdx +0 -29
  690. package/dist/docs/layouts/gallery/fenwick-window.mdx +0 -25
  691. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +0 -27
  692. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +0 -29
  693. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +33 -51
  694. package/dist/docs/layouts/gallery/sunfold-solar.mdx +0 -26
  695. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +203 -77
  696. package/dist/docs/layouts/header/custom.mdx +0 -2
  697. package/dist/docs/layouts/icon-sets.mdx +0 -6
  698. package/dist/docs/layouts/phoenix-elements.mdx +0 -4
  699. package/dist/docs/layouts/phoenix-handlers.mdx +19 -28
  700. package/dist/docs/layouts/presets/action-and-overlay.mdx +0 -8
  701. package/dist/docs/layouts/presets/custom.mdx +6 -13
  702. package/dist/docs/layouts/preview/always-expand.mdx +4 -14
  703. package/dist/docs/layouts/preview/always.mdx +4 -14
  704. package/dist/docs/layouts/preview/auto-presets.mdx +4 -14
  705. package/dist/docs/layouts/preview/auto.mdx +4 -14
  706. package/dist/docs/layouts/preview/never.mdx +4 -14
  707. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +18 -13
  708. package/dist/docs/layouts/sidebar/property-page-stack.mdx +0 -2
  709. package/dist/docs/layouts/sidebar/property-page.mdx +0 -2
  710. package/dist/docs/layouts/sidebar/tabs.mdx +0 -4
  711. package/dist/docs/layouts/sidebar-footer/custom.mdx +0 -2
  712. package/dist/docs/layouts/sidebar-footer/universal.mdx +0 -10
  713. package/dist/docs/layouts/tool-controls.mdx +0 -1
  714. package/dist/docs/layouts/toolbar.mdx +0 -4
  715. package/dist/docs/layouts/universal.mdx +2 -22
  716. package/dist/docs/other-features/client-side-rendering/camera-padding.mdx +0 -2
  717. package/dist/docs/other-features/client-side-rendering/custom.mdx +0 -6
  718. package/dist/docs/other-features/client-side-rendering/declarative.mdx +0 -4
  719. package/dist/docs/other-features/client-side-rendering/postprocessing.mdx +0 -6
  720. package/dist/docs/other-features/component-filters.mdx +0 -7
  721. package/dist/docs/other-features/currency.mdx +5 -6
  722. package/dist/docs/other-features/domain-actions.mdx +33 -7
  723. package/dist/docs/other-features/dynamic-component-attachments.mdx +75 -46
  724. package/dist/docs/other-features/error-5xx.mdx +0 -14
  725. package/dist/docs/other-features/navigation-hotspot.mdx +0 -5
  726. package/dist/docs/other-features/not-found-404.mdx +0 -14
  727. package/dist/docs/other-features/projected-entities.mdx +0 -5
  728. package/dist/docs/other-features/side-effects.mdx +0 -23
  729. package/dist/docs/other-features/transformers.mdx +101 -96
  730. package/dist/docs/other-features/violation-messages.mdx +0 -4
  731. package/dist/docs/other-features/violation-severity.mdx +2 -3
  732. package/dist/docs/performance/clone-highlight.mdx +0 -7
  733. package/dist/docs/performance/dynamic-components.mdx +0 -6
  734. package/dist/docs/performance/editable-dimension-stress-test.mdx +0 -2
  735. package/dist/docs/performance/fast-highlight.mdx +0 -7
  736. package/dist/docs/performance/general.mdx +0 -7
  737. package/dist/docs/performance/render-isolation.mdx +0 -6
  738. package/dist/docs/phoenix/admin.mdx +105 -134
  739. package/dist/docs/phoenix/application-states.mdx +45 -27
  740. package/dist/docs/phoenix/blender-rendering.mdx +3 -1
  741. package/dist/docs/phoenix/components.mdx +53 -46
  742. package/dist/docs/phoenix/configurator-interface.mdx +273 -117
  743. package/dist/docs/phoenix/data-sources.mdx +61 -37
  744. package/dist/docs/phoenix/deployments.mdx +11 -1
  745. package/dist/docs/phoenix/domain-model.mdx +24 -16
  746. package/dist/docs/phoenix/expression-context.mdx +3 -29
  747. package/dist/docs/phoenix/finalization.mdx +2 -1
  748. package/dist/docs/phoenix/getting-started.mdx +0 -2
  749. package/dist/docs/phoenix/integration/authentication-internal.mdx +2 -2
  750. package/dist/docs/phoenix/integration/finalization-internal.mdx +1 -1
  751. package/dist/docs/phoenix/layout-slots.mdx +21 -0
  752. package/dist/docs/phoenix/localization.mdx +66 -55
  753. package/dist/docs/phoenix/migration-guide.mdx +10 -11
  754. package/dist/docs/phoenix/phoenix-cli.mdx +66 -20
  755. package/dist/docs/phoenix/project-structure.mdx +58 -61
  756. package/dist/docs/phoenix/quickstart.mdx +1 -3
  757. package/dist/docs/phoenix/sdk-builder-workflow.mdx +12 -16
  758. package/dist/docs/phoenix/sessions-and-access.mdx +52 -34
  759. package/dist/docs/phoenix/sharing.mdx +1 -1
  760. package/dist/docs/phoenix/state-management.mdx +18 -16
  761. package/dist/docs/phoenix/testing.mdx +6 -1
  762. package/dist/docs/phoenix/webhooks.mdx +373 -241
  763. package/dist/docs/recipes-and-delete/delete-entity.mdx +3 -6
  764. package/dist/docs/recipes-and-delete/dynamic-root-entity.mdx +0 -2
  765. package/dist/docs/recipes-and-delete/grouped-button.mdx +0 -3
  766. package/dist/docs/recipes-and-delete/grouped-panel.mdx +0 -3
  767. package/dist/docs/recipes-and-delete/horizontal.mdx +3 -6
  768. package/dist/docs/recipes-and-delete/recipe-hierarchy-lists.mdx +0 -3
  769. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +0 -5
  770. package/dist/docs/recipes-and-delete/replace-dropdown.mdx +3 -6
  771. package/dist/docs/recipes-and-delete/replace-panel.mdx +0 -7
  772. package/dist/docs/recipes-and-delete/simple.mdx +3 -6
  773. package/dist/docs/recipes-and-delete/vertical.mdx +3 -6
  774. package/dist/docs/relations/aliases.mdx +0 -2
  775. package/dist/docs/relations/all-of-type.mdx +0 -4
  776. package/dist/docs/relations/child-nullable.mdx +0 -4
  777. package/dist/docs/relations/child-required.mdx +0 -2
  778. package/dist/docs/relations/collection-direct.mdx +0 -4
  779. package/dist/docs/relations/collection-indirect.mdx +0 -4
  780. package/dist/docs/relations/collection-multiple.mdx +0 -2
  781. package/dist/docs/relations/cross-reference.mdx +0 -2
  782. package/dist/docs/relations/hierarchy.mdx +0 -2
  783. package/dist/docs/selection-and-highlight/canvas.mdx +0 -1
  784. package/dist/docs/selection-and-highlight/disable-highlight-per-object.mdx +0 -1
  785. package/dist/docs/selection-and-highlight/disable-highlight.mdx +0 -1
  786. package/dist/docs/selection-and-highlight/effects/outline.mdx +0 -3
  787. package/dist/docs/selection-and-highlight/effects/overlay.mdx +0 -3
  788. package/dist/docs/selection-and-highlight/fast-emissive-highlight.mdx +0 -3
  789. package/dist/docs/selection-and-highlight/group-highlighting.mdx +0 -1
  790. package/dist/docs/selection-and-highlight/hierarchy.mdx +100 -151
  791. package/dist/docs/selection-and-highlight/hotspots.mdx +0 -1
  792. package/dist/domain/admin-domain/index.d.ts +2 -2
  793. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  794. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  795. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  796. package/dist/domain/application/application-config.d.ts +6 -26
  797. package/dist/domain/application/assistant/assistant-fields.d.ts +1 -1
  798. package/dist/domain/application/assistant/assistant-value-type.d.ts +1 -1
  799. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +1 -2
  800. package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
  801. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +1 -2
  802. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  803. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -2
  804. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  805. package/dist/domain/application/assistant/index.d.ts +0 -4
  806. package/dist/domain/application/assistant/index.js +1 -1
  807. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +1 -1
  808. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +1 -1
  809. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  810. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +3 -5
  811. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  812. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +1 -2
  813. package/dist/domain/application/assistant-field-options.d.ts +1 -1
  814. package/dist/domain/application/assistant-mutations.d.ts +1 -1
  815. package/dist/domain/application/assistant-mutations.js +1 -1
  816. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  817. package/dist/domain/application/configurator-builder.d.ts +44 -39
  818. package/dist/domain/application/configurator-builder.js +1 -1
  819. package/dist/domain/application/create-initial-published-data.d.ts +2 -1
  820. package/dist/domain/application/index.d.ts +1 -1
  821. package/dist/domain/application/index.js +1 -1
  822. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  823. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  824. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  825. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  826. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  827. package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
  828. package/dist/domain/available-system-components/available-system-components.js +1 -0
  829. package/dist/domain/available-system-components/index.d.ts +1 -0
  830. package/dist/domain/available-system-components/index.js +1 -0
  831. package/dist/domain/core/action/index.d.ts +0 -1
  832. package/dist/domain/core/action/index.js +1 -1
  833. package/dist/domain/core/domain.js +1 -1
  834. package/dist/domain/core/index.d.ts +1 -1
  835. package/dist/domain/core/index.js +1 -1
  836. package/dist/domain/core/invariant/violation.d.ts +3 -2
  837. package/dist/domain/{domain-builder.d.ts → domain-builder/domain-builder.d.ts} +2 -2
  838. package/dist/domain/domain-builder/domain-builder.js +1 -0
  839. package/dist/domain/domain-builder/index.d.ts +1 -0
  840. package/dist/domain/domain-builder/index.js +1 -0
  841. package/dist/domain/domain-context/action-system/action-system.d.ts +32 -6
  842. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  843. package/dist/domain/domain-context/domain-context-systems.d.ts +1 -1
  844. package/dist/domain/domain-context/transformers/context.d.ts +4 -2
  845. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -1
  846. package/dist/domain/domain-runtime/action-factory.d.ts +11 -0
  847. package/dist/domain/domain-runtime/application.d.ts +39 -0
  848. package/dist/domain/domain-runtime/application.js +1 -0
  849. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +5 -5
  850. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +2 -0
  851. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  852. package/dist/domain/domain-runtime/domain-runtime.d.ts +54 -28
  853. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  854. package/dist/domain/domain-runtime/environment/actions.d.ts +1 -0
  855. package/dist/domain/domain-runtime/environment/actions.js +1 -1
  856. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  857. package/dist/domain/domain-runtime/environment/initialize.js +1 -1
  858. package/dist/domain/domain-runtime/environment/selectors.d.ts +2 -0
  859. package/dist/domain/domain-runtime/environment/selectors.js +1 -1
  860. package/dist/domain/domain-runtime/environment/types.d.ts +6 -0
  861. package/dist/domain/domain-runtime/index.d.ts +2 -1
  862. package/dist/domain/domain-runtime/index.js +1 -1
  863. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +1 -1
  864. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -1
  865. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  866. package/dist/domain/domain-runtime/spec/index.js +1 -1
  867. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  868. package/dist/domain/domain-runtime/spec/{module-checks/resolve-imported-transformers.d.ts → resolve-imported-transformers.d.ts} +3 -3
  869. package/dist/domain/domain-runtime/spec/resolve-imported-transformers.js +1 -0
  870. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -5
  871. package/dist/domain/domain-runtime/spec/types.d.ts +2 -2
  872. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +6 -0
  873. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -1
  874. package/dist/domain/extensions/export-images/index.d.ts +1 -1
  875. package/dist/domain/extensions/export-images/index.js +1 -1
  876. package/dist/domain/extensions/index.d.ts +1 -1
  877. package/dist/domain/extensions/index.js +1 -1
  878. package/dist/domain/extensions/scene-entity-delete-fab.d.ts +1 -1
  879. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -1
  880. package/dist/domain/index.d.ts +15 -2
  881. package/dist/domain/index.js +1 -1
  882. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +5 -0
  883. package/dist/domain/mocks/create-test-application-config.d.ts +1 -1
  884. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  885. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  886. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  887. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  888. package/dist/domain/spec/application/configurator-states.js +1 -0
  889. package/dist/domain/spec/application/index.d.ts +5 -0
  890. package/dist/domain/spec/application/index.js +1 -0
  891. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  892. package/dist/domain/spec/components/bindings/index.js +1 -0
  893. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  894. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  895. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  896. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  897. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
  898. package/dist/domain/spec/components/component-entry.js +1 -0
  899. package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
  900. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  901. package/dist/domain/spec/components/component-filters.js +1 -0
  902. package/dist/domain/spec/components/components.d.ts +4 -0
  903. package/dist/domain/spec/components/components.js +1 -0
  904. package/dist/domain/spec/components/index.d.ts +6 -0
  905. package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
  906. package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
  907. package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
  908. package/dist/domain/spec/enhanced-json/index.js +1 -0
  909. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
  910. package/dist/domain/spec/expressions/expression.js +1 -0
  911. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  912. package/dist/domain/spec/expressions/expressions.js +1 -0
  913. package/dist/domain/spec/expressions/index.d.ts +5 -0
  914. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  915. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  916. package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +1 -1
  917. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  918. package/dist/domain/spec/index.d.ts +4 -0
  919. package/dist/domain/spec/index.js +1 -0
  920. package/dist/domain/spec/invariants/index.d.ts +2 -0
  921. package/dist/domain/spec/invariants/index.js +1 -0
  922. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  923. package/dist/domain/spec/invariants/invariant.js +1 -0
  924. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  925. package/dist/domain/spec/invariants/invariants.js +1 -0
  926. package/dist/domain/spec/json-schema.d.ts +52 -0
  927. package/dist/domain/spec/json-schema.js +1 -0
  928. package/dist/domain/spec/markers/index.d.ts +3 -0
  929. package/dist/domain/spec/markers/index.js +1 -0
  930. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  931. package/dist/domain/spec/markers/msg-marker.js +1 -0
  932. package/dist/domain/spec/model/aliases.d.ts +9 -0
  933. package/dist/domain/spec/model/aliases.js +1 -0
  934. package/dist/domain/spec/model/common-types.d.ts +15 -0
  935. package/dist/domain/spec/model/common-types.js +1 -0
  936. package/dist/domain/spec/model/defaults.d.ts +33 -0
  937. package/dist/domain/spec/model/defaults.js +1 -0
  938. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  939. package/dist/domain/spec/model/entity-types.js +1 -0
  940. package/dist/domain/spec/model/index.d.ts +7 -0
  941. package/dist/domain/spec/model/index.js +1 -0
  942. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  943. package/dist/domain/spec/model/model-version-key.js +1 -0
  944. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  945. package/dist/domain/spec/model/names/action-name.js +1 -0
  946. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  947. package/dist/domain/spec/model/names/alias-name.js +1 -0
  948. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  949. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  950. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  951. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  952. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  953. package/dist/domain/spec/model/names/expression-name.js +1 -0
  954. package/dist/domain/spec/model/names/index.d.ts +9 -0
  955. package/dist/domain/spec/model/names/index.js +1 -0
  956. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  957. package/dist/domain/spec/model/names/instance-name.js +1 -0
  958. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  959. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  960. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  961. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  962. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  963. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  964. package/dist/domain/spec/model/presets.d.ts +30 -0
  965. package/dist/domain/spec/model/presets.js +1 -0
  966. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.d.ts +1 -1
  967. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/find-assistant-form-element-errors.d.ts +1 -1
  968. package/dist/domain/spec/modules/find-assistant-form-element-errors.js +1 -0
  969. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/index.d.ts +2 -3
  970. package/dist/domain/spec/modules/index.js +1 -0
  971. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/merge-expression-modules.d.ts +2 -2
  972. package/dist/domain/spec/modules/merge-expression-modules.js +1 -0
  973. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/project-modules.d.ts +1 -1
  974. package/dist/domain/spec/modules/project-modules.js +1 -0
  975. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.d.ts +1 -1
  976. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.d.ts +1 -1
  977. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.d.ts +1 -1
  978. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.d.ts +1 -1
  979. package/dist/domain/spec/phx/index.d.ts +1 -0
  980. package/dist/domain/spec/phx/index.js +1 -0
  981. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-application-types.d.ts +1 -1
  982. package/dist/domain/spec/phx/phx-application-types.js +1 -0
  983. package/dist/domain/spec/phx/phx-domain.js +1 -0
  984. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-model.d.ts +2 -2
  985. package/dist/domain/spec/phx/phx-model.js +1 -0
  986. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.d.ts +1 -2
  987. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-runtime.d.ts +9 -6
  988. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.js +1 -0
  989. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-spec-runtime.d.ts +2 -2
  990. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  991. package/dist/domain/spec/runtime/admin-runtime/index.d.ts +2 -0
  992. package/dist/domain/spec/runtime/admin-runtime/index.js +1 -0
  993. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.d.ts +1 -1
  994. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-runtime.d.ts +13 -6
  995. package/dist/domain/spec/runtime/application-runtime.js +1 -0
  996. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-spec-slice.d.ts +5 -2
  997. package/dist/domain/spec/runtime/application-spec-slice.js +1 -0
  998. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-runtime.d.ts +10 -10
  999. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.js +1 -0
  1000. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-spec-runtime.d.ts +2 -2
  1001. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  1002. package/dist/domain/spec/runtime/configurator-runtime/index.d.ts +2 -0
  1003. package/dist/domain/spec/runtime/configurator-runtime/index.js +1 -0
  1004. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.d.ts +1 -1
  1005. package/dist/domain/spec/runtime/create-application.d.ts +58 -0
  1006. package/dist/domain/spec/runtime/create-application.js +1 -0
  1007. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/expression-runtime.d.ts +5 -3
  1008. package/dist/domain/spec/runtime/expressions/expression-runtime.js +1 -0
  1009. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/generate-memo-eval-plan-runtime.d.ts +2 -2
  1010. package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.js +1 -0
  1011. package/dist/domain/spec/runtime/expressions/index.d.ts +3 -0
  1012. package/dist/domain/spec/runtime/expressions/index.js +1 -0
  1013. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.d.ts +2 -1
  1014. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.d.ts +4 -3
  1015. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.d.ts +1 -1
  1016. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.js +1 -1
  1017. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.d.ts +2 -2
  1018. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.js +1 -1
  1019. package/dist/{application-spec/generate-application → domain/spec}/runtime/generate-runtime-instance.d.ts +1 -1
  1020. package/dist/domain/spec/runtime/generate-runtime-instance.js +1 -0
  1021. package/dist/domain/spec/runtime/index.d.ts +13 -0
  1022. package/dist/domain/spec/runtime/index.js +1 -0
  1023. package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/migration-runtime.d.ts +2 -2
  1024. package/dist/domain/spec/runtime/migrations/migration-runtime.js +1 -0
  1025. package/dist/{application-spec/generate-application/runtime/admin-runtime → domain/spec/runtime/model}/admin-model-runtime.d.ts +4 -3
  1026. package/dist/domain/spec/runtime/model/admin-model-runtime.js +1 -0
  1027. package/dist/{application-spec/generate-application/runtime/configurator-runtime → domain/spec/runtime/model}/configurator-model-runtime.d.ts +4 -3
  1028. package/dist/domain/spec/runtime/model/configurator-model-runtime.js +1 -0
  1029. package/dist/domain/spec/runtime/model/index.d.ts +2 -0
  1030. package/dist/domain/spec/runtime/model/index.js +1 -0
  1031. package/dist/domain/spec/runtime/optics/build-sdk-optic.d.ts +7 -0
  1032. package/dist/domain/spec/runtime/optics/build-sdk-optic.js +1 -0
  1033. package/dist/domain/spec/runtime/optics/build-user-bound-optic.d.ts +7 -0
  1034. package/dist/domain/spec/runtime/optics/build-user-bound-optic.js +1 -0
  1035. package/dist/domain/spec/runtime/optics/built-component-optic.d.ts +11 -0
  1036. package/dist/domain/spec/runtime/optics/built-component-optic.js +1 -0
  1037. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.d.ts +4 -14
  1038. package/dist/domain/spec/runtime/optics/index.d.ts +2 -0
  1039. package/dist/domain/spec/runtime/optics/index.js +1 -0
  1040. package/dist/{application-spec/caching → domain/spec/runtime}/runtime-reference-store.d.ts +1 -5
  1041. package/dist/domain/spec/runtime/runtime-reference-store.js +1 -0
  1042. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.d.ts +3 -3
  1043. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.d.ts +2 -2
  1044. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.d.ts +1 -1
  1045. package/dist/domain/spec/runtime/sections/index.d.ts +6 -0
  1046. package/dist/domain/spec/runtime/sections/index.js +1 -0
  1047. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.d.ts +4 -4
  1048. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.d.ts +1 -1
  1049. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.d.ts +2 -2
  1050. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  1051. package/dist/domain/spec/runtime/spec-code/spec-code-module.js +1 -0
  1052. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-runtime.d.ts +3 -3
  1053. package/dist/domain/spec/runtime/spec-runtime.js +1 -0
  1054. package/dist/domain/spec/runtime-spec/index.d.ts +4 -0
  1055. package/dist/domain/spec/runtime-spec/index.js +1 -0
  1056. package/dist/domain/spec/runtime-spec/runtime-spec.d.ts +174 -0
  1057. package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.d.ts +1 -1
  1058. package/dist/domain/spec/sections/actions.d.ts +23 -0
  1059. package/dist/domain/spec/sections/actions.js +1 -0
  1060. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  1061. package/dist/domain/spec/sections/app-metadata.js +1 -0
  1062. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  1063. package/dist/domain/spec/sections/application-version.js +1 -0
  1064. package/dist/domain/{application → spec/sections}/assistant/assistant-manifest.d.ts +13 -3
  1065. package/dist/domain/{application → spec/sections}/assistant/assistant-resolved-manifest.d.ts +16 -19
  1066. package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.js +1 -0
  1067. package/dist/domain/spec/sections/assistant/index.d.ts +4 -0
  1068. package/dist/domain/spec/sections/assistant/index.js +1 -0
  1069. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  1070. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  1071. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  1072. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  1073. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  1074. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  1075. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  1076. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  1077. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  1078. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  1079. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  1080. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  1081. package/dist/domain/spec/sections/index.d.ts +10 -0
  1082. package/dist/domain/spec/sections/index.js +1 -0
  1083. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  1084. package/dist/domain/spec/sections/infra/acl.js +1 -0
  1085. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  1086. package/dist/domain/spec/sections/infra/index.js +1 -0
  1087. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  1088. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  1089. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  1090. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  1091. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  1092. package/dist/domain/spec/sections/state-value.js +1 -0
  1093. package/dist/domain/spec/sections/theme.d.ts +10 -0
  1094. package/dist/domain/spec/sections/theme.js +1 -0
  1095. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  1096. package/dist/domain/spec/sections/transformers.js +1 -0
  1097. package/dist/domain/spec/sections/ui.d.ts +12 -0
  1098. package/dist/domain/spec/sections/ui.js +1 -0
  1099. package/dist/domain/system-components/phoenix-entity-elements/child-entity-card-selector.d.ts +2 -3
  1100. package/dist/domain/system-components/phoenix-entity-elements/child-entity-list-selector.d.ts +2 -3
  1101. package/dist/domain/system-components/phoenix-entity-elements/child-entity-toggle-selector.d.ts +2 -3
  1102. package/dist/domain/system-definitions.js +1 -1
  1103. package/dist/domain/utils/index.d.ts +2 -0
  1104. package/dist/domain/utils/index.js +1 -0
  1105. package/dist/editor/Editor.d.ts +5 -0
  1106. package/dist/editor/Editor.js +1 -1
  1107. package/dist/editor/EditorMode.d.ts +2 -0
  1108. package/dist/editor/EditorMode.js +1 -1
  1109. package/dist/editor/agent-mode/AgentModeBridge.d.ts +10 -0
  1110. package/dist/editor/agent-mode/AgentModeBridge.js +1 -0
  1111. package/dist/editor/agent-mode/agent-at-work-fonts.d.ts +2 -0
  1112. package/dist/editor/agent-mode/agent-at-work-fonts.js +1 -0
  1113. package/dist/editor/console-reporter/BrowserConsoleReporter.js +1 -1
  1114. package/dist/editor/console-reporter/console-capture.d.ts +20 -0
  1115. package/dist/editor/console-reporter/console-capture.js +1 -0
  1116. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  1117. package/dist/editor/index.d.ts +1 -0
  1118. package/dist/editor/index.js +1 -1
  1119. package/dist/editor/variants/VariantAnswerFooter.d.ts +8 -1
  1120. package/dist/editor/variants/VariantAnswerFooter.js +1 -1
  1121. package/dist/editor/variants/VariantPageUnavailable.d.ts +5 -0
  1122. package/dist/editor/variants/VariantPageUnavailable.js +1 -0
  1123. package/dist/editor/variants/VariantPreviewHandler.js +1 -1
  1124. package/dist/editor/variants/variant-preview-fonts.d.ts +2 -0
  1125. package/dist/editor/variants/variant-preview-fonts.js +1 -0
  1126. package/dist/editor/variants/variant-preview-styles.d.ts +40 -48
  1127. package/dist/editor/variants/variant-preview-styles.js +493 -1
  1128. package/dist/i18n/locales/cs/messages.js +1 -1
  1129. package/dist/i18n/locales/da/messages.js +1 -1
  1130. package/dist/i18n/locales/de/messages.js +1 -1
  1131. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1132. package/dist/i18n/locales/en/messages.js +1 -1
  1133. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1134. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1135. package/dist/i18n/locales/es/messages.js +1 -1
  1136. package/dist/i18n/locales/fr/messages.js +1 -1
  1137. package/dist/i18n/locales/hu/messages.js +1 -1
  1138. package/dist/i18n/locales/it/messages.js +1 -1
  1139. package/dist/i18n/locales/nl/messages.js +1 -1
  1140. package/dist/i18n/locales/pl/messages.js +1 -1
  1141. package/dist/i18n/locales/pt/messages.js +1 -1
  1142. package/dist/i18n/locales/ro/messages.js +1 -1
  1143. package/dist/i18n/locales/sk/messages.js +1 -1
  1144. package/dist/i18n/locales/tr/messages.js +1 -1
  1145. package/dist/i18n/merge-catalogs.d.ts +4 -1
  1146. package/dist/i18n/merge-catalogs.js +1 -1
  1147. package/dist/legacy/domain-cli/gen/configurator-builder.js +5 -4
  1148. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1149. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1150. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +4 -2
  1151. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/i18n-index.js +3 -3
  1152. package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
  1153. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
  1154. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
  1155. package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
  1156. package/dist/phoenix/application-spec/application-spec-builder.d.ts +2 -2
  1157. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1158. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +3 -1
  1159. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1160. package/dist/phoenix/application-spec/generate-project-files.d.ts +4 -2
  1161. package/dist/phoenix/application-spec/generate-project-files.js +1 -1
  1162. package/dist/phoenix/application-spec/index.d.ts +3 -0
  1163. package/dist/phoenix/application-spec/index.js +1 -1
  1164. package/dist/phoenix/application-spec/project-files.d.ts +8 -2
  1165. package/dist/phoenix/application-spec/project-files.js +1 -1
  1166. package/dist/phoenix/application-spec/read-spec-project.d.ts +1 -2
  1167. package/dist/phoenix/application-spec/read-spec-project.js +1 -1
  1168. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  1169. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1170. package/dist/phoenix/bin.js +1 -1
  1171. package/dist/phoenix/cli.js +1 -1
  1172. package/dist/phoenix/commands/activate-deployment.js +1 -1
  1173. package/dist/phoenix/commands/build.d.ts +2 -1
  1174. package/dist/phoenix/commands/build.js +1 -1
  1175. package/dist/phoenix/commands/changelog.js +1 -1
  1176. package/dist/phoenix/commands/check.js +1 -1
  1177. package/dist/phoenix/commands/clean.d.ts +2 -1
  1178. package/dist/phoenix/commands/clean.js +1 -1
  1179. package/dist/phoenix/commands/cleanup-environment.js +2 -2
  1180. package/dist/phoenix/commands/create-environment.js +1 -1
  1181. package/dist/phoenix/commands/data.js +1 -1
  1182. package/dist/phoenix/commands/deploy.js +3 -3
  1183. package/dist/phoenix/commands/deployment-build-envs-command.js +1 -1
  1184. package/dist/phoenix/commands/dev.d.ts +2 -1
  1185. package/dist/phoenix/commands/dev.js +4 -5
  1186. package/dist/phoenix/commands/docs.js +1 -1
  1187. package/dist/phoenix/commands/finish-deployment-command.js +1 -1
  1188. package/dist/phoenix/commands/fix.js +1 -1
  1189. package/dist/phoenix/commands/index.d.ts +1 -1
  1190. package/dist/phoenix/commands/index.js +1 -1
  1191. package/dist/phoenix/commands/inspect-assets.js +1 -1
  1192. package/dist/phoenix/commands/list-environments.js +1 -1
  1193. package/dist/phoenix/commands/login.d.ts +4 -1
  1194. package/dist/phoenix/commands/login.js +2 -2
  1195. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  1196. package/dist/phoenix/commands/register-deployment.js +1 -1
  1197. package/dist/phoenix/commands/scene.js +1 -1
  1198. package/dist/phoenix/commands/screenshot.js +1 -1
  1199. package/dist/phoenix/commands/state.js +1 -1
  1200. package/dist/phoenix/commands/story-build.js +3 -3
  1201. package/dist/phoenix/commands/story-create.js +1 -1
  1202. package/dist/phoenix/commands/story-dev.js +2 -2
  1203. package/dist/phoenix/commands/sync.d.ts +2 -1
  1204. package/dist/phoenix/commands/sync.js +1 -1
  1205. package/dist/phoenix/commands/variants.js +1 -1
  1206. package/dist/phoenix/editor-server/commands-router.js +1 -1
  1207. package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
  1208. package/dist/phoenix/editor-server/editor-server.js +1 -1
  1209. package/dist/phoenix/editor-server/spec-router.js +1 -1
  1210. package/dist/phoenix/editor-server/trpc.d.ts +2 -12
  1211. package/dist/phoenix/lingui/index.d.ts +1 -0
  1212. package/dist/phoenix/lingui/index.js +1 -0
  1213. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  1214. package/dist/phoenix/lingui/lingui.js +1 -0
  1215. package/dist/phoenix/scripts/docs-utils.js +1 -1
  1216. package/dist/phoenix/services/application-spec-project-watcher.d.ts +14 -7
  1217. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  1218. package/dist/phoenix/services/cli-credentials.d.ts +3 -0
  1219. package/dist/phoenix/services/cli-credentials.js +1 -1
  1220. package/dist/phoenix/services/cli-exit.d.ts +5 -0
  1221. package/dist/phoenix/services/cli-exit.js +1 -0
  1222. package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
  1223. package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
  1224. package/dist/phoenix/{commands → services/deployment}/generated-env-markers.d.ts +1 -0
  1225. package/dist/phoenix/services/deployment/generated-env-markers.js +1 -0
  1226. package/dist/phoenix/services/deployment/index.d.ts +2 -0
  1227. package/dist/phoenix/services/deployment/index.js +1 -0
  1228. package/dist/phoenix/services/dev-experience/dev-experience.d.ts +31 -0
  1229. package/dist/phoenix/services/dev-experience/dev-experience.js +1 -0
  1230. package/dist/phoenix/services/dev-experience/index.d.ts +3 -0
  1231. package/dist/phoenix/services/dev-experience/index.js +1 -0
  1232. package/dist/phoenix/services/dev-experience/read-explicit-editor-setting.d.ts +7 -0
  1233. package/dist/phoenix/services/dev-experience/read-explicit-editor-setting.js +1 -0
  1234. package/dist/phoenix/services/dev-experience/regenerated-page-experience.d.ts +24 -0
  1235. package/dist/phoenix/services/dev-experience/regenerated-page-experience.js +1 -0
  1236. package/dist/phoenix/services/index.d.ts +7 -2
  1237. package/dist/phoenix/services/index.js +1 -1
  1238. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1239. package/dist/phoenix/services/phoenix-pubsub.d.ts +4 -0
  1240. package/dist/phoenix/services/phoenix-store.d.ts +3 -0
  1241. package/dist/phoenix/services/phoenix-store.js +1 -1
  1242. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1243. package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
  1244. package/dist/phoenix/services/session/editor-server-handle.js +1 -0
  1245. package/dist/phoenix/services/session/index.d.ts +2 -0
  1246. package/dist/phoenix/services/session/index.js +1 -0
  1247. package/dist/phoenix/services/session/phoenix-application.d.ts +83 -0
  1248. package/dist/phoenix/services/session/phoenix-application.js +2 -0
  1249. package/dist/phoenix/services/source-archive.d.ts +2 -0
  1250. package/dist/phoenix/services/source-archive.js +1 -1
  1251. package/dist/phoenix/services/swc.d.ts +5 -4
  1252. package/dist/phoenix/services/swc.js +2 -2
  1253. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.d.ts +9 -0
  1254. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.js +1 -0
  1255. package/dist/phoenix/services/telemetry/index.d.ts +3 -0
  1256. package/dist/phoenix/services/telemetry/index.js +1 -0
  1257. package/dist/phoenix/services/telemetry/telemetry-client.d.ts +25 -0
  1258. package/dist/phoenix/services/telemetry/telemetry-client.js +1 -0
  1259. package/dist/phoenix/services/telemetry/telemetry-command.d.ts +2 -0
  1260. package/dist/phoenix/services/telemetry/telemetry-command.js +1 -0
  1261. package/dist/phoenix/services/telemetry/telemetry-event.d.ts +44 -0
  1262. package/dist/phoenix/services/telemetry/telemetry-event.js +1 -0
  1263. package/dist/phoenix/services/telemetry/telemetry-state.d.ts +25 -0
  1264. package/dist/phoenix/services/telemetry/telemetry-state.js +2 -0
  1265. package/dist/phoenix/services/vite-config.d.ts +2 -1
  1266. package/dist/phoenix/services/vite-config.js +1 -1
  1267. package/dist/phoenix/services/webhook-service/transport.js +1 -1
  1268. package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
  1269. package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
  1270. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1271. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1272. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1273. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +2 -0
  1274. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -1
  1275. package/dist/react-sdk/application-runtime/hooks/use-environment.d.ts +7 -0
  1276. package/dist/react-sdk/application-runtime/hooks/use-environment.js +1 -1
  1277. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1278. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +6 -0
  1279. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -1
  1280. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -1
  1281. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -1
  1282. package/dist/react-sdk/application-runtime/responsive/types.d.ts +9 -0
  1283. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +35 -6
  1284. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1285. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  1286. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1287. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  1288. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1289. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1290. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  1291. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  1292. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1293. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
  1294. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
  1295. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
  1296. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
  1297. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
  1298. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
  1299. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
  1300. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
  1301. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
  1302. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
  1303. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
  1304. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
  1305. package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
  1306. package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
  1307. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1308. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1309. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1310. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1311. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1312. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1313. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1314. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1315. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1316. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +4 -3
  1317. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.d.ts +6 -1
  1318. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.js +1 -1
  1319. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.d.ts +2 -2
  1320. package/dist/react-sdk/domain-controls/ChildEntityCardSelector.d.ts +2 -3
  1321. package/dist/react-sdk/domain-controls/ChildEntityListSelector.d.ts +2 -3
  1322. package/dist/react-sdk/domain-controls/ChildEntityToggleSelector.d.ts +2 -3
  1323. package/dist/react-sdk/domain-controls/hooks/use-cook-replace-recipes.d.ts +3 -3
  1324. package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
  1325. package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
  1326. package/dist/react-sdk/index.d.ts +7 -0
  1327. package/dist/react-sdk/index.js +1 -1
  1328. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1329. package/dist/react-sdk/integration/index.d.ts +1 -0
  1330. package/dist/react-sdk/integration/index.js +1 -0
  1331. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1332. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1333. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1334. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1335. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1336. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1337. package/dist/react-sdk/notifications/index.js +1 -0
  1338. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1339. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1340. package/dist/react-sdk/preset-selection/PresetSelectionProvider.js +1 -0
  1341. package/dist/react-sdk/preset-selection/index.d.ts +1 -0
  1342. package/dist/react-sdk/preset-selection/index.js +1 -0
  1343. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
  1344. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
  1345. package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
  1346. package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
  1347. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
  1348. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
  1349. package/dist/react-sdk/provider-slots/index.d.ts +3 -0
  1350. package/dist/react-sdk/provider-slots/index.js +1 -0
  1351. package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
  1352. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1353. package/dist/ui-sdk/components/numerical-input/InputField.d.ts +2 -0
  1354. package/dist/ui-sdk/components/numerical-input/InputField.js +1 -1
  1355. package/dist/ui-sdk/components/numerical-input/NumericalInput.d.ts +2 -2
  1356. package/dist/ui-sdk/components/numerical-input/Slider.d.ts +3 -1
  1357. package/dist/ui-sdk/components/numerical-input/Slider.js +1 -1
  1358. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1359. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1360. package/dist/ui-sdk/icons/__generated/ChatCircleText.d.ts +3 -0
  1361. package/dist/ui-sdk/icons/__generated/ChatCircleText.js +1 -0
  1362. package/dist/ui-sdk/icons/__generated/Microphone.d.ts +3 -0
  1363. package/dist/ui-sdk/icons/__generated/Microphone.js +1 -0
  1364. package/dist/ui-sdk/icons/__generated/MicrophoneSlash.d.ts +3 -0
  1365. package/dist/ui-sdk/icons/__generated/MicrophoneSlash.js +1 -0
  1366. package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
  1367. package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
  1368. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.d.ts +3 -0
  1369. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.js +1 -0
  1370. package/dist/ui-sdk/icons/__generated/SpeakerHigh.d.ts +3 -0
  1371. package/dist/ui-sdk/icons/__generated/SpeakerHigh.js +1 -0
  1372. package/dist/ui-sdk/icons/__generated/SpeakerSlash.d.ts +3 -0
  1373. package/dist/ui-sdk/icons/__generated/SpeakerSlash.js +1 -0
  1374. package/dist/ui-sdk/icons/__generated/Stop.d.ts +3 -0
  1375. package/dist/ui-sdk/icons/__generated/Stop.js +1 -0
  1376. package/dist/ui-sdk/icons/__generated/index.d.ts +16 -0
  1377. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1378. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1379. package/dist/ui-sdk/theme/types.d.ts +0 -4
  1380. package/dist/watch/glob-matcher.d.ts +4 -4
  1381. package/dist/watch/glob-matcher.js +1 -1
  1382. package/dist/watch/watch.d.ts +4 -4
  1383. package/dist/watch/watch.js +1 -1
  1384. package/dist/webhook/builders/common.d.ts +2 -2
  1385. package/package.json +6 -4
  1386. package/schema/domain-spec.json +88 -4
  1387. package/dist/application-spec/caching/runtime-reference-store.js +0 -1
  1388. package/dist/application-spec/core/components/index.d.ts +0 -2
  1389. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  1390. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.d.ts +0 -1
  1391. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +0 -1
  1392. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.d.ts +0 -3
  1393. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +0 -166
  1394. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.d.ts +0 -1
  1395. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +0 -54
  1396. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.d.ts +0 -1
  1397. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +0 -115
  1398. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +0 -1
  1399. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +0 -1
  1400. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +0 -6
  1401. package/dist/application-spec/generate-application/implementations/phx-application-types.js +0 -1
  1402. package/dist/application-spec/generate-application/implementations/phx-domain.js +0 -1
  1403. package/dist/application-spec/generate-application/implementations/phx-model.js +0 -1
  1404. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +0 -1
  1405. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +0 -1
  1406. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +0 -1
  1407. package/dist/application-spec/generate-application/runtime/application-runtime.js +0 -1
  1408. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +0 -1
  1409. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +0 -1
  1410. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +0 -1
  1411. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +0 -1
  1412. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +0 -1
  1413. package/dist/application-spec/generate-application/runtime/index.d.ts +0 -8
  1414. package/dist/application-spec/generate-application/runtime/index.js +0 -1
  1415. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +0 -1
  1416. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +0 -8
  1417. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +0 -1
  1418. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +0 -8
  1419. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +0 -1
  1420. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +0 -1
  1421. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +0 -1
  1422. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +0 -10
  1423. package/dist/application-spec/generate-application/runtime/sections/index.js +0 -1
  1424. package/dist/application-spec/generate-application/runtime/spec-runtime.js +0 -1
  1425. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +0 -5
  1426. package/dist/application-spec/generate-application/runtime-spec/index.js +0 -1
  1427. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +0 -103
  1428. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.d.ts +0 -17
  1429. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +0 -1
  1430. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1431. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1432. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1433. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1434. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1435. package/dist/configurator/configurator-context/PresetSelectionProvider.js +0 -1
  1436. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1437. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1438. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1439. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1440. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1441. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1442. package/dist/configurator/ui/assistant/theme.d.ts +0 -2
  1443. package/dist/configurator/ui/assistant/theme.js +0 -1
  1444. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +0 -1
  1445. package/dist/domain/available-system-components.d.ts +0 -11
  1446. package/dist/domain/available-system-components.js +0 -1
  1447. package/dist/domain/core/action/action-factory.d.ts +0 -11
  1448. package/dist/domain/domain-builder.js +0 -1
  1449. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +0 -1
  1450. package/dist/domain/domain-runtime/spec/module-checks/index.js +0 -1
  1451. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +0 -1
  1452. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +0 -1
  1453. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +0 -1
  1454. package/dist/phoenix/commands/generated-env-markers.js +0 -1
  1455. package/dist/phoenix/services/lingui.d.ts +0 -15
  1456. package/dist/phoenix/services/lingui.js +0 -1
  1457. package/dist/phoenix/services/phoenix-application.d.ts +0 -21
  1458. package/dist/phoenix/services/phoenix-application.js +0 -1
  1459. /package/dist/{application-spec/core/expressions/relation-expression-params.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.js} +0 -0
  1460. /package/dist/{application-spec/generate-application/runtime/spec-code/spec-code-module.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-image-view.js} +0 -0
  1461. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.d.ts +0 -0
  1462. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.js +0 -0
  1463. /package/dist/domain/{core/action → domain-runtime}/action-factory.js +0 -0
  1464. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/application/admin-pages-section.js} +0 -0
  1465. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/application/admin-pages.js} +0 -0
  1466. /package/dist/domain/{application/assistant/assistant-manifest.js → spec/application/admin-states.js} +0 -0
  1467. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1468. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1469. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  1470. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  1471. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  1472. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  1473. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.d.ts +0 -0
  1474. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.js +0 -0
  1475. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.d.ts +0 -0
  1476. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.js +0 -0
  1477. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.d.ts +0 -0
  1478. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.js +0 -0
  1479. /package/dist/domain/{domain-runtime → spec}/errors/index.d.ts +0 -0
  1480. /package/dist/domain/{domain-runtime → spec}/errors/index.js +0 -0
  1481. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.d.ts +0 -0
  1482. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.js +0 -0
  1483. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  1484. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  1485. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  1486. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1487. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1488. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1489. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1490. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.js +0 -0
  1491. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.d.ts +0 -0
  1492. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.js +0 -0
  1493. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.js +0 -0
  1494. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.js +0 -0
  1495. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.js +0 -0
  1496. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.js +0 -0
  1497. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-domain.d.ts +0 -0
  1498. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.js +0 -0
  1499. /package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.js +0 -0
  1500. /package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.js +0 -0
  1501. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.js +0 -0
  1502. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.js +0 -0
  1503. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.d.ts +0 -0
  1504. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.js +0 -0
  1505. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.d.ts +0 -0
  1506. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.js +0 -0
  1507. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.js +0 -0
  1508. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.js +0 -0
  1509. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.js +0 -0
  1510. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.js +0 -0
  1511. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.js +0 -0
  1512. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.js +0 -0
  1513. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.js +0 -0
  1514. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.d.ts +0 -0
  1515. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.js +0 -0
  1516. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.js +0 -0
  1517. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/spec-code-module.d.ts +0 -0
  1518. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.d.ts +0 -0
  1519. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.js +0 -0
  1520. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.d.ts +0 -0
  1521. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.js +0 -0
  1522. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.d.ts +0 -0
  1523. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.js +0 -0
  1524. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/runtime-spec.js +0 -0
  1525. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.js +0 -0
  1526. /package/dist/domain/{application/assistant/assistant-resolved-manifest.js → spec/sections/assistant/assistant-manifest.js} +0 -0
  1527. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.d.ts +0 -0
  1528. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.js +0 -0
  1529. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.d.ts +0 -0
  1530. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.js +0 -0
  1531. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.d.ts +0 -0
  1532. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.js +0 -0
  1533. /package/dist/domain/{application → spec/sections}/assistant/form/index.d.ts +0 -0
  1534. /package/dist/domain/{application → spec/sections}/assistant/form/index.js +0 -0
  1535. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1536. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1537. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
  1538. /package/dist/{configurator/configurator-context → react-sdk/preset-selection}/PresetSelectionProvider.d.ts +0 -0
@@ -21,15 +21,15 @@ The configurator interface is Phoenix's **public API** - a collection of React h
21
21
 
22
22
  **Auto-Generated Interface**:
23
23
 
24
- The configurator interface is generated in `.phoenix/configurator-interface.ts`:
24
+ The configurator interface is generated in `.phoenix/configurator-globals.ts`, which sets `phx.frontend` before any file in `src/` loads, so project files use `phx.frontend` without importing it:
25
25
 
26
26
  ```typescript
27
- // .phoenix/configurator-interface.ts (AUTO-GENERATED - DO NOT EDIT)
27
+ // .phoenix/configurator-globals.ts (AUTO-GENERATED - DO NOT EDIT), shortened
28
28
  import { createConfiguratorInterface } from '@salsita-ai/sdk/configurator'
29
29
 
30
- import { configuratorBuilder } from './domain.js'
30
+ import { baseConfiguratorBuilder } from './domain-spec.js'
31
31
 
32
- export const configuratorInterface = createConfiguratorInterface(configuratorBuilder)
32
+ export const configuratorInterface = createConfiguratorInterface(baseConfiguratorBuilder)
33
33
 
34
34
  // Initialize the globals
35
35
  globalThis.phx.frontend = configuratorInterface
@@ -48,8 +48,8 @@ Phoenix provides typed interfaces available globally via the `phx` namespace:
48
48
 
49
49
  Types are auto-generated in `.phoenix/` from your domain schema:
50
50
 
51
- - `.phoenix/configurator-interface.ts` - Configurator interface
52
- - `.phoenix/admin-interface.ts` - Admin interface
51
+ - `.phoenix/configurator-globals.ts` - Configurator interface
52
+ - `.phoenix/admin-globals.ts` - Admin interface
53
53
  - `.phoenix/globals.d.ts` - Global type definitions
54
54
 
55
55
  **Type Access**:
@@ -71,15 +71,15 @@ export const CustomComponent = () => {
71
71
 
72
72
  // Entity state hooks
73
73
  const rootEntity = phx.frontend.useRootEntityState()
74
- const selectedEntity = phx.frontend.useSelectedEntity()
74
+ // The selected entity when it is a Cabinet, typed as $Cabinet, otherwise null
75
+ const selectedCabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
75
76
 
76
77
  // Selection hooks
77
78
  const selectEntity = phx.frontend.useSelectEntity()
78
79
 
79
80
  // Type-safe entity access
80
- if (selectedEntity && Cabinet.is(selectedEntity)) {
81
- // selectedEntity is now typed as $Cabinet
82
- console.log(selectedEntity.width, selectedEntity.$area)
81
+ if (selectedCabinet) {
82
+ console.log(selectedCabinet.width, selectedCabinet.$area)
83
83
  }
84
84
  }
85
85
  ```
@@ -93,7 +93,7 @@ The configurator interface provides 100+ hooks organized by category. Use TypeSc
93
93
  ```typescript
94
94
  const ExampleComponent = () => {
95
95
  // Core domain systems
96
- const { navigationSystem, storeSystem, entitySystem } = phx.frontend.useDomain()
96
+ const { navigationSystem, storeSystem, domain } = phx.frontend.useDomain()
97
97
 
98
98
  // Domain application context
99
99
  const { configurationPersistSystem } = phx.frontend.useDomainApplication()
@@ -106,24 +106,24 @@ const ExampleComponent = () => {
106
106
  ### State Subscriptions
107
107
 
108
108
  ```typescript
109
- // Committed state (after validation)
109
+ // Committed state (after validation): the state, or the whole emission with its validity
110
110
  const committedState = phx.frontend.useCommittedState()
111
- const committedSlice = phx.frontend.useCommittedSlice(selector)
111
+ const committedSlice = phx.frontend.useCommittedSlice()
112
112
 
113
- // Rendered state (for display)
113
+ // Rendered state (for display, including staged changes such as a drag in progress)
114
114
  const renderedState = phx.frontend.useRenderedState()
115
- const renderedSlice = phx.frontend.useRenderedSlice(selector)
115
+ const renderedSlice = phx.frontend.useRenderedSlice()
116
116
 
117
- // Selectors
118
- const value = phx.frontend.useStoreSelector(selector)
119
- const renderedValue = phx.frontend.useRenderedSelector(selector)
117
+ // Selectors: a callback that reads the emission, and its dependency list
118
+ const value = phx.frontend.useStoreSelector(emission => emission.state.entities.length, [])
119
+ const renderedValue = phx.frontend.useRenderedSelector(emission => emission.state.entities.length, [])
120
120
  ```
121
121
 
122
122
  ### Entity State
123
123
 
124
124
  ```typescript
125
- // Get typed entity state
126
- const cabinet = phx.frontend.useEntityState(Cabinet, cabinetId)
125
+ // Get typed entity state: $Cabinet for a Cabinet id
126
+ const cabinet = phx.frontend.useEntityState(cabinetId)
127
127
  const rootEntity = phx.frontend.useRootEntityState()
128
128
  const rootEntityId = phx.frontend.useRootEntityId()
129
129
 
@@ -134,21 +134,25 @@ const renderedRoot = phx.frontend.useRootEntityRenderedState()
134
134
  ### Selection & Hover
135
135
 
136
136
  ```typescript
137
- // Selection hooks
138
- const selectedEntity = phx.frontend.useSelectedEntity()
139
- const selectedEntityId = phx.frontend.useSelectedEntityId()
137
+ // Selection hooks: the selected cabinet and its id, or null while the selection is not a Cabinet
138
+ const selectedCabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
139
+ const selectedCabinetId = phx.frontend.useSelectedEntityId(phx.domain.enhancedModel.$Cabinet)
140
+ // The id of the selected entity of any type
140
141
  const selectedDomainEntityId = phx.frontend.useSelectedDomainEntityId()
141
142
 
142
143
  // Selection actions
143
- const selectEntity = phx.frontend.useSelectEntity()
144
- const deselect = phx.frontend.useDeselect()
145
- const selectParent = phx.frontend.useSelectParent()
146
-
147
- // Hover hooks
148
- const hoveredEntity = phx.frontend.useHoveredEntity()
149
- const hoveredEntityId = phx.frontend.useHoveredEntityId()
144
+ const selectEntity = phx.frontend.useSelectEntity() // selectEntity(id)
145
+ const deselect = phx.frontend.useDeselect() // deselect()
146
+ const selectParent = phx.frontend.useSelectParent(entityId) // selectParent() selects the entity's parent
147
+
148
+ // Hover hooks: the hovered cabinet and its id, or null
149
+ const hoveredCabinet = phx.frontend.useHoveredEntity(phx.domain.enhancedModel.$Cabinet)
150
+ const hoveredCabinetId = phx.frontend.useHoveredEntityId(phx.domain.enhancedModel.$Cabinet)
151
+ const hoveredDomainEntityId = phx.frontend.useHoveredDomainEntityId()
150
152
  ```
151
153
 
154
+ The hooks that return an entity or its id of one type take the enhanced reflection of that type, `phx.domain.enhancedModel.$<Type>`. `useSelectedEntityId` and `useHoveredEntityId` also accept no argument, but then always return `null`.
155
+
152
156
  ### Navigation, View & Tool State
153
157
 
154
158
  ```typescript
@@ -192,31 +196,35 @@ const updatedControl = phx.frontend.useUpdatedControl(updates)
192
196
  ### Recipes & Entity Creation
193
197
 
194
198
  ```typescript
195
- // Cook (prepare) recipes for adding children
196
- const cookRecipes = phx.frontend.useCookRecipes()
197
- const cookedRecipes = phx.frontend.useCookedRecipes()
198
-
199
- // Cook recipes for replacing entities
200
- const cookReplaceRecipes = phx.frontend.useCookReplaceRecipes()
201
- const cookedReplaceRecipes = phx.frontend.useCookedReplaceRecipes()
202
-
203
- // Recipe options
204
- const groupedOptions = phx.frontend.useGroupedRecipeOptions(entityId, recipeId)
199
+ // Cook (prepare) recipes for adding children: { create, disabled, hints, recipes }
200
+ const cookedRecipes = phx.frontend.useCookedRecipes(recipes, parentId)
201
+ // The same as a function, for several sets of recipes: cookRecipes(recipes, collection?)
202
+ const cookRecipes = phx.frontend.useCookRecipes(parentId)
203
+
204
+ // Cook recipes for replacing an entity
205
+ const cookedReplaceRecipes = phx.frontend.useCookedReplaceRecipes(entityId, recipes)
206
+ const cookReplaceRecipes = phx.frontend.useCookReplaceRecipes(entityId)
207
+
208
+ // Recipe options of the entity's childEntityRecipes components, grouped per component;
209
+ // the optional second argument names the component instances to read
210
+ const groupedOptions = phx.frontend.useGroupedRecipeOptions(entityId)
205
211
  const replaceOptions = phx.frontend.useReplaceEntityRecipeOptions(entityId)
206
212
 
207
- // Delete entity
213
+ // Delete an entity: { remove, disabled, hints, trace }
214
+ const deletedEntity = phx.frontend.useDeletedEntity(entityId)
215
+ // The same as a function: deleteEntity(entityId)
208
216
  const deleteEntity = phx.frontend.useDeleteEntity()
209
- const deletedEntity = phx.frontend.useDeletedEntity()
210
217
  ```
211
218
 
212
219
  ### Validation & Violations
213
220
 
214
221
  ```typescript
215
- // Validity of the last committed state; a rejected change never becomes committed, so it is not seen here
216
- const validity = phx.frontend.useStateValidity()
222
+ // Validity of the last committed state: severity is null, 'notice' or 'warning'; a rejected change never becomes
223
+ // committed, so it is not seen here
224
+ const { severity } = phx.frontend.useStateValidity()
217
225
 
218
- // Control violations: takes the violation types to ignore and returns a function that maps a prepared
219
- // state emission to { disabled, hints, violations }
226
+ // Control violations: takes the violation types to leave out of the hints and returns a function that maps a
227
+ // prepared state emission to { disabled, hints, violations }
220
228
  const controlViolations = phx.frontend.useControlViolations([])
221
229
 
222
230
  // Finalize violations
@@ -225,24 +233,31 @@ const { disabled, hints } = phx.frontend.useFinalizeViolations()
225
233
  // Messages for the user: violations of a rejected change, side-effect hints, errors and failed saves, one call each
226
234
  phx.frontend.useConfiguratorMessages(message => showToast(message.text))
227
235
 
228
- // Map violations to hints
236
+ // Map violations to one translated hint: takes the violation types to leave out and returns
237
+ // (violations, stateEmission) => string, built from the violations at the highest priority among those
238
+ // left after the ignored types are removed
229
239
  const mapViolationHints = phx.frontend.useMapViolationHints()
240
+ const hint = mapViolationHints(violations, stateEmission)
230
241
  ```
231
242
 
232
243
  ### Components
233
244
 
234
245
  ```typescript
235
- // Get components attached to entities
236
- const component = phx.frontend.useComponent(filter)
237
- const components = phx.frontend.useComponents(filter)
238
- const firstComponent = phx.frontend.useFirstComponent(entityId, filter)
246
+ import { detailComponent } from '@salsita-ai/sdk/domain'
247
+
248
+ // The state of one component instance on an entity, or null; instanceName may be left out when the entity has
249
+ // the component once
250
+ const detail = phx.frontend.useComponent({ entityId, componentType: detailComponent, instanceName: 'main' })
251
+ // Every matching instance as { componentInstance, state }; each filter field is optional
252
+ const details = phx.frontend.useComponents({ componentTypes: [detailComponent], entityIds: [entityId] })
253
+ const firstDetail = phx.frontend.useFirstComponent({ componentTypes: [detailComponent], entityIds: [entityId] })
239
254
 
240
- // Root entity components
241
- const rootComponents = phx.frontend.useRootComponents(filter)
242
- const firstRootComponent = phx.frontend.useFirstRootComponent(filter)
255
+ // Root entity components: a component type or an array of them
256
+ const rootDetails = phx.frontend.useRootComponents(detailComponent)
257
+ const firstRootDetail = phx.frontend.useFirstRootComponent(detailComponent)
243
258
 
244
- // Rendered variants
245
- const renderedComponent = phx.frontend.useRenderedComponent(filter)
259
+ // Rendered variants take the same arguments
260
+ const renderedDetail = phx.frontend.useRenderedComponent({ entityId, componentType: detailComponent })
246
261
  ```
247
262
 
248
263
  ### Data & Services
@@ -352,16 +367,19 @@ const filterPublishedChunks = phx.frontend.createFilterPublishedChunksHandler(()
352
367
  }, [session.sessionPayload?.role])
353
368
  })
354
369
 
355
- // Runs after preset data is loaded
356
- const onPresetLoaded = phx.frontend.createOnPresetLoadedHandler((entities, presetData) => {
357
- // Can modify preset entities before rendering
358
- return entities
359
- })
360
-
361
- // Intercept navigation to index/presets page
362
- const onGoToIndex = phx.frontend.createOnGoToIndexHandler(() => {
363
- // Custom logic before navigating
364
- })
370
+ // Runs after preset data is loaded; the hook may call other hooks and returns the handler, which resolves to
371
+ // the preset entities to start from, adjusted or as they are
372
+ const onPresetLoaded = phx.frontend.createOnPresetLoadedHandler(() => ({
373
+ handler: async entities => entities,
374
+ }))
375
+
376
+ // Intercept navigation to index/presets page: next() continues to it, and not calling it stays on the page
377
+ const onGoToIndex = phx.frontend.createOnGoToIndexHandler(() => ({
378
+ handler: ({ next }) => {
379
+ // Custom logic before navigating
380
+ next()
381
+ },
382
+ }))
365
383
  ```
366
384
 
367
385
  ### UI Components
@@ -372,9 +390,9 @@ const MyLayoutElement = phx.frontend.createCustomPhoenixLayoutElement('MyLayoutE
372
390
  return <div>Custom Layout</div>
373
391
  })
374
392
 
375
- // Custom Phoenix entity element
376
- const MyEntityElement = phx.frontend.createCustomPhoenixEntityElement('MyEntityElement', () => {
377
- return <mesh>...</mesh>
393
+ // Custom Phoenix entity element: receives the id of the entity it is rendered for
394
+ const MyEntityElement = phx.frontend.createCustomPhoenixEntityElement('MyEntityElement', ({ entityId }) => {
395
+ return <div>Custom control for {entityId}</div>
378
396
  })
379
397
 
380
398
  // Custom page when auth fails
@@ -545,12 +563,12 @@ export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout
545
563
  - With `LayoutSlots.SharedCanvas` mounted, the app loader stays on screen until the scene has loaded. A layout without a canvas is not held by the loader, see [App Loader](#app-loader).
546
564
  - The layout composes the rest from what `@salsita-ai/sdk/configurator` exports: `LayoutSlots.Services` and the other members of `LayoutSlots`, which [Layout Slots](?path=/docs/phoenix-layout-slots--docs) lists with what each shows, what feeds it, what it renders when the spec configures nothing for it and what it does in read mode.
547
565
  - `LayoutSlots.DesktopSidebar` is the built-in desktop sidebar as one piece: the spec's tabs, back button, property pages and sidebar footer with their spacing, scrolling and empty states, and the assistant panel. Use it when the spec's property pages are what the customer should see and only their place changes, for example a sidebar on the left; build the controls yourself when they have to look like the brand's own. Without `width` it fills its container, so the layout positions and sizes that container; `miniSidebar` does not shrink it, so a layout that honours it reads `LayoutSlots.useSidebarContent().hasMiniSidebar` and lets the container take the sidebar's height. Its tabs sit outside it on the left; `side="start"` puts them on its right, for a sidebar on the left. In fullscreen it stays in place, transparent and inert, so a layout that wants the space back removes it while `phx.frontend.useIsFullscreenActive()` is set. See [Sidebar in a Custom Layout](?path=/docs/layouts-sidebar-in-a-custom-layout--docs).
548
- - Nothing of the built-in layouts is rendered for it. A project layout finalizes over the spec's `finalizeAction` components, see the finalize paragraph of [Hooks for a Project Layout](#hooks-for-a-project-layout). The `finalizePage` and `finalizeButton` components are legacy: they cannot be declared in YAML, only in TypeScript, and `Legacy.CommonFinalizePage`, which is deprecated, shows a `finalizePage` for projects that still have one. `LayoutDialog` renders only what the project registers with `createLayoutDialog` and is not part of the finalize flow. The preview start screen is `DesktopPreview` or `MobilePreview`, which the layout shows while `phx.frontend.usePreview().isPreview` is set. Both previews frame the scene themselves, so the layout renders the component that calls `phx.frontend.useSceneSafeArea()` only while `isPreview` is not set; it then measures when it mounts after the preview. The assistant panel is available to a project layout only inside `LayoutSlots.DesktopSidebar`.
566
+ - Nothing of the built-in layouts is rendered for it. A project layout finalizes over the spec's `finalizeAction` components, see the finalize paragraph of [Hooks for a Project Layout](#hooks-for-a-project-layout). The `finalizePage` and `finalizeButton` components are legacy: they cannot be declared in YAML, only in TypeScript, and `Legacy.CommonFinalizePage`, which is deprecated, shows a `finalizePage` for projects that still have one. `LayoutDialog` renders only what the project registers with `createLayoutDialog` and is not part of the finalize flow. The preview start screen is `DesktopPreview` or `MobilePreview`, which the layout shows while `phx.frontend.usePreview().isPreview` is set. Both previews frame the scene themselves, so the layout renders the component that calls `phx.frontend.useSceneSafeArea()` only while `isPreview` is not set; it then measures when it mounts after the preview. The assistant panel is available to a project layout only inside `LayoutSlots.DesktopSidebar`. Its composer offers Annotate, which freezes the view for the user to draw and comment on. The configurator page, not the layout, shows the annotation editor and the exporting overlay over whichever layout it renders, a project layout included, and makes the layout inert meanwhile; a layout without a canvas has no view to freeze, so Annotate there attaches nothing. It also shows an image of the assistant chat the user opened (a drawing or a project picture of a reply, or an image of a sent message), inside the safe area the layout measures with `phx.frontend.useSceneSafeArea()` (the gaps its own UI leaves, before any `canvasPadding` fractions scale them), so the panel beside it stays usable, or over the whole configurator where that area is under 240 px in either direction; a layout that measures none, such as a legacy layout, places it inside its canvas padding; that view makes nothing inert, and Close, Escape or loading another configuration closes it. Its Annotate closes it too and opens the annotation editor on the image, whose result is attached to the message being written; it is disabled while that message is full, another annotation shows, or the assistant has banned the user, and a picture whose server does not let the page read it (no CORS headers) offers none.
549
567
  - The layout reads the state it has to react to from hooks, listed with what each returns in [Hooks for a Project Layout](#hooks-for-a-project-layout).
550
- - Messages for the user come one of two ways. `LayoutSlots.Services` shows violations of a rejected change, side-effect hints, errors and failed saves as the built-in snackbars, which render into `LayoutSlots.DesktopSnackbarsRoot` or `LayoutSlots.MobileSnackbarsRoot` wherever the layout mounts it. `phx.frontend.useConfiguratorMessages(onMessage)` hands the same messages to the layout's own UI instead, with their text resolved, as the toast in [Custom Layout](?path=/docs/layouts-custom-layout--docs#show-messages) does; mount one of the two, not both, or every message is shown twice. A failure to save the configuration, and the first successful save after it, are messages too, so a layout that mounts neither shows no sign of a failed save. An error of the built-in finalize and other actions stays a snackbar either way. It renders into the snackbar root, so a layout that mounts none shows it outside the configurator, in the page's `body`. A failure to start a configuration from a preset is not a message of the hook either: it happens on the preset screen, before any `ConfiguratorLayout` mounts. In production with more than one preset it is a snackbar there, also on a preset screen replaced with `createPresetUi` (see [Preset UI](#preset-ui)), which reads the error from `phx.frontend.usePresetSelection().selectionError` and mounts `PresetSnackbarsRoot` to keep the snackbar inside the configurator. With a single preset it is the [Configurator Error Page](#configurator-error-page). A finalize action the layout runs with `phx.frontend.useFinalizeActions` or `phx.frontend.useFinalizeAction` reports its error as the action's `error` instead, neither as a message nor as a snackbar.
568
+ - Messages for the user come one of two ways. `LayoutSlots.Services` shows violations of a rejected change, side-effect hints, errors and failed saves as the built-in snackbars, which render into `LayoutSlots.DesktopSnackbarsRoot` or `LayoutSlots.MobileSnackbarsRoot` wherever the layout mounts it; the theme styles them, see [Layout Slots → Styling the snackbars](?path=/docs/phoenix-layout-slots--docs#styling-the-snackbars). `phx.frontend.useConfiguratorMessages(onMessage)` hands the same messages to the layout's own UI instead, with their text resolved, as the toast in [Custom Layout](?path=/docs/layouts-custom-layout--docs#show-messages) does; mount one of the two, not both, or every message is shown twice. A failure to save the configuration, and the first successful save after it, are messages too, so a layout that mounts neither shows no sign of a failed save. An error of the built-in finalize and other actions stays a snackbar either way. It renders into the snackbar root, so a layout that mounts none shows it outside the configurator, in the page's `body`. A failure to start a configuration from a preset is not a message of the hook either: it happens on the preset screen, before any `ConfiguratorLayout` mounts. In production with more than one preset it is a snackbar there, also on a preset screen replaced with `createPresetUi` (see [Preset UI](#preset-ui)), which reads the error from `phx.frontend.usePresetSelection().selectionError` and mounts `PresetSnackbarsRoot` to keep the snackbar inside the configurator. With a single preset it is the [Configurator Error Page](#configurator-error-page). A finalize action the layout runs with `phx.frontend.useFinalizeActions` or `phx.frontend.useFinalizeAction` reports its error as the action's `error` instead, neither as a message nor as a snackbar.
551
569
  - Any project layout element named `ConfiguratorLayout` takes over the page.
552
570
 
553
- `defaultConfiguratorElements`, exported from `@salsita-ai/sdk/configurator`, holds the built-in UI as a `ConfiguratorLayout` registration that renders the layout the spec selects, the built-in not-found page as a `ConfigurationNotFoundPage` registration, the built-in not-authenticated page as a `NotAuthenticatedPage` registration, the built-in preset screen as a `PresetUi` registration, the built-in error page as a `ConfiguratorErrorPage` registration, the app loader's built-in content as an `AppLoaderContent` registration, and the built-in in-scene controls under the names of [In-Scene Controls](#in-scene-controls). Generated code registers these defaults with `withDefaultElements`, apart from the project's elements, so the built-in UI is a registration like any other; a project element registered under the same name wins over a default. The list also holds the configurator's built-in controls and layout elements under the kinds the spec names them by, such as `attributeSelect` or `undoToolbarButton`, so a project element registered under one of those names replaces the built-in one wherever the spec names that kind. A config assembled by hand, without generated code, calls `withDefaultElements(defaultConfiguratorElements)` too; the lists are the only way the built-in elements are registered, so without it the page shows a "not found" box instead of the configurator, and a project layout shows one in place of every built-in control. The admin mounts a full configurator, so its list, `defaultAdminElements` from `@salsita-ai/sdk/admin`, holds the configurator's defaults followed by the admin's built-in pages, sidebars and actions; generated admin code passes it to `withDefaultElements` in place of `defaultConfiguratorElements`, because each call replaces the defaults passed before.
571
+ `defaultConfiguratorElements`, exported from `@salsita-ai/sdk/configurator`, holds the built-in UI as a `ConfiguratorLayout` registration that renders the layout the spec selects, the built-in not-found page as a `ConfigurationNotFoundPage` registration, the built-in not-authenticated page as a `NotAuthenticatedPage` registration, the built-in preset screen as a `PresetUi` registration, the built-in error page as a `ConfiguratorErrorPage` registration, the app loader's built-in content as an `AppLoaderContent` registration, and the built-in in-scene controls under the names of [In-Scene Controls](#in-scene-controls). Generated code registers these defaults with `withDefaultElements`, apart from the project's elements, so the built-in UI is a registration like any other; a project element registered under the same name wins over a default. The list also holds the configurator's built-in controls and layout elements under the kinds the spec names them by, such as `attributeSelect` or `undoToolbarButton`, so a project element registered under one of those names replaces the built-in one wherever the spec names that kind. A config assembled by hand, without generated code, calls `withDefaultElements(defaultConfiguratorElements)` too; the lists are the only way the built-in elements are registered, so without it the page shows a "not found" box instead of the configurator, and a project layout shows one in place of every built-in control. The defaults also hold the configurator's visual providers and the error page and dialog its runtime renders, and a config without them runs the lifecycle without them, with a plain error message in place of the error page. Without them nothing provides the responsive context, so an SDK layout slot that reads it, for example `LayoutSlots.SharedCanvas`, stops the configurator with that plain error message instead of showing a "not found" box, and snackbar messages have no host. The admin mounts a full configurator, so its list, `defaultAdminElements` from `@salsita-ai/sdk/admin`, holds the configurator's defaults followed by the admin's built-in pages, sidebars and actions; generated admin code passes it to `withDefaultElements` in place of `defaultConfiguratorElements`, because each call replaces the defaults passed before.
554
572
 
555
573
  #### Hooks for a Project Layout
556
574
 
@@ -563,7 +581,7 @@ A project layout reads the product and the configurator's state through hooks, a
563
581
  | `phx.frontend.useRootEntityId()` | The id of the root entity, which the control hooks take. |
564
582
  | `phx.frontend.useSelectedDomainEntityId()` | The id of the selected entity, or the root entity's id while nothing is selected. |
565
583
  | `phx.frontend.useFirstRootComponent(componentType)` | The first component of that type on the root entity as `{ componentInstance, state }`, or `null` without one. It takes a component type such as `detailComponent` from `@salsita-ai/sdk/domain`, or an array of them. The `detail` component's `state` is `{ title, subtitle, description, thumbnailUrl? }`, all `Localizable`. |
566
- | `phx.frontend.useComponents({ componentTypes, entityIds?, instanceNames? })` | Every matching component on any entity, as `{ componentInstance, state }[]`. Its type on `phx.frontend` includes `null`, but it returns an empty array when nothing matches. |
584
+ | `phx.frontend.useComponents({ componentTypes?, entityIds?, instanceNames? })` | Every matching component on any entity, an omitted field matching everything, as `{ componentInstance, state }[]`. Its type on `phx.frontend` includes `null`, but it returns an empty array when nothing matches. |
567
585
  | `phx.frontend.useRootEntityPrice()` and `phx.frontend.useEntityPrice(entityId)` | The value of the entity's `price` component formatted as currency for the current locale, in the component's `currency` or `USD`, or `null` without a `price` component. |
568
586
 
569
587
  **Controls**
@@ -633,19 +651,95 @@ export const Wizard = () => {
633
651
 
634
652
  A layout builds its toolbar from `phx.frontend.useToolbarActions()`, which returns the entries of the spec's `toolbar`, or of the default toolbar without one, as data with the function that runs each; or it places single actions with the per-action hooks below. Each hook does what the built-in toolbar button of the same action does and pushes the same analytics events; opening and closing the layout's own dialogs and popovers push none. `useToolbarActions`, `useMeasurements` and `useAssistantPanel` are exported from `@salsita-ai/sdk/configurator` besides `phx.frontend`, not from `@salsita-ai/sdk/react`. `useToolbarState()` from `@salsita-ai/sdk/configurator` is deprecated in favour of `useToolbarActions()`, or of mounting `LayoutSlots.DesktopToolbar` to keep project element overrides, and `useShareData()` and `useShareSettings()` in favour of `useShareLinks()`. Undo and redo for a single button are `phx.frontend.useUndoRedo()` above, fullscreen is `useIsFullscreenActive()` with `useSetFullscreen()`, and the camera reset is `useResetCamera()`.
635
653
 
636
- | Hook | Returns |
637
- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
638
- | `phx.frontend.useToolbarActions(placement?)` | `{ groups, actions }` for `placement` `'desktop'` (the default), `'mobile'` or `'mobileMenu'`, the `toolbar` component's list of that name. `groups` follows the spec's `toolbarButtonGroup`s, an element outside a group being a group of one, and `actions` is the same entries flattened. Each entry has `key`, `kind`, `label` (the built-in button's title in the current language), and `icon` and `showTitle` from the element's props. By `kind`: `undo` and `redo` with `disabled` and `run`; `fullscreen` with `active` and `run`, which toggles the fullscreen flag; `resetCamera` with `run`; `share`, for which the layout opens its own dialog over `useShareLinks`; `measurements` with `measurements`, the result of `useMeasurements` with the element's `showIndicatorSwitch` applied, and `icons`, the element's icon per unit; `language` with `language`, the result of `useLocaleSwitch`; `help` with `Content`, a component that renders the element's children or else the help registered with `createToolbarHelp`; `assistant` with `assistant`, the result of `useAssistantPanel`, and `run`, which opens or closes the panel; `custom` with `name` and `Element`, which renders the project element a `customLayoutElement` names. It leaves out an entry with nothing to offer, such as share with sharing disabled or language with one locale, and an element that is not a toolbar entry. A project element registered under a built-in kind, such as `undoToolbarButton`, replaces that button in `LayoutSlots.DesktopToolbar` but not here. As with `LayoutSlots.DesktopToolbar`, the default toolbar leaves out share, undo and redo for a viewer, and a configured `toolbar` is returned as written. Four differences from the built-in toolbar: the entries keep the spec's order for every placement, where `LayoutSlots.MobileToolbar` renders the `mobile` list reversed; a `toolbarButtonGroup` nested in a group is flattened into it, where the built-in toolbar nests it; the assistant's `showTitle` is the spec's, where the built-in button also hides its title on a phone or tablet-sized layout; and a `helpMenuAction` without children shows the registered help, where the built-in menu action shows an empty dialog. |
639
- | `phx.frontend.useMeasurements(options?)` | `{ units, unit, setUnit, hasIndicatorSwitch, indicatorsShown, toggleIndicators, available }`: the units the dimension configuration offers, the one dimensions are shown in and a function that changes it; whether the dimension indicators can be switched (`options.showIndicatorSwitch`, else `applicationConfig.indicatorSwitch`, else `true`), whether they show and a function that switches them; and whether there is anything to set, more than one unit or the switch. |
640
- | `phx.frontend.useLocaleSwitch()` | `{ locales, locale, setLocale, available }`: the spec's `availableLocales` as `{ locale, displayName }`, each named in its own language, the active locale, a function that activates one, and whether there is more than one to choose from. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
641
- | `phx.frontend.useShareLinks(options?)` | `{ available, ownerLinkAvailable, readLinkAvailable, ownerLink, readLink, isLoading }`: whether sharing is offered and which kinds of link the application config enables, a link that opens the configuration for editing and one that opens its current revision for viewing, each `null` until generated, and whether one is still being generated. While enabled, each commit of the configuration generates a new read link. Generating a link saves the configuration, so a layout passes `{ enabled: open }` with whether its share dialog is open; `enabled` is `true` by default. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
642
- | `phx.frontend.useAssistantPanel()` | `{ available, open, hasUnreadReply, setOpen }`: whether the spec has an `assistant`, whether its panel is open, whether it replied while closed, and a function that opens or closes it. The panel renders only inside `LayoutSlots.DesktopSidebar`, so a layout without that slot does not offer it. |
654
+ | Hook | Returns |
655
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
656
+ | `phx.frontend.useToolbarActions(placement?)` | `{ groups, actions }` for `placement` `'desktop'` (the default), `'mobile'` or `'mobileMenu'`, the `toolbar` component's list of that name. `groups` follows the spec's `toolbarButtonGroup`s, an element outside a group being a group of one, and `actions` is the same entries flattened. Each entry has `key`, `kind`, `label` (the built-in button's title in the current language), and `icon` and `showTitle` from the element's props. By `kind`: `undo` and `redo` with `disabled` and `run`; `fullscreen` with `active` and `run`, which toggles the fullscreen flag; `resetCamera` with `run`; `share`, for which the layout opens its own dialog over `useShareLinks`; `measurements` with `measurements`, the result of `useMeasurements` with the element's `showIndicatorSwitch` applied, and `icons`, the element's icon per unit; `language` with `language`, the result of `useLocaleSwitch`; `help` with `Content`, a component that renders the element's children, which is how the spec declares help content (see [Toolbar](?path=/docs/layouts-toolbar--docs)), or else the help registered with the legacy `createToolbarHelp`; `assistant` with `assistant`, the result of `useAssistantPanel`, and `run`, which opens or closes the panel; `custom` with `name` and `Element`, which renders the project element a `customLayoutElement` names. It leaves out an entry with nothing to offer, such as share with sharing disabled or language with one locale, and an element that is not a toolbar entry. A project element registered under a built-in kind, such as `undoToolbarButton`, replaces that button in `LayoutSlots.DesktopToolbar` but not here. As with `LayoutSlots.DesktopToolbar`, the default toolbar leaves out share, undo and redo for a viewer, and a configured `toolbar` is returned as written. Four differences from the built-in toolbar: the entries keep the spec's order for every placement, where `LayoutSlots.MobileToolbar` renders the `mobile` list reversed; a `toolbarButtonGroup` nested in a group is flattened into it, where the built-in toolbar nests it; the assistant's `showTitle` is the spec's, where the built-in button also hides its title on a phone or tablet-sized layout; and a `helpMenuAction` without children shows the legacy registered help, where the built-in menu action shows an empty dialog. |
657
+ | `phx.frontend.useMeasurements(options?)` | `{ units, unit, setUnit, hasIndicatorSwitch, indicatorsShown, toggleIndicators, available }`: the units the dimension configuration offers, the one dimensions are shown in and a function that changes it; whether the dimension indicators can be switched (`options.showIndicatorSwitch`, else `applicationConfig.indicatorSwitch`, else `true`), whether they show and a function that switches them; and whether there is anything to set, more than one unit or the switch. |
658
+ | `phx.frontend.useLocaleSwitch()` | `{ locales, locale, setLocale, available }`: the root entity's `applicationConfig.availableLocales` (`['en']` without it) as `{ locale, displayName }`, each named in its own language, the active locale, a function that activates one, and whether there is more than one to choose from. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
659
+ | `phx.frontend.useShareLinks(options?)` | `{ available, ownerLinkAvailable, readLinkAvailable, ownerLink, readLink, isLoading }`: whether sharing is offered and which kinds of link the application config enables, a link that opens the configuration for editing and one that opens its current revision for viewing, each `null` until generated, and whether one is still being generated. While enabled, each commit of the configuration generates a new read link. Generating a link saves the configuration, so a layout passes `{ enabled: open }` with whether its share dialog is open; `enabled` is `true` by default. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
660
+ | `phx.frontend.useAssistantPanel()` | `{ available, open, hasUnreadReply, setOpen }`: whether the spec has an `assistant`, whether its panel is open, whether it replied while closed, and a function that opens or closes it. The panel renders only inside `LayoutSlots.DesktopSidebar`, so a layout without that slot does not offer it. |
661
+
662
+ **Assistant**
663
+
664
+ The assistant panel renders only inside `LayoutSlots.DesktopSidebar`. A project element that shows the conversation or takes a message itself, such as a thread in the layout's own drawer, reads the same state as the panel through two hooks, exported from `@salsita-ai/sdk/configurator` besides `phx.frontend`. They are separate so that a composer does not render again with every chunk of a reply.
665
+
666
+ | Hook | Returns |
667
+ | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
668
+ | `phx.frontend.useAssistantThread()` | `{ items, earlierItems, isLoaded, isLoadingThread, isEmpty, isReplying, isThinking, isResuming, failure, retry, hasOlderMessages, isLoadingOlderMessages, loadOlderMessages, canLoadEarlierThread, isLoadingEarlierThread, loadEarlierThread, undoableToolCallId, undo, newestMessageKey, firstMessageId }`. `items` is the current thread in reading order, each a `user` message with its `text`, `imageIds`, `annotations` and `voice` (`'transcribing'` while the transcript of a voice message is on its way, `'spoken'` once its text is the transcript, `null` for a typed message), a stretch of assistant `text` with its `markdown` and `playableReplyId` (the id of the reply it ends, when the panel can read that reply aloud, else `null`), a row of `tools` calls in a row, or a `separator`; `earlierItems` are the closed threads loaded above it, oldest first, each ended by a separator. `isLoadingThread` is set while the thread is read and `isEmpty` when there is nothing to show, where the panel greets the user. `isThinking` is set while a reply runs and nothing in the thread shows it yet. `failure` is `{ kind, canRetry }` with `kind` `'notAvailable'`, `'busy'`, `'resting'` (with `minutes` to wait), `'exhausted'`, `'locked'`, `'networkLocked'`, `'unheard'` (nothing was heard in a voice message, which was dropped) or `'unavailable'`, and `retry()` reads the thread again where `canRetry` is set. `'locked'` means the assistant banned the user on this configuration, or on several of the customer's, and `'networkLocked'` that it is paused for the user's network address because of how it was used from there: both are failures even when the thread read succeeded, and neither offers a retry. `loadOlderMessages()` loads the previous page of the thread, which the panel does when its top scrolls into view, and `loadEarlierThread()` the closed thread before the loaded ones, offered by `canLoadEarlierThread` once the thread is loaded whole. `undoableToolCallId` is the tool call whose change a row may take back, never while a reply runs, and `undo(toolCallIds)` takes back a row's changes. A thread that scrolls follows two values: `newestMessageKey`, an opaque value compared by identity that changes with the newest message, also with every chunk of a reply, but not when an older page loads above it; and `firstMessageId`, which changes when one does, so the thread can keep the reader's place. It renders again with every chunk of a reply. |
669
+ | `phx.frontend.useAssistantComposer()` | `{ draft, setDraft, attachments, addFiles, annotate, annotateAttachment, removeAttachment, isPreparing, notice, maxAttachments, isBusy, isLocked, isReplying, canSend, send, stop, inputFocusHandlers, canRecord, recording, startRecording, sendRecording, cancelRecording }` for one message being written. `attachments` are `{ id, previewUrl, isAnnotation, pinCount }`; `addFiles(files)` prepares and attaches images up to `maxAttachments` (four) per message, annotations included, and `removeAttachment(id)` takes one off. `notice` is `'limit'` for a file or annotation too many and `'unreadable'` for a file that is not an image the browser can read, until the attachments change. `annotate()` opens the annotation editor over the configurator, in every layout, and attaches the annotation; it calls `assistantSystem.annotate()`, which attaches what the user made itself and resolves with the attachment's id, or `null`, and which takes `{ image, background }` to annotate an image instead of the view, as the Annotate of an opened image does. `annotateAttachment(id)` opens the editor on an attached image that is not an annotation, as the Annotate of the built-in composer's thumbnail does, and the annotation takes that image's place, so it needs no free slot; it calls `assistantSystem.annotate({ attachmentId, background })`. `isBusy` is set while a send waits for the thread to be resumed or the images to upload, when the input should be read-only. `isLocked` is set while the assistant has banned the user on this configuration, or is paused for the user's network; `canSend` is false then, and nothing should be written or attached. `send()` sends the message when `canSend`, clears it once the chat takes it, and puts it back, after what was written meanwhile, when the chat gives it back; `stop()` ends a reply. Spread `inputFocusHandlers` onto the message input so a phone layout makes room for it. The text of the message lives as long as the component that calls the hook; its attachments live in the assistant system (`assistantSystem.composerAttachments$`), so an annotation made outside the composer is attached too, and a configuration load takes them off. Enter-to-send, pasting and dropping images, Enter sending and Escape dropping a recording, and the cursor put in the input when the panel opens on a desktop are the built-in composer's own: a project composer calls `send` and `addFiles` from its handlers. `canRecord` is set when the user may speak the message instead: the session takes voice messages (see below), the browser can record and no ban refuses the user; the built-in composer then shows a mic in place of Send while the text is empty. `recording` is `{ status, elapsedMs, level }`, with `status` `'idle'`, `'requesting'` while the browser asks for the microphone, `'recording'`, `'recorded'` for a recording the server refused, which waits to be sent again or dropped, `'refused'` while the microphone is blocked for the page, or `'unavailable'` where the browser cannot record; `level` is the loudness of the microphone from 0 to 1. `startRecording()` starts a recording, asking for the microphone, also again after a refusal; `sendRecording()` stops it and sends it, with the attachments, as the message; `cancelRecording()` drops it. A recording that reaches two minutes is sent on its own. |
670
+
671
+ The panel renders `useAssistantThread`'s items with components that `@salsita-ai/sdk/configurator` exports too. `AssistantThreadItemView({ item, isActive, undoableToolCallId, onUndo })` renders any item as the panel does; `isActive` is set for the newest item while a reply runs, and `undoableToolCallId` and `onUndo` take the hook's `undoableToolCallId` and `undo`. It dispatches to `AssistantUserMessage({ text, imageIds, annotations, voice })`, `AssistantMarkdown({ markdown, isStreaming, forms })` followed by the reply's play button when `playableReplyId` is set, `AssistantToolChips({ tools, isActive, canUndo, onUndo })` and `AssistantSeparator()`, which a project thread can use one by one. `AssistantMarkdown` renders the project's assistant form elements, entity and reference links, alerts, pictures and drawings wherever it is inside the configurator, without further wiring. A drawing is SVG the model wrote in a fenced code block with the language `svg`; it shows framed in the thread as an image, so nothing in it runs or loads, and a click opens it larger beside the panel, as it does a picture of a reply and an image of a sent message. The assistant's prompt lets the model draw when a schematic explains better than words or when it is asked to; a project asks for more drawings, or for particular ones, in its `assistant.instructions`, for example "After reading a photo, draw the layout you deduced and ask the user to confirm it." A spoken message shows a placeholder until its transcript arrives, then the transcript in italics with a mic mark. An entity link selects its entity; inside `EntityLinkSelectionProvider`, given the selection `useCreateEntityLinkSelection()` creates, the thread can call that selection's `release()` on a click elsewhere in the thread to deselect what a link selected, as the panel does.
672
+
673
+ Voice messages are off unless the spec's `assistant.ai.voice` is `true`; the assistant setup handler can return `ai.voice` to turn them on or off per session, and the composer follows what the server resolved for the session, which the thread read reports. Under `phoenix dev`, an edit of `assistant.ai` reaches the server but not the open page: reload the page to see the mic come or go. A recording is sent as the message, and the server transcribes it once the ban, the monthly caps and the hourly limits accept the message, counting the transcription in the same usage; the transcript becomes the message's text, and the recording is never stored. The browser asks the user for the microphone the first time they record. A configurator embedded in an iframe can record only when the iframe allows it: `<iframe allow="microphone" …>`.
674
+
675
+ With voice on, the panel also reads replies aloud. Every reply that has something to say, in at most 1,500 characters once its code blocks, tables and images are dropped, has a play button under its text, which reads it aloud and stops it; starting one reply stops the other. The reply to a voice message reads itself aloud once it has ended, unless the user muted that with the speaker button in the panel's header; the browser remembers the choice, and the play buttons work either way. A browser that does not let the page start audio on its own, such as Safari when the reply took long, leaves the reply's play button highlighted instead. The server synthesizes a reply's speech once, from its stored text, the first time it is asked for, holding it to the same ban, monthly caps and hourly limits as a message, and keeps it with the thread. A voice message also asks the model for a short reply written to be heard.
676
+
677
+ A project thread or composer of its own drives the reading through `phx.frontend.useConfigurator().assistantSystem`: `playReply(messageId)` reads the reply with that id aloud, or stops it while it is read, `stopPlayback()` stops it, `playback$` holds `{ messageId, status }` with `status` `'idle'`, `'loading'`, `'playing'` or `'blocked'` (the browser did not start the reply on its own), and `muted$` and `setMuted(muted)` hold and change the user's choice to mute the replies that read themselves aloud. `isSpeakableReply(message)`, exported from `@salsita-ai/sdk/configurator`, tells whether the server reads a message aloud. A composer of its own calls `unlockPlayback()` on the tap that records or sends a voice message, so Safari lets the reply read itself aloud later, and `stopPlayback()` when the user starts to speak.
678
+
679
+ **Assistant theme names and slots**
680
+
681
+ Every part of the assistant panel has its own theme name, set under `components` in the theme a project returns from `phx.frontend.createGetThemeHandler`. Each name takes `styleOverrides` keyed by its element slots, and `defaultProps` with `slots`, a component per slot, and `slotProps`, props per element slot. The props type of each name is exported from `@salsita-ai/sdk/configurator` as `Themeable…Props`, such as `ThemeableAssistantComposerProps`. A theme that sets none of them renders the panel as built in.
682
+
683
+ | Theme name | Element slots | Component slots |
684
+ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
685
+ | `PhxAssistantPanel` | `root` | `header`, `thread`, `composer` |
686
+ | `PhxAssistantPanelHeader` | `root`, `title`, `muteButton`, `closeButton` | |
687
+ | `PhxAssistantThread` | `root`, `messages`, `greeting`, `status`, `olderStatus`, `earlierButton`, `notice`, `newReplyButton` | `userMessage`, `assistantMessage`, `toolChips`, `separator` |
688
+ | `PhxAssistantUserMessage`, `PhxAssistantSeparator`, `PhxAssistantMarkdown` | `root`; `PhxAssistantUserMessage` also `voice` and `transcript` | |
689
+ | `PhxAssistantReplyPlayButton` | `root` | |
690
+ | `PhxAssistantMessageImages` | `root`, `image` | |
691
+ | `PhxAssistantToolChips` | `root`, `activity`, `activityIcon`, `chip`, `chipLabel`, `screenshotsLink`, `undoButton`, `violation`, `fullLabel` | |
692
+ | `PhxAssistantComposer` | `root`, `inputFrame`, `attachments`, `attachment`, `removeAttachment`, `annotateAttachment`, `input`, `toolButton`, `sendButton`, `micButton`, `recordingBar`, `stopButton`, `hint`, `attachmentNotice` | |
693
+ | `PhxAssistantForm` | `root`, `submitButton`, `fixButton`, `note` | `group`, `choice`, `choices`, `reply`, `card`, `swatch`, `text`, `number`, `confirm` |
694
+ | `PhxAssistantFormGroup`, `PhxAssistantFormOptions` | `root`, `label`; `PhxAssistantFormOptions` also `row` | |
695
+ | `PhxAssistantFormReply`, `PhxAssistantFormNumber` | `root` | |
696
+ | `PhxAssistantFormCard` | `root`, `image`, `label`, `description`, `check` | |
697
+ | `PhxAssistantFormSwatch` | `root`, `image`, `check` | |
698
+ | `PhxAssistantFormText` | `root`, `input` | |
699
+ | `PhxAssistantFormConfirm` | `root`, `buttons`, `button` | |
700
+ | `PhxAssistantEntityLink`, `PhxAssistantAlert`, `PhxAssistantScreenshots` | `root` | |
701
+ | `PhxAssistantReferenceLink` | `root`, `details` | |
702
+ | `PhxAssistantAnnotation` | `root`, `toolbar` | |
703
+ | `PhxAssistantAnnotationComment`, `PhxAssistantAnnotationBadge` | `root` | |
704
+ | `PhxAssistantDrawing` | `root`, `button`, `image`, `note` | |
705
+ | `PhxAssistantImage` | `root` (the picture), `button` (around it, none inside a link) | |
706
+ | `PhxAssistantImageView` | `root`, `header`, `title`, `actions`, `annotateButton`, `closeButton`, `image` | |
707
+
708
+ A component slot replaces a whole piece:
709
+
710
+ - The panel's `header`, `thread` and `composer` take no props. A replacement reads what it shows with `useAssistantPanel`, `useAssistantThread` or `useAssistantComposer`. The panel's shell stays the SDK's whatever replaces them, so the layouts still hide what the panel covers and stretch the sidebar, and a press on a control keeps the input's focus on a phone. A component in `PhxAssistantPanel`'s `root` slot has to pass on the props it gets, `data-sidebar` and `onMouseDown` among them.
711
+
712
+ A component in an element slot gets that part's props and passes them on to the element it renders. Some slots also get a ref, which the replacement must forward to its element with `forwardRef`: the thread's `messages` (it scrolls), the composer's `input` (through `inputRef`, as an `InputBase`) and `stopButton`, the header's `closeButton`, the tool chips' `chip`, `chipLabel` and `screenshotsLink`, and the reference link's `root`. The controls with a tooltip or a popover are anchored by that ref, and a replacement that drops it loses scrolling, focus or the tooltip.
713
+
714
+ - The thread's item slots get the props of their item, as `AssistantThreadItemView` passes them to the exported components above. `separator` gets none. `AssistantThreadItemView` also takes them as `slots`, for a project thread that uses it.
715
+ - The form's slots are named after the built-in form elements, and each gets that element's props: `FormContainerProps` for `group`, `choice` and `choices`, `FormOptionProps` for `reply`, `card` and `swatch`, and `FormInputProps` for `text`, `number` and `confirm`, with the element's typed attributes. They change how a form looks, not what the assistant can write. The project's own form elements are registered with `createAssistantFormElement` instead.
716
+
717
+ The names of the form elements, the links, the alert, the image, the screenshots and the annotation are read from the theme only: their components take no `slots` of their own. A few parts are shared, so their style overrides reach more than one place. The composer's `inputFrame`, `input`, `toolButton` and `sendButton` also draw the comment of an annotation's pin, and `toolButton` is the Attach, the Annotate and the comment's Delete control. `PhxAssistantMessageImages`' `image` also draws the thumbnails of a message's annotations. `PhxAssistantToolChips`' `root`, `activity` and `activityIcon` also draw the "Thinking…" line. State a part is styled by is on its element, such as `data-chip` on a chip, `data-chips` on a row of chips, `data-alert` on an alert, `data-dragging` on the input frame, `data-blocked` on a mic whose microphone is blocked and `aria-pressed` on a picked form option, so a style override targets it with a selector.
718
+
719
+ ```tsx
720
+ import type { ThemeableAssistantThreadProps } from '@salsita-ai/sdk/configurator'
721
+
722
+ type UserMessageSlot = NonNullable<NonNullable<ThemeableAssistantThreadProps['slots']>['userMessage']>
723
+
724
+ const UserMessage: UserMessageSlot = ({ text }) => <p className="brand-bubble">{text}</p>
725
+
726
+ export default phx.frontend.createGetThemeHandler(
727
+ () =>
728
+ ({
729
+ components: {
730
+ PhxAssistantComposer: { styleOverrides: { inputFrame: { borderRadius: 4 } } },
731
+ PhxAssistantThread: { defaultProps: { slots: { userMessage: UserMessage } } },
732
+ PhxAssistantPanel: { defaultProps: { slots: { composer: BrandComposer } } },
733
+ },
734
+ }) satisfies ThemeOptions
735
+ )
736
+ ```
643
737
 
644
738
  **Violations**
645
739
 
646
740
  | Hook | Returns |
647
741
  | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
648
- | `phx.frontend.useStateValidity()` | The validity of the last committed state: `{ valid: true, severity: null }`, or `{ valid: true, severity: 'notice' \| 'warning', entityViolations }`. A change that leaves a `fixable` or `fatal` violation is rejected and never committed, and neither is a change during which an error was thrown, so neither is seen here. |
742
+ | `phx.frontend.useStateValidity()` | The validity of the last committed state: `{ valid: true, severity: null }` without violations, or `{ valid: true, severity, entityViolations }`, where `severity` is the most severe violation: `'notice'`, which restricts nothing, or `'warning'`, which blocks finalizing. `entityViolations` lists every violation. A change that leaves a `fixable` or `fatal` violation is rejected and never committed, and neither is a change during which an error was thrown, so neither is seen here. |
649
743
  | `phx.frontend.useFinalizeViolations()` | `{ disabled, hints, violations }`. `disabled` is `true` while a `warning`, `fixable` or `fatal` violation holds or the configuration failed to save; `hints` is the violations' text, or `undefined`. |
650
744
  | `phx.frontend.useConfiguratorMessages(onMessage)` | Nothing. It calls `onMessage(message)` once per message: `{ kind: 'violation', entityId, violation, text }` for each violation of the rejected state, including notices and warnings already present, so `violation.severity` tells the reason for the rejection (`fixable` or `fatal`) from them, `{ kind: 'sideEffect', text }` for each hint of a committed update, `{ kind: 'error', error, text }` when an error is thrown while a change is validated, with `text` the generic "Oops, something went wrong", `{ kind: 'saveError', error, text }` each time saving the configuration fails, with `error` what the save rejected with and `text` a generic message, and `{ kind: 'saveRecovery', text }` when a save succeeds after a failed one, with `text` "Configuration updated". `text` is resolved to the current language; a violation's is its `message`, or its `type` without one, and the built-in snackbar prefixes it with `entityId`. Hints committed before the layout mounted are not delivered, nor is a save that failed before it mounted; when the most recent change was rejected or threw, its messages are delivered again when the hook mounts. `onMessage` may be a new function on every render. On `phx.frontend` the message is typed by the project, so `violation.type` narrows to its violation types; from `@salsita-ai/sdk/react` the type is `ConfiguratorMessage`. |
651
745
  | `phx.frontend.useConfigurationSaveState()` | `{ revisionId, isSaving, failure }`, the save status of the configuration. An editable configuration saves every committed change on its own, three seconds after the last one, and a read-only one never saves. `revisionId` is the revision the configuration is at: the loaded one, then the one the latest save created. `isSaving` is `true` while a save runs. `failure` is `{ error, timestamp }` of the latest failed save, with `timestamp` in milliseconds since the epoch, and `null` once a later save succeeds or another configuration loads. A layout shows a save indicator with it; the messages of a failed save and of its recovery come from `useConfiguratorMessages`. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
@@ -708,67 +802,129 @@ Instead of its own buttons, a project layout can mount `<FinalizeActions />` fro
708
802
 
709
803
  ## TransformerBuilder
710
804
 
711
- Use `transformerBuilder` to create entity transformers:
805
+ `transformerBuilder` creates a transformer: a rule that adds updates to a change before it is validated, for example to keep a cabinet's door count in step with its width.
712
806
 
713
807
  ```typescript
714
- // Create a transformer that runs when specific conditions are met
715
- const cabinetTransformer = phx.frontend.transformerBuilder.when(Cabinet.is).do((cabinet, context) => {
716
- // Transform cabinet data
717
- return {
718
- ...cabinet,
719
- $computedField: calculateSomething(cabinet),
720
- }
721
- })
808
+ // src/transformers/fixCabinetDoors.ts
809
+ export default phx.frontend.transformerBuilder.when
810
+ .entity(['Cabinet'])
811
+ .modified({ atFields: ['width'] })
812
+ .then.applySideEffect(ctx => [
813
+ phx.frontend.updates.DomainEntityModification({
814
+ entityId: ctx.update.entityId,
815
+ stateDelta: { doorCount: ctx.update.stateDelta.width > 600 ? 2 : 1 },
816
+ updateTag: 'fixCabinetDoors',
817
+ }),
818
+ ])
819
+ .build('fixCabinetDoors')
722
820
  ```
723
821
 
724
- **Note**: The deprecated `createTransformer` function should not be used for new implementations.
822
+ ```yaml
823
+ transformers:
824
+ - name: fixCabinetDoors
825
+ ```
826
+
827
+ - `when` picks the updates the transformer reacts to, here a change of a cabinet's `width`, and `then.applySideEffect` returns the updates applied with each of them, built with the [updates factory](#updates-factory).
828
+ - Default-export the transformer from a file in `src/transformers/` and list it in the spec's `transformers` section. The entry's `name` is the name passed to `build`, and the file carries the same name, with case and dashes ignored. A name without a matching file fails the spec check; a name that matches a file but not its `build` name fails when the configurator starts.
829
+ - `priority` is optional, and a lower number runs earlier. The SDK's own transformers run at priorities 10 to 100, and a transformer without a priority runs after them, in spec order, and after the step that turns the controls' component writes into entity updates. Leave it out for a transformer like this one: with a priority it runs before that step, so a width set with a slider reaches it as a component write, which `modified` does not match, and it never fires. See the [transformer pipeline](?path=/docs/other-features-transformers--docs).
830
+ - The transformer also runs when a control dry-runs an option to decide whether to disable it, so it only returns updates and stays cheap.
831
+
832
+ [Transformers](?path=/docs/other-features-transformers--docs) explains the triggers, the context and the actions. `transformerBuilder` replaces the deprecated transformer factory of `phx.frontend`; do not use that factory for new transformers.
725
833
 
726
834
  ## Updates Factory
727
835
 
728
- The `updates` factory creates type-safe entity updates:
836
+ `phx.frontend.updates` builds the updates that change the configuration, typed by your domain model. Transformers return them, and a project control hands them to a control hook that commits them.
729
837
 
730
- ```typescript
731
- const { storeSystem } = phx.frontend.useDomain()
838
+ | Member | Update |
839
+ | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
840
+ | `DomainEntityModification({ entityId, stateDelta, updateTag })` | Sets the fields of `stateDelta` on the entity. |
841
+ | `DomainEntityCreation({ entity, parentId, collection?, updateTag })` | Adds `entity`, with its own `id`, under the parent; `collection` names the parent's relation it joins, such as `'Cabinet.$shelves'`. |
842
+ | `DomainEntityReplacement({ entityId, replacementEntity, keepChildren, updateTag })` | Replaces the entity with `replacementEntity`, keeping its children when `keepChildren` is `true`. |
843
+ | `EntityDeletion({ entityId, updateTag })` | Deletes the entity; the entities it is composed of are deleted with it. |
844
+ | `ComponentModification({ componentInstance, writableState, updateTag })` | Writes a component's writable state, as the built-in controls do. Project code prefers the entity updates, which keep the intent in the model. |
732
845
 
733
- // Create new entity
734
- const createUpdates = phx.frontend.updates.create({
735
- type: 'Cabinet',
736
- width: 800,
737
- height: 2000,
738
- })
846
+ The factory also has `EphemeralRecordCreation`, `EphemeralRecordModification` and `EphemeralRecordDeletion`. Every update takes `updateTag`, a name for why it was made, which tracing shows and the [update type guards](#update-type-guards) match. An update can also take `hint`, a text shown to the user as a side-effect message once the change is committed, see `useConfiguratorMessages`.
739
847
 
740
- // Modify existing entity
741
- const modifyUpdates = phx.frontend.updates.modify(cabinetId, {
742
- width: 1000,
848
+ A UI applies updates through a control hook. It dry-runs them against the invariants and returns `{ disabled, hints, update, stage, trace }`: `disabled` is `true` when the change would be rejected, because it leaves a `fixable` or `fatal` violation, and `hints` says why; `update()` commits the change, `stage()` shows it without committing, and `trace()` logs the dry run. `useUpdatedControl(updates, fixableViolations?)` takes one set of updates:
849
+
850
+ ```tsx
851
+ // src/elements/WidenCabinet.tsx
852
+ import { useMemo } from 'react'
853
+
854
+ export default phx.frontend.createCustomPhoenixEntityElement('WidenCabinet', () => {
855
+ const cabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
856
+
857
+ const updates = useMemo(
858
+ () =>
859
+ cabinet
860
+ ? [
861
+ phx.frontend.updates.DomainEntityModification({
862
+ entityId: cabinet.id,
863
+ stateDelta: { width: cabinet.width + 100 },
864
+ updateTag: 'widenCabinet',
865
+ }),
866
+ ]
867
+ : [],
868
+ [cabinet]
869
+ )
870
+ const { update, disabled, hints } = phx.frontend.useUpdatedControl(updates)
871
+
872
+ return (
873
+ <button type="button" disabled={!cabinet || disabled} title={hints} onClick={() => update()}>
874
+ Widen by 100 mm
875
+ </button>
876
+ )
743
877
  })
878
+ ```
744
879
 
745
- // Delete entity
746
- const deleteUpdates = phx.frontend.updates.delete(cabinetId)
880
+ `useUpdateControl(fixableViolations?)` returns the same as a function, for a list of options each with its own updates:
747
881
 
748
- // Apply updates
749
- storeSystem.stageAndCommit(createUpdates)
882
+ ```typescript
883
+ const prepare = phx.frontend.useUpdateControl()
884
+
885
+ const widthOptions = [600, 800, 1000].map(width => ({
886
+ width,
887
+ ...prepare([
888
+ phx.frontend.updates.DomainEntityModification({
889
+ entityId: cabinet.id,
890
+ stateDelta: { width },
891
+ updateTag: 'setCabinetWidth',
892
+ }),
893
+ ]),
894
+ }))
750
895
  ```
751
896
 
897
+ - `fixableViolations` leaves those violation types out of `hints`; the control stays disabled while the change would leave them, unless a transformer repairs the change in the dry run.
898
+ - To add entities from the UI, prefer recipes with `useGroupedRecipeOptions` and `useCookedRecipes`, and to replace one, `useReplaceEntityRecipeOptions` and `useCookedReplaceRecipes`; recipes give the new entities fresh ids.
899
+ - `storeSystem.stageAndCommit(updates)` from `phx.frontend.useDomain()` commits updates without the dry run, so the UI cannot disable a change that would be rejected; the control hooks call it for you.
900
+
752
901
  ### Update Type Guards
753
902
 
754
903
  ```typescript
755
- // Check update types
756
- phx.frontend.isCreateEntityUpdate(update)
757
- phx.frontend.isReplaceEntityUpdate(update)
758
- phx.frontend.isDeleteEntityUpdate(update)
759
- phx.frontend.isAngleDimensionUpdate(update)
760
- phx.frontend.isDistanceDimensionUpdate(update)
761
- phx.frontend.isAttributeSelectionUpdate(update)
762
- phx.frontend.isSwatchSelectionUpdate(update)
904
+ // Updates of the built-in recipe and delete controls, for the given entity types
905
+ phx.frontend.isCreateEntityUpdate(update, ['Shelf'])
906
+ phx.frontend.isReplaceEntityUpdate(update, ['Cabinet'])
907
+ phx.frontend.isDeleteEntityUpdate(update, ['Shelf'])
908
+
909
+ // Updates of a built-in control, for the given entity types and the instance name of its component
910
+ phx.frontend.isAttributeSelectionUpdate(update, ['Cabinet'], 'finish')
911
+ phx.frontend.isAttributeSwitchUpdate(update, ['Cabinet'], 'softClose')
912
+ phx.frontend.isSwatchSelectionUpdate(update, ['Cabinet'], 'frontMaterial')
913
+ phx.frontend.isTextValueUpdate(update, ['Cabinet'], 'engraving')
914
+ phx.frontend.isDistanceDimensionUpdate(update, ['Cabinet'], 'width')
915
+ phx.frontend.isAngleDimensionUpdate(update, ['Cabinet'], 'doorAngle')
916
+ phx.frontend.isGenericDimensionUpdate(update, ['Cabinet'], 'shelfCount')
763
917
  ```
764
918
 
919
+ Each guard also checks the `updateTag` the SDK's control or recipe sets, so it does not match an update a project builds with its own tag.
920
+
765
921
  ## Admin Interface
766
922
 
767
923
  For admin panel development, use `phx.frontend.admin`:
768
924
 
769
925
  ```typescript
770
926
  // Admin-specific hooks
771
- const entityState = phx.frontend.admin.useEntityState(AdminEntity, entityId)
927
+ const entityState = phx.frontend.admin.useEntityState(entityId)
772
928
  const selectEntity = phx.frontend.admin.useSelectEntity()
773
929
  const domain = phx.frontend.admin.useDomain()
774
930
  ```
@@ -795,7 +951,7 @@ to the built-in configuration-not-found page. The admin shows the built-in page
795
951
  In this guide, we covered Phoenix's Configurator Interface:
796
952
 
797
953
  - **Global namespace** - Access via `phx.frontend` and `Phx` type namespace
798
- - **Auto-generation** - Interface is generated in `.phoenix/configurator-interface.ts`
954
+ - **Auto-generation** - Interface is generated in `.phoenix/configurator-globals.ts`
799
955
  - **Core hooks** - State, selection, navigation, controls, validation, and more
800
956
  - **Handler functions** - Lifecycle providers and UI component factories
801
957
  - **TransformerBuilder** - Type-safe entity transformations