@salsita-ai/sdk 0.50.0-develop.97a772d197 → 0.50.0-develop.996c9540be

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 (890) hide show
  1. package/README.md +13 -12
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +11 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +14 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  39. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  40. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +17 -5
  41. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  42. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  43. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  44. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  45. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  46. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  47. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  48. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  49. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  50. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  51. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  52. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  53. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  55. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  57. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  58. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  59. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  60. package/dist/application-spec/generate-application/code/templates/gitignore.js +1 -2
  61. package/dist/application-spec/generate-application/code/templates/globals.js +3 -3
  62. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -8
  63. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  66. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  68. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  69. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  70. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  71. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +24 -18
  72. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  73. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  74. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  75. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  76. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  77. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  78. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  79. package/dist/application-spec/generate-application/index.d.ts +2 -0
  80. package/dist/application-spec/generate-application/index.js +1 -1
  81. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +6 -2
  82. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  83. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -3
  84. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  85. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +5 -3
  86. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  87. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  88. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  89. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  90. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  91. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  92. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  93. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  94. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  95. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  96. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  97. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  98. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  99. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  100. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  101. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  102. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  103. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  104. package/dist/application-spec/index.d.ts +1 -0
  105. package/dist/application-spec/index.js +1 -1
  106. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +16 -0
  107. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  108. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  109. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  110. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  111. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  112. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  113. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  114. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  115. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  116. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  117. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  118. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  119. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  120. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  121. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +4 -0
  122. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  123. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  124. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  125. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  126. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  127. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  128. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  129. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  130. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  131. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  132. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  133. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  134. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  135. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  136. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  137. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  138. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  139. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  140. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  141. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  142. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  143. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  144. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  145. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  146. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  147. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +3 -0
  148. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  149. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +4 -4
  150. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  151. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  152. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  153. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  154. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  155. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  156. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  157. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  158. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  159. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  160. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  161. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  162. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  163. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  164. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  165. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  166. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  167. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  168. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  169. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  170. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  171. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  172. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  173. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  174. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  175. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  176. package/dist/client/authorized-client.d.ts +3 -1
  177. package/dist/client/authorized-client.js +1 -1
  178. package/dist/client/contract.d.ts +34 -0
  179. package/dist/client/contract.js +1 -1
  180. package/dist/client/index.d.ts +2 -2
  181. package/dist/client/index.js +1 -1
  182. package/dist/client/local-authorized-client.d.ts +3 -1
  183. package/dist/client/local-authorized-client.js +1 -1
  184. package/dist/client/memory-authorized-client.d.ts +3 -1
  185. package/dist/client/memory-authorized-client.js +1 -1
  186. package/dist/client/phoenix-api.d.ts +797 -121
  187. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  188. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  189. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  190. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +120 -2
  191. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  192. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  193. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  194. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  195. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  196. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  197. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  198. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  199. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  200. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  201. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  202. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  203. package/dist/configurator/common/configurator-interface.js +1 -1
  204. package/dist/configurator/common/frontend-analytics.d.ts +2 -0
  205. package/dist/configurator/common/frontend-analytics.js +1 -1
  206. package/dist/configurator/common/index.d.ts +2 -0
  207. package/dist/configurator/common/index.js +1 -1
  208. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  209. package/dist/configurator/common/use-finalize-action.js +1 -0
  210. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  211. package/dist/configurator/common/use-reset-camera.js +1 -0
  212. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  213. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  214. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  215. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  216. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  217. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  218. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -0
  219. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  220. package/dist/configurator/pages/index.d.ts +1 -0
  221. package/dist/configurator/pages/index.js +1 -1
  222. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  223. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  224. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  225. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  226. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  227. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  228. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  229. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  230. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  231. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  232. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  233. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  234. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  235. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  236. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  237. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  238. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  239. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  240. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  241. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  242. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  243. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  244. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  245. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  246. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  247. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  248. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  249. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  250. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  251. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  252. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  253. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  254. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  255. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  256. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  257. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  258. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  259. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  260. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  261. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  262. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  263. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  264. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  265. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  266. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  267. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  268. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  269. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  270. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  271. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  272. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  273. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  274. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  275. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  276. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  277. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  278. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  279. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  280. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  281. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  282. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  283. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  284. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  285. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  286. package/dist/docs/index.json +42 -1
  287. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  288. package/dist/docs/layouts/custom-layout.mdx +2125 -0
  289. package/dist/docs/layouts/header/fixed.mdx +2 -2
  290. package/dist/docs/layouts/header/floating.mdx +2 -2
  291. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  292. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  293. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  294. package/dist/docs/other-features/side-effects.mdx +8 -11
  295. package/dist/docs/other-features/transformers.mdx +4 -0
  296. package/dist/docs/other-features/violation-messages.mdx +52 -56
  297. package/dist/docs/phoenix/application-states.mdx +9 -7
  298. package/dist/docs/phoenix/components.mdx +6 -0
  299. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  300. package/dist/docs/phoenix/deployments.mdx +2 -6
  301. package/dist/docs/phoenix/domain-model.mdx +4 -0
  302. package/dist/docs/phoenix/expression-context.mdx +11 -3
  303. package/dist/docs/phoenix/finalization.mdx +1 -1
  304. package/dist/docs/phoenix/getting-started.mdx +2 -1
  305. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  306. package/dist/docs/phoenix/localization.mdx +4 -4
  307. package/dist/docs/phoenix/migration-guide.mdx +19 -8
  308. package/dist/docs/phoenix/phoenix-cli.mdx +66 -34
  309. package/dist/docs/phoenix/project-structure.mdx +38 -16
  310. package/dist/docs/phoenix/quickstart.mdx +2 -2
  311. package/dist/docs/phoenix/sdk-builder-workflow.mdx +3 -3
  312. package/dist/docs/phoenix/testing.mdx +140 -0
  313. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  314. package/dist/docs/phoenix/webhooks.mdx +23 -6
  315. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  316. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  317. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  318. package/dist/domain/admin-domain/index.d.ts +7 -2
  319. package/dist/domain/admin-domain/index.js +1 -1
  320. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  321. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  322. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  323. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  324. package/dist/domain/application/application-config.d.ts +9 -26
  325. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  326. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  327. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  328. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  329. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  330. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  331. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  332. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  333. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  334. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  335. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  336. package/dist/domain/application/assistant/index.d.ts +6 -1
  337. package/dist/domain/application/assistant/index.js +1 -1
  338. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  339. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  340. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  341. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  342. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  343. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  344. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  345. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  346. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  347. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  348. package/dist/domain/application/assistant-mutations.d.ts +2 -1
  349. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  350. package/dist/domain/application/configurator-builder.d.ts +5 -2
  351. package/dist/domain/application/configurator-builder.js +1 -1
  352. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  353. package/dist/domain/application/index.d.ts +1 -5
  354. package/dist/domain/application/index.js +1 -1
  355. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  356. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  357. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  358. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  359. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  360. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  361. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  362. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  363. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  364. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  365. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  366. package/dist/domain/available-system-components.js +1 -1
  367. package/dist/domain/core/action/action-factory.d.ts +2 -2
  368. package/dist/domain/core/action/action.d.ts +19 -14
  369. package/dist/domain/core/component/domain-component-optic.d.ts +29 -40
  370. package/dist/domain/core/component/domain-component-optic.js +2 -2
  371. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  372. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  373. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  374. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  375. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  376. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  377. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  378. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  379. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  380. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  381. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  382. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  383. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  384. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  385. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  386. package/dist/domain/core/data-schema/data-schema.js +1 -0
  387. package/dist/domain/core/data-schema/index.d.ts +7 -0
  388. package/dist/domain/core/data-schema/index.js +1 -0
  389. package/dist/domain/core/domain.d.ts +2 -2
  390. package/dist/domain/core/emission/index.d.ts +8 -0
  391. package/dist/domain/core/emission/index.js +1 -0
  392. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  393. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  394. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  395. package/dist/domain/core/emission/state-emission.js +1 -0
  396. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  397. package/dist/domain/core/emission/state-update-emission.js +1 -0
  398. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  399. package/dist/domain/core/emission/state-validation-result.js +1 -0
  400. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  401. package/dist/domain/core/emission/transformation-log.js +1 -0
  402. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  403. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  404. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  405. package/dist/domain/core/emission/transformer-log.js +1 -0
  406. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  407. package/dist/domain/core/emission/transformer-phase.js +1 -0
  408. package/dist/domain/core/expression/aliased-expressions.d.ts +2 -2
  409. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  410. package/dist/domain/core/expression/constant-expressions.js +1 -1
  411. package/dist/domain/core/expression/custom-expression.d.ts +20 -7
  412. package/dist/domain/core/expression/custom-expression.js +1 -1
  413. package/dist/domain/core/expression/expression.d.ts +15 -17
  414. package/dist/domain/core/index.d.ts +2 -0
  415. package/dist/domain/core/invariant/custom-invariants.d.ts +8 -16
  416. package/dist/domain/core/invariant/index.d.ts +1 -1
  417. package/dist/domain/core/invariant/index.js +1 -1
  418. package/dist/domain/core/invariant/invariants.d.ts +4 -70
  419. package/dist/domain/core/invariant/invariants.js +1 -1
  420. package/dist/domain/core/invariant/violation.d.ts +51 -3
  421. package/dist/domain/core/invariant/violation.js +1 -1
  422. package/dist/domain/core/model/model.d.ts +1 -1
  423. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  424. package/dist/domain/core/recipe/recipes.js +1 -1
  425. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  426. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  427. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  428. package/dist/domain/core/relation/index.d.ts +0 -1
  429. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  430. package/dist/domain/core/relation/indirect-relation.js +1 -1
  431. package/dist/domain/core/relation/reference-component.d.ts +2 -2
  432. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  433. package/dist/domain/core/relation/relation-factory.js +1 -1
  434. package/dist/domain/core/state/migrations.d.ts +14 -45
  435. package/dist/domain/core/state/migrations.js +1 -1
  436. package/dist/domain/core/state/state.d.ts +1 -1
  437. package/dist/domain/domain-builder.d.ts +1 -1
  438. package/dist/domain/domain-builder.js +1 -1
  439. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  440. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  441. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  442. package/dist/domain/domain-context/action-system/index.js +1 -0
  443. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  444. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  445. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  446. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  447. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  448. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  449. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  450. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  451. package/dist/domain/domain-context/index.d.ts +8 -17
  452. package/dist/domain/domain-context/index.js +1 -1
  453. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  454. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  455. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  456. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  457. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  458. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  459. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  460. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  461. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  462. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  463. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  464. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  465. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  466. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  467. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  468. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  469. package/dist/domain/domain-context/store-system/index.js +1 -0
  470. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  471. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -35
  472. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  473. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  474. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  475. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  476. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  477. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  478. package/dist/domain/domain-context/transformers/context.d.ts +2 -3
  479. package/dist/domain/domain-context/transformers/context.js +1 -1
  480. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  481. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  482. package/dist/domain/domain-context/transformers/index.js +1 -1
  483. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  484. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  485. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  486. package/dist/domain/domain-context/undo-system.js +1 -1
  487. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  488. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  489. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  490. package/dist/domain/domain-runtime/access/types.js +1 -1
  491. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  492. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  493. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  494. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  495. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  496. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  497. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  498. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  499. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +18 -22
  500. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  501. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  502. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  503. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  504. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  505. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  506. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  507. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  508. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  509. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  510. package/dist/domain/domain-runtime/errors/index.js +1 -0
  511. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  512. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  513. package/dist/domain/domain-runtime/index.d.ts +1 -0
  514. package/dist/domain/domain-runtime/index.js +1 -1
  515. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  516. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  517. package/dist/domain/domain-runtime/spec/index.d.ts +2 -0
  518. package/dist/domain/domain-runtime/spec/index.js +1 -1
  519. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  520. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  521. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +2 -2
  522. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  523. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  524. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  525. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  526. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  527. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  528. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  529. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  530. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  531. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  532. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  533. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  534. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  535. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  536. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  537. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  538. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  539. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  540. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  541. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  542. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  543. package/dist/domain/extensions/attribute-switch.js +1 -0
  544. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  545. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +1 -1
  546. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  547. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  548. package/dist/domain/{system-components → extensions}/client-side-image.js +1 -1
  549. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  550. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  551. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  552. package/dist/domain/extensions/common/index.d.ts +4 -0
  553. package/dist/domain/extensions/common/index.js +1 -0
  554. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  555. package/dist/domain/extensions/custom-header.js +1 -0
  556. package/dist/domain/{system-components → extensions}/custom-price-footer.js +1 -1
  557. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  558. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  559. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  560. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  561. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  562. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  563. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  564. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  565. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  566. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  567. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  568. package/dist/domain/extensions/entity-header.js +1 -0
  569. package/dist/domain/{system-components → extensions}/finalize-component.js +1 -1
  570. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  571. package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.js +1 -1
  572. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  573. package/dist/domain/extensions/index.d.ts +69 -0
  574. package/dist/domain/extensions/index.js +1 -0
  575. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  576. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  577. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  578. package/dist/domain/extensions/offset-indicator.js +1 -0
  579. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  580. package/dist/domain/extensions/property-page.js +1 -0
  581. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +1 -1
  582. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  583. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  584. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  585. package/dist/domain/{system-components → extensions}/save-template-thumbnail.js +1 -1
  586. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  587. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  588. package/dist/domain/{system-components → extensions}/scene-entity-animation.js +1 -1
  589. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  590. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  591. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  592. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  593. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  594. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  595. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  596. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  597. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  598. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  599. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  600. package/dist/domain/extensions/sketching-edit.js +1 -0
  601. package/dist/domain/{system-components → extensions}/summary-component.js +1 -1
  602. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  603. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  604. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  605. package/dist/domain/extensions/toolbar.js +1 -0
  606. package/dist/domain/index.d.ts +1 -1
  607. package/dist/domain/index.js +1 -1
  608. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  609. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  610. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  611. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  612. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  613. package/dist/domain/mocks/create-mock-domain.js +1 -1
  614. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  615. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  616. package/dist/domain/mocks/create-test-application-config.js +1 -0
  617. package/dist/domain/mocks/index.d.ts +1 -0
  618. package/dist/domain/mocks/index.js +1 -1
  619. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  620. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  621. package/dist/domain/projections/collision-projections.d.ts +1 -1
  622. package/dist/domain/projections/composition-projections.d.ts +1 -1
  623. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  624. package/dist/domain/projections/index.d.ts +1 -1
  625. package/dist/domain/projections/position-projections.d.ts +1 -1
  626. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  627. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  628. package/dist/domain/projections/validation-projections.d.ts +3 -19
  629. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  630. package/dist/domain/system-components/application-config.d.ts +2 -2
  631. package/dist/domain/system-components/child-entity-selection.js +1 -1
  632. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  633. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  634. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  635. package/dist/domain/system-components/common/index.d.ts +0 -4
  636. package/dist/domain/system-components/common/index.js +1 -1
  637. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  638. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  639. package/dist/domain/system-components/common/recipes.js +1 -1
  640. package/dist/domain/system-components/constraint.d.ts +10 -23
  641. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  642. package/dist/domain/system-components/drag-handle.js +1 -1
  643. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  644. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  645. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  646. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  647. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  648. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  649. package/dist/domain/system-components/index.d.ts +0 -68
  650. package/dist/domain/system-components/index.js +1 -1
  651. package/dist/domain/system-components/material-swatch.js +1 -1
  652. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  653. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  654. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  655. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  656. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  657. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  658. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  659. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  660. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  661. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  662. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  663. package/dist/domain/utils/eval-cache.d.ts +1 -1
  664. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  665. package/dist/domain/utils/memo-eval.d.ts +2 -2
  666. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  667. package/dist/editor/mocks/EditorMockContext.js +1 -1
  668. package/dist/globals/index.d.ts +2 -0
  669. package/dist/i18n/locales/cs/messages.js +1 -1
  670. package/dist/i18n/locales/da/messages.js +1 -1
  671. package/dist/i18n/locales/de/messages.js +1 -1
  672. package/dist/i18n/locales/de-AT/messages.js +1 -1
  673. package/dist/i18n/locales/en/messages.js +1 -1
  674. package/dist/i18n/locales/en-AU/messages.js +1 -1
  675. package/dist/i18n/locales/en-GB/messages.js +1 -1
  676. package/dist/i18n/locales/es/messages.js +1 -1
  677. package/dist/i18n/locales/fr/messages.js +1 -1
  678. package/dist/i18n/locales/hu/messages.js +1 -1
  679. package/dist/i18n/locales/it/messages.js +1 -1
  680. package/dist/i18n/locales/nl/messages.js +1 -1
  681. package/dist/i18n/locales/pl/messages.js +1 -1
  682. package/dist/i18n/locales/pt/messages.js +1 -1
  683. package/dist/i18n/locales/ro/messages.js +1 -1
  684. package/dist/i18n/locales/sk/messages.js +1 -1
  685. package/dist/i18n/locales/tr/messages.js +1 -1
  686. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  687. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  688. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  689. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  690. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  691. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  692. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  693. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  694. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +81 -68
  695. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  696. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  697. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  698. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  699. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  700. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  701. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  702. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -16
  703. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  704. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +13 -11
  705. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  706. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  707. package/dist/phoenix/application-spec/project-files.js +1 -1
  708. package/dist/phoenix/cli.js +1 -1
  709. package/dist/phoenix/commands/check.js +1 -1
  710. package/dist/phoenix/commands/deploy.js +1 -1
  711. package/dist/phoenix/commands/deps/deps.d.ts +52 -0
  712. package/dist/phoenix/commands/deps/deps.js +3 -0
  713. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  714. package/dist/phoenix/commands/deps/index.js +1 -0
  715. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  716. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  717. package/dist/phoenix/commands/dev.js +5 -5
  718. package/dist/phoenix/commands/fix.js +1 -1
  719. package/dist/phoenix/commands/index.d.ts +1 -0
  720. package/dist/phoenix/commands/index.js +1 -1
  721. package/dist/phoenix/commands/init.d.ts +4 -4
  722. package/dist/phoenix/commands/init.js +1 -1
  723. package/dist/phoenix/commands/prettier.js +1 -1
  724. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -0
  725. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  726. package/dist/phoenix/services/source-archive.d.ts +1 -0
  727. package/dist/phoenix/services/source-archive.js +1 -1
  728. package/dist/phoenix/services/swc.js +1 -1
  729. package/dist/phoenix/utils/git/index.d.ts +1 -0
  730. package/dist/phoenix/utils/git/index.js +1 -0
  731. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  732. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  733. package/dist/phoenix/utils/index.d.ts +2 -0
  734. package/dist/phoenix/utils/index.js +1 -1
  735. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  736. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  737. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  738. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  739. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  740. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  741. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  742. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  743. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  744. package/dist/react-sdk/domain-context/index.js +1 -1
  745. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  746. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  747. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  748. package/dist/ui-sdk/theme/types.d.ts +1 -1
  749. package/dist/webhook/builders/common.d.ts +5 -0
  750. package/dist/webhook/builders/webhook-builder.js +1 -1
  751. package/package.json +33 -29
  752. package/schema/domain-spec.json +1115 -209
  753. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  754. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  755. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  756. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  757. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  758. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  759. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  760. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  761. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  762. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  763. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  764. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  765. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  766. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  767. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  768. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  769. package/dist/domain/application/element-registration.js +0 -1
  770. package/dist/domain/application/handler-registration.js +0 -1
  771. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  772. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  773. package/dist/domain/application/resource-builder.d.ts +0 -13
  774. package/dist/domain/application/resource-builder.js +0 -1
  775. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  776. package/dist/domain/project-modules/index.d.ts +0 -1
  777. package/dist/domain/project-modules/index.js +0 -1
  778. package/dist/domain/project-modules/project-modules.js +0 -1
  779. package/dist/domain/system-components/attribute-switch.js +0 -1
  780. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  781. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  782. package/dist/domain/system-components/custom-header.js +0 -1
  783. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  784. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  785. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  786. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  787. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  788. package/dist/domain/system-components/entity-header.js +0 -1
  789. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  790. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  791. package/dist/domain/system-components/offset-indicator.js +0 -1
  792. package/dist/domain/system-components/property-page.js +0 -1
  793. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  794. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  795. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  796. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  797. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  798. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  799. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  800. package/dist/domain/system-components/sketching-edit.js +0 -1
  801. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  802. package/dist/domain/system-components/toolbar.js +0 -1
  803. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  804. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  805. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  806. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  807. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  808. /package/dist/domain/{system-components → extensions}/angle-indicator.js +0 -0
  809. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +0 -0
  810. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.js +0 -0
  811. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  812. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.js +0 -0
  813. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  814. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.js +0 -0
  815. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  816. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.js +0 -0
  817. /package/dist/domain/{system-components → extensions}/canvas-config.js +0 -0
  818. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  819. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.js +0 -0
  820. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  821. /package/dist/domain/{system-components → extensions}/canvas-padding.js +0 -0
  822. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  823. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.js +0 -0
  824. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  825. /package/dist/domain/{system-components → extensions}/color-value.js +0 -0
  826. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  827. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  828. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  829. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  830. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  831. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  832. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  833. /package/dist/domain/{system-components → extensions}/dimension-indicator.js +0 -0
  834. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  835. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.js +0 -0
  836. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  837. /package/dist/domain/{system-components → extensions}/finalize-action.js +0 -0
  838. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  839. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  840. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  841. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  842. /package/dist/domain/{system-components → extensions}/fixed-header.js +0 -0
  843. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  844. /package/dist/domain/{system-components → extensions}/floating-header.js +0 -0
  845. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  846. /package/dist/domain/{system-components → extensions}/hidden-header.js +0 -0
  847. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  848. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.js +0 -0
  849. /package/dist/domain/{system-components → extensions}/horizontal-tabs.js +0 -0
  850. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  851. /package/dist/domain/{system-components → extensions}/multilingual-text-value.js +0 -0
  852. /package/dist/domain/{system-components → extensions}/navigation-steps.js +0 -0
  853. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  854. /package/dist/domain/{system-components → extensions}/offset-anchors.js +0 -0
  855. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  856. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  857. /package/dist/domain/{system-components → extensions}/offset.js +0 -0
  858. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  859. /package/dist/domain/{system-components → extensions}/other-action.js +0 -0
  860. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  861. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.js +0 -0
  862. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  863. /package/dist/domain/{system-components → extensions}/rotatable.js +0 -0
  864. /package/dist/domain/{system-components → extensions}/rotation-handle.js +0 -0
  865. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  866. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  867. /package/dist/domain/{system-components → extensions}/scene-entity-control.js +0 -0
  868. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  869. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.js +0 -0
  870. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  871. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.js +0 -0
  872. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  873. /package/dist/domain/{system-components → extensions}/selectable-component.js +0 -0
  874. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  875. /package/dist/domain/{system-components → extensions}/sidebar-tabs.js +0 -0
  876. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  877. /package/dist/domain/{system-components → extensions}/simple-summary.js +0 -0
  878. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  879. /package/dist/domain/{system-components → extensions}/size.js +0 -0
  880. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  881. /package/dist/domain/{system-components → extensions}/sketching-draw.js +0 -0
  882. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  883. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  884. /package/dist/domain/{system-components → extensions}/text-value.js +0 -0
  885. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  886. /package/dist/domain/{system-components → extensions}/tool-controls.js +0 -0
  887. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  888. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.js +0 -0
  889. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
  890. /package/dist/domain/{system-components → extensions}/view-controls.js +0 -0
@@ -104,10 +104,10 @@ pnpm install
104
104
  pnpm phoenix sync
105
105
  ```
106
106
 
107
- `phoenix sync` keeps `spec/` and `src/` as your authored inputs and generates the application shell, scripts, types, and `.phoenix/` implementation. Start the generated development script without a server:
107
+ `phoenix sync` keeps `spec/` and `src/` as your authored inputs and generates the application shell, types, and `.phoenix/` implementation. Start development without a server:
108
108
 
109
109
  ```sh
110
- pnpm dev:local
110
+ pnpm phoenix dev --persistence local-storage
111
111
  ```
112
112
 
113
113
  Open the URL printed by the command. The application shell loads with the default `<salsita-configurator>` element and an empty 3D scene.
@@ -22,7 +22,7 @@ pnpm install
22
22
  pnpm phoenix sync
23
23
  ```
24
24
 
25
- `phoenix init [folder]` writes the starter project: `package.json`, `pnpm-workspace.yaml` and the starter spec, `spec/application.yaml` and `spec/configurator.yaml`, which describe one box you can resize and recolour. The starter depends on the same SDK version as the CLI that created it. `phoenix sync` then adds the rest of the project: package scripts, webhooks, README and lint config.
25
+ `phoenix init [folder]` writes the starter project: `package.json`, `pnpm-workspace.yaml` and the starter spec, `spec/application.yaml` and `spec/configurator.yaml`, which describe one box you can resize and recolour. The starter depends on the same SDK version as the CLI that created it, and its `package.json` has the `dev`, `build`, `deploy`, `check` and `fix` scripts, which are yours to change. `phoenix sync` then adds the rest of the project: the TypeScript, lint and formatting config and the agent skills. It writes no webhook code: a project without `src/webhooks/index.ts` gets a built-in webhook (see [Webhook Entry Point](?path=/docs/phoenix-webhooks--docs#webhook-entry-point)). It writes a `.gitignore` only when the folder is inside a git repository; run `git init` before the first sync, or sync again after it, to get the file.
26
26
 
27
27
  `init` only writes these files: it asks nothing and contacts no server. It refuses a folder that already has a `spec/` folder. A `package.json` already in the folder is kept, as long as it depends on the SDK.
28
28
 
@@ -61,7 +61,7 @@ Signed in, `phoenix dev` needs no `.env` and nothing set up in Studio. When it s
61
61
 
62
62
  Every user who signs the CLI in gets their own development environment, so a teammate (a super admin of the workspace, like you) who clones the project and signs in doesn't overwrite your schema or take over your webhooks. The development environment is separate from `production`: nothing you do in `phoenix dev` changes the live configurator.
63
63
 
64
- `pnpm dev:local` still runs the project without any server, with state kept in the browser.
64
+ `pnpm phoenix dev --persistence local-storage` still runs the project without any server, with state kept in the browser.
65
65
 
66
66
  Coding agents follow the generated `phoenix` skill: before their first change they start `phoenix dev` and open the preview in your browser, and after `phoenix deploy` starts a build they open its page in Studio.
67
67
 
@@ -76,7 +76,7 @@ pnpm phoenix deploy
76
76
  `phoenix deploy` goes through these steps:
77
77
 
78
78
  1. It validates the application spec.
79
- 2. It packs the project files: the `.yaml` files in `spec`, everything in `src`, `mocks`, `assets`, `public` and `templates`, and `package.json`, `pnpm-lock.yaml`, `pnpm-workspace.yaml`, `.gitignore`, `CLAUDE.md` and `.cursor/rules/phoenix.mdc`. Every `node_modules`, `.phoenix` and `__generated` folder, every `.DS_Store` and `._*` file and every `.env` and `.env.*` file are left out, at any depth.
79
+ 2. It packs the project files: the `.yaml` files in `spec`, everything in `src`, `mocks`, `assets`, `public` and `templates`, and `package.json`, `tsconfig.json`, `pnpm-lock.yaml`, `pnpm-workspace.yaml`, `.gitignore`, `CLAUDE.md` and `.cursor/rules/phoenix.mdc`. Every `node_modules`, `.phoenix` and `__generated` folder, every `.DS_Store` and `._*` file and every `.env` and `.env.*` file are left out, at any depth.
80
80
  3. It asks the server for a build. The server compares your domain model with the deployed one and refuses, before anything is uploaded, a model that changed under an already deployed model version; see [Migrations](?path=/docs/phoenix-migrations--docs).
81
81
  4. It uploads the archive, which may be up to 200 MB.
82
82
  5. It starts the build, prints a link to the build's page in Studio and follows the build until your configurator is live, then prints its URL.
@@ -0,0 +1,140 @@
1
+ # Testing
2
+
3
+ - [Your application in a test](#your-application-in-a-test)
4
+ - [Run the domain on a preset](#run-the-domain-on-a-preset)
5
+ - [Test a transformer](#test-a-transformer)
6
+ - [Mock a domain context](#mock-a-domain-context)
7
+ - [Options](#options)
8
+
9
+ A project's tests check its own logic, such as an expression on a preset, a transformer that completes an
10
+ edit, a Blender projection or a migration, against the application the project ships. They run with
11
+ Vitest in Node, without a browser or a server.
12
+
13
+ ## Your application in a test
14
+
15
+ `createTestApplicationConfig` from `@salsita-ai/sdk/domain` is the way a test builds the project's
16
+ application. It takes the generated application the test imports and returns its application config,
17
+ typed with the project's entities, states and data, with no type argument at the call:
18
+
19
+ ```ts
20
+ import { createTestApplicationConfig } from '@salsita-ai/sdk/domain'
21
+
22
+ import { configuratorBuilder } from '../../.phoenix/domain.js'
23
+
24
+ const config = createTestApplicationConfig(configuratorBuilder)
25
+
26
+ config.domain.presets // the presets of spec/presets
27
+ config.initialPublishedData // the published data the application starts with
28
+ ```
29
+
30
+ `configuratorBuilder` from `.phoenix/domain.js` is the domain of the configurator: the model, expressions,
31
+ invariants, actions, migrations, presets and the components declared in YAML. `configuratorConfig` from
32
+ `.phoenix/configurator-config.js` is the whole configurator as the browser runs it, with every component,
33
+ handler, element and transformer; it reads the frontend environment when it is imported, so a test that
34
+ uses it stubs `phx.frontendEnv` first.
35
+
36
+ A test passes the generated export to the helper and does not call the export's methods: they are how the
37
+ SDK assembles an application, not an interface for tests, while the helper's call does not depend on that
38
+ assembly.
39
+
40
+ ## Run the domain on a preset
41
+
42
+ The config goes into `createDomainRuntime`, which runs the same systems as the configurator:
43
+
44
+ ```ts
45
+ import { vi } from 'vitest'
46
+
47
+ import { NoopAnalyticsSystem, createDomainRuntime, createTestApplicationConfig } from '@salsita-ai/sdk/domain'
48
+
49
+ import { configuratorBuilder, createI18n } from '../../.phoenix/domain.js'
50
+
51
+ const logger = {
52
+ info: vi.fn(),
53
+ error: vi.fn(),
54
+ warn: vi.fn(),
55
+ debug: vi.fn(),
56
+ verbose: vi.fn(),
57
+ appendToGlobalContext: vi.fn(),
58
+ }
59
+ const config = createTestApplicationConfig(configuratorBuilder)
60
+ const runtime = createDomainRuntime({
61
+ config,
62
+ services: { analyticsService: new NoopAnalyticsSystem(), i18n: createI18n(), logger },
63
+ })
64
+
65
+ runtime.actions.domainContext.configurator.setExecutionMode('finalize')
66
+ runtime.actions.domainData.setDomainData({
67
+ publishedData: config.initialPublishedData,
68
+ backendData: undefined,
69
+ frontendData: {},
70
+ })
71
+ runtime.actions.sessionContext.setSessionContext({ role: 'anonymous', data: {} })
72
+
73
+ const preset = config.domain.presets[0]!
74
+ runtime.actions.loadedData.completeConfiguratorLoad({
75
+ initialRevisionId: 'test',
76
+ initialEntities: preset.initialDomainEntities,
77
+ modelVersion: config.domain.domainFactory.modelVersion,
78
+ rootEntityType: preset.rootEntityType,
79
+ schemaIdentity: runtime.selectors.spec.getConfiguratorFactory(),
80
+ })
81
+ runtime.selectors.domainContext.configurator.getDomainContext().initialize()
82
+ ```
83
+
84
+ ## Test a transformer
85
+
86
+ The domain of `configuratorBuilder` has no code-attached components and no transformers. A test adds the
87
+ ones it needs, the way the configurator and the webhooks add them:
88
+
89
+ ```ts
90
+ // Files that read `phx.domain` at module scope are imported after `.phoenix/domain.js`.
91
+ const { customComponentOptics } = await import('../../.phoenix/configurator-domain-code.js')
92
+ const { default: addCookingTop } = await import('../transformers/add-cooking-top.js')
93
+
94
+ const config = createTestApplicationConfig(configuratorBuilder, {
95
+ componentModules: customComponentOptics,
96
+ transformers: {
97
+ importedTransformers: [{ origin: 'src/transformers/add-cooking-top.ts', exports: addCookingTop }],
98
+ specTransformers: [{ name: 'addCookingTop', priority: 30 }],
99
+ },
100
+ })
101
+ ```
102
+
103
+ `specTransformers` are the entries of the `transformers` section of `spec/application.yaml` that the test
104
+ runs, with the priorities the spec gives them.
105
+
106
+ ## Mock a domain context
107
+
108
+ `createMockState`, `createMockDomain` and `createMockDomainContext` take the same config and check the
109
+ mock data against the project's types:
110
+
111
+ ```ts
112
+ import { createMockDomainContext, createTestApplicationConfig } from '@salsita-ai/sdk/domain'
113
+
114
+ const config = createTestApplicationConfig(configuratorBuilder)
115
+ const preset = config.domain.presets[0]!
116
+ const { domainContext, destroy } = createMockDomainContext(config, {
117
+ entities: preset.initialDomainEntities,
118
+ rootEntityType: preset.rootEntityType,
119
+ publishedData: config.initialPublishedData,
120
+ frontendData: {},
121
+ sessionData: {},
122
+ backendData: undefined,
123
+ mode: 'owner',
124
+ role: 'anonymous',
125
+ transformers: [],
126
+ })
127
+ ```
128
+
129
+ ## Options
130
+
131
+ | Option | What it does |
132
+ | ------------------ | ------------------------------------------------------------------------------------------------------------------ |
133
+ | `componentModules` | Component files added after the components the application already has, each `{ origin, exports }` |
134
+ | `transformers` | Replaces the application's transformers: files (`importedTransformers`) and spec entries (`specTransformers`) |
135
+ | `tag` | The tag of the custom element the application mounts as; without it the application's own (`salsita-configurator`) |
136
+
137
+ ## See Also
138
+
139
+ - [Best Practices](?path=/docs/phoenix-best-practices--docs) - Where custom code lives
140
+ - [Transformers](?path=/docs/other-features-transformers--docs) - Writing transformers
@@ -4,21 +4,22 @@ Build component controls with React and browser SDKs without pulling them into t
4
4
 
5
5
  ## Choose Where Each File Runs
6
6
 
7
- | User file | Frontend | Webhook |
8
- | ------------------------------------------------- | -------- | ------- |
9
- | Component or admin component without a directive | Yes | No |
10
- | Component or admin component with `'use webhook'` | Yes | Yes |
11
- | Ordinary handler | Yes | No |
12
- | Published-data or validator handler | Yes | Yes |
13
- | Any other handler with `'use webhook'` | Yes | Yes |
14
- | File under `src/webhooks/` | No | Yes |
7
+ | User file | Frontend | Webhook |
8
+ | ---------------------------------------------------- | -------- | ------- |
9
+ | Component or admin component without a directive | Yes | No |
10
+ | Component or admin component with `'use webhook'` | Yes | Yes |
11
+ | Ordinary handler | Yes | No |
12
+ | Published-data, validator or assistant setup handler | Yes | Yes |
13
+ | Any other handler with `'use webhook'` | Yes | Yes |
14
+ | File under `src/webhooks/` | No | Yes |
15
15
 
16
- Published-data and validator handlers are detected when they register one of these APIs:
16
+ Published-data, validator and assistant setup handlers are detected when they register one of these APIs:
17
17
 
18
18
  - `createMapPublishedRevisionDataHandler`
19
19
  - `createMapPublishedChunkedDataHandler`
20
20
  - `createDataRowValidatorHandler`
21
21
  - `createSheetValidatorHandler`
22
+ - `phx.domain.createAssistantSetupHandler`
22
23
 
23
24
  ## Pin a Server-Safe Component
24
25
 
@@ -34,6 +34,23 @@ Phoenix provides domain-aware builders through the global `phx.webhooks` namespa
34
34
 
35
35
  ### Webhook Entry Point
36
36
 
37
+ Your webhook is the default export of `src/webhooks/index.ts`. With the application-spec pipeline (see [Current and legacy project tooling](?path=/docs/phoenix-phoenix-cli--docs#current-and-legacy-project-tooling)), the file is yours to create; sync does not write it. A project without it gets a built-in webhook, so it builds and deploys with no webhook code. The built-in webhook has one handler, an anonymous auth handler, which the platform calls only when `spec/application.yaml` sets `useAuthHook`. The legacy pipeline writes the file with that webhook on the first sync.
38
+
39
+ Create `src/webhooks/index.ts` when the project needs its own handlers: finalization, backend data, or an auth handler that does more than start an anonymous session. A project that sets `useAuthHook` or `useClerk` needs its own auth handler, because the built-in one answers only anonymous requests. The smallest file is the built-in webhook itself:
40
+
41
+ ```ts
42
+ // src/webhooks/index.ts
43
+ const authHandler = phx.webhooks.authHandlerBuilder
44
+ .withAnonymousHandler(async () => ({ success: true, data: {}, role: 'anonymous' }))
45
+ .build()
46
+
47
+ export default phx.webhooks.webhookBuilder.withAuthHook(authHandler).build()
48
+ ```
49
+
50
+ The next `phoenix sync` or `phoenix build`, or the rebuild of a running `phoenix dev`, uses the file; deleting it brings the built-in webhook back. A webhook needs at least one handler, and a project with any other file in `src/webhooks/` must have `index.ts`.
51
+
52
+ A webhook with more handlers:
53
+
37
54
  ```ts
38
55
  // src/webhooks/index.ts
39
56
  import { authHandler } from './handlers/auth-handler.js'
@@ -148,7 +165,7 @@ resources:
148
165
  s3Key: clientImage
149
166
  ```
150
167
 
151
- These resources are automatically made available as typed properties in task handlers via the `resources` parameter.
168
+ These resources are automatically made available as typed properties in task handlers via the `resources` parameter. Two static resources with the same name are an error: `phoenix check` and `phoenix build` report the second entry (`DUPLICATE_RESOURCE_NAME`).
152
169
 
153
170
  #### Task Payload
154
171
 
@@ -391,7 +408,7 @@ ctx.emailTaskBuilder.withSubject(msg`Your configuration`)
391
408
  In React templates, use `<Trans>` for inline strings and `<HtmlHelpers.Localized>` to render message descriptors:
392
409
 
393
410
  ```tsx
394
- import { Trans } from '@lingui/macro'
411
+ import { Trans } from '@lingui/react/macro'
395
412
 
396
413
  import { HtmlHelpers } from '@salsita-ai/sdk/webhook'
397
414
 
@@ -456,7 +473,7 @@ The template file:
456
473
 
457
474
  ```tsx
458
475
  // src/webhooks/handlers/configurator-finalize-handler/tasks/pdf-template.tsx
459
- import { Trans } from '@lingui/macro'
476
+ import { Trans } from '@lingui/react/macro'
460
477
 
461
478
  import { HtmlHelpers, PdfHelpers, ResourceHelpers } from '@salsita-ai/sdk/webhook'
462
479
 
@@ -578,7 +595,7 @@ except for resource reference interpolation.
578
595
 
579
596
  ```tsx
580
597
  // src/webhooks/handlers/configurator-finalize-handler/tasks/email-task.tsx
581
- import { msg } from '@lingui/macro'
598
+ import { msg } from '@lingui/core/macro'
582
599
 
583
600
  import { EmailTemplate } from './email-template.js'
584
601
 
@@ -603,7 +620,7 @@ export const simpleEmailTask = phx.webhooks.taskFactory.createSendEmailTask((res
603
620
 
604
621
  ```tsx
605
622
  // src/webhooks/handlers/configurator-finalize-handler/tasks/email-template.tsx
606
- import { Trans } from '@lingui/macro'
623
+ import { Trans } from '@lingui/react/macro'
607
624
 
608
625
  import { EmailHelpers, ResourceHelpers } from '@salsita-ai/sdk/webhook'
609
626
 
@@ -991,7 +1008,7 @@ Save the same OAuth client ID, client secret, and base URL in the customer's **C
991
1008
  JWT_SECRET_BASE64=<base64 of a long random key>
992
1009
  ```
993
1010
 
994
- For a deployment, run `pnpm phoenix deployment:prepare` followed by `pnpm phoenix deployment:finish`. For local development, run `pnpm deployment:prepare-local`. These current commands use the customer settings stored in Studio; the removed `environment:create` and `deployment:register` commands are not part of the setup flow.
1011
+ For a deployment, run `pnpm phoenix deployment:prepare` followed by `pnpm phoenix deployment:finish`. For local development, run `pnpm phoenix deployment:prepare-local`. These current commands use the customer settings stored in Studio; the removed `environment:create` and `deployment:register` commands are not part of the setup flow.
995
1012
 
996
1013
  #### Clerk organization
997
1014
 
@@ -13,6 +13,15 @@ Choose the control from how users understand the options.
13
13
  - Long labels or descriptions: list selector.
14
14
  - Many text options or tight space: select dropdown.
15
15
 
16
+ ## Adding, removing, and placing
17
+
18
+ The controls above choose a value for a property. A decision that changes which parts exist is a different kind of choice, and where its control lives is part of the decision.
19
+
20
+ - Put the control in the scene when position carries the meaning of the action: where the next part goes, what sits on top of this one, which part this removes. An add FAB stands at the place the new part will occupy, and a delete FAB sits on the part it removes.
21
+ - Put the control in the sidebar when the choice is a catalogue pick and position is incidental, or when the scene offers no obvious place for the control to stand.
22
+ - A product the user assembles or arranges is the first case. A sidebar list for it turns building into list-keeping and leaves the scene a picture of the result rather than the place the user works.
23
+ - Both forms offer the same recipes, so this chooses where the user acts, not what they can add.
24
+
16
25
  ## Common control guidance
17
26
 
18
27
  - Order properties in the sequence users naturally make the decisions.
@@ -31,3 +40,5 @@ Choose the control from how users understand the options.
31
40
  - [Select dropdown](?path=/docs/controls-select-attribute-select--docs)
32
41
  - [Text input](?path=/docs/design-system-inputs-textinput--docs)
33
42
  - [Color picker](?path=/docs/controls-color-picker-input--docs)
43
+ - [Scene add and delete FABs](?path=/docs/fabs-basic--docs)
44
+ - [Recipe panel in the sidebar](?path=/docs/recipes-delete-simple--docs)
@@ -1,4 +1,4 @@
1
- import type { DomainEntity, DomainState, ExpressionContext, Violation } from '../../core/index.js';
1
+ import type { DomainEntity, MigrateFunction, Violation } from '../../core/index.js';
2
2
  import type { ChildEntitySelectionOption } from '../../system-components/child-entity-selection.js';
3
3
  import type { RecipeListItem } from '../../system-components/index.js';
4
4
  import type { SwatchOptionMap } from '../../system-components/material-swatch.js';
@@ -17,11 +17,23 @@ export declare const commonAdminCustomExpressions: {
17
17
  readonly $isDraft: (self: PresetCategory) => boolean;
18
18
  };
19
19
  };
20
+ /**
21
+ * An expression of this file. It reads nothing of the entity or of the state, and of the context
22
+ * only `CONTEXT`, so it is written against that part alone: it fits every entity of every project
23
+ * whose expression context has that part, because the project's own entity view, state and context
24
+ * are assignable to these parameters.
25
+ */
26
+ type CommonAdminExpression<CONTEXT, T> = (self: unknown, state: unknown, ctx: CONTEXT) => T;
27
+ /** The part of the expression context a recipe expression reads. */
28
+ interface RecipeExpressionContext<PUBLISHED_DATA> {
29
+ readonly publishedData: PUBLISHED_DATA;
30
+ readonly migrate: MigrateFunction<DomainEntity<string>>;
31
+ }
20
32
  export declare const CommonAdminExpressionBuilder: {
21
- createConstantSwatchExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(swatches: SwatchOptionMap) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => SwatchOptionMap);
22
- createConstantRecipeExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(recipes: RecipeListItem[]) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => RecipeListItem[]);
23
- createConstantChildEntitySelectionExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(entities: ChildEntitySelectionOption[]) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => ChildEntitySelectionOption[]);
24
- createRecipeExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends CommonAdminPublishedData, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(collection: string, defaults: RecipeListItem[]) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => RecipeListItem[]);
33
+ createConstantSwatchExpression: (swatches: SwatchOptionMap) => (() => SwatchOptionMap);
34
+ createConstantRecipeExpression: (recipes: RecipeListItem[]) => (() => RecipeListItem[]);
35
+ createConstantChildEntitySelectionExpression: (entities: ChildEntitySelectionOption[]) => (() => ChildEntitySelectionOption[]);
36
+ createRecipeExpression: (collection: string, defaults: RecipeListItem[]) => CommonAdminExpression<RecipeExpressionContext<CommonAdminPublishedData>, RecipeListItem[]>;
25
37
  };
26
38
  /**
27
39
  * Expression helpers for projects with chunked published data.
@@ -30,13 +42,16 @@ export declare const CommonAdminExpressionBuilder: {
30
42
  * Use {@link CommonAdminExpressionBuilder} for projects with flat published data.
31
43
  */
32
44
  export declare const ChunkedCommonAdminExpressionBuilder: {
33
- createConstantSwatchExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(swatches: SwatchOptionMap) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => SwatchOptionMap);
34
- createConstantRecipeExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(recipes: RecipeListItem[]) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => RecipeListItem[]);
35
- createConstantChildEntitySelectionExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(entities: ChildEntitySelectionOption[]) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => ChildEntitySelectionOption[]);
36
- createRecipeExpression: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends {
45
+ createConstantSwatchExpression: (swatches: SwatchOptionMap) => (() => SwatchOptionMap);
46
+ createConstantRecipeExpression: (recipes: RecipeListItem[]) => (() => RecipeListItem[]);
47
+ createConstantChildEntitySelectionExpression: (entities: ChildEntitySelectionOption[]) => (() => ChildEntitySelectionOption[]);
48
+ createRecipeExpression: (collection: string, defaults: RecipeListItem[]) => CommonAdminExpression<RecipeExpressionContext<{
37
49
  readonly system?: CommonAdminPublishedData;
38
- }, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>(collection: string, defaults: RecipeListItem[]) => ((self: SELF, state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => RecipeListItem[]);
50
+ }>, RecipeListItem[]>;
39
51
  };
40
52
  export declare const createDataSwatchMap: (tableName: string, chunkKey?: string) => {
41
- bind: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, SELF extends ENTITIES>() => (_self: SELF, _state: DomainState<ENTITIES>, ctx: ExpressionContext<ENTITIES, ALLOWED_ROOT_ENTITIES, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA>) => SwatchOptionMap;
53
+ bind: () => CommonAdminExpression<{
54
+ readonly publishedData: Record<string, unknown>;
55
+ }, SwatchOptionMap>;
42
56
  };
57
+ export {};
@@ -1,6 +1,5 @@
1
1
  import type { DomainEntity } from '../../core/index.js';
2
2
  import type { PublishedData } from '../__generated/application-types.js';
3
- import { type AnyDomainEntity } from '../__generated/model/index.js';
4
3
  export type CommonAdminPublishedData = PublishedData;
5
4
  export declare const CommonAdminPublishedDataSchema: {
6
5
  type: "object";
@@ -182,4 +181,4 @@ export declare const CommonAdminPublishedDataSchema: {
182
181
  additionalProperties: false;
183
182
  required: never[];
184
183
  };
185
- export declare const mapCommonAdminPublishedData: <ENTITIES extends DomainEntity<string>>(entities: ReadonlyArray<ENTITIES | AnyDomainEntity>) => CommonAdminPublishedData;
184
+ export declare const mapCommonAdminPublishedData: (entities: ReadonlyArray<DomainEntity<string>>) => CommonAdminPublishedData;
@@ -11,8 +11,13 @@ export * from './implementation/common-admin-expressions.js';
11
11
  export * from './implementation/common-admin-publish.js';
12
12
  export * from './schema/index.js';
13
13
  export declare const createCommonAdminRecipe: import("../index.js").RecipeFactory<AnyDomainEntity>;
14
- export declare const attachCommonAdminDomainComponent: DomainComponentOpticBuilder<AnyDomainEntity, import("./index.js").Admin, $Map, PublishedData, SessionData, Record<string, unknown>, Aliases, never, never, never>;
15
- export declare const commonAdminComponents: import("../index.js").DomainComponentSimpleOptic<AnyDomainEntity, import("./index.js").Admin, PublishedData, SessionData, Record<string, unknown>, import("./index.js").Preset, import("../index.js").SystemComponentType<"attributeSelection", import("../index.js").AttributeSelectionComponentState, "value">>[];
14
+ /**
15
+ * Closed with core's part of the expression context only: `admin-domain/` counts as core and may
16
+ * not import the runtime. A callback that needs the component reader or a projection is written
17
+ * through a builder closed with `RuntimeExpressionContext`.
18
+ */
19
+ export declare const attachCommonAdminDomainComponent: DomainComponentOpticBuilder<AnyDomainEntity, import("./index.js").Admin, $Map, PublishedData, SessionData, Record<string, unknown>, Aliases, never, never, never, unknown>;
20
+ export declare const commonAdminComponents: import("../index.js").DomainComponentSimpleOptic<AnyDomainEntity, import("./index.js").Admin, PublishedData, SessionData, Record<string, unknown>, import("./index.js").Preset, import("../index.js").SystemComponentType<"attributeSelection", import("../index.js").AttributeSelectionComponentState, "value">, unknown>[];
16
21
  /**
17
22
  * Type-level carrier for the common-admin builder shape consumed by `createAdminInterface`.
18
23
  *
@@ -1 +1 @@
1
- import{DomainComponentOpticBuilder as o,RecipeFactoryBuilder as e}from"../core/index.js";import{attributeSelectionComponent as n}from"../system-components/index.js";import{AnyDomainEntity as m,PresetCategory as t,aliases as i}from"./__generated/model/index.js";import{DraftId as a}from"./implementation/common-admin-expressions.js";export{migrateCommonAdminDomain}from"./implementation/common-admin-migrations.js";export*from"./__generated/model/index.js";export*from"./implementation/common-admin-expressions.js";export*from"./implementation/common-admin-publish.js";export*from"./schema/index.js";export const createCommonAdminRecipe=e.forAliases(i).forEntities(m.reflections).withDefaults({}).build();export const attachCommonAdminDomainComponent=o.from(i);export const commonAdminComponents=[attachCommonAdminDomainComponent.withEntity("Preset").withComponent(n,"category").attach((o,e)=>{let n=e.entities.filter(t.is);return null===o.categoryId?{value:a,options:n.map(o=>({value:o.id,label:o.name})).concat([{value:a,label:{$lang:{en:"Draft"}}}])}:{value:o.categoryId,options:n.map(o=>({value:o.id,label:o.name}))}},o=>({categoryId:o.value===a?null:o.value}))];export const configuratorBuilder=null;
1
+ import{DomainComponentOpticBuilder as o,createRecipeFactory as e}from"../core/index.js";import{attributeSelectionComponent as n}from"../system-components/index.js";import{AnyDomainEntity as m,PresetCategory as t,aliases as i}from"./__generated/model/index.js";import{DraftId as a}from"./implementation/common-admin-expressions.js";export{migrateCommonAdminDomain}from"./implementation/common-admin-migrations.js";export*from"./__generated/model/index.js";export*from"./implementation/common-admin-expressions.js";export*from"./implementation/common-admin-publish.js";export*from"./schema/index.js";export const createCommonAdminRecipe=e(i,m.reflections,{});export const attachCommonAdminDomainComponent=o.from(i);export const commonAdminComponents=[attachCommonAdminDomainComponent.withEntity("Preset").withComponent(n,"category").attach((o,e)=>{let n=e.entities.filter(t.is);return null===o.categoryId?{value:a,options:n.map(o=>({value:o.id,label:o.name})).concat([{value:a,label:{$lang:{en:"Draft"}}}])}:{value:o.categoryId,options:n.map(o=>({value:o.id,label:o.name}))}},o=>({categoryId:o.value===a?null:o.value}))];export const configuratorBuilder=null;
@@ -1,7 +1,7 @@
1
1
  import type { ComponentType } from 'react';
2
2
  import type { $DomainEntity, DomainEntity } from '../core/index.js';
3
+ import type { HandlerRegistration, SystemPhoenixHandlerRegistration } from '../domain-runtime/index.js';
3
4
  import type { ApplicationConfig } from './application-config.js';
4
- import type { HandlerRegistration, SystemPhoenixHandlerRegistration } from './handler-registration.js';
5
5
  export declare const createGetApplicationWrapperHandler: (fn: (ctx: ApplicationConfig<any, any, any, any, any, any, never, any, any, any, any, any, any, any, any, any>) => ComponentType) => SystemPhoenixHandlerRegistration<ApplicationConfig<any, any, any, any, any, any, never, any, any, any, any, any, any, any, any, any>, ComponentType>;
6
- export type CreateGetApplicationWrapperHandler<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string> = (fn: (ctx: ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>) => ComponentType) => SystemPhoenixHandlerRegistration<ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, ComponentType>;
6
+ export type CreateGetApplicationWrapperHandler = typeof createGetApplicationWrapperHandler;
7
7
  export declare const isGetApplicationWrapperHandler: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, CHAT_CONTEXT extends Record<string, unknown>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, ADMIN_ENTITIES extends DomainEntity<string>, ADMIN_ALLOWED_ROOT_ENTITIES extends ADMIN_ENTITIES, ADMIN_$MAP extends Record<ADMIN_ENTITIES['type'], $DomainEntity<ADMIN_ENTITIES>>, ADMIN_NAVIGATION_STATES extends string, ADMIN_VIEW_STATES extends string>(handler: HandlerRegistration<ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, ComponentType>) => handler is SystemPhoenixHandlerRegistration<ApplicationConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>, ComponentType>;
@@ -1,5 +1,5 @@
1
1
  import type { ThemeOptions } from '@mui/material';
2
- import type { HandlerRegistration, SystemPhoenixHandlerRegistration } from './handler-registration.js';
2
+ import type { HandlerRegistration, SystemPhoenixHandlerRegistration } from '../domain-runtime/index.js';
3
3
  export declare const GetThemeHandlerName = "GetThemeHandler";
4
4
  export declare const createGetThemeHandler: (fn: () => ThemeOptions) => SystemPhoenixHandlerRegistration<void, ThemeOptions>;
5
5
  export type CreateGetThemeHandler = (fn: () => ThemeOptions) => SystemPhoenixHandlerRegistration<void, ThemeOptions>;
@@ -1,5 +1,5 @@
1
+ import type { HandlerRegistration, SystemPhoenixHandlerRegistration } from '../domain-runtime/index.js';
1
2
  import type { WebComponentOptions } from './application-config.js';
2
- import type { HandlerRegistration, SystemPhoenixHandlerRegistration } from './handler-registration.js';
3
3
  export declare const createGetWebComponentOptionsHandler: (fn: () => WebComponentOptions) => SystemPhoenixHandlerRegistration<undefined, WebComponentOptions>;
4
4
  export type CreateGetWebComponentOptionsHandler = (fn: () => WebComponentOptions) => SystemPhoenixHandlerRegistration<undefined, WebComponentOptions>;
5
5
  export declare const isGetWebComponentOptionsHandler: (handler: HandlerRegistration<any, any>) => handler is SystemPhoenixHandlerRegistration<undefined, WebComponentOptions>;
@@ -1,7 +1,6 @@
1
- import type { DomainEntityId } from '../core/index.js';
1
+ import type { DataCellValue, DataSchema, DomainEntityId } from '../core/index.js';
2
2
  import type { AttributeSelectionComponentState } from '../system-components/attribute-selection.js';
3
3
  import type { NavigationListItem, NestedNavigationListItem } from '../system-components/navigation-panel-list.js';
4
- import type { DataCellValue, DataSchema } from './application-config.js';
5
4
  interface PresetPagesConfig {
6
5
  readonly categoryNavigationState: string;
7
6
  readonly presetNavigationState: string;
@@ -6,16 +6,17 @@ import type { Logger } from '@salsita-ai/common/utils';
6
6
  import type { SessionRole, SessionTokenPayload } from '@salsita-ai/contracts/api';
7
7
  import type { CellValue } from '@salsita-ai/contracts/webhook';
8
8
  import type { AdminIntegrationService } from '#package/react-sdk';
9
- import type { $DomainEntity, DomainEntity, DomainFactory, ProductPreset } from '../core/index.js';
10
- import type { AnalyticsSystem, TransformerFactory } from '../domain-context/index.js';
11
- import type { RegistrableTransformer } from '../domain-context/transformers/index.js';
12
- import type { ProjectModule } from '../project-modules/index.js';
9
+ import type { $DomainEntity, DataCellValue, DataSchema, DomainEntity, DomainFactory, ProductPreset } from '../core/index.js';
10
+ import type { AnalyticsSystem, RegistrableTransformer, TransformerFactory } from '../domain-context/index.js';
11
+ import type { ElementRegistration, ProjectModule } from '../domain-runtime/index.js';
13
12
  import type { AssistantResolvedManifest } from './assistant/index.js';
14
13
  import type { WebComponentEventDescriptor } from './web-component-event.js';
15
14
  import type { WebComponentPropertyDescriptor } from './web-component-property.js';
16
- export type ImportedTransformer<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string> = {
15
+ type TransformerExport = ReturnType<TransformerFactory<any, any, any, any, any, any, any>> | RegistrableTransformer<any, any, any, any, any, any, any>;
16
+ /** The transformers one `src/transformers/` file exports, under the name of the file. */
17
+ export type ImportedTransformer = {
17
18
  name: string;
18
- transformer: ReturnType<TransformerFactory<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>> | RegistrableTransformer<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES> | ReadonlyArray<ReturnType<TransformerFactory<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>> | RegistrableTransformer<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>>;
19
+ transformer: TransformerExport | ReadonlyArray<TransformerExport>;
19
20
  };
20
21
  export type SpecTransformer = {
21
22
  name: string;
@@ -32,26 +33,6 @@ export interface TransformersConfig {
32
33
  readonly importedTransformers: readonly ProjectModule[];
33
34
  readonly specTransformers: readonly SpecTransformer[];
34
35
  }
35
- export interface DataSchemaPrimitiveField {
36
- readonly type: 'string' | 'number' | 'integer' | 'boolean';
37
- readonly enum?: ReadonlyArray<string | number>;
38
- readonly description?: string;
39
- }
40
- export interface DataSchemaLocalizedField {
41
- readonly type: 'localized';
42
- readonly description?: string;
43
- }
44
- export interface DataSchemaArrayField {
45
- readonly type: 'array';
46
- readonly items: 'string' | 'number' | 'boolean';
47
- readonly description?: string;
48
- }
49
- export type DataSchemaFieldObject = DataSchemaPrimitiveField | DataSchemaLocalizedField | DataSchemaArrayField;
50
- export type DataSchemaField = 'string' | 'number' | 'boolean' | readonly ['string', 'null'] | readonly ['number', 'null'] | readonly ['boolean', 'null'] | DataSchemaFieldObject;
51
- export type DataSchema = Record<string, DataSchemaField>;
52
- export type DataCellValue = CellValue | null | {
53
- readonly $lang: Record<string, string>;
54
- } | readonly CellValue[];
55
36
  export type DataSpecEntry = {
56
37
  readonly definition: DataSchema;
57
38
  readonly chunk?: string;
@@ -311,6 +292,8 @@ export interface ApplicationConfig<ENTITIES extends DomainEntity<string>, ALLOWE
311
292
  /** The `src/handlers/` and `src/elements/` files as project modules; the runtime spec validates and flattens both. */
312
293
  readonly handlers: readonly ProjectModule[];
313
294
  readonly elements: readonly ProjectModule[];
295
+ /** The SDK's default element registrations; a project element with the same name replaces one. */
296
+ readonly defaultElements?: readonly ElementRegistration[];
314
297
  readonly mount: MountConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>;
315
298
  }
316
299
  export {};
@@ -0,0 +1,12 @@
1
+ import type { AssistantDeclaredField, AssistantResolvedField } from './assistant-resolved-manifest.js';
2
+ /** Combines the effective description with allowed string values. */
3
+ export declare const describeAssistantValues: (description: string | undefined, values: readonly string[] | undefined) => string | undefined;
4
+ /** Applies GraphQL field inheritance identically at parse time and after session narrowing. */
5
+ export declare const mergeAssistantFields: (inherited: ReadonlyArray<readonly AssistantDeclaredField[]>, own: readonly AssistantDeclaredField[], ownEnumValues: (source: string) => readonly string[] | undefined, conflict: (name: string, first: string, second: string) => void) => readonly AssistantDeclaredField[];
6
+ /**
7
+ * The serializable form of a merged field of one alias or type. Merging keeps the inherited entry of
8
+ * a field declared twice, so the lens tags are taken from `own`, the declarations of that alias or
9
+ * type itself: each lens condition then comes from its own declaration, at parse time and after
10
+ * session narrowing alike.
11
+ */
12
+ export declare const resolveAssistantField: (field: AssistantDeclaredField, own: readonly AssistantDeclaredField[]) => AssistantResolvedField;
@@ -0,0 +1 @@
1
+ export const describeAssistantValues=(e,s)=>{if(!s?.length)return e;let t=`One of: ${s.map(e=>`"${e}"`).join(", ")}.`;return e?`${e}${/[.!?]$/.test(e)?"":"."} ${t}`:t};export const mergeAssistantFields=(e,s,t,n)=>{let r=new Map,i=new Set(s);for(let t of[...e.flat(),...s]){let e=r.get(t.name);e?e.source!==t.source?n(t.name,e.source,t.source):r.set(t.name,{...e,...i.has(t)&&t.describedByManifest?{description:t.description,describedByManifest:!0,valueDescription:t.valueDescription}:{}}):r.set(t.name,t)}return[...r.values()].map(e=>{let s=e.enumValues&&t(e.source);return s?{...e,enumValues:s,description:describeAssistantValues(e.valueDescription,s)}:e})};export const resolveAssistantField=(e,s)=>{let t=s.find(s=>s.name===e.name&&s.source===e.source)?.lenses;return{name:e.name,source:e.source,localized:e.localized,type:e.type,...void 0===e.description?{}:{description:e.description},...t?.length?{lenses:t}:{}}};
@@ -47,7 +47,11 @@ export interface AssistantFieldOptions {
47
47
  * means none; `replaceRecipes` lists the same for `meta { replaceRecipes }` and `replaceEntity`;
48
48
  * `fieldOptions` lists, per entity type, the options edges `meta` exposes for its
49
49
  * writable fields, and absent means none; `actions` maps each custom `Mutation` field to the
50
- * declared action it runs, and absent means none. Consumed by the configurator GraphQL system.
50
+ * declared action it runs, and absent means none; `lenses` holds the generated lens fragments, and
51
+ * absent means none: `declarations` is the text the prompt shows, each lens once with its relations
52
+ * spreading the lens itself, and `definitions` the valid GraphQL injected into an operation that
53
+ * spreads a lens, with the copies that unroll each lens to its depth. Consumed by the configurator
54
+ * GraphQL system.
51
55
  */
52
56
  export interface AssistantManifest {
53
57
  readonly sdl: string;
@@ -60,4 +64,8 @@ export interface AssistantManifest {
60
64
  readonly replaceRecipes?: Readonly<Record<string, readonly AssistantRecipeGroup[]>>;
61
65
  readonly fieldOptions?: Readonly<Record<string, readonly AssistantFieldOptions[]>>;
62
66
  readonly actions?: Readonly<Record<string, string>>;
67
+ readonly lenses?: {
68
+ readonly declarations: string;
69
+ readonly definitions: string;
70
+ };
63
71
  }