@salsita-ai/sdk 0.50.0-develop.98e8b1502f → 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 (1335) hide show
  1. package/README.md +14 -13
  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/common/index.d.ts +1 -0
  39. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  40. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  41. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  42. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  43. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  44. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  45. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +17 -5
  46. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  47. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  48. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  49. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  50. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  51. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  52. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  53. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  54. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  55. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  56. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  57. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  58. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  59. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  63. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  64. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  65. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  66. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  67. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  68. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  69. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  72. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  73. package/dist/application-spec/generate-application/code/templates/domain.js +5 -5
  74. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  75. package/dist/application-spec/generate-application/code/templates/gitignore.js +1 -2
  76. package/dist/application-spec/generate-application/code/templates/globals.js +3 -3
  77. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -8
  78. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  79. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  81. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
  84. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +1 -1
  85. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +10 -4
  86. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  87. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  89. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +49 -16
  90. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
  91. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  92. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  93. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  94. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  95. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  96. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  97. package/dist/application-spec/generate-application/index.d.ts +2 -0
  98. package/dist/application-spec/generate-application/index.js +1 -1
  99. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +6 -2
  100. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  101. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -3
  102. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  103. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +5 -3
  104. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  105. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  106. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  107. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  108. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  109. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  110. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  111. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  112. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  113. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  114. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  115. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  116. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  117. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  118. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  119. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  120. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  121. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  122. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  123. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  124. package/dist/application-spec/index.d.ts +1 -0
  125. package/dist/application-spec/index.js +1 -1
  126. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +16 -0
  127. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  128. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  129. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  130. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  131. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  132. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  133. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  134. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  135. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  136. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  137. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  138. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  139. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  140. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  141. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +4 -0
  142. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  143. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  144. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  145. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  146. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  147. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  148. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  149. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  150. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  151. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  152. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  153. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  154. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  155. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  156. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  157. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  158. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  159. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  160. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  161. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  162. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  163. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  164. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  165. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  166. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  167. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +3 -0
  168. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  169. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +4 -4
  170. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  171. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  172. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  173. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  174. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  175. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  176. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  177. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  178. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  179. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  180. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  181. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  182. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  183. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  184. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  185. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  186. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  187. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  188. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  189. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  190. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  191. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  192. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  193. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  194. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  195. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  196. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  197. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  198. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  199. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  200. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  201. package/dist/client/authorized-client.d.ts +3 -1
  202. package/dist/client/authorized-client.js +1 -1
  203. package/dist/client/contract.d.ts +34 -0
  204. package/dist/client/contract.js +1 -1
  205. package/dist/client/index.d.ts +2 -2
  206. package/dist/client/index.js +1 -1
  207. package/dist/client/local-authorized-client.d.ts +3 -1
  208. package/dist/client/local-authorized-client.js +1 -1
  209. package/dist/client/memory-authorized-client.d.ts +3 -1
  210. package/dist/client/memory-authorized-client.js +1 -1
  211. package/dist/client/phoenix-api.d.ts +761 -57
  212. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  213. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  214. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  215. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +276 -13
  216. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  217. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  218. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  219. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +14 -3
  220. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  221. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  222. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  223. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  224. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +36 -5
  225. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  226. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  227. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  228. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  229. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  230. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  231. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +4 -2
  232. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  233. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  234. package/dist/configurator/common/configurator-interface.js +1 -1
  235. package/dist/configurator/common/frontend-analytics.d.ts +23 -21
  236. package/dist/configurator/common/frontend-analytics.js +1 -1
  237. package/dist/configurator/common/index.d.ts +2 -0
  238. package/dist/configurator/common/index.js +1 -1
  239. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  240. package/dist/configurator/common/use-finalize-action.js +1 -0
  241. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  242. package/dist/configurator/common/use-reset-camera.js +1 -0
  243. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  244. package/dist/configurator/index.d.ts +0 -1
  245. package/dist/configurator/index.js +1 -1
  246. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  247. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  248. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  249. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  250. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  251. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -0
  252. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  253. package/dist/configurator/pages/index.d.ts +1 -0
  254. package/dist/configurator/pages/index.js +1 -1
  255. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  256. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  257. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  258. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  259. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  260. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  261. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  262. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  263. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  264. package/dist/configurator/ui/assistant/AssistantChips.d.ts +17 -0
  265. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  266. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  267. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  268. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  269. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  270. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  271. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  272. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  273. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  274. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  275. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  276. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  277. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  278. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  279. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  280. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  281. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  282. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  283. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  284. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  285. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  286. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  287. package/dist/configurator/ui/assistant/index.js +1 -0
  288. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  289. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  290. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  291. package/dist/configurator/ui/assistant/theme.js +1 -0
  292. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  293. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  294. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  295. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  296. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  297. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  298. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  299. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  300. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  301. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  302. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  303. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  304. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  305. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  306. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  307. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  308. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  309. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  310. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  311. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  312. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  313. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  314. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  315. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  316. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  317. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  318. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +3 -3
  319. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  320. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  321. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  322. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  323. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  324. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  325. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  326. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  327. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  328. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  329. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  330. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  331. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  332. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  333. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  334. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  335. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  336. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  337. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  338. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  339. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  340. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  341. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  342. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  343. package/dist/docs/index.json +42 -1
  344. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  345. package/dist/docs/layouts/custom-layout.mdx +2125 -0
  346. package/dist/docs/layouts/custom-price.mdx +14 -16
  347. package/dist/docs/layouts/header/fixed.mdx +2 -2
  348. package/dist/docs/layouts/header/floating.mdx +2 -2
  349. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  350. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  351. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  352. package/dist/docs/layouts/toolbar.mdx +6 -0
  353. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  354. package/dist/docs/other-features/domain-actions.mdx +1 -1
  355. package/dist/docs/other-features/side-effects.mdx +76 -45
  356. package/dist/docs/other-features/transformers.mdx +5 -1
  357. package/dist/docs/other-features/violation-messages.mdx +52 -56
  358. package/dist/docs/phoenix/admin.mdx +9 -24
  359. package/dist/docs/phoenix/application-states.mdx +9 -7
  360. package/dist/docs/phoenix/components.mdx +6 -0
  361. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  362. package/dist/docs/phoenix/deployments.mdx +3 -7
  363. package/dist/docs/phoenix/domain-model.mdx +4 -0
  364. package/dist/docs/phoenix/expression-context.mdx +11 -3
  365. package/dist/docs/phoenix/finalization.mdx +1 -1
  366. package/dist/docs/phoenix/getting-started.mdx +2 -1
  367. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  368. package/dist/docs/phoenix/localization.mdx +7 -26
  369. package/dist/docs/phoenix/migration-guide.mdx +19 -8
  370. package/dist/docs/phoenix/phoenix-cli.mdx +168 -57
  371. package/dist/docs/phoenix/project-structure.mdx +44 -15
  372. package/dist/docs/phoenix/quickstart.mdx +2 -2
  373. package/dist/docs/phoenix/sdk-builder-workflow.mdx +13 -12
  374. package/dist/docs/phoenix/testing.mdx +140 -0
  375. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  376. package/dist/docs/phoenix/webhooks.mdx +23 -6
  377. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  378. package/dist/docs/relations/hierarchy.mdx +13 -2
  379. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  380. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  381. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  382. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  383. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  384. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  385. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  386. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  387. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  388. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  389. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  390. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  391. package/dist/domain/admin-domain/index.d.ts +9 -5
  392. package/dist/domain/admin-domain/index.js +1 -1
  393. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  394. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  395. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  396. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  397. package/dist/domain/application/application-config.d.ts +30 -97
  398. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  399. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  400. package/dist/domain/application/assistant/assistant-manifest.d.ts +71 -0
  401. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +131 -0
  402. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -0
  403. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  404. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  405. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  406. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  407. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  408. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  409. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  410. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  411. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  412. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  413. package/dist/domain/application/assistant/index.d.ts +9 -0
  414. package/dist/domain/application/assistant/index.js +1 -0
  415. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  416. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  417. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  418. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  419. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  420. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  421. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  422. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  423. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  424. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  425. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  426. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  427. package/dist/domain/application/assistant-mutations.js +1 -1
  428. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  429. package/dist/domain/application/configurator-builder.d.ts +36 -18
  430. package/dist/domain/application/configurator-builder.js +1 -1
  431. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  432. package/dist/domain/application/index.d.ts +3 -6
  433. package/dist/domain/application/index.js +1 -1
  434. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  435. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  436. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  437. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  438. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  439. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  440. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  441. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  442. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  443. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  444. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  445. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  446. package/dist/domain/available-system-components.js +1 -1
  447. package/dist/domain/core/action/action-factory.d.ts +11 -0
  448. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  449. package/dist/domain/core/action/index.d.ts +2 -0
  450. package/dist/domain/core/action/index.js +1 -0
  451. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  452. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  453. package/dist/domain/core/component/debug-state-component.js +1 -0
  454. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  455. package/dist/domain/core/component/domain-component-optic.js +16 -0
  456. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  457. package/dist/domain/core/component/drag-state-component.js +1 -0
  458. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  459. package/dist/domain/core/component/export-state-component.js +1 -0
  460. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  461. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  462. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  463. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  464. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  465. package/dist/domain/core/component/hover-state-component.js +1 -0
  466. package/dist/domain/core/component/index.d.ts +18 -0
  467. package/dist/domain/core/component/index.js +1 -0
  468. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  469. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  470. package/dist/domain/core/component/navigation-state-component.js +1 -0
  471. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  472. package/dist/domain/core/component/selection-state-component.js +1 -0
  473. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  474. package/dist/domain/core/component/system-component-builder.js +1 -0
  475. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
  476. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  477. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  478. package/dist/domain/core/component/tool-state-component.js +1 -0
  479. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  480. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  481. package/dist/domain/core/component/view-state-component.js +1 -0
  482. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  483. package/dist/domain/core/component/viewport-state-component.js +1 -0
  484. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  485. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  486. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  487. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  488. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  489. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  490. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  491. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  492. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  493. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  494. package/dist/domain/core/data-schema/data-schema.js +1 -0
  495. package/dist/domain/core/data-schema/index.d.ts +7 -0
  496. package/dist/domain/core/data-schema/index.js +1 -0
  497. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  498. package/dist/domain/core/decoder/create-decoder.js +1 -0
  499. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  500. package/dist/domain/core/decoder/decoder.js +1 -0
  501. package/dist/domain/core/decoder/index.d.ts +2 -0
  502. package/dist/domain/core/decoder/index.js +1 -0
  503. package/dist/domain/core/domain-factory.d.ts +4 -5
  504. package/dist/domain/core/domain-factory.js +1 -1
  505. package/dist/domain/core/domain.d.ts +4 -5
  506. package/dist/domain/core/domain.js +1 -1
  507. package/dist/domain/core/emission/index.d.ts +8 -0
  508. package/dist/domain/core/emission/index.js +1 -0
  509. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  510. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  511. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  512. package/dist/domain/core/emission/state-emission.js +1 -0
  513. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  514. package/dist/domain/core/emission/state-update-emission.js +1 -0
  515. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  516. package/dist/domain/core/emission/state-validation-result.js +1 -0
  517. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  518. package/dist/domain/core/emission/transformation-log.js +1 -0
  519. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  520. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  521. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  522. package/dist/domain/core/emission/transformer-log.js +1 -0
  523. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  524. package/dist/domain/core/emission/transformer-phase.js +1 -0
  525. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  526. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  527. package/dist/domain/core/expression/constant-expressions.d.ts +16 -0
  528. package/dist/domain/core/expression/constant-expressions.js +1 -0
  529. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  530. package/dist/domain/core/expression/custom-expression.js +1 -0
  531. package/dist/domain/core/expression/expression.d.ts +46 -0
  532. package/dist/domain/core/expression/expression.js +1 -0
  533. package/dist/domain/core/expression/index.d.ts +4 -0
  534. package/dist/domain/core/expression/index.js +1 -0
  535. package/dist/domain/core/index.d.ts +13 -17
  536. package/dist/domain/core/index.js +1 -1
  537. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  538. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  539. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  540. package/dist/domain/core/invariant/index.d.ts +5 -0
  541. package/dist/domain/core/invariant/index.js +1 -0
  542. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  543. package/dist/domain/core/invariant/invariants.js +1 -0
  544. package/dist/domain/core/invariant/violation-component.js +1 -0
  545. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  546. package/dist/domain/core/invariant/violation.js +1 -0
  547. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  548. package/dist/domain/core/model/index.d.ts +6 -0
  549. package/dist/domain/core/model/index.js +1 -0
  550. package/dist/domain/core/{model.d.ts → model/model.d.ts} +1 -1
  551. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  552. package/dist/domain/core/model/reflection.js +1 -0
  553. package/dist/domain/core/recipe/index.d.ts +1 -0
  554. package/dist/domain/core/recipe/index.js +1 -0
  555. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  556. package/dist/domain/core/recipe/recipes.js +1 -0
  557. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  558. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  559. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  560. package/dist/domain/core/relation/component-factories.js +1 -0
  561. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  562. package/dist/domain/core/relation/composed-of.js +1 -0
  563. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  564. package/dist/domain/core/relation/index.d.ts +8 -0
  565. package/dist/domain/core/relation/index.js +1 -0
  566. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  567. package/dist/domain/core/relation/indirect-relation.js +1 -0
  568. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  569. package/dist/domain/core/relation/reference-component.js +1 -0
  570. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  571. package/dist/domain/core/relation/reference-field.js +1 -0
  572. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  573. package/dist/domain/core/relation/relation-factory.js +1 -0
  574. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  575. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  576. package/dist/domain/core/schema/index.d.ts +3 -0
  577. package/dist/domain/core/schema/index.js +1 -0
  578. package/dist/domain/core/schema/schema-validator.js +1 -0
  579. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  580. package/dist/domain/core/state/id-sequence.js +1 -0
  581. package/dist/domain/core/state/index.d.ts +3 -0
  582. package/dist/domain/core/state/index.js +1 -0
  583. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  584. package/dist/domain/core/state/migrations.js +1 -0
  585. package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
  586. package/dist/domain/domain-builder.d.ts +11 -11
  587. package/dist/domain/domain-builder.js +1 -1
  588. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  589. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  590. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  591. package/dist/domain/domain-context/action-system/index.js +1 -0
  592. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  593. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  594. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  595. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  596. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  597. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  598. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  599. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  600. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  601. package/dist/domain/domain-context/index.d.ts +8 -18
  602. package/dist/domain/domain-context/index.js +1 -1
  603. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  604. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  605. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  606. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  607. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  608. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  609. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  610. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  611. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  612. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  613. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  614. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  615. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  616. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  617. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  618. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  619. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  620. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  621. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  622. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  623. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  624. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  625. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  626. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  627. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  628. package/dist/domain/domain-context/store-system/index.js +1 -0
  629. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  630. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  631. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  632. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  633. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  634. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  635. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  636. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  637. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  638. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  639. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  640. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  641. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  642. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  643. package/dist/domain/domain-context/transformers/context.js +1 -1
  644. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  645. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  646. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  647. package/dist/domain/domain-context/transformers/index.js +1 -1
  648. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  649. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  650. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  651. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  652. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  653. package/dist/domain/domain-context/undo-system.js +1 -1
  654. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  655. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  656. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  657. package/dist/domain/domain-runtime/access/types.js +1 -1
  658. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  659. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  660. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  661. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  662. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  663. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  664. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  665. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  666. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  667. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  668. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -25
  669. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  670. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  671. package/dist/domain/domain-runtime/domain-runtime.d.ts +88 -72
  672. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  673. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  674. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  675. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  676. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  677. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  678. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  679. package/dist/domain/domain-runtime/errors/index.js +1 -0
  680. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  681. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  682. package/dist/domain/domain-runtime/index.d.ts +1 -0
  683. package/dist/domain/domain-runtime/index.js +1 -1
  684. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  685. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  686. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  687. package/dist/domain/domain-runtime/spec/index.js +1 -1
  688. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  689. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  690. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  691. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  692. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  693. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  694. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  695. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  696. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  697. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +32 -0
  698. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  699. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  700. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  701. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  702. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  703. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  704. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  705. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  706. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  707. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  708. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  709. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  710. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  711. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  712. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  713. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  714. package/dist/domain/domain-runtime/spec/types.d.ts +8 -6
  715. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  716. package/dist/domain/extensions/angle-indicator.js +1 -0
  717. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  718. package/dist/domain/extensions/attribute-switch.js +1 -0
  719. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  720. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  721. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  722. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  723. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  724. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  725. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +2 -2
  726. package/dist/domain/extensions/canvas-config.js +1 -0
  727. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  728. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  729. package/dist/domain/extensions/canvas-padding.js +1 -0
  730. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  731. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  732. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  733. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  734. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  735. package/dist/domain/extensions/client-side-image.js +1 -0
  736. package/dist/domain/extensions/color-value.js +1 -0
  737. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  738. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  739. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +3 -3
  740. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  741. package/dist/domain/extensions/common/index.d.ts +4 -0
  742. package/dist/domain/extensions/common/index.js +1 -0
  743. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  744. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  745. package/dist/domain/extensions/custom-price-footer.js +1 -0
  746. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  747. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  748. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  749. package/dist/domain/extensions/dimension-indicator.js +1 -0
  750. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +4 -3
  751. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  752. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +4 -3
  753. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  754. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +4 -3
  755. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  756. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  757. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  758. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  759. package/dist/domain/extensions/entity-header.js +1 -0
  760. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  761. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  762. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  763. package/dist/domain/extensions/finalize-action.js +1 -0
  764. package/dist/domain/extensions/finalize-component.js +1 -0
  765. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  766. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  767. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  768. package/dist/domain/extensions/fixed-header.js +1 -0
  769. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  770. package/dist/domain/extensions/floating-header.js +1 -0
  771. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  772. package/dist/domain/extensions/hidden-header.js +1 -0
  773. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  774. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  775. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +3 -3
  776. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  777. package/dist/domain/extensions/index.d.ts +69 -0
  778. package/dist/domain/extensions/index.js +1 -0
  779. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +4 -3
  780. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  781. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  782. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  783. package/dist/domain/extensions/navigation-steps.js +1 -0
  784. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  785. package/dist/domain/extensions/offset-anchors.js +1 -0
  786. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  787. package/dist/domain/extensions/offset-indicator.js +1 -0
  788. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  789. package/dist/domain/extensions/offset.js +1 -0
  790. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  791. package/dist/domain/extensions/other-action.js +1 -0
  792. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  793. package/dist/domain/extensions/property-page.js +1 -0
  794. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  795. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  796. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  797. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  798. package/dist/domain/extensions/rotatable.js +1 -0
  799. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  800. package/dist/domain/extensions/rotation-handle.js +1 -0
  801. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  802. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  803. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  804. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  805. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  806. package/dist/domain/extensions/scene-entity-control.js +1 -0
  807. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  808. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  809. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  810. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  811. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  812. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  813. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  814. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  815. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  816. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  817. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  818. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  819. package/dist/domain/extensions/selectable-component.js +1 -0
  820. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  821. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  822. package/dist/domain/extensions/simple-summary.js +1 -0
  823. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  824. package/dist/domain/extensions/size.js +1 -0
  825. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  826. package/dist/domain/extensions/sketching-draw.js +1 -0
  827. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  828. package/dist/domain/extensions/sketching-edit.js +1 -0
  829. package/dist/domain/extensions/summary-component.js +1 -0
  830. package/dist/domain/extensions/text-value.js +1 -0
  831. package/dist/domain/extensions/tool-controls.js +1 -0
  832. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  833. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  834. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  835. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  836. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  837. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  838. package/dist/domain/extensions/view-controls.js +1 -0
  839. package/dist/domain/index.d.ts +2 -32
  840. package/dist/domain/index.js +1 -1
  841. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  842. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  843. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +30 -21
  844. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  845. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  846. package/dist/domain/mocks/create-mock-domain.js +1 -1
  847. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  848. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  849. package/dist/domain/mocks/create-test-application-config.js +1 -0
  850. package/dist/domain/mocks/index.d.ts +1 -0
  851. package/dist/domain/mocks/index.js +1 -1
  852. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  853. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  854. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  855. package/dist/domain/projections/collision-projections.d.ts +1 -1
  856. package/dist/domain/projections/composition-projections.d.ts +1 -1
  857. package/dist/domain/projections/composition-projections.js +1 -1
  858. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  859. package/dist/domain/projections/index.d.ts +1 -1
  860. package/dist/domain/projections/position-projections.d.ts +1 -1
  861. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  862. package/dist/domain/projections/snap-matching.d.ts +1 -2
  863. package/dist/domain/projections/snap-utils.d.ts +1 -2
  864. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  865. package/dist/domain/projections/validation-projections.d.ts +3 -20
  866. package/dist/domain/projections/validation-projections.js +1 -1
  867. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  868. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  869. package/dist/domain/system-components/admin-sidebar.js +1 -1
  870. package/dist/domain/system-components/angle-dimension.js +1 -1
  871. package/dist/domain/system-components/application-config.d.ts +3 -3
  872. package/dist/domain/system-components/application-config.js +1 -1
  873. package/dist/domain/system-components/attribute-selection.js +1 -1
  874. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  875. package/dist/domain/system-components/bounding-box-component.js +1 -1
  876. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  877. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  878. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  879. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  880. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  881. package/dist/domain/system-components/child-entity-selection.js +1 -1
  882. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  883. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  884. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  885. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  886. package/dist/domain/system-components/collision-geometry.js +1 -1
  887. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  888. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  889. package/dist/domain/system-components/common/index.d.ts +0 -4
  890. package/dist/domain/system-components/common/index.js +1 -1
  891. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  892. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  893. package/dist/domain/system-components/common/recipes.js +1 -1
  894. package/dist/domain/system-components/constraint.d.ts +11 -24
  895. package/dist/domain/system-components/constraint.js +1 -1
  896. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  897. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  898. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  899. package/dist/domain/system-components/detail.js +1 -1
  900. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  901. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  902. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  903. package/dist/domain/system-components/distance-dimension.js +1 -1
  904. package/dist/domain/system-components/drag-handle.d.ts +2 -2
  905. package/dist/domain/system-components/drag-handle.js +1 -1
  906. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  907. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  908. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  909. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  910. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  911. package/dist/domain/system-components/generic-dimension.js +1 -1
  912. package/dist/domain/system-components/hidden-entity.js +1 -1
  913. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  914. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  915. package/dist/domain/system-components/index.d.ts +0 -68
  916. package/dist/domain/system-components/index.js +1 -1
  917. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  918. package/dist/domain/system-components/material-override-transformer.js +1 -1
  919. package/dist/domain/system-components/material-swatch.js +1 -1
  920. package/dist/domain/system-components/navigation-page.js +1 -1
  921. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  922. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  923. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  924. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  925. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  926. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  927. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  928. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  929. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  930. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  931. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  932. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  933. package/dist/domain/system-components/pivot-point.js +1 -1
  934. package/dist/domain/system-components/price.js +1 -1
  935. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  936. package/dist/domain/system-components/projected-entities.js +1 -1
  937. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  938. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  939. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  940. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  941. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  942. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  943. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  944. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  945. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  946. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  947. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  948. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  949. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  950. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  951. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  952. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  953. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  954. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  955. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  956. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  957. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  958. package/dist/domain/system-components/scene-entity-object.js +1 -1
  959. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  960. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  961. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  962. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  963. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  964. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  965. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  966. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  967. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  968. package/dist/domain/system-components/sketching-line.js +1 -1
  969. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  970. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  971. package/dist/domain/system-components/sketching.d.ts +1 -1
  972. package/dist/domain/system-components/sketching.js +1 -1
  973. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  974. package/dist/domain/system-components/snap-axis.js +1 -1
  975. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  976. package/dist/domain/system-components/snap-edge.js +1 -1
  977. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  978. package/dist/domain/system-components/snap-plane.js +1 -1
  979. package/dist/domain/system-components/snap-point.d.ts +1 -1
  980. package/dist/domain/system-components/snap-point.js +1 -1
  981. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  982. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  983. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  984. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  985. package/dist/domain/utils/eval-cache.d.ts +2 -3
  986. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  987. package/dist/domain/utils/memo-eval.d.ts +2 -4
  988. package/dist/editor/Editor.js +1 -1
  989. package/dist/editor/domain-editors/use-implementation-files.d.ts +8 -8
  990. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  991. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  992. package/dist/editor/mocks/EditorMockContext.js +1 -1
  993. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  994. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  995. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  996. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  997. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  998. package/dist/editor/variants/variant-preview-styles.js +1 -0
  999. package/dist/globals/index.d.ts +2 -0
  1000. package/dist/i18n/locales/cs/messages.js +1 -1
  1001. package/dist/i18n/locales/da/messages.js +1 -1
  1002. package/dist/i18n/locales/de/messages.js +1 -1
  1003. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1004. package/dist/i18n/locales/en/messages.js +1 -1
  1005. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1006. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1007. package/dist/i18n/locales/es/messages.js +1 -1
  1008. package/dist/i18n/locales/fr/messages.js +1 -1
  1009. package/dist/i18n/locales/hu/messages.js +1 -1
  1010. package/dist/i18n/locales/it/messages.js +1 -1
  1011. package/dist/i18n/locales/nl/messages.js +1 -1
  1012. package/dist/i18n/locales/pl/messages.js +1 -1
  1013. package/dist/i18n/locales/pt/messages.js +1 -1
  1014. package/dist/i18n/locales/ro/messages.js +1 -1
  1015. package/dist/i18n/locales/sk/messages.js +1 -1
  1016. package/dist/i18n/locales/tr/messages.js +1 -1
  1017. package/dist/legacy/domain-cli/gen/configurator-builder.js +30 -16
  1018. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  1019. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1020. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  1021. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  1022. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1023. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1024. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1025. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +87 -68
  1026. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1027. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1028. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1029. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  1030. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  1031. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  1032. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  1033. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +16 -15
  1034. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +16 -15
  1035. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +23 -22
  1036. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +16 -15
  1037. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  1038. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  1039. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  1040. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  1041. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  1042. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1043. package/dist/phoenix/application-spec/project-files.js +1 -1
  1044. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  1045. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1046. package/dist/phoenix/cli.js +1 -1
  1047. package/dist/phoenix/commands/check.js +1 -1
  1048. package/dist/phoenix/commands/deploy.js +2 -2
  1049. package/dist/phoenix/commands/deps/deps.d.ts +52 -0
  1050. package/dist/phoenix/commands/deps/deps.js +3 -0
  1051. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1052. package/dist/phoenix/commands/deps/index.js +1 -0
  1053. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1054. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1055. package/dist/phoenix/commands/dev.js +5 -5
  1056. package/dist/phoenix/commands/fix.js +1 -1
  1057. package/dist/phoenix/commands/index.d.ts +2 -0
  1058. package/dist/phoenix/commands/index.js +1 -1
  1059. package/dist/phoenix/commands/init.d.ts +4 -4
  1060. package/dist/phoenix/commands/init.js +1 -1
  1061. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  1062. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  1063. package/dist/phoenix/commands/prettier.js +1 -1
  1064. package/dist/phoenix/commands/story-dev.js +2 -2
  1065. package/dist/phoenix/commands/variants.d.ts +35 -0
  1066. package/dist/phoenix/commands/variants.js +1 -0
  1067. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  1068. package/dist/phoenix/editor-server/commands-router.js +1 -1
  1069. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  1070. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  1071. package/dist/phoenix/editor-server/editor-server.js +1 -1
  1072. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  1073. package/dist/phoenix/editor-server/spec-router.js +1 -1
  1074. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  1075. package/dist/phoenix/scripts/build-admin.js +1 -1
  1076. package/dist/phoenix/services/application-spec-project-watcher.d.ts +15 -2
  1077. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1078. package/dist/phoenix/services/index.d.ts +4 -0
  1079. package/dist/phoenix/services/index.js +1 -1
  1080. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  1081. package/dist/phoenix/services/phoenix-application.js +1 -0
  1082. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  1083. package/dist/phoenix/services/phoenix-store.js +1 -0
  1084. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  1085. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  1086. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1087. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1088. package/dist/phoenix/services/source-archive.js +1 -1
  1089. package/dist/phoenix/services/swc.js +1 -1
  1090. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  1091. package/dist/phoenix/services/variant-file-session.js +1 -0
  1092. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  1093. package/dist/phoenix/services/variant-preview-service.js +1 -0
  1094. package/dist/phoenix/services/vite-config.js +1 -1
  1095. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1096. package/dist/phoenix/utils/git/index.js +1 -0
  1097. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1098. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1099. package/dist/phoenix/utils/index.d.ts +2 -0
  1100. package/dist/phoenix/utils/index.js +1 -1
  1101. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  1102. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  1103. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  1104. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1105. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  1106. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  1107. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  1108. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1109. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1110. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +57 -40
  1111. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1112. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  1113. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1114. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1115. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  1116. package/dist/react-sdk/domain-context/index.js +1 -1
  1117. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1118. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1119. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1120. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  1121. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  1122. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  1123. package/dist/ui-sdk/theme/types.d.ts +4 -0
  1124. package/dist/webhook/builders/common.d.ts +8 -0
  1125. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  1126. package/dist/webhook/builders/webhook-builder.js +1 -1
  1127. package/package.json +35 -34
  1128. package/schema/domain-spec.json +1139 -209
  1129. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1130. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1131. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1132. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1133. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1134. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1135. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1136. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1137. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1138. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1139. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1140. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1141. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1142. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1143. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1144. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1145. package/dist/configurator/assistant/index.d.ts +0 -1
  1146. package/dist/configurator/assistant/index.js +0 -1
  1147. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  1148. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  1149. package/dist/domain/actions/action-factory.d.ts +0 -10
  1150. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  1151. package/dist/domain/application/element-registration.js +0 -1
  1152. package/dist/domain/application/handler-registration.js +0 -1
  1153. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  1154. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1155. package/dist/domain/application/resource-builder.d.ts +0 -13
  1156. package/dist/domain/application/resource-builder.js +0 -1
  1157. package/dist/domain/components/debug-state-component.js +0 -1
  1158. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  1159. package/dist/domain/components/domain-component-optic.js +0 -16
  1160. package/dist/domain/components/drag-state-component.js +0 -1
  1161. package/dist/domain/components/export-state-component.js +0 -1
  1162. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1163. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1164. package/dist/domain/components/hover-state-component.js +0 -1
  1165. package/dist/domain/components/index.d.ts +0 -2
  1166. package/dist/domain/components/index.js +0 -1
  1167. package/dist/domain/components/navigation-state-component.js +0 -1
  1168. package/dist/domain/components/selection-state-component.js +0 -1
  1169. package/dist/domain/components/system-component-builder.js +0 -1
  1170. package/dist/domain/components/system-virtual-entity.js +0 -1
  1171. package/dist/domain/components/tool-state-component.js +0 -1
  1172. package/dist/domain/components/view-state-component.js +0 -1
  1173. package/dist/domain/components/viewport-state-component.js +0 -1
  1174. package/dist/domain/core/expression.d.ts +0 -50
  1175. package/dist/domain/core/json-schema.js +0 -1
  1176. package/dist/domain/core/migrations.js +0 -1
  1177. package/dist/domain/core/reflection.js +0 -1
  1178. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  1179. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1180. package/dist/domain/expressions/constant-expressions.d.ts +0 -9
  1181. package/dist/domain/expressions/constant-expressions.js +0 -1
  1182. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  1183. package/dist/domain/expressions/custom-expression.js +0 -1
  1184. package/dist/domain/expressions/index.d.ts +0 -1
  1185. package/dist/domain/expressions/index.js +0 -1
  1186. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  1187. package/dist/domain/invariants/custom-invariants.js +0 -1
  1188. package/dist/domain/invariants/invariants.d.ts +0 -68
  1189. package/dist/domain/invariants/invariants.js +0 -1
  1190. package/dist/domain/invariants/violation-component.js +0 -1
  1191. package/dist/domain/invariants/violation.js +0 -1
  1192. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  1193. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1194. package/dist/domain/relations/component-factories.js +0 -1
  1195. package/dist/domain/relations/composed-of.js +0 -1
  1196. package/dist/domain/relations/direct-relation.d.ts +0 -29
  1197. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  1198. package/dist/domain/relations/indirect-relation.js +0 -1
  1199. package/dist/domain/relations/reference-component.js +0 -1
  1200. package/dist/domain/relations/relation-factory.d.ts +0 -19
  1201. package/dist/domain/relations/relation-factory.js +0 -1
  1202. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  1203. package/dist/domain/system-components/angle-indicator.js +0 -1
  1204. package/dist/domain/system-components/attribute-switch.js +0 -1
  1205. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1206. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1207. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1208. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1209. package/dist/domain/system-components/canvas-config.js +0 -1
  1210. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1211. package/dist/domain/system-components/canvas-padding.js +0 -1
  1212. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1213. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1214. package/dist/domain/system-components/client-side-image.js +0 -1
  1215. package/dist/domain/system-components/color-value.js +0 -1
  1216. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1217. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1218. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1219. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1220. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1221. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1222. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1223. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1224. package/dist/domain/system-components/entity-header.js +0 -1
  1225. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1226. package/dist/domain/system-components/finalize-action.js +0 -1
  1227. package/dist/domain/system-components/finalize-component.js +0 -1
  1228. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1229. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1230. package/dist/domain/system-components/fixed-header.js +0 -1
  1231. package/dist/domain/system-components/floating-header.js +0 -1
  1232. package/dist/domain/system-components/hidden-header.js +0 -1
  1233. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1234. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1235. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1236. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1237. package/dist/domain/system-components/navigation-steps.js +0 -1
  1238. package/dist/domain/system-components/offset-anchors.js +0 -1
  1239. package/dist/domain/system-components/offset-indicator.js +0 -1
  1240. package/dist/domain/system-components/offset.js +0 -1
  1241. package/dist/domain/system-components/other-action.js +0 -1
  1242. package/dist/domain/system-components/property-page.js +0 -1
  1243. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1244. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1245. package/dist/domain/system-components/rotatable.js +0 -1
  1246. package/dist/domain/system-components/rotation-handle.js +0 -1
  1247. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1248. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1249. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1250. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1251. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1252. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1253. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1254. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1255. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1256. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1257. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1258. package/dist/domain/system-components/selectable-component.js +0 -1
  1259. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1260. package/dist/domain/system-components/simple-summary.js +0 -1
  1261. package/dist/domain/system-components/size.js +0 -1
  1262. package/dist/domain/system-components/sketching-draw.js +0 -1
  1263. package/dist/domain/system-components/sketching-edit.js +0 -1
  1264. package/dist/domain/system-components/summary-component.js +0 -1
  1265. package/dist/domain/system-components/text-value.js +0 -1
  1266. package/dist/domain/system-components/tool-controls.js +0 -1
  1267. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1268. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1269. package/dist/domain/system-components/view-controls.js +0 -1
  1270. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  1271. package/dist/extras/assistant/AssistantChat.js +0 -1
  1272. package/dist/extras/assistant/index.d.ts +0 -1
  1273. package/dist/extras/assistant/index.js +0 -1
  1274. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  1275. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1276. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1277. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1278. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1279. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1280. /package/dist/domain/{core/action.js → application/assistant/assistant-manifest.js} +0 -0
  1281. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1282. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  1283. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  1284. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1285. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1286. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1287. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1288. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  1289. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  1290. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  1291. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1292. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1293. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1294. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1295. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1296. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1297. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1298. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1299. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1300. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1301. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1302. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1303. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1304. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1305. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1306. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1307. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1308. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1309. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1310. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1311. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1312. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1313. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1314. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1315. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1316. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1317. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1318. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1319. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1320. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1321. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1322. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1323. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1324. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1325. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1326. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1327. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1328. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1329. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1330. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1331. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1332. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1333. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1334. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1335. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,13 +1,10 @@
1
- export const sdkGuidanceSections={projectIntro:`## Phoenix Configurator Project
2
-
3
- Declarative 3D product configurator built with Phoenix SDK. Domain model defined in YAML, custom logic in TypeScript.`,buildCommands:"## Build Commands\n- `pnpm phoenix build` — Full production build\n- `pnpm phoenix dev` — Development mode with hot reload\n- `pnpm phoenix sync` — Sync generated files without full build",devLogs:"## Dev Logs\n- `pnpm phoenix dev` writes all logs to `.phoenix/phoenix-dev.log`\n- Contains: spec parse errors, build errors, browser runtime errors, file watcher events\n- After making changes, always check the log for errors: `tail -50 .phoenix/phoenix-dev.log` or `grep ERROR .phoenix/phoenix-dev.log`\n- Rotated automatically at 10MB (`.log.1`, `.log.2` are older rotations)",projectStructure:"## Project Structure\n- `spec/` — Domain YAML specs (entities, relations, expressions, invariants, components, application config)\n- `src/expressions/` — Computed/derived entity properties (`phx.domain.implementCustomExpressions()`)\n- `src/actions/` — Domain operations declared under `actions:` in the spec (`phx.domain.implementActions()`), run by controls and exposed to the assistant\n- `src/invariants/` — Business rule constraints (`phx.domain.implementCustomInvariants()`)\n- `src/transformers/` — Automatic state fixers (`phx.frontend.transformerBuilder`)\n- `src/components/` — ECS system components (`phx.domain.attachComponent.withEntity()`)\n- `src/elements/` — Page-level React components (`phx.frontend.createCustomPhoenixLayoutElement()`)\n- `src/handlers/` — Event & lifecycle handlers\n- `src/webhooks/` — Server-side webhook handlers (`phx.webhooks.*Builder`)\n- `src/migrations/` — Schema version migrations (v*.ts)\n- `src/locales/` — Locale catalogs (authored .po sources; compiled .ts, do not edit)\n- `src/admin/` — Admin interface (mirrors main src/ structure)\n- `src/_shared/` — Shared utilities (NOT auto-imported, requires explicit imports)\n- `.phoenix/` — Auto-generated files (DO NOT EDIT)\n- `public/` — Static assets (3D models, textures, images, HDRI maps, fonts)\n- `assets/` — Uploadable resources (PDF templates, email assets)",architecturePrinciples:"## Architecture Principles\n- YAML-first: 99% of configuration in spec/*.yaml, custom code is last resort\n- ECS pattern: entities (domain objects) + components (behavior/UI) + systems (SDK runtime)\n- Reactive state: immutable domain state flows through RxJS pipelines\n- Data binding: `$read` (read-only), `$write` (write-only), `$bind` (bidirectional) connect components to domain\n- memoEval: all component implementations must use memoEval for stable object references",keyPatterns:"## Key Patterns\n- Expressions = computed properties on entities (prefix: `$`), implemented per-entity in src/expressions/\n- Actions = named domain operations (`actions:` in YAML with `params` and `result` schemas), implemented in src/actions/, prepared through `actionSystem.prepareAction()` and exposed as assistant mutations through `assistant.actions`\n- Invariants = validation rules returning violations, static or dynamic\n- Transformers = auto-fixers maintaining consistency after state changes\n- Components defined in YAML with `$read`/`$bind` bindings, or custom in src/components/ using attachComponent builder\n- Webhooks = server-side finalization tasks (PDF, email, CSV, image rendering)\n- Filters = contextual component activation via navigationStates, viewStates, modes, selectedEntityIds",fileConventions:`## File Conventions
1
+ export const sdkGuidanceSections={buildCommands:"## Build Commands\n- `pnpm phoenix build` — Full production build\n- `pnpm phoenix dev` — Development mode with hot reload\n- `pnpm phoenix sync` — Sync generated files without full build\n- `pnpm phoenix deps` — Add the SDK's missing peer dependencies to `package.json` and move out-of-range ones into the SDK's range; it installs nothing, so run `pnpm install` after it",devLogs:"## Dev Logs\n- `pnpm phoenix dev` writes all logs to `.phoenix/phoenix-dev.log`\n- Contains: spec parse errors, build errors, browser runtime errors, file watcher events\n- After making changes, always check the log for errors: `tail -50 .phoenix/phoenix-dev.log` or `grep ERROR .phoenix/phoenix-dev.log`\n- Rotated automatically at 10MB (`.log.1`, `.log.2` are older rotations)",projectStructure:"## Project Structure\n- `spec/` — Domain YAML specs (entities, relations, expressions, invariants, components, application config)\n- `src/expressions/` — Computed/derived entity properties (`phx.domain.implementCustomExpressions()`)\n- `src/actions/` — Domain operations declared under `actions:` in the spec (`phx.domain.implementActions()`), run by controls and exposed to the assistant\n- `src/invariants/` — Business rule constraints (`phx.domain.implementCustomInvariants()`)\n- `src/transformers/` — Automatic state fixers (`phx.frontend.transformerBuilder`)\n- `src/components/` — ECS system components (`phx.domain.attachComponent.withEntity()`)\n- `src/elements/` — Page-level React components (`phx.frontend.createCustomPhoenixLayoutElement()`)\n - `ConfiguratorLayout`: a layout element with this name replaces everything the built-in layout renders for a loaded configuration, in owner and read mode, finalization included. Prefer arranging the spec's layout components; write one for shell-level changes, such as moving the sidebar or adding an area the built-in layout has no place for\n - Mount `LayoutSlots.SharedCanvas` (from `@salsita-ai/sdk/configurator`) in a positioned root covering the page, or the app loader stays on screen; put the UI above it, positioned and after it in the markup. Call `useSceneSafeArea()` (same import) and put `containerRef` on the element covering the whole canvas and `safeAreaRef` on the region the UI leaves free, with `pointerEvents: 'none'`, so the camera frames the scene there\n - Sidebar moved, contents as the spec configures them: mount `LayoutSlots.DesktopSidebar` in a positioned container that sets its size, with `side=\"start\"` on the left; `docs/layouts/sidebar/in-a-custom-layout.mdx` is the whole layout\n - Your own UI: \"Hooks for a Project Layout\" in `docs/phoenix/configurator-interface.mdx` lists the hooks with what each returns (`pnpm phoenix docs -r docs/phoenix/configurator-interface.mdx`), `docs/phoenix/layout-slots.mdx` the built-in pieces you can still mount, and `docs/layouts/custom-layout.mdx` is a worked example\n - Messages: mount `LayoutSlots.Services` for the built-in snackbars, or show violations, side-effect hints and errors yourself with `phx.frontend.useConfiguratorMessages(onMessage)`, not both. Either way mount a snackbar root (`LayoutSlots.DesktopSnackbarsRoot` or `LayoutSlots.MobileSnackbarsRoot`): save and built-in action errors are always snackbars\n - Finalize over the spec's `finalizeAction` components, each naming a handler registered with `phx.frontend.createPhoenixHandler`: run each with `phx.frontend.useFinalizeAction(handler)` in a component of its own wrapped in `PhoenixHandlerBoundary` (from `@salsita-ai/sdk/react`), or mount `FinalizeActions` (from `@salsita-ai/sdk/configurator`) for the built-in buttons. `finalizePage` and `finalizeButton` are legacy\n - Read mode and fullscreen are the layout's job, no hook enforces them: hide what a viewer must not change while `phx.frontend.useAccessService().accessInfo.viewMode` is `true`, and remove panels while `phx.frontend.useIsFullscreenActive()` is set; `phx.frontend.useSetFullscreen()` returns its setter\n- `src/handlers/` — Event & lifecycle handlers\n- `src/webhooks/` — Server-side webhook handlers (`phx.webhooks.*Builder`); the webhook is the default export of `src/webhooks/index.ts`, which you create when the project needs its own handlers — without it the build uses a built-in inert webhook that answers only anonymous auth, so create the file before setting `useAuthHook` or `useClerk`\n- `src/migrations/` — Schema version migrations (v*.ts)\n- `src/locales/` — Locale catalogs (authored .po sources; compiled .ts, do not edit)\n- `src/admin/` — Admin interface (mirrors main src/ structure)\n- `src/_shared/` — Shared utilities (NOT auto-imported, requires explicit imports)\n- `.phoenix/` — Auto-generated files (DO NOT EDIT, except the option files in `.phoenix/variants/`)\n- `public/` — Static assets (3D models, textures, images, HDRI maps, fonts)\n- `assets/` — Uploadable resources (PDF templates, email assets)",architecturePrinciples:"## Architecture Principles\n- YAML-first: 99% of configuration in spec/*.yaml, custom code is last resort\n- ECS pattern: entities (domain objects) + components (behavior/UI) + systems (SDK runtime)\n- Reactive state: immutable domain state flows through RxJS pipelines\n- Data binding: `$read` (read-only), `$write` (write-only), `$bind` (bidirectional) connect components to domain\n- memoEval: all component implementations must use memoEval for stable object references",keyPatterns:"## Key Patterns\n- Expressions = computed properties on entities (prefix: `$`), implemented per-entity in src/expressions/\n- Actions = named domain operations (`actions:` in YAML with `params` and `result` schemas), implemented in src/actions/, prepared through `actionSystem.prepareAction()` and exposed as assistant mutations through `assistant.actions`\n- Invariants = validation rules returning violations, static or dynamic\n- Transformers = auto-fixers maintaining consistency after state changes\n- Components defined in YAML with `$read`/`$bind` bindings, or custom in src/components/ using attachComponent builder\n- Webhooks = server-side finalization tasks (PDF, email, CSV, image rendering)\n- Filters = contextual component activation via navigationStates, viewStates, modes, selectedEntityIds",fileConventions:`## File Conventions
4
2
  - Components: PascalCase (.tsx)
5
3
  - Utilities: kebab-case (.ts)
6
4
  - Expressions: entity-name.ts
7
5
  - Migrations: v*.ts (sequential)
8
6
  - Specs: kebab-case.yaml
9
- - Underscore folders (_shared/, _utils/) are NOT auto-imported`,exportRules:`## Export Rules
10
- All files in src/expressions/, src/actions/, src/invariants/, src/transformers/, src/components/, src/handlers/, src/webhooks/ MUST use default exports. Can be a single item or an array. Named exports are ignored by the SDK auto-import system.`,webhookMembership:"## Webhook Membership\n- User-authored components, admin components, and handlers are frontend-only by default.\n- A handler that registers `createMapPublishedRevisionDataHandler`, `createMapPublishedChunkedDataHandler`, `createDataRowValidatorHandler`, or `createSheetValidatorHandler` is included in the webhook automatically.\n- To include another component or handler in the webhook, put `'use webhook'` as its first statement (leading comments are allowed).\n- A webhook-included file and its runtime local-import closure must not import browser SDK entrypoints (`application`, `admin`, `configurator`, `editor`, `react`, `ui`) or style/font/image assets. Spec parsing reports the unsafe import and inclusion reason as a diagnostic.\n- Keep browser rendering in an unpinned file. Move shared server-safe logic into a separate module when both frontend and webhook code need it.",doNotEdit:"## Do Not Edit\n- `.phoenix/` directory — completely regenerated on each build\n- `tsconfig.json`, `eslint.config.js`, `prettier.config.js`, `.prettierignore`, `.linguirc`, `.nvmrc`\n- `src/locales/` .ts files — compiled from .po files",modelVersioning:"## Version the Domain Model Once It Is Deployed\nA deployed model version cannot change, because saved configurations depend on it. `pnpm phoenix deploy` is refused, before anything is uploaded, when the model differs from the one already deployed under the same version. The version is not written anywhere: `model.latest` is always the highest numbered version plus one, so a spec with only `latest` is v1, and `applicationVersion` plays no part. `pnpm phoenix dev` accepts every model change, so a working preview does not show that the deploy will pass.\n\nTo change a model that has been deployed as v<N>:\n1. Keep the deployed model, unchanged, as `model.v<N>` in the spec. A file of its own, such as `spec/model-v<N>.yaml`, keeps `latest` readable.\n2. Make the change in `model.latest`, which is now v<N+1>.\n3. Add `src/migrations/v<N+1>.ts` exporting `migrateToV<N+1>`. It receives the saved entities of v<N> and returns entities that are valid in v<N+1>; `ModelV<N>` and `ModelV<N+1>` are generated global namespaces.\n\nThe admin model is versioned on its own, under `src/admin/migrations/`, with its types in `AdminV<N>`.\n\n**Replacing the starter.** When the first deployment of the workspace was the starter, its `Box` model is v1 in production. When the real model replaces it, keep the starter's model as `model.v1` and define the real model in `latest`. Configurations saved from the starter are not worth converting, so the migration returns the starting state of the new model, the `initialDomainEntities` of its preset, and drops the boxes:\n```typescript\n// src/migrations/v2.ts\nimport type { Migration } from '@salsita-ai/sdk/domain'\n\nexport const migrateToV2: Migration<ModelV1.AnyDomainEntity, ModelV2.AnyDomainEntity> = () => [\n // the entities of the new model's preset\n]\n```\nAn entity of a type the new version no longer has must not stay in the returned state. An entity id starts with its type (`Box-1`), so an entity that keeps its data under a new type name needs a new id and every relation pointing at it rewritten. Read `docs/phoenix/migrations.mdx` before writing any other migration.",sdkDocumentation:'## SDK Documentation\n\nAlways search SDK docs for relevant examples before implementing Phoenix features.\n\n### Commands\n- `pnpm phoenix docs` — Full documentation index with descriptions\n- `pnpm phoenix docs -s <term>` — Search all doc content and metadata (case-insensitive)\n- `pnpm phoenix docs --dir` — Print the absolute docs directory for grep or ripgrep\n- `pnpm phoenix docs -r <path>` — Read specific doc (raw text to stdout)\n- `pnpm phoenix docs -c <category>` — List docs in a category\n- `pnpm phoenix docs -l` — List all doc paths with titles\n\n### Key Docs\n- `docs/phoenix/getting-started.mdx` — Setup, prerequisites, first project\n- `docs/phoenix/quickstart.mdx` — End-to-end tutorial building a configurator\n- `docs/phoenix/domain-model.mdx` — Entities, attributes, relations, specs\n- `docs/phoenix/components.mdx` — ECS pattern, YAML components, custom components\n- `docs/phoenix/project-structure.mdx` — Files, folders, conventions\n- `docs/phoenix/best-practices.mdx` — YAML-first, code patterns, common pitfalls\n- `docs/phoenix/state-management.mdx` — Reactive state, RxJS pipelines, data flow\n- `docs/phoenix/expression-context.mdx` — Expression API, context object, helpers\n- `docs/phoenix/webhooks.mdx` — Server-side finalization workflows\n- `docs/phoenix/finalization.mdx` — Finalization system, PDF/email/CSV generation\n- `docs/phoenix/migrations.mdx` — Schema versioning, migration files\n\n### Agent Workflow\n1. Find relevant docs by content: `pnpm phoenix docs -s \'camera\'`\n2. Read matching doc: `pnpm phoenix docs -r docs/3d-scene/cameras/transitions.mdx`\n3. Search within a doc: `pnpm phoenix docs -r <path> | grep "example"`\n4. Search titles only as a fallback: `pnpm phoenix docs -l | grep "camera"`\n5. Search generated files directly when needed: `grep -rn "camera" "$(pnpm phoenix docs --dir)"`\n6. Browse a topic area: `pnpm phoenix docs -c "Layouts"`',assetInspection:"## 3D Asset Inspection\n\nRun `pnpm phoenix inspect:assets` to discover all glTF/GLB files in `public/` and get a summary table. Use `--file <path>` for detailed single-file inspection.\n\n**When to use:** before writing YAML/code that references objectName, materialsToOverride, morphTargetInfluences, or object positioning.\n\n**What it shows per node:**\n- Name, type (Mesh/Light/Camera/Empty), children\n- Transform: `pos=`, `rot=`, `scale=` (only non-default values shown)\n- Per-node morph targets: `morphs=Width,Height`\n- Bounding box: `bounds=WxHxD` (width x height x depth in meters)\n- Origin placement: `origin=center`, `bottom-center`, `top-center`, `bottom-corner`, etc. with numerical offset\n\n**Use cases:**\n- Find exact node names for `objectName` in scene entity components\n- Find material names for `materialsToOverride`\n- Find morph target names for `morphTargetInfluences`\n- Check model dimensions (bounds) for positioning, dimension indicators, or invariants\n- Check origin placement to understand how models anchor (center vs bottom-center)\n- Use `--json` for programmatic access to all data\n\n**Flags:** `--objects`, `--materials`, `--morphs`, `--animations`, `--json`",screenshotCli:"## Screenshot CLI\n\nCapture 3D canvas screenshots from a running dev server via `pnpm phoenix screenshot`.\n\n**Prerequisites:**\n1. `phoenix dev` must be running (starts the WebSocket server on port 3020)\n2. Configurator must be open in a browser (the browser does the actual rendering)\n\n**Options:**\n- `--output, -o` — Output file path (default: `./screenshot.png`)\n- `--width, -w` — Width in pixels (default: 1920)\n- `--height` — Height in pixels (default: 1080)\n- `--format, -f` — Image format: PNG or JPEG (default: PNG)\n- `--port` — WebSocket server port (default: 3020)\n\n**Example workflow:**\n1. Start dev server: `pnpm phoenix dev`\n2. Open configurator in browser (or via Playwright MCP)\n3. Take screenshot: `pnpm phoenix screenshot -o ./render.png -w 2560 --height 1440`\n\n**Use cases:** visual regression testing, generating product images, debugging 3D renders",inspectState:"## Inspect: State\n\nGet the current editor runtime state as JSON via `pnpm phoenix inspect:state`.\n\n**Prerequisites:** same as screenshot (dev server running + browser open)\n\n**Options:**\n- `--output, -o` — Output file path (prints to stdout if omitted)\n- `--sections, -s` — Comma-separated: entities, navigation, validation (default: all)\n- `--pretty` — Pretty-print JSON (default: true)\n- `--port` — WebSocket server port (default: 3020)\n\n**Example:** `pnpm phoenix inspect:state -o ./state.json -s entities,navigation`\n\n**Lifecycle status:** Always included in response. Shows which systems are ready:\n- `domainLoaded` — domain data loaded\n- `domainContextReady` — domain context initialized (entities available)\n- `configuratorReady` — 3D configurator initialized\n- `sessionAuthenticated` — session service active\n- `editorMode` — editor mode enabled\n\n**Tips:** Use `--sections` to limit payload size. Pipe through `head`/`tail` for partial output (e.g., `pnpm phoenix inspect:state | head -50`).\n\n**Use cases:** AI agent context, debugging entity state, inspecting navigation/validation",inspectData:`## Inspect: Data
7
+ - Underscore folders (_shared/, _utils/) are NOT auto-imported`,exportRules:'## Export Rules\nAll files in src/expressions/, src/actions/, src/invariants/, src/transformers/, src/components/, src/handlers/, src/elements/, src/webhooks/ MUST use default exports. Can be a single item or an array. Named exports are ignored by the SDK auto-import system.\nThe default export must be what the folder\'s phx factory returns (for example `phx.frontend.createCustomPhoenixLayoutElement()` in src/elements/). Any other value, such as a plain React component, stops the application at start with an "Invalid default export in <file>" error. Put plain components and helpers in an underscore folder.',webhookMembership:"## Webhook Membership\n- User-authored components, admin components, and handlers are frontend-only by default.\n- A handler that registers `phx.domain.createAssistantSetupHandler`, `createMapPublishedRevisionDataHandler`, `createMapPublishedChunkedDataHandler`, `createDataRowValidatorHandler`, or `createSheetValidatorHandler` is included in the webhook automatically.\n- An assistant setup handler receives the declaration-shaped whitelist and { role, sessionData, access }. Keep the exact entity/alias split from YAML; inherited fields and expanded member entries are absent. Narrow original declarations, then the SDK expands them. Use project-defined role/session data for per-user customization. Keep the handler synchronous, pure and deterministic. The handler runs in the browser and webhook. Return null to disable assistant execution, or omit whitelist entries to restrict them. Button and panel visibility use spec presence; project developers own dynamic UI filtering through normal layout mechanics such as $filter. Leaves expose optional descriptions; writable options allow only validate: true and allowDryRuns: false; recipe groups allow descriptions and allowDryRuns: false. Deletable entries are {}. Names, component bindings, hints and types are internal. Omitted overrides retain baseline values. Existing entity, enhanced-entity and action types constrain the handler; no separate generated manifest types. Browser GraphQL, tools and change recording use the session-derived manifest; rejected setup fails closed. UI reads the pure spec selector. Omitted server instructions or AI fields preserve the baseline. An empty server instructions string clears it.\n- To include another component or handler in the webhook, put `'use webhook'` as its first statement (leading comments are allowed).\n- A webhook-included file and its runtime local-import closure must not import browser SDK entrypoints (`application`, `admin`, `configurator`, `editor`, `react`, `ui`) or style/font/image assets. Spec parsing reports the unsafe import and inclusion reason as a diagnostic.\n- Keep browser rendering in an unpinned file. Move shared server-safe logic into a separate module when both frontend and webhook code need it.",doNotEdit:"## Do Not Edit\n- `.phoenix/` directory — completely regenerated on each build. The one exception is `.phoenix/variants/`, where the `phoenix-variants` skill has you write option files; a rebuild keeps it. The project's TypeScript settings come from `.phoenix/tsconfig.json`; the root `tsconfig.json` is the project's and extends it. `phoenix dev`, `phoenix build` and the webhook bundle do not resolve `paths` aliases, so an alias added to the root file passes `phoenix check` and fails the build; use relative imports\n- `eslint.config.js`, `prettier.config.js`, `.linguirc`, `.nvmrc`\n- `src/locales/` .ts files — compiled from .po files\n- `phoenix` and `phoenix-*` folders under `.claude/skills/` and `.agents/skills/` — Phoenix rewrites its skills on every sync, removes anything else inside their folders and removes any other `phoenix-*` skill folder. To customise a skill, copy it to a folder whose name does not start with `phoenix`",modelVersioning:"## Version the Domain Model Once It Is Deployed\nA deployed model version cannot change, because saved configurations depend on it. `pnpm phoenix deploy` is refused, before anything is uploaded, when the model differs from the one already deployed under the same version. The version is not written anywhere: `model.latest` is always the highest numbered version plus one, so a spec with only `latest` is v1, and `applicationVersion` plays no part. `pnpm phoenix dev` accepts every model change, so a working preview does not show that the deploy will pass.\n\nTo change a model that has been deployed as v<N>:\n1. Keep the deployed model, unchanged, as `model.v<N>` in the spec. A file of its own, such as `spec/model-v<N>.yaml`, keeps `latest` readable.\n2. Make the change in `model.latest`, which is now v<N+1>.\n3. Add `src/migrations/v<N+1>.ts` exporting `migrateToV<N+1>`. It receives the saved entities of v<N> and returns entities that are valid in v<N+1>; `ModelV<N>` and `ModelV<N+1>` are generated global namespaces.\n\nThe admin model is versioned on its own, under `src/admin/migrations/`, with its types in `AdminV<N>`.\n\n**Replacing the starter.** When the first deployment of the workspace was the starter, its `Box` model is v1 in production. When the real model replaces it, keep the starter's model as `model.v1` and define the real model in `latest`. Configurations saved from the starter are not worth converting, so the migration returns the starting state of the new model, the `initialDomainEntities` of its preset, and drops the boxes:\n```typescript\n// src/migrations/v2.ts\nimport type { Migration } from '@salsita-ai/sdk/domain'\n\nexport const migrateToV2: Migration<ModelV1.AnyDomainEntity, ModelV2.AnyDomainEntity> = () => [\n // the entities of the new model's preset\n]\n```\nAn entity of a type the new version no longer has must not stay in the returned state. An entity id starts with its type (`Box-1`), so an entity that keeps its data under a new type name needs a new id and every relation pointing at it rewritten. Read `docs/phoenix/migrations.mdx` before writing any other migration.",sdkDocumentation:'## SDK Documentation\n\nAlways search SDK docs for relevant examples before implementing Phoenix features.\n\n### Commands\n- `pnpm phoenix docs` — Full documentation index with descriptions\n- `pnpm phoenix docs -s <term>` — Search all doc content and metadata (case-insensitive)\n- `pnpm phoenix docs --dir` — Print the absolute docs directory for grep or ripgrep\n- `pnpm phoenix docs -r <path>` — Read specific doc (raw text to stdout)\n- `pnpm phoenix docs -c <category>` — List docs in a category\n- `pnpm phoenix docs -l` — List all doc paths with titles\n\n### Key Docs\n- `docs/phoenix/getting-started.mdx` — Setup, prerequisites, first project\n- `docs/phoenix/quickstart.mdx` — End-to-end tutorial building a configurator\n- `docs/phoenix/domain-model.mdx` — Entities, attributes, relations, specs\n- `docs/phoenix/components.mdx` — ECS pattern, YAML components, custom components\n- `docs/phoenix/project-structure.mdx` — Files, folders, conventions\n- `docs/phoenix/best-practices.mdx` — YAML-first, code patterns, common pitfalls\n- `docs/phoenix/state-management.mdx` — Reactive state, RxJS pipelines, data flow\n- `docs/phoenix/expression-context.mdx` — Expression API, context object, helpers\n- `docs/phoenix/webhooks.mdx` — Server-side finalization workflows\n- `docs/phoenix/finalization.mdx` — Finalization system, PDF/email/CSV generation\n- `docs/phoenix/migrations.mdx` — Schema versioning, migration files\n\n### Agent Workflow\n1. Find relevant docs by content: `pnpm phoenix docs -s \'camera\'`\n2. Read matching doc: `pnpm phoenix docs -r docs/3d-scene/cameras/transitions.mdx`\n3. Search within a doc: `pnpm phoenix docs -r <path> | grep "example"`\n4. Search titles only as a fallback: `pnpm phoenix docs -l | grep "camera"`\n5. Search generated files directly when needed: `grep -rn "camera" "$(pnpm phoenix docs --dir)"`\n6. Browse a topic area: `pnpm phoenix docs -c "Layouts"`',assetInspection:"## 3D Asset Inspection\n\nRun `pnpm phoenix inspect:assets` to discover all glTF/GLB files in `public/` and get a summary table. Use `--file <path>` for detailed single-file inspection.\n\n**When to use:** before writing YAML/code that references objectName, materialsToOverride, morphTargetInfluences, or object positioning.\n\n**What it shows per node:**\n- Name, type (Mesh/Light/Camera/Empty), children\n- Transform: `pos=`, `rot=`, `scale=` (only non-default values shown)\n- Per-node morph targets: `morphs=Width,Height`\n- Bounding box: `bounds=WxHxD` (width x height x depth in meters)\n- Origin placement: `origin=center`, `bottom-center`, `top-center`, `bottom-corner`, etc. with numerical offset\n\n**Use cases:**\n- Find exact node names for `objectName` in scene entity components\n- Find material names for `materialsToOverride`\n- Find morph target names for `morphTargetInfluences`\n- Check model dimensions (bounds) for positioning, dimension indicators, or invariants\n- Check origin placement to understand how models anchor (center vs bottom-center)\n- Use `--json` for programmatic access to all data\n\n**Flags:** `--objects`, `--materials`, `--morphs`, `--animations`, `--json`",screenshotCli:"## Screenshot CLI\n\nCapture 3D canvas screenshots from a running dev server via `pnpm phoenix screenshot`.\n\n**Prerequisites:**\n1. `phoenix dev` must be running (starts the WebSocket server on port 3020)\n2. Configurator must be open in a browser (the browser does the actual rendering)\n\n**Options:**\n- `--output, -o` — Output file path (default: `./screenshot.png`)\n- `--width, -w` — Width in pixels (default: 1920)\n- `--height` — Height in pixels (default: 1080)\n- `--format, -f` — Image format: PNG or JPEG (default: PNG)\n- `--port` — WebSocket server port (default: 3020)\n\n**Example workflow:**\n1. Start dev server: `pnpm phoenix dev`\n2. Open configurator in browser (or via Playwright MCP)\n3. Take screenshot: `pnpm phoenix screenshot -o ./render.png -w 2560 --height 1440`\n\n**Use cases:** visual regression testing, generating product images, debugging 3D renders",inspectState:"## Inspect: State\n\nGet the current editor runtime state as JSON via `pnpm phoenix inspect:state`.\n\n**Prerequisites:** same as screenshot (dev server running + browser open)\n\n**Options:**\n- `--output, -o` — Output file path (prints to stdout if omitted)\n- `--sections, -s` — Comma-separated: entities, navigation, validation (default: all)\n- `--pretty` — Pretty-print JSON (default: true)\n- `--port` — WebSocket server port (default: 3020)\n\n**Example:** `pnpm phoenix inspect:state -o ./state.json -s entities,navigation`\n\n**Lifecycle status:** Always included in response. Shows which systems are ready:\n- `domainLoaded` — domain data loaded\n- `domainContextReady` — domain context initialized (entities available)\n- `configuratorReady` — 3D configurator initialized\n- `sessionAuthenticated` — session service active\n- `editorMode` — editor mode enabled\n\n**Tips:** Use `--sections` to limit payload size. Pipe through `head`/`tail` for partial output (e.g., `pnpm phoenix inspect:state | head -50`).\n\n**Use cases:** AI agent context, debugging entity state, inspecting navigation/validation",inspectData:`## Inspect: Data
11
8
 
12
9
  Get the current editor context data as JSON via \`pnpm phoenix inspect:data\`.
13
10
 
@@ -41,7 +38,7 @@ Get the current Three.js scene graph as JSON via \`pnpm phoenix inspect:scene\`.
41
38
 
42
39
  **Tips:** Scene graphs can be large. Pipe through \`head\`/\`tail\` for partial output.
43
40
 
44
- **Use cases:** AI agent context, debugging 3D scene layout, inspecting materials and lighting`,playwrightMcpSetup:`## Playwright MCP Setup (for AI agents)
41
+ **Use cases:** AI agent context, debugging 3D scene layout, inspecting materials and lighting`,variantPreviews:"## Variant Previews\n\nShow the user several options over the configurator and get their pick back via `pnpm phoenix variants .phoenix/variants/<name>`. Use it when a visual or interaction decision is a matter of the user's taste. Load the `phoenix-variants` skill first: it says when to offer options, how to write them and which flags the command takes.\n\n**Prerequisites:** same as screenshot (dev server running + browser open)\n\n**Input:** a folder below `.phoenix/variants/` with one file per option: `<id>.variant.js` for a script that edits frontend files from a captured baseline, or `<id>.html` for a standalone iframe proposal. A selected HTML proposal is returned for you to implement. Options run one at a time through normal hot reload; Original always restores the baseline; picking an option keeps its edits, and the agent can use `--close` to restore the baseline without an answer.\n\n**Returns:** JSON with `status`: `chosen` (with `choice`, or `null` for Original, and `label`), `waiting` (the wait ran out and the preview stays open; run the same command again) or `closed`.",playwrightMcpSetup:`## Playwright MCP Setup (for AI agents)
45
42
 
46
43
  To interact with the 3D configurator in a browser, Playwright MCP needs GPU-enabled flags for WebGL rendering. Add to \`~/.claude/.mcp.json\`:
47
44
 
@@ -64,4 +61,19 @@ To interact with the 3D configurator in a browser, Playwright MCP needs GPU-enab
64
61
  Key flags:
65
62
  - \`--headed\` — visible browser (required for GPU rendering)
66
63
  - \`--use-gl=swiftshader\` — software GPU fallback for environments without a physical GPU
67
- - \`--enable-webgl\` + \`--ignore-gpu-blocklist\` — ensure WebGL is available`};
64
+ - \`--enable-webgl\` + \`--ignore-gpu-blocklist\` — ensure WebGL is available`,visualInspection:`## Visual inspection
65
+ Apply this whenever a change can alter what the canvas or the interface shows: geometry, materials, scene, layout, controls, or the data behind any of them. When a change cannot affect the rendered result, say so rather than passing over this silently.
66
+
67
+ Rendered appearance is a deliverable, not a side effect. Before presenting any preview, and before reporting work as complete, open the configuration that best represents the product at desktop width, wait for it to finish loading, look at it, and report what you found. Report what you saw, not whether it passed. State the observation each judgement rests on: “nothing floats” is a verdict, “the casters meet the floor and the shadow lies under them” is an observation. A result you have not looked at is unverified, whatever the automated checks say.
68
+
69
+ Inspect and report:
70
+
71
+ 1. Geometry. Every part rests on its support. Name where the product meets the ground and confirm its shadow and any selection indicator sit there too. Nothing floats, intersects, or protrudes. Scale and orientation are consistent between parts and match the stated dimensions. Each part is complete and present.
72
+ 2. Response. Every configurable surface of every part reacts to its control, not only the parts you just changed.
73
+ 3. Loading. How long until a meaningful first frame, and whether anything indicates progress meanwhile.
74
+
75
+ This covers what follows from the change you just made, in the state you are already in. Fidelity against the client's own material, the density of the controls, and every state you did not open belong to an independent reviewer, which the \`phoenix-create-configurator\` skill's Appearance review covers.
76
+
77
+ Report defects you are deferring as defects. Do not call work done, verified, or complete while any of the above is unchecked or failing: say which, and recommend fixing now or later.
78
+
79
+ Record the result of each point above in the specification alongside the increment it belongs to, with the viewport you used. An inspection nobody can read afterwards is indistinguishable from one that never happened.`};
@@ -1 +1,6 @@
1
+ /**
2
+ * The project's TypeScript settings, generated to `.phoenix/tsconfig.json` and rewritten whenever they
3
+ * differ. Paths are relative to `.phoenix/`. The project's root `tsconfig.json` extends this file, and
4
+ * `phoenix check` uses it directly when the project has no root `tsconfig.json`.
5
+ */
1
6
  export declare const generateApplicationSpecTsconfig: () => string;
@@ -31,6 +31,6 @@ export const generateApplicationSpecTsconfig=()=>`{
31
31
 
32
32
  "paths": {}
33
33
  },
34
- "include": ["src", ".phoenix", "prettier.config.js", "eslint.config.js", "./.phoenix/globals.d.ts"]
34
+ "include": ["../src", ".", "../prettier.config.js", "../eslint.config.js", "./globals.d.ts"]
35
35
  }
36
36
  `;
@@ -1,13 +1,14 @@
1
- let e=e=>`webhookHandlers${e}`;export const generateApplicationSpecWebhookBuilders=(o,t)=>{let i=o.appMetadata.useClerk?` clerk: {
1
+ let t=t=>`webhookHandlers${t}`;export const generateApplicationSpecWebhookBuilders=(e,o)=>{let i=e.appMetadata.useClerk?` clerk: {
2
2
  apiKey: phx.webhooksEnv.CLERK_API_KEY,
3
3
  authorizedParties: [phx.webhooksEnv.FRONTEND_URL, phx.webhooksEnv.RESOURCES_URL],
4
4
  jwtSecret: phx.webhooksEnv.JWT_SECRET_BASE64,
5
5
  oauthClientId: phx.webhooksEnv.OAUTH_PROVIDER_CLIENT_ID,
6
6
  oauthClientSecret: phx.webhooksEnv.OAUTH_PROVIDER_CLIENT_SECRET,
7
7
  oauthProviderBaseUrl: phx.webhooksEnv.OAUTH_PROVIDER_BASE_URL,
8
- },`:"",r=t.map((o,t)=>{let i=e(t),r=o.replace(/\.tsx?$/,".js");return`import ${i} from '../${r}'`}).join("\n"),a=t.length>0,n=t.map((o,t)=>e(t)),l=a?`[${n.join(", ")}].flat()`:"[]",s=a?`
9
- .withHandlers(${l})`:"";return`// Auto-generated by application-spec pipeline. Do not edit.
8
+ },`:"",r=o.map((e,o)=>{let i=t(o),r=e.replace(/\.tsx?$/,".js");return`import ${i} from '../${r}'`}).join("\n"),n=o.length>0,s=o.map((e,o)=>`{ origin: '${e}', exports: ${t(o)} }`),a=`[${s.join(", ")}]`,l=n?`
9
+ .withHandlers(${a})`:"";return`// Auto-generated by application-spec pipeline. Do not edit.
10
10
  import { createDomainWebhook } from '@salsita-ai/sdk/webhook'
11
+ import type { DeploymentAssistant } from '@salsita-ai/sdk/contracts/assistant'
11
12
 
12
13
  import { configuratorBuilder, createI18n } from './domain.js'
13
14
  import { customComponentOptics } from './configurator-domain-code.js'
@@ -15,12 +16,14 @@ import { customAdminComponentOptics } from './admin-domain-code.js'
15
16
  ${r?`
16
17
  ${r}
17
18
  `:""}
19
+ const $assistantServerSettings: Pick<DeploymentAssistant, 'instructions' | 'ai'> | null = ${JSON.stringify(e.configurator.assistantServerSettings?{instructions:e.configurator.assistantServerSettings.instructions??void 0,ai:e.configurator.assistantServerSettings.ai}:null)}
20
+
18
21
  const webhookConfiguratorBuilder = configuratorBuilder
19
22
  .withComponentOptics(customComponentOptics)
20
23
  .withAdminComponentOptics(customAdminComponentOptics)
21
24
  .withDefaultEnvs({
22
25
  isDev: phx.webhooksEnv.IS_DEV,
23
- })${s}
26
+ })${l}
24
27
 
25
28
  export const {
26
29
  authHandlerBuilder,
@@ -33,6 +36,8 @@ export const {
33
36
  } = createDomainWebhook({
34
37
  configuratorBuilder: webhookConfiguratorBuilder,
35
38
  createI18n,
39
+ assistantServerSettings: $assistantServerSettings,
40
+ assistantStrictThreads: phx.webhooksEnv.ASSISTANT_STRICT_THREADS,
36
41
  ${i}
37
42
  })
38
43
 
@@ -1 +1,6 @@
1
- export declare const generateApplicationSpecWebhookIndex: () => string;
1
+ /** Where the generated webhook entry takes its handler from. */
2
+ export interface WebhookIndexOptions {
3
+ /** Whether the project has `src/webhooks/index.ts`; without it the entry holds the built-in webhook. */
4
+ readonly hasWebhookEntry: boolean;
5
+ }
6
+ export declare const generateApplicationSpecWebhookIndex: ({ hasWebhookEntry }: WebhookIndexOptions) => string;
@@ -1,7 +1,16 @@
1
- import{autoHeader as e}from"../common/file-headers.js";export const generateApplicationSpecWebhookIndex=()=>`${e("webhook.ts","Webhook entry point — imports builders (sets globalThis.phx.webhooks) then re-exports user handler.")}
1
+ import{autoHeader as e}from"../common/file-headers.js";export const generateApplicationSpecWebhookIndex=({hasWebhookEntry:o})=>o?`${e("webhook.ts","Webhook entry point — imports builders (sets globalThis.phx.webhooks) then re-exports user handler.")}
2
2
  export * as builders from './webhook-builders.js'
3
3
 
4
4
  import implementation from '../src/webhooks/index.js'
5
5
 
6
6
  export const handler = implementation
7
+ `:`${e("webhook.ts","Webhook entry point — imports builders (sets globalThis.phx.webhooks) then exports the built-in handler, because the project has no src/webhooks/index.ts.")}
8
+ export * as builders from './webhook-builders.js'
9
+
10
+ // A webhook needs at least one handler; anonymous auth stays inert until spec/application.yaml sets useAuthHook
11
+ const authHandler = phx.webhooks.authHandlerBuilder
12
+ .withAnonymousHandler(async () => ({ success: true, data: {}, role: 'anonymous' }))
13
+ .build()
14
+
15
+ export const handler = phx.webhooks.webhookBuilder.withAuthHook(authHandler).build()
7
16
  `;
@@ -1,6 +1,5 @@
1
- import{generateEnvReader as e}from"../common/env-reader.js";import{autoHeader as r}from"../common/file-headers.js";let t={IS_DEV:{type:"bool",default:!1,devDefault:!0},AWS_S3_PUBLIC_RESOURCES_BUCKET:{type:"str",required:!0},AWS_S3_RESOURCES_REGION:{type:"str",required:!0},DEPLOYMENT_RESOURCES_PATH:{type:"str",default:"deployment-resources"}},o={CLERK_API_KEY:{type:"str",required:!0},FRONTEND_URL:{type:"str",required:!0},JWT_SECRET_BASE64:{type:"str",required:!0},OAUTH_PROVIDER_CLIENT_ID:{type:"str",required:!0},OAUTH_PROVIDER_CLIENT_SECRET:{type:"str",required:!0},OAUTH_PROVIDER_BASE_URL:{type:"str",required:!0},RESOURCES_URL:{type:"str",required:!0}};export const generateApplicationSpecWebhooksConfig=i=>{let n=i.infra.env?.webhook??{},R=i.appMetadata.useClerk?o:{},{imports:E,config:p}=e({...t,...R,...n}),s=E.length>0?`import { ${E.join(", ")} } from 'envalid'
2
- `:"";return`${r("webhooks.config.ts","Runtime environment config for the webhook server.")}
3
- ${s}import { createEnvReader } from '@salsita-ai/sdk/common/env'
1
+ import{generateEnvReader as e}from"../common/env-reader.js";import{autoHeader as r}from"../common/file-headers.js";let t={IS_DEV:{type:"bool",default:!1,devDefault:!0},ASSISTANT_STRICT_THREADS:{type:"bool",default:!1},AWS_S3_PUBLIC_RESOURCES_BUCKET:{type:"str",required:!0},AWS_S3_RESOURCES_REGION:{type:"str",required:!0},DEPLOYMENT_RESOURCES_PATH:{type:"str",default:"deployment-resources"}},o={CLERK_API_KEY:{type:"str",required:!0},FRONTEND_URL:{type:"str",required:!0},JWT_SECRET_BASE64:{type:"str",required:!0},OAUTH_PROVIDER_CLIENT_ID:{type:"str",required:!0},OAUTH_PROVIDER_CLIENT_SECRET:{type:"str",required:!0},OAUTH_PROVIDER_BASE_URL:{type:"str",required:!0},RESOURCES_URL:{type:"str",required:!0}};export const generateApplicationSpecWebhooksConfig=i=>{let n=i.infra.env?.webhook??{},R=i.appMetadata.useClerk?o:{},{imports:E,config:p}=e({...t,...R,...n}),_=[...E,"createEnvReader"].sort();return`${r("webhooks.config.ts","Runtime environment config for the webhook server.")}
2
+ import { ${_.join(", ")} } from '@salsita-ai/sdk/common/env'
4
3
 
5
4
  const readRuntimeConfig = createEnvReader(${p})
6
5
 
@@ -1,5 +1,7 @@
1
1
  export * from './runtime/sections/index.js';
2
2
  export * from './runtime/application-runtime.js';
3
+ export * from './runtime/factory-data/index.js';
4
+ export * from './runtime/migrations/index.js';
3
5
  export { isConfiguratorModelSchemaCompatible } from './runtime/configurator-runtime/configurator-model-runtime.js';
4
6
  export * from './code/index.js';
5
7
  export { generateRuntimeInstance } from './runtime/generate-runtime-instance.js';
@@ -1 +1 @@
1
- export*from"./runtime/sections/index.js";export*from"./runtime/application-runtime.js";export{isConfiguratorModelSchemaCompatible}from"./runtime/configurator-runtime/configurator-model-runtime.js";export*from"./code/index.js";export{generateRuntimeInstance}from"./runtime/generate-runtime-instance.js";
1
+ export*from"./runtime/sections/index.js";export*from"./runtime/application-runtime.js";export*from"./runtime/factory-data/index.js";export*from"./runtime/migrations/index.js";export{isConfiguratorModelSchemaCompatible}from"./runtime/configurator-runtime/configurator-model-runtime.js";export*from"./code/index.js";export{generateRuntimeInstance}from"./runtime/generate-runtime-instance.js";
@@ -1,8 +1,10 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
2
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
3
  import type { ApplicationSpec } from '../../../parse-application-files/index.js';
4
+ import { FactoryDataRuntime } from '../factory-data/index.js';
5
+ import { type MigrationModules, MigrationRuntime } from '../migrations/index.js';
4
6
  import { ComponentOptics } from '../sections/component-optic.js';
5
- import { type ExpressionImplementations, ExpressionRuntime, type MissingExpression } from '../sections/expression-runtime.js';
7
+ import { type ExpressionImplementations, ExpressionRuntime, type InvariantImplementations, type MissingExpression } from '../sections/expression-runtime.js';
6
8
  import { PresetRuntime } from '../sections/preset-runtime.js';
7
9
  import { AdminModelRuntime } from './admin-model-runtime.js';
8
10
  import { AdminStatesRuntime } from './states-runtime.js';
@@ -12,6 +14,8 @@ export type AdminRuntime = Branded<'AdminRuntime', {
12
14
  readonly expressionRuntime: ExpressionRuntime;
13
15
  readonly presetRuntime: PresetRuntime;
14
16
  readonly statesRuntime: AdminStatesRuntime;
17
+ readonly migrationRuntime: MigrationRuntime;
18
+ readonly factoryDataRuntime: FactoryDataRuntime;
15
19
  }>;
16
20
  export type AdminRuntimeResult = {
17
21
  readonly ok: true;
@@ -20,4 +24,4 @@ export type AdminRuntimeResult = {
20
24
  readonly ok: false;
21
25
  readonly missingExpressions: readonly MissingExpression[];
22
26
  };
23
- export declare const AdminRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations?: ExpressionImplementations) => AdminRuntimeResult;
27
+ export declare const AdminRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, invariantImplementations: InvariantImplementations, migrationModules: MigrationModules) => AdminRuntimeResult;
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{Preset as t,PresetCategory as i,commonAdminCustomExpressions as r,commonAdminViolationExpressions as s}from"#package/domain";import{ComponentOptics as n}from"../sections/component-optic.js";import{ExpressionRuntime as m}from"../sections/expression-runtime.js";import{PresetRuntime as o}from"../sections/preset-runtime.js";import{AdminModelRuntime as a}from"./admin-model-runtime.js";import{AdminStatesRuntime as p}from"./states-runtime.js";let c={Preset:[{evaluate:(e,i,r)=>{let n=r.domain.get$Entity(e,i);return t.assert(n),s.Preset.nameNotEmpty(n)}}]},u={PresetCategory:{$isDraft:{origin:{name:"$isDraft",typeOrAlias:"PresetCategory"},evaluate:(e,t,s)=>{let n=s.domain.get$Entity(e,t);return i.assert(n),r.PresetCategory.$isDraft(n)},meta:{}}}};export const AdminRuntime=(t,i,r={})=>{let s={...u};for(let[e,t]of Object.entries(r))s[e]={...s[e],...t};let f=a(t.admin,t.configurator.dataSchemas,i),d=m(t.admin,i,s,"adminExpressionRuntime",c);return d.ok?{ok:!0,runtime:e({modelRuntime:f,componentOptics:n(i,{components:t.admin.components,referenceScope:"adminRuntime/componentOptics",modelRuntime:f}),expressionRuntime:d.runtime,presetRuntime:o(i,{referenceScope:"adminRuntime/presetRuntime",presets:t.admin.presets.presets}),statesRuntime:p(t,i)})}:{ok:!1,missingExpressions:d.missing}};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{Preset as t,PresetCategory as i,commonAdminCustomExpressions as n,commonAdminViolationExpressions as r}from"#package/domain";import{FactoryDataRuntime as s}from"../factory-data/index.js";import{MigrationRuntime as o}from"../migrations/index.js";import{ComponentOptics as m}from"../sections/component-optic.js";import{ExpressionRuntime as a}from"../sections/expression-runtime.js";import{PresetRuntime as p}from"../sections/preset-runtime.js";import{AdminModelRuntime as f}from"./admin-model-runtime.js";import{AdminStatesRuntime as u}from"./states-runtime.js";let c={Preset:[{evaluate:(e,i,n)=>{let s=n.domain.get$Entity(e,i);return t.assert(s),r.Preset.nameNotEmpty(s)}}]},l={PresetCategory:{$isDraft:{origin:{name:"$isDraft",typeOrAlias:"PresetCategory"},evaluate:(e,t,r)=>{let s=r.domain.get$Entity(e,t);return i.assert(s),n.PresetCategory.$isDraft(s)},meta:{}}}},d=new WeakMap;export const AdminRuntime=(t,i,n,r,g)=>{let R={...l};for(let[e,t]of Object.entries(n))R[e]={...R[e],...t};let y=f(t.admin,t.configurator.dataSchemas,i),j=a(t.admin,i,R,"adminExpressionRuntime",((e,t)=>{if(0===Object.keys(e).length)return c;let i=d.get(t)??new WeakMap;d.set(t,i);let n=i.get(e);if(n)return n;let r={};for(let i of[c,e])for(let[e,n]of Object.entries(i))for(let i of t[e]??[e])r[i]=[...r[i]??[],...n];return i.set(e,r),r})(r,y.aliases));return j.ok?{ok:!0,runtime:e({modelRuntime:y,componentOptics:m(i,{components:t.admin.components,referenceScope:"adminRuntime/componentOptics",modelRuntime:y}),expressionRuntime:j.runtime,presetRuntime:p(i,{referenceScope:"adminRuntime/presetRuntime",presets:t.admin.presets.presets}),statesRuntime:u(t,i),migrationRuntime:o(i,{referenceScope:"adminRuntime/migrationRuntime",resolvedVersions:t.admin.resolvedVersions,latestEntities:y.entities,migrationModules:g}),factoryDataRuntime:s(i,{referenceScope:"adminRuntime/factoryDataRuntime",invariants:t.admin.invariants,defaults:t.admin.defaults,aliases:y.aliases,entities:y.entities})})}:{ok:!1,missingExpressions:j.missing}};
@@ -4,9 +4,9 @@ import type { RuntimeReferenceStore } from '../../caching/index.js';
4
4
  import type { ApplicationSpec } from '../../parse-application-files/index.js';
5
5
  import { AdminRuntime } from './admin-runtime/admin-runtime.js';
6
6
  import { ConfiguratorRuntime } from './configurator-runtime/configurator-runtime.js';
7
+ import type { MigrationModules } from './migrations/index.js';
7
8
  import { DataRuntime } from './sections/data-runtime.js';
8
9
  import type { ExpressionImplementations, InvariantImplementations, MissingExpression } from './sections/expression-runtime.js';
9
- type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any, any>;
10
10
  /**
11
11
  * Runtime objects built from ApplicationSpec.
12
12
  * Domain-specific fields mirror ApplicationSpec configurator/admin nesting.
@@ -29,7 +29,12 @@ export type ApplicationRuntimeResult = {
29
29
  * section-level changes across rebuilds.
30
30
  * Each field on the result carries its own `changed` flag.
31
31
  *
32
+ * `adminInvariantImplementations` are the project's admin invariants (`src/admin/invariants/`); the
33
+ * admin domain checks them after the invariants every admin domain has. `migrationModules` are the
34
+ * project's migration modules of both domains (`src/migrations/`, `src/admin/migrations/`), keyed by
35
+ * project path; a migration they do not provide is listed in `missingMigrations` of the domain's
36
+ * `migrationRuntime`.
37
+ *
32
38
  * Returns an error result when declared expressions are missing implementations.
33
39
  */
34
- export declare const ApplicationRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, importedTransformers: readonly AnyImportedTransformer[], invariantImplementations?: InvariantImplementations, adminImplementations?: ExpressionImplementations) => ApplicationRuntimeResult;
35
- export {};
40
+ export declare const ApplicationRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, importedTransformers: readonly ImportedTransformer[], invariantImplementations?: InvariantImplementations, adminImplementations?: ExpressionImplementations, adminInvariantImplementations?: InvariantImplementations, migrationModules?: MigrationModules) => ApplicationRuntimeResult;
@@ -1 +1 @@
1
- import{Branded as i}from"@salsita-ai/common/utils";import{AdminRuntime as r}from"./admin-runtime/admin-runtime.js";import{ConfiguratorRuntime as n}from"./configurator-runtime/configurator-runtime.js";import{DataRuntime as o}from"./sections/data-runtime.js";export const ApplicationRuntime=(s,t,m,e,u,a)=>{let p=n(s,t,m,e,u);if(!p.ok)return{ok:!1,missingExpressions:p.missingExpressions};let f=r(s,t,a);return f.ok?{ok:!0,runtime:i({configurator:p.runtime,admin:f.runtime,data:o(s,t)})}:{ok:!1,missingExpressions:f.missingExpressions}};
1
+ import{Branded as i}from"@salsita-ai/common/utils";import{AdminRuntime as r}from"./admin-runtime/admin-runtime.js";import{ConfiguratorRuntime as n}from"./configurator-runtime/configurator-runtime.js";import{DataRuntime as o}from"./sections/data-runtime.js";export const ApplicationRuntime=(s,t,m,e,u,a={},p={},f={})=>{let c=n(s,t,m,e,u,f);if(!c.ok)return{ok:!1,missingExpressions:c.missingExpressions};let g=r(s,t,a,p,f);return g.ok?{ok:!0,runtime:i({configurator:c.runtime,admin:g.runtime,data:o(s,t)})}:{ok:!1,missingExpressions:g.missingExpressions}};
@@ -2,6 +2,8 @@ import { Branded } from '@salsita-ai/common/utils';
2
2
  import type { ImportedTransformer } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
4
  import type { ApplicationSpec } from '../../../parse-application-files/index.js';
5
+ import { FactoryDataRuntime } from '../factory-data/index.js';
6
+ import { type MigrationModules, MigrationRuntime } from '../migrations/index.js';
5
7
  import { ActionsRuntime } from '../sections/actions-runtime.js';
6
8
  import { AssistantRuntime } from '../sections/assistant-runtime.js';
7
9
  import { ComponentOptics } from '../sections/component-optic.js';
@@ -11,7 +13,6 @@ import { ThemeRuntime } from '../sections/theme-runtime.js';
11
13
  import { TransformersRuntime } from '../sections/transformers-runtime.js';
12
14
  import { ConfiguratorModelRuntime } from './configurator-model-runtime.js';
13
15
  import { ConfiguratorStatesRuntime } from './states-runtime.js';
14
- type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any, any>;
15
16
  export type ConfiguratorRuntime = Branded<'ConfiguratorRuntime', {
16
17
  readonly modelRuntime: ConfiguratorModelRuntime;
17
18
  readonly componentOptics: ComponentOptics;
@@ -22,6 +23,8 @@ export type ConfiguratorRuntime = Branded<'ConfiguratorRuntime', {
22
23
  readonly transformersRuntime: TransformersRuntime;
23
24
  readonly assistantRuntime: AssistantRuntime;
24
25
  readonly actionsRuntime: ActionsRuntime;
26
+ readonly migrationRuntime: MigrationRuntime;
27
+ readonly factoryDataRuntime: FactoryDataRuntime;
25
28
  }>;
26
29
  export type ConfiguratorRuntimeResult = {
27
30
  readonly ok: true;
@@ -30,5 +33,4 @@ export type ConfiguratorRuntimeResult = {
30
33
  readonly ok: false;
31
34
  readonly missingExpressions: readonly MissingExpression[];
32
35
  };
33
- export declare const ConfiguratorRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, importedTransformers: readonly AnyImportedTransformer[], invariantImplementations?: InvariantImplementations) => ConfiguratorRuntimeResult;
34
- export {};
36
+ export declare const ConfiguratorRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, implementations: ExpressionImplementations, importedTransformers: readonly ImportedTransformer[], invariantImplementations: InvariantImplementations | undefined, migrationModules: MigrationModules) => ConfiguratorRuntimeResult;
@@ -1 +1 @@
1
- import{Branded as t}from"@salsita-ai/common/utils";import{ActionsRuntime as o}from"../sections/actions-runtime.js";import{AssistantRuntime as e}from"../sections/assistant-runtime.js";import{ComponentOptics as r}from"../sections/component-optic.js";import{ExpressionRuntime as s}from"../sections/expression-runtime.js";import{PresetRuntime as i}from"../sections/preset-runtime.js";import{ThemeRuntime as n}from"../sections/theme-runtime.js";import{TransformersRuntime as m}from"../sections/transformers-runtime.js";import{ConfiguratorModelRuntime as u}from"./configurator-model-runtime.js";import{ConfiguratorStatesRuntime as c}from"./states-runtime.js";export const ConfiguratorRuntime=(p,a,f,g,R)=>{let j=u(p.configurator,a),x=s(p.configurator,a,f,"configuratorExpressionRuntime",R);return x.ok?{ok:!0,runtime:t({modelRuntime:j,componentOptics:r(a,{components:p.configurator.components,referenceScope:"configuratorRuntime/componentOptics",modelRuntime:j}),presetRuntime:i(a,{referenceScope:"configuratorRuntime/presetRuntime",presets:p.configurator.presets.presets}),statesRuntime:c(p,a),expressionRuntime:x.runtime,themeRuntime:n(p,a),transformersRuntime:m(p,a,g),assistantRuntime:e(p,a),actionsRuntime:o(p.configurator.actions,a)})}:{ok:!1,missingExpressions:x.missing}};
1
+ import{Branded as t}from"@salsita-ai/common/utils";import{FactoryDataRuntime as e}from"../factory-data/index.js";import{MigrationRuntime as i}from"../migrations/index.js";import{ActionsRuntime as o}from"../sections/actions-runtime.js";import{AssistantRuntime as r}from"../sections/assistant-runtime.js";import{ComponentOptics as n}from"../sections/component-optic.js";import{ExpressionRuntime as s}from"../sections/expression-runtime.js";import{PresetRuntime as m}from"../sections/preset-runtime.js";import{ThemeRuntime as a}from"../sections/theme-runtime.js";import{TransformersRuntime as u}from"../sections/transformers-runtime.js";import{ConfiguratorModelRuntime as c}from"./configurator-model-runtime.js";import{ConfiguratorStatesRuntime as f}from"./states-runtime.js";export const ConfiguratorRuntime=(p,g,R,j,l,d)=>{let x=c(p.configurator,g),v=s(p.configurator,g,R,"configuratorExpressionRuntime",l);return v.ok?{ok:!0,runtime:t({modelRuntime:x,componentOptics:n(g,{components:p.configurator.components,referenceScope:"configuratorRuntime/componentOptics",modelRuntime:x}),presetRuntime:m(g,{referenceScope:"configuratorRuntime/presetRuntime",presets:p.configurator.presets.presets}),statesRuntime:f(p,g),expressionRuntime:v.runtime,themeRuntime:a(p,g),transformersRuntime:u(p,g,j),assistantRuntime:r(p,g),actionsRuntime:o(p.configurator.actions,g),migrationRuntime:i(g,{referenceScope:"configuratorRuntime/migrationRuntime",resolvedVersions:p.configurator.resolvedVersions,latestEntities:x.entities,migrationModules:d}),factoryDataRuntime:e(g,{referenceScope:"configuratorRuntime/factoryDataRuntime",invariants:p.configurator.invariants,defaults:p.configurator.defaults,aliases:x.aliases,entities:x.entities})})}:{ok:!1,missingExpressions:v.missing}};
@@ -0,0 +1,43 @@
1
+ import { Branded } from '@salsita-ai/common/utils';
2
+ import type { AnyEntityReflections, DomainEntity, DomainEntityReflection } from '#package/domain';
3
+ import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
+ import type { Defaults, Invariants } from '../../../parse-application-files/index.js';
5
+ import { type RecipeDefaults } from './recipe-defaults.js';
6
+ import { type StaticViolations } from './static-violations.js';
7
+ interface FactoryDataRuntimeFields {
8
+ /**
9
+ * The member types of each alias: what `phx.domain.attachComponent` expands an alias with, and
10
+ * what `phx.domain.createRecipe` expands alias defaults with.
11
+ */
12
+ readonly aliases: Readonly<Record<string, readonly string[]>>;
13
+ /** The entity reflections `phx.domain.createRecipe` validates the defaults with. */
14
+ readonly entityReflections: ReadonlyArray<DomainEntityReflection<DomainEntity<string>>>;
15
+ /** The violations `phx.domain.implementCustomInvariants` reports for a static invariant that fails. */
16
+ readonly staticViolations: StaticViolations;
17
+ /** The defaults `phx.domain.createRecipe` puts into a new recipe. */
18
+ readonly defaults: RecipeDefaults;
19
+ readonly changed: boolean;
20
+ }
21
+ /**
22
+ * The data the `phx.domain` factories of one domain carry, built from the parsed spec: the static
23
+ * violations of `implementCustomInvariants`, the aliases of `attachComponent`, and the aliases,
24
+ * entity reflections and defaults of `createRecipe`. Generated `domain-spec.ts` passes the same
25
+ * values to those factories as literals; with this section the factories can be built from the
26
+ * spec instead. The configurator and the admin domain each have one.
27
+ */
28
+ export type FactoryDataRuntime = Branded<'FactoryDataRuntime', FactoryDataRuntimeFields>;
29
+ interface FactoryDataRuntimeInput {
30
+ readonly invariants: Invariants;
31
+ readonly defaults: Defaults;
32
+ readonly aliases: Readonly<Record<string, readonly string[]>>;
33
+ readonly entities: AnyEntityReflections;
34
+ }
35
+ interface FactoryDataRuntimeProps extends FactoryDataRuntimeInput {
36
+ readonly referenceScope: string;
37
+ }
38
+ /**
39
+ * Builds the factory data of one domain. The result keeps its reference while the invariants and
40
+ * defaults are equal and the model runtime's aliases and entity reflections are the same objects.
41
+ */
42
+ export declare const FactoryDataRuntime: (referenceStore: RuntimeReferenceStore, props: FactoryDataRuntimeProps) => FactoryDataRuntime;
43
+ export {};
@@ -0,0 +1 @@
1
+ import e from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";import{createRecipeDefaults as i}from"./recipe-defaults.js";import{createStaticViolations as s}from"./static-violations.js";let a=e=>({aliases:e.aliases,entityReflections:Object.values(e.entities),staticViolations:s(e.invariants),defaults:i(e.defaults)});export const FactoryDataRuntime=(i,s)=>{let n=i.createBuilder(s.referenceScope,{build:a,getKey:()=>"singleton",compare:(t,i)=>t.aliases===i.aliases&&t.entities===i.entities&&e(t.invariants.entries,i.invariants.entries)&&e(t.defaults.entries,i.defaults.entries)}).build({invariants:s.invariants,defaults:s.defaults,aliases:s.aliases,entities:s.entities});return t({...n.output,changed:n.changed})};
@@ -0,0 +1,3 @@
1
+ export { FactoryDataRuntime } from './factory-data-runtime.js';
2
+ export type { RecipeDefaults } from './recipe-defaults.js';
3
+ export type { StaticViolations } from './static-violations.js';
@@ -0,0 +1 @@
1
+ export{FactoryDataRuntime}from"./factory-data-runtime.js";
@@ -0,0 +1,13 @@
1
+ import type { Defaults } from '../../../parse-application-files/index.js';
2
+ /**
3
+ * The default property values of each entity type, keyed by entity type: what
4
+ * `phx.domain.createRecipe` puts into a new recipe before the caller's overrides. Alias entries are
5
+ * already expanded to their member types by the parser.
6
+ */
7
+ export type RecipeDefaults = Readonly<Record<string, Readonly<Record<string, unknown>>>>;
8
+ /**
9
+ * The runtime counterpart of the `defaults` literal the generated `domain-spec.ts` passes to
10
+ * `createRecipeFactory`: the parsed per-entity defaults with every `$msg` lowered to the descriptor
11
+ * the `msg` macro produces.
12
+ */
13
+ export declare const createRecipeDefaults: (defaults: Defaults) => RecipeDefaults;
@@ -0,0 +1 @@
1
+ import{createMessageDescriptor as e,isEvalMarker as t,isMsgMarker as r}from"../../../core/index.js";let s=(a,i)=>{if(null===a||"object"!=typeof a)return a;if(r(a))return e(a);if(t(a))throw Error(`The default at ${i} is an $eval expression. Defaults are static values; the parser rejects $eval in them, so the spec given to the runtime was not produced by it. Parse the spec again and pass the result.`);return Array.isArray(a)?a.map((e,t)=>s(e,`${i}[${t}]`)):Object.fromEntries(Object.entries(a).map(([e,t])=>[e,s(t,`${i}.${e}`)]))};export const createRecipeDefaults=e=>Object.fromEntries(Object.entries(e.entries).map(([e,t])=>[e,Object.fromEntries(Object.entries(t).map(([t,r])=>[t,s(r,`${e}.${t}`)]))]));
@@ -0,0 +1,16 @@
1
+ import type { Violation } from '#package/domain';
2
+ import type { Invariants } from '../../../parse-application-files/index.js';
3
+ /**
4
+ * The violation each static invariant of a domain reports when its implementation returns `false`,
5
+ * by entity type or alias and by invariant name. `phx.domain.implementCustomInvariants` closes over
6
+ * it: a project implements a static invariant as a boolean and the factory turns `false` into this
7
+ * violation.
8
+ */
9
+ export type StaticViolations = Readonly<Record<string, Readonly<Record<string, Violation<string>>>>>;
10
+ /**
11
+ * The runtime counterpart of the `staticViolations` literal the generated `domain-spec.ts` passes
12
+ * to `createCustomInvariantFactory`: one entry per static invariant, keyed as the spec declares it,
13
+ * with a `$msg` message lowered to the descriptor the `msg` macro produces. Types and aliases
14
+ * without a static invariant have no entry.
15
+ */
16
+ export declare const createStaticViolations: (invariants: Invariants) => StaticViolations;
@@ -0,0 +1 @@
1
+ import{createMessageDescriptor as t}from"../../../core/index.js";export const createStaticViolations=e=>{let i={};for(let[o,r]of Object.entries(e.entries))for(let e of Object.values(r)){if("static"!==e.kind)continue;let r={type:String(e.violationType),severity:e.severity,message:"string"==typeof e.message?e.message:t(e.message),...void 0===e.controlViolationPriority?{}:{controlViolationPriority:e.controlViolationPriority}};i[o]={...i[o],[String(e.name)]:r}}return i};
@@ -0,0 +1 @@
1
+ export { MigrationRuntime, type MigrationModules } from './migration-runtime.js';
@@ -0,0 +1 @@
1
+ export{MigrationRuntime}from"./migration-runtime.js";
@@ -0,0 +1,53 @@
1
+ import { Branded } from '@salsita-ai/common/utils';
2
+ import { type AnyEntityReflections, type DomainEntity, type MigrateFunction, type Migration } from '#package/domain';
3
+ import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
+ import type { ResolvedVersions } from '../../../parse-application-files/index.js';
5
+ type AnyEntity = DomainEntity<string>;
6
+ type AnyMigration = Migration<AnyEntity, AnyEntity>;
7
+ /**
8
+ * The project's migration modules, keyed by the project path the parser records for each model
9
+ * version (`src/migrations/v2.ts`, `src/admin/migrations/v2.ts`), each holding the module's exports.
10
+ * The module of version `N` exports the migration to that version as `migrateToV<N>`, the name the
11
+ * generated `domain.ts` imports.
12
+ */
13
+ export type MigrationModules = Readonly<Record<string, Readonly<Record<string, unknown>>>>;
14
+ interface MigrationRuntimeFields {
15
+ /** The entity reflections of each model version, keyed by version; the latest is the domain's own. */
16
+ readonly modelVersions: Readonly<Record<number, AnyEntityReflections>>;
17
+ /** The migration to each version, keyed by the version it yields. */
18
+ readonly migrations: Readonly<Record<number, AnyMigration>>;
19
+ readonly migrate: MigrateFunction<AnyEntity>;
20
+ /**
21
+ * The migrations the spec declares but the migration modules do not provide, as
22
+ * `<migration file>#migrateToV<N>`. A state that needs one fails to load with a
23
+ * `StateMigrationError` naming the missing step.
24
+ */
25
+ readonly missingMigrations: readonly string[];
26
+ readonly changed: boolean;
27
+ }
28
+ /**
29
+ * How a domain migrates a stored state of any of its model versions to the latest one: the entity
30
+ * reflections of every version, the project's migration to each version above the first, and the
31
+ * migrate function built from both, which `DomainBuilder.withMigrate` takes.
32
+ *
33
+ * The configurator and the admin domain each have one. The admin domain's factory first applies the
34
+ * SDK's own migration of the common admin entities (`migrateCommonAdminDomain`) and then this one.
35
+ */
36
+ export type MigrationRuntime = Branded<'MigrationRuntime', MigrationRuntimeFields>;
37
+ interface MigrationRuntimeInput {
38
+ readonly resolvedVersions: ResolvedVersions;
39
+ readonly latestEntities: AnyEntityReflections;
40
+ readonly migrationModules: MigrationModules;
41
+ }
42
+ interface MigrationRuntimeProps extends MigrationRuntimeInput {
43
+ readonly referenceScope: string;
44
+ }
45
+ /**
46
+ * Builds a domain's migrations from its resolved model versions and the project's migration
47
+ * modules: the runtime counterpart of the `modelVersions` literal of the generated `domain-spec.ts`
48
+ * and the `createMigrateFunction(...)` call of the generated `domain.ts`. The latest version uses the
49
+ * domain's own entity reflections, as generated code does. The result keeps its reference while
50
+ * the versions, the latest reflections and the migration modules stay the same.
51
+ */
52
+ export declare const MigrationRuntime: (referenceStore: RuntimeReferenceStore, props: MigrationRuntimeProps) => MigrationRuntime;
53
+ export {};
@@ -0,0 +1 @@
1
+ import e from"lodash-es/isEqual.js";import{Branded as i}from"@salsita-ai/common/utils";import{DomainEntityReflection as t,createMigrateFunction as s}from"#package/domain";let o=e=>"function"==typeof e,r=e=>`migrateToV${e}`,n=e=>{let{resolvedVersions:i,latestEntities:n,migrationModules:a}=e,l={},m={},d=[];for(let e of i.versionedModels){if(e.isLatest)l[e.version]=n;else{let i={};for(let s of e.modelVersion.entitySchemas)i[String(s.entityType)]=new t(String(s.entityType),[s.shapeSchema]);l[e.version]=i}if(void 0===e.migrationFile)continue;let i=r(e.version),s=a[e.migrationFile]?.[i];o(s)?m[e.version]=s:d.push(`${e.migrationFile}#${i}`)}return{modelVersions:l,migrations:m,migrate:s(l,i.latestVersion,m),missingMigrations:d}},a=e=>e.versionedModels.map(e=>({version:e.version,isLatest:e.isLatest,migrationFile:e.migrationFile,schemas:e.isLatest?[]:e.modelVersion.entitySchemas.map(e=>e.shapeSchema)})),l=(i,t)=>i.latestEntities===t.latestEntities&&i.resolvedVersions.latestVersion===t.resolvedVersions.latestVersion&&e(a(i.resolvedVersions),a(t.resolvedVersions))&&i.resolvedVersions.versionedModels.every(e=>void 0===e.migrationFile||i.migrationModules[e.migrationFile]===t.migrationModules[e.migrationFile]);export const MigrationRuntime=(e,t)=>{let s=e.createBuilder(t.referenceScope,{build:n,getKey:()=>"singleton",compare:l}).build({resolvedVersions:t.resolvedVersions,latestEntities:t.latestEntities,migrationModules:t.migrationModules});return i({...s.output,changed:s.changed})};
@@ -1,9 +1,10 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
+ import type { AssistantResolvedManifest } from '#package/domain';
2
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
- import type { ApplicationSpec, AssistantSpec } from '../../../parse-application-files/index.js';
4
- /** Parse-time assistant manifest with change tracking, carried to the runtime spec on hot reload. */
4
+ import type { ApplicationSpec } from '../../../parse-application-files/index.js';
5
+ /** Resolved assistant manifest with change tracking, carried to the runtime spec on hot reload. */
5
6
  export type AssistantRuntime = Branded<'AssistantRuntime', {
6
- readonly assistant: AssistantSpec;
7
+ readonly assistant: AssistantResolvedManifest | null;
7
8
  readonly changed: boolean;
8
9
  }>;
9
10
  export declare const AssistantRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore) => AssistantRuntime;
@@ -1 +1 @@
1
- import s from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";export const AssistantRuntime=(a,i)=>{let n=i.createBuilder("assistant",{build:s=>s,getKey:()=>"assistant",compare:(t,a)=>s(t,a)}).build({assistant:a.configurator.assistant});return t({assistant:n.output.assistant,changed:n.changed})};
1
+ import s from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";export const AssistantRuntime=(a,i)=>{let e=i.createBuilder("assistant",{build:s=>s,getKey:()=>"assistant",compare:(t,a)=>s(t,a)}).build({assistant:a.configurator.assistant?.resolved??null});return t({assistant:e.output.assistant,changed:e.changed})};
@@ -1,4 +1,4 @@
1
- import { type ComponentEntry, type ComponentImplementation } from '../../../parse-application-files/spec/index.js';
1
+ import type { ComponentEntry, ComponentImplementation } from '../../../parse-application-files/spec/index.js';
2
2
  import type { AdminModelRuntime } from '../admin-runtime/admin-model-runtime.js';
3
3
  import type { ConfiguratorModelRuntime } from '../configurator-runtime/configurator-model-runtime.js';
4
4
  import type { ComponentOptic } from './component-optic.js';
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as t,adminSidebarComponent as a,attributeSelectionComponent as i,componentsByName as r,composedOfComponent as n,navigationPageComponent as o,navigationPanelListComponent as d,referenceComponent as c}from"#package/domain";import*as m from"#package/domain";import{FILTER_CRITERION_KEYS as s,isSdkCodeRef as l}from"../../../parse-application-files/spec/index.js";let g=new Map([["reference",c],["composedOf",n],["adminSidebar",a],["attributeSelection",i],["navigationPage",o],["navigationPanelList",d]]),p={createAdminCustomPageRead:m.createAdminCustomPageRead,createAdminCustomSidebarRead:m.createAdminCustomSidebarRead,createAdminDataPageRead:m.createAdminDataPageRead,createAdminDataTableSidebarRead:m.createAdminDataTableSidebarRead,createAdminNavigationPanelRead:m.createAdminNavigationPanelRead,createAdminPresetCategoryPageRead:m.createAdminPresetCategoryPageRead,createAdminPresetCategorySelectionRead:m.createAdminPresetCategorySelectionRead,createAdminPresetCategorySelectionWrite:m.createAdminPresetCategorySelectionWrite,createAdminPresetCategorySidebarRead:m.createAdminPresetCategorySidebarRead,createAdminPresetListPageRead:m.createAdminPresetListPageRead,createAdminPresetSidebarRead:m.createAdminPresetSidebarRead,createAdminRecipeCollectionPageRead:m.createAdminRecipeCollectionPageRead,createAdminRecipeSidebarRead:m.createAdminRecipeSidebarRead},R=(e,t)=>{let a=p[e.sdkFunction]??m[e.sdkFunction];if("function"!=typeof a)throw Error(`SDK factory function "${e.sdkFunction}" not found. Make sure it is exported from the package.`);return a(...e.params.map(e=>{if(l(e)){let a=t.entities[e.$codeRef]??t.aliasReflections[e.$codeRef];if(!a)throw Error(`Reflection "${e.$codeRef}" not found in ModelRuntime. This is a bug — the target was validated at parse time.`);return a}return e}))};export const buildSdkOptic=(a,i,n,o)=>{let d=t.from(n),c=r.get(a.componentName)??g.get(a.componentName);if(!c)throw Error(`SDK component "${a.componentName}" not found. This is a bug — the component was validated at parse time.`);let m=d.withComponent(c,a.instanceName,!0),l=a.isAlias?m.withAlias(String(a.typeOrAlias)):m.withEntity(String(a.typeOrAlias));for(let e of i.filters.items){if("root"===e.kind){let t=e.target,a=e=>e[t];l=l.withFilter(a);continue}let t={};for(let a of s){let i=e[a];void 0!==i&&("dynamic"===i.kind?t[a]=e=>e[i.target]:"eval"===i.kind?t[a]=Function("self",`return (${i.code})`):t[a]=i.value)}l=l.withGradualFilter(t)}let p=R(i.readFactory,o),f=R(i.writeFactory,o),A=l.attach(p,f);return e({typeOrAlias:String(a.typeOrAlias),componentName:a.componentName,instanceName:String(a.instanceName),optic:A})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as t,adminSidebarComponent as a,attributeSelectionComponent as i,componentsByName as r,composedOfComponent as n,navigationPageComponent as o,navigationPanelListComponent as d,referenceComponent as c}from"#package/domain";import*as m from"#package/domain";import{FILTER_CRITERION_KEYS as s,isSdkCodeRef as l}from"../../../core/index.js";let g=new Map([["reference",c],["composedOf",n],["adminSidebar",a],["attributeSelection",i],["navigationPage",o],["navigationPanelList",d]]),R={createAdminCustomPageRead:m.createAdminCustomPageRead,createAdminCustomSidebarRead:m.createAdminCustomSidebarRead,createAdminDataPageRead:m.createAdminDataPageRead,createAdminDataTableSidebarRead:m.createAdminDataTableSidebarRead,createAdminNavigationPanelRead:m.createAdminNavigationPanelRead,createAdminPresetCategoryPageRead:m.createAdminPresetCategoryPageRead,createAdminPresetCategorySelectionRead:m.createAdminPresetCategorySelectionRead,createAdminPresetCategorySelectionWrite:m.createAdminPresetCategorySelectionWrite,createAdminPresetCategorySidebarRead:m.createAdminPresetCategorySidebarRead,createAdminPresetListPageRead:m.createAdminPresetListPageRead,createAdminPresetSidebarRead:m.createAdminPresetSidebarRead,createAdminRecipeCollectionPageRead:m.createAdminRecipeCollectionPageRead,createAdminRecipeSidebarRead:m.createAdminRecipeSidebarRead},p=(e,t)=>{let a=R[e.sdkFunction]??m[e.sdkFunction];if("function"!=typeof a)throw Error(`SDK factory function "${e.sdkFunction}" not found. Make sure it is exported from the package.`);return a(...e.params.map(e=>{if(l(e)){let a=t.entities[e.$codeRef]??t.aliasReflections[e.$codeRef];if(!a)throw Error(`Reflection "${e.$codeRef}" not found in ModelRuntime. This is a bug — the target was validated at parse time.`);return a}return e}))};export const buildSdkOptic=(a,i,n,o)=>{let d=t.from(n),c=r.get(a.componentName)??g.get(a.componentName);if(!c)throw Error(`SDK component "${a.componentName}" not found. This is a bug — the component was validated at parse time.`);let m=d.withComponent(c,a.instanceName,!0),l=a.isAlias?m.withAlias(String(a.typeOrAlias)):m.withEntity(String(a.typeOrAlias));for(let e of i.filters.items){if("root"===e.kind){let t=e.target,a=e=>e[t];l=l.withFilter(a);continue}let t={};for(let a of s){let i=e[a];void 0!==i&&("dynamic"===i.kind?t[a]=e=>e[i.target]:"eval"===i.kind?t[a]=Function("self",`return (${i.code})`):t[a]=i.value)}l=l.withGradualFilter(t)}let R=p(i.readFactory,o),A=p(i.writeFactory,o),f=l.attach(R,A);return e({typeOrAlias:String(a.typeOrAlias),componentName:a.componentName,instanceName:String(a.instanceName),optic:f})};
@@ -4,7 +4,8 @@ import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
4
  import type { ComponentEntry } from '../../../parse-application-files/spec/index.js';
5
5
  import type { AdminModelRuntime } from '../admin-runtime/admin-model-runtime.js';
6
6
  import type { ConfiguratorModelRuntime } from '../configurator-runtime/configurator-model-runtime.js';
7
- type AnyComponentOptic = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
7
+ /** A component optic of any project, for any component type. */
8
+ export type AnyComponentOptic = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
8
9
  /** A single built component optic with its identifying metadata. */
9
10
  export type ComponentOptic = Branded<'ComponentOptic', {
10
11
  readonly typeOrAlias: string;