@salsita-ai/sdk 0.50.0-develop.aabb56df09 → 0.50.0-develop.ab6a7ca8ae

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 (1230) hide show
  1. package/README.md +3 -3
  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 +9 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +12 -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/project-scaffolding.d.ts +8 -1
  44. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  45. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  46. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  47. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  48. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  49. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  50. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  51. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  52. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  53. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  54. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  55. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  57. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  58. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  59. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  63. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  65. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  66. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  67. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  68. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  69. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  70. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  71. package/dist/application-spec/generate-application/code/templates/domain.js +5 -5
  72. package/dist/application-spec/generate-application/code/templates/globals.js +5 -4
  73. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -8
  74. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  75. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  76. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  77. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
  78. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +10 -4
  79. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  81. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +46 -14
  83. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
  84. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  85. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  86. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  87. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  88. package/dist/application-spec/generate-application/index.d.ts +2 -0
  89. package/dist/application-spec/generate-application/index.js +1 -1
  90. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +6 -2
  91. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  92. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -3
  93. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  94. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +5 -3
  95. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  96. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  97. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  98. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  99. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  100. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  101. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  102. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  103. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  104. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  105. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  106. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  107. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  108. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  109. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  110. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  111. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  112. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  113. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  114. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  115. package/dist/application-spec/index.d.ts +1 -0
  116. package/dist/application-spec/index.js +1 -1
  117. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +6 -0
  118. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  119. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  120. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  121. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  122. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  123. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  124. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  125. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  126. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  127. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  128. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  129. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  130. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  131. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  132. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  133. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  134. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  135. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  136. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  137. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  138. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  139. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  140. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  141. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  142. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  143. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  144. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  145. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  146. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  147. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  148. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  149. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  150. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  151. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  152. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  153. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  154. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  155. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  156. package/dist/client/authorized-client.d.ts +3 -1
  157. package/dist/client/authorized-client.js +1 -1
  158. package/dist/client/contract.d.ts +34 -0
  159. package/dist/client/contract.js +1 -1
  160. package/dist/client/index.d.ts +2 -2
  161. package/dist/client/index.js +1 -1
  162. package/dist/client/local-authorized-client.d.ts +3 -1
  163. package/dist/client/local-authorized-client.js +1 -1
  164. package/dist/client/memory-authorized-client.d.ts +3 -1
  165. package/dist/client/memory-authorized-client.js +1 -1
  166. package/dist/client/phoenix-api.d.ts +367 -30
  167. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  168. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  169. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  170. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +136 -6
  171. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  172. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  173. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  174. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  175. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  176. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  177. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  178. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  179. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  180. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  181. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  182. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  183. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  184. package/dist/configurator/common/configurator-interface.js +1 -1
  185. package/dist/configurator/common/frontend-analytics.d.ts +2 -0
  186. package/dist/configurator/common/frontend-analytics.js +1 -1
  187. package/dist/configurator/common/index.d.ts +2 -0
  188. package/dist/configurator/common/index.js +1 -1
  189. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  190. package/dist/configurator/common/use-finalize-action.js +1 -0
  191. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  192. package/dist/configurator/common/use-reset-camera.js +1 -0
  193. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  194. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  195. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  196. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  197. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  198. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  199. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -0
  200. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  201. package/dist/configurator/pages/index.d.ts +1 -0
  202. package/dist/configurator/pages/index.js +1 -1
  203. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  204. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  205. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  206. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  207. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  208. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  209. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  210. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  211. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  212. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  213. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  214. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  215. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  216. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  217. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  218. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  219. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  220. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  221. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  222. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  223. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  224. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  225. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  226. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  227. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  228. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  229. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  230. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  231. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  232. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  233. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  234. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  235. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  236. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  237. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  238. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  239. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  240. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  241. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  242. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  243. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  244. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  245. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  246. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  247. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  248. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  249. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  250. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  251. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  252. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  253. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  254. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  255. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  256. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  257. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  258. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  259. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  260. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  261. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  262. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  263. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  264. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  265. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  266. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  267. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  268. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  269. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  270. package/dist/docs/index.json +42 -1
  271. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  272. package/dist/docs/layouts/custom-layout.mdx +2125 -0
  273. package/dist/docs/layouts/custom-price.mdx +14 -16
  274. package/dist/docs/layouts/header/fixed.mdx +2 -2
  275. package/dist/docs/layouts/header/floating.mdx +2 -2
  276. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  277. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  278. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  279. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  280. package/dist/docs/other-features/domain-actions.mdx +1 -1
  281. package/dist/docs/other-features/side-effects.mdx +50 -45
  282. package/dist/docs/other-features/transformers.mdx +5 -1
  283. package/dist/docs/other-features/violation-messages.mdx +52 -56
  284. package/dist/docs/phoenix/admin.mdx +9 -24
  285. package/dist/docs/phoenix/application-states.mdx +9 -7
  286. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  287. package/dist/docs/phoenix/deployments.mdx +1 -1
  288. package/dist/docs/phoenix/domain-model.mdx +4 -0
  289. package/dist/docs/phoenix/expression-context.mdx +11 -3
  290. package/dist/docs/phoenix/finalization.mdx +1 -1
  291. package/dist/docs/phoenix/getting-started.mdx +1 -1
  292. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  293. package/dist/docs/phoenix/localization.mdx +3 -22
  294. package/dist/docs/phoenix/phoenix-cli.mdx +148 -55
  295. package/dist/docs/phoenix/project-structure.mdx +32 -13
  296. package/dist/docs/phoenix/quickstart.mdx +2 -2
  297. package/dist/docs/phoenix/sdk-builder-workflow.mdx +12 -11
  298. package/dist/docs/phoenix/testing.mdx +140 -0
  299. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  300. package/dist/docs/phoenix/webhooks.mdx +19 -2
  301. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  302. package/dist/docs/relations/hierarchy.mdx +13 -2
  303. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  304. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  305. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  306. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  307. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  308. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  309. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  310. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  311. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  312. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  313. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  314. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  315. package/dist/domain/admin-domain/index.d.ts +9 -5
  316. package/dist/domain/admin-domain/index.js +1 -1
  317. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  318. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  319. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  320. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  321. package/dist/domain/application/application-config.d.ts +30 -97
  322. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  323. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  324. package/dist/domain/application/assistant/assistant-manifest.d.ts +71 -0
  325. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +131 -0
  326. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -0
  327. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  328. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  329. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  330. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  331. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  332. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  333. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  334. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  335. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  336. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  337. package/dist/domain/application/assistant/index.d.ts +9 -0
  338. package/dist/domain/application/assistant/index.js +1 -0
  339. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  340. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  341. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  342. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  343. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  344. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  345. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  346. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  347. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  348. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  349. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  350. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  351. package/dist/domain/application/assistant-mutations.js +1 -1
  352. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  353. package/dist/domain/application/configurator-builder.d.ts +36 -18
  354. package/dist/domain/application/configurator-builder.js +1 -1
  355. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  356. package/dist/domain/application/index.d.ts +3 -6
  357. package/dist/domain/application/index.js +1 -1
  358. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  359. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  360. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  361. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  362. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  363. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  364. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  365. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  366. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  367. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  368. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  369. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  370. package/dist/domain/available-system-components.js +1 -1
  371. package/dist/domain/core/action/action-factory.d.ts +11 -0
  372. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  373. package/dist/domain/core/action/index.d.ts +2 -0
  374. package/dist/domain/core/action/index.js +1 -0
  375. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  376. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  377. package/dist/domain/core/component/debug-state-component.js +1 -0
  378. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  379. package/dist/domain/core/component/domain-component-optic.js +16 -0
  380. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  381. package/dist/domain/core/component/drag-state-component.js +1 -0
  382. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  383. package/dist/domain/core/component/export-state-component.js +1 -0
  384. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  385. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  386. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  387. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  388. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  389. package/dist/domain/core/component/hover-state-component.js +1 -0
  390. package/dist/domain/core/component/index.d.ts +18 -0
  391. package/dist/domain/core/component/index.js +1 -0
  392. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  393. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  394. package/dist/domain/core/component/navigation-state-component.js +1 -0
  395. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  396. package/dist/domain/core/component/selection-state-component.js +1 -0
  397. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  398. package/dist/domain/core/component/system-component-builder.js +1 -0
  399. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
  400. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  401. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  402. package/dist/domain/core/component/tool-state-component.js +1 -0
  403. package/dist/domain/{components → core/component}/updates.d.ts +1 -2
  404. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  405. package/dist/domain/core/component/view-state-component.js +1 -0
  406. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  407. package/dist/domain/core/component/viewport-state-component.js +1 -0
  408. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  409. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  410. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  411. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  412. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  413. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  414. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  415. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  416. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  417. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  418. package/dist/domain/core/data-schema/data-schema.js +1 -0
  419. package/dist/domain/core/data-schema/index.d.ts +7 -0
  420. package/dist/domain/core/data-schema/index.js +1 -0
  421. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  422. package/dist/domain/core/decoder/create-decoder.js +1 -0
  423. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  424. package/dist/domain/core/decoder/decoder.js +1 -0
  425. package/dist/domain/core/decoder/index.d.ts +2 -0
  426. package/dist/domain/core/decoder/index.js +1 -0
  427. package/dist/domain/core/domain-factory.d.ts +4 -5
  428. package/dist/domain/core/domain-factory.js +1 -1
  429. package/dist/domain/core/domain.d.ts +4 -5
  430. package/dist/domain/core/domain.js +1 -1
  431. package/dist/domain/core/emission/index.d.ts +8 -0
  432. package/dist/domain/core/emission/index.js +1 -0
  433. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  434. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  435. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  436. package/dist/domain/core/emission/state-emission.js +1 -0
  437. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  438. package/dist/domain/core/emission/state-update-emission.js +1 -0
  439. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  440. package/dist/domain/core/emission/state-validation-result.js +1 -0
  441. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  442. package/dist/domain/core/emission/transformation-log.js +1 -0
  443. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  444. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  445. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  446. package/dist/domain/core/emission/transformer-log.js +1 -0
  447. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  448. package/dist/domain/core/emission/transformer-phase.js +1 -0
  449. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  450. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  451. package/dist/domain/core/expression/constant-expressions.d.ts +16 -0
  452. package/dist/domain/core/expression/constant-expressions.js +1 -0
  453. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  454. package/dist/domain/core/expression/custom-expression.js +1 -0
  455. package/dist/domain/core/expression/expression.d.ts +46 -0
  456. package/dist/domain/core/expression/expression.js +1 -0
  457. package/dist/domain/core/expression/index.d.ts +4 -0
  458. package/dist/domain/core/expression/index.js +1 -0
  459. package/dist/domain/core/index.d.ts +13 -17
  460. package/dist/domain/core/index.js +1 -1
  461. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  462. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  463. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  464. package/dist/domain/core/invariant/index.d.ts +5 -0
  465. package/dist/domain/core/invariant/index.js +1 -0
  466. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  467. package/dist/domain/core/invariant/invariants.js +1 -0
  468. package/dist/domain/core/invariant/violation-component.js +1 -0
  469. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  470. package/dist/domain/core/invariant/violation.js +1 -0
  471. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  472. package/dist/domain/core/model/index.d.ts +6 -0
  473. package/dist/domain/core/model/index.js +1 -0
  474. package/dist/domain/core/{model.d.ts → model/model.d.ts} +1 -1
  475. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  476. package/dist/domain/core/model/reflection.js +1 -0
  477. package/dist/domain/core/recipe/index.d.ts +1 -0
  478. package/dist/domain/core/recipe/index.js +1 -0
  479. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  480. package/dist/domain/core/recipe/recipes.js +1 -0
  481. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  482. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  483. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  484. package/dist/domain/core/relation/component-factories.js +1 -0
  485. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  486. package/dist/domain/core/relation/composed-of.js +1 -0
  487. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  488. package/dist/domain/core/relation/index.d.ts +8 -0
  489. package/dist/domain/core/relation/index.js +1 -0
  490. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  491. package/dist/domain/core/relation/indirect-relation.js +1 -0
  492. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  493. package/dist/domain/core/relation/reference-component.js +1 -0
  494. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  495. package/dist/domain/core/relation/reference-field.js +1 -0
  496. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  497. package/dist/domain/core/relation/relation-factory.js +1 -0
  498. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  499. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  500. package/dist/domain/core/schema/index.d.ts +3 -0
  501. package/dist/domain/core/schema/index.js +1 -0
  502. package/dist/domain/core/schema/schema-validator.js +1 -0
  503. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  504. package/dist/domain/core/state/id-sequence.js +1 -0
  505. package/dist/domain/core/state/index.d.ts +3 -0
  506. package/dist/domain/core/state/index.js +1 -0
  507. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  508. package/dist/domain/core/state/migrations.js +1 -0
  509. package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
  510. package/dist/domain/domain-builder.d.ts +11 -11
  511. package/dist/domain/domain-builder.js +1 -1
  512. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  513. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  514. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  515. package/dist/domain/domain-context/action-system/index.js +1 -0
  516. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  517. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  518. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  519. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  520. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  521. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  522. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  523. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  524. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  525. package/dist/domain/domain-context/index.d.ts +8 -18
  526. package/dist/domain/domain-context/index.js +1 -1
  527. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  528. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  529. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  530. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  531. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  532. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  533. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  534. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  535. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  536. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  537. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  538. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  539. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  540. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  541. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  542. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  543. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  544. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  545. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  546. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  547. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  548. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  549. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  550. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  551. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  552. package/dist/domain/domain-context/store-system/index.js +1 -0
  553. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  554. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  555. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  556. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  557. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  558. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  559. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  560. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  561. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  562. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  563. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  564. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  565. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  566. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  567. package/dist/domain/domain-context/transformers/context.js +1 -1
  568. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  569. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  570. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  571. package/dist/domain/domain-context/transformers/index.js +1 -1
  572. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  573. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  574. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  575. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  576. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  577. package/dist/domain/domain-context/undo-system.js +1 -1
  578. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  579. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  580. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  581. package/dist/domain/domain-runtime/access/types.js +1 -1
  582. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  583. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  584. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  585. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  586. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  587. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  588. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  589. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  590. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  591. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  592. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -25
  593. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  594. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  595. package/dist/domain/domain-runtime/domain-runtime.d.ts +88 -72
  596. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  597. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  598. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  599. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  600. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  601. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  602. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  603. package/dist/domain/domain-runtime/errors/index.js +1 -0
  604. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  605. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  606. package/dist/domain/domain-runtime/index.d.ts +1 -0
  607. package/dist/domain/domain-runtime/index.js +1 -1
  608. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  609. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  610. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  611. package/dist/domain/domain-runtime/spec/index.js +1 -1
  612. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  613. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  614. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  615. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  616. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  617. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  618. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  619. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  620. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  621. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +32 -0
  622. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  623. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  624. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  625. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  626. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  627. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  628. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  629. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  630. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  631. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  632. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  633. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  634. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  635. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  636. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  637. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  638. package/dist/domain/domain-runtime/spec/types.d.ts +8 -6
  639. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  640. package/dist/domain/extensions/angle-indicator.js +1 -0
  641. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  642. package/dist/domain/extensions/attribute-switch.js +1 -0
  643. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  644. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  645. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  646. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  647. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  648. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  649. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +2 -2
  650. package/dist/domain/extensions/canvas-config.js +1 -0
  651. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  652. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  653. package/dist/domain/extensions/canvas-padding.js +1 -0
  654. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  655. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  656. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  657. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  658. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  659. package/dist/domain/extensions/client-side-image.js +1 -0
  660. package/dist/domain/extensions/color-value.js +1 -0
  661. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  662. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  663. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +3 -3
  664. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  665. package/dist/domain/extensions/common/index.d.ts +4 -0
  666. package/dist/domain/extensions/common/index.js +1 -0
  667. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  668. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  669. package/dist/domain/extensions/custom-price-footer.js +1 -0
  670. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  671. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  672. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  673. package/dist/domain/extensions/dimension-indicator.js +1 -0
  674. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +4 -3
  675. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  676. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +4 -3
  677. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  678. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +4 -3
  679. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  680. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  681. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  682. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  683. package/dist/domain/extensions/entity-header.js +1 -0
  684. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  685. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  686. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  687. package/dist/domain/extensions/finalize-action.js +1 -0
  688. package/dist/domain/extensions/finalize-component.js +1 -0
  689. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  690. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  691. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  692. package/dist/domain/extensions/fixed-header.js +1 -0
  693. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  694. package/dist/domain/extensions/floating-header.js +1 -0
  695. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  696. package/dist/domain/extensions/hidden-header.js +1 -0
  697. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  698. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  699. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +3 -3
  700. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  701. package/dist/domain/extensions/index.d.ts +69 -0
  702. package/dist/domain/extensions/index.js +1 -0
  703. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +4 -3
  704. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  705. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  706. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  707. package/dist/domain/extensions/navigation-steps.js +1 -0
  708. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  709. package/dist/domain/extensions/offset-anchors.js +1 -0
  710. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  711. package/dist/domain/extensions/offset-indicator.js +1 -0
  712. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  713. package/dist/domain/extensions/offset.js +1 -0
  714. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  715. package/dist/domain/extensions/other-action.js +1 -0
  716. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  717. package/dist/domain/extensions/property-page.js +1 -0
  718. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  719. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  720. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  721. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  722. package/dist/domain/extensions/rotatable.js +1 -0
  723. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  724. package/dist/domain/extensions/rotation-handle.js +1 -0
  725. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  726. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  727. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  728. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  729. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  730. package/dist/domain/extensions/scene-entity-control.js +1 -0
  731. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  732. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  733. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  734. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  735. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  736. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  737. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  738. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  739. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  740. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  741. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  742. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  743. package/dist/domain/extensions/selectable-component.js +1 -0
  744. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  745. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  746. package/dist/domain/extensions/simple-summary.js +1 -0
  747. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  748. package/dist/domain/extensions/size.js +1 -0
  749. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  750. package/dist/domain/extensions/sketching-draw.js +1 -0
  751. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  752. package/dist/domain/extensions/sketching-edit.js +1 -0
  753. package/dist/domain/extensions/summary-component.js +1 -0
  754. package/dist/domain/extensions/text-value.js +1 -0
  755. package/dist/domain/extensions/tool-controls.js +1 -0
  756. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  757. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  758. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  759. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  760. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  761. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  762. package/dist/domain/extensions/view-controls.js +1 -0
  763. package/dist/domain/index.d.ts +2 -32
  764. package/dist/domain/index.js +1 -1
  765. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  766. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  767. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +30 -21
  768. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  769. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  770. package/dist/domain/mocks/create-mock-domain.js +1 -1
  771. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  772. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  773. package/dist/domain/mocks/create-test-application-config.js +1 -0
  774. package/dist/domain/mocks/index.d.ts +1 -0
  775. package/dist/domain/mocks/index.js +1 -1
  776. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  777. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  778. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  779. package/dist/domain/projections/collision-projections.d.ts +1 -1
  780. package/dist/domain/projections/composition-projections.d.ts +1 -1
  781. package/dist/domain/projections/composition-projections.js +1 -1
  782. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  783. package/dist/domain/projections/index.d.ts +1 -1
  784. package/dist/domain/projections/position-projections.d.ts +1 -1
  785. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  786. package/dist/domain/projections/snap-matching.d.ts +1 -2
  787. package/dist/domain/projections/snap-utils.d.ts +1 -2
  788. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  789. package/dist/domain/projections/validation-projections.d.ts +3 -20
  790. package/dist/domain/projections/validation-projections.js +1 -1
  791. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  792. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  793. package/dist/domain/system-components/admin-sidebar.js +1 -1
  794. package/dist/domain/system-components/angle-dimension.js +1 -1
  795. package/dist/domain/system-components/application-config.d.ts +3 -3
  796. package/dist/domain/system-components/application-config.js +1 -1
  797. package/dist/domain/system-components/attribute-selection.js +1 -1
  798. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  799. package/dist/domain/system-components/bounding-box-component.js +1 -1
  800. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  801. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  802. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  803. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  804. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  805. package/dist/domain/system-components/child-entity-selection.js +1 -1
  806. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  807. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  808. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  809. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  810. package/dist/domain/system-components/collision-geometry.js +1 -1
  811. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  812. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  813. package/dist/domain/system-components/common/index.d.ts +0 -4
  814. package/dist/domain/system-components/common/index.js +1 -1
  815. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  816. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  817. package/dist/domain/system-components/common/recipes.js +1 -1
  818. package/dist/domain/system-components/constraint.d.ts +11 -24
  819. package/dist/domain/system-components/constraint.js +1 -1
  820. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  821. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  822. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  823. package/dist/domain/system-components/detail.js +1 -1
  824. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  825. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  826. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  827. package/dist/domain/system-components/distance-dimension.js +1 -1
  828. package/dist/domain/system-components/drag-handle.d.ts +2 -2
  829. package/dist/domain/system-components/drag-handle.js +1 -1
  830. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  831. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  832. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  833. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  834. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  835. package/dist/domain/system-components/generic-dimension.js +1 -1
  836. package/dist/domain/system-components/hidden-entity.js +1 -1
  837. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  838. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  839. package/dist/domain/system-components/index.d.ts +0 -68
  840. package/dist/domain/system-components/index.js +1 -1
  841. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  842. package/dist/domain/system-components/material-override-transformer.js +1 -1
  843. package/dist/domain/system-components/material-swatch.js +1 -1
  844. package/dist/domain/system-components/navigation-page.js +1 -1
  845. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  846. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  847. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  848. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  849. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  850. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  851. package/dist/domain/system-components/pivot-point.js +1 -1
  852. package/dist/domain/system-components/price.js +1 -1
  853. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  854. package/dist/domain/system-components/projected-entities.js +1 -1
  855. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  856. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  857. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  858. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  859. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  860. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  861. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  862. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  863. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  864. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  865. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  866. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  867. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  868. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  869. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  870. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  871. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  872. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  873. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  874. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  875. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  876. package/dist/domain/system-components/scene-entity-object.js +1 -1
  877. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  878. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  879. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  880. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  881. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  882. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  883. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  884. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  885. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  886. package/dist/domain/system-components/sketching-line.js +1 -1
  887. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  888. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  889. package/dist/domain/system-components/sketching.d.ts +1 -1
  890. package/dist/domain/system-components/sketching.js +1 -1
  891. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  892. package/dist/domain/system-components/snap-axis.js +1 -1
  893. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  894. package/dist/domain/system-components/snap-edge.js +1 -1
  895. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  896. package/dist/domain/system-components/snap-plane.js +1 -1
  897. package/dist/domain/system-components/snap-point.d.ts +1 -1
  898. package/dist/domain/system-components/snap-point.js +1 -1
  899. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  900. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  901. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  902. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  903. package/dist/domain/utils/eval-cache.d.ts +2 -3
  904. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  905. package/dist/domain/utils/memo-eval.d.ts +2 -4
  906. package/dist/editor/Editor.js +1 -1
  907. package/dist/editor/domain-editors/use-implementation-files.d.ts +8 -8
  908. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  909. package/dist/editor/mocks/EditorMockContext.js +1 -1
  910. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  911. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  912. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  913. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  914. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  915. package/dist/editor/variants/variant-preview-styles.js +1 -0
  916. package/dist/i18n/locales/cs/messages.js +1 -1
  917. package/dist/i18n/locales/da/messages.js +1 -1
  918. package/dist/i18n/locales/de/messages.js +1 -1
  919. package/dist/i18n/locales/de-AT/messages.js +1 -1
  920. package/dist/i18n/locales/en/messages.js +1 -1
  921. package/dist/i18n/locales/en-AU/messages.js +1 -1
  922. package/dist/i18n/locales/en-GB/messages.js +1 -1
  923. package/dist/i18n/locales/es/messages.js +1 -1
  924. package/dist/i18n/locales/fr/messages.js +1 -1
  925. package/dist/i18n/locales/hu/messages.js +1 -1
  926. package/dist/i18n/locales/it/messages.js +1 -1
  927. package/dist/i18n/locales/nl/messages.js +1 -1
  928. package/dist/i18n/locales/pl/messages.js +1 -1
  929. package/dist/i18n/locales/pt/messages.js +1 -1
  930. package/dist/i18n/locales/ro/messages.js +1 -1
  931. package/dist/i18n/locales/sk/messages.js +1 -1
  932. package/dist/i18n/locales/tr/messages.js +1 -1
  933. package/dist/legacy/domain-cli/gen/configurator-builder.js +30 -16
  934. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  935. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  936. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  937. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  938. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  939. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  940. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  941. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +81 -68
  942. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  943. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  944. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  945. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  946. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  947. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  948. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  949. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +16 -15
  950. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +16 -15
  951. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +23 -22
  952. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +16 -15
  953. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  954. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  955. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  956. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  957. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  958. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  959. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  960. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  961. package/dist/phoenix/cli.js +1 -1
  962. package/dist/phoenix/commands/check.js +1 -1
  963. package/dist/phoenix/commands/deploy.js +1 -1
  964. package/dist/phoenix/commands/dev.js +5 -5
  965. package/dist/phoenix/commands/fix.js +1 -1
  966. package/dist/phoenix/commands/index.d.ts +1 -0
  967. package/dist/phoenix/commands/index.js +1 -1
  968. package/dist/phoenix/commands/init.d.ts +4 -4
  969. package/dist/phoenix/commands/init.js +1 -1
  970. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  971. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  972. package/dist/phoenix/commands/prettier.js +1 -1
  973. package/dist/phoenix/commands/story-dev.js +2 -2
  974. package/dist/phoenix/commands/variants.d.ts +35 -0
  975. package/dist/phoenix/commands/variants.js +1 -0
  976. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  977. package/dist/phoenix/editor-server/commands-router.js +1 -1
  978. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  979. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  980. package/dist/phoenix/editor-server/editor-server.js +1 -1
  981. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  982. package/dist/phoenix/editor-server/spec-router.js +1 -1
  983. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  984. package/dist/phoenix/scripts/build-admin.js +1 -1
  985. package/dist/phoenix/services/application-spec-project-watcher.d.ts +15 -2
  986. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  987. package/dist/phoenix/services/index.d.ts +4 -0
  988. package/dist/phoenix/services/index.js +1 -1
  989. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  990. package/dist/phoenix/services/phoenix-application.js +1 -0
  991. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  992. package/dist/phoenix/services/phoenix-store.js +1 -0
  993. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  994. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  995. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  996. package/dist/phoenix/services/source-archive.d.ts +1 -0
  997. package/dist/phoenix/services/source-archive.js +1 -1
  998. package/dist/phoenix/services/swc.js +1 -1
  999. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  1000. package/dist/phoenix/services/variant-file-session.js +1 -0
  1001. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  1002. package/dist/phoenix/services/variant-preview-service.js +1 -0
  1003. package/dist/phoenix/services/vite-config.js +1 -1
  1004. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1005. package/dist/phoenix/utils/git/index.js +1 -0
  1006. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1007. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1008. package/dist/phoenix/utils/index.d.ts +1 -0
  1009. package/dist/phoenix/utils/index.js +1 -1
  1010. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1011. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  1012. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  1013. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  1014. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1015. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1016. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +57 -40
  1017. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1018. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  1019. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1020. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1021. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  1022. package/dist/react-sdk/domain-context/index.js +1 -1
  1023. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1024. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1025. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1026. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1027. package/dist/webhook/builders/common.d.ts +8 -0
  1028. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  1029. package/dist/webhook/builders/webhook-builder.js +1 -1
  1030. package/package.json +33 -26
  1031. package/schema/domain-spec.json +1115 -209
  1032. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1033. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1034. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1035. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1036. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1037. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1038. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1039. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1040. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1041. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1042. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1043. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1044. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1045. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1046. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1047. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1048. package/dist/domain/actions/action-factory.d.ts +0 -10
  1049. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  1050. package/dist/domain/application/element-registration.js +0 -1
  1051. package/dist/domain/application/handler-registration.js +0 -1
  1052. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  1053. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1054. package/dist/domain/application/resource-builder.d.ts +0 -13
  1055. package/dist/domain/application/resource-builder.js +0 -1
  1056. package/dist/domain/components/debug-state-component.js +0 -1
  1057. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  1058. package/dist/domain/components/domain-component-optic.js +0 -16
  1059. package/dist/domain/components/drag-state-component.js +0 -1
  1060. package/dist/domain/components/export-state-component.js +0 -1
  1061. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1062. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1063. package/dist/domain/components/hover-state-component.js +0 -1
  1064. package/dist/domain/components/index.d.ts +0 -2
  1065. package/dist/domain/components/index.js +0 -1
  1066. package/dist/domain/components/navigation-state-component.js +0 -1
  1067. package/dist/domain/components/selection-state-component.js +0 -1
  1068. package/dist/domain/components/system-component-builder.js +0 -1
  1069. package/dist/domain/components/system-virtual-entity.js +0 -1
  1070. package/dist/domain/components/tool-state-component.js +0 -1
  1071. package/dist/domain/components/view-state-component.js +0 -1
  1072. package/dist/domain/components/viewport-state-component.js +0 -1
  1073. package/dist/domain/core/expression.d.ts +0 -50
  1074. package/dist/domain/core/json-schema.js +0 -1
  1075. package/dist/domain/core/migrations.js +0 -1
  1076. package/dist/domain/core/reflection.js +0 -1
  1077. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  1078. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1079. package/dist/domain/expressions/constant-expressions.d.ts +0 -9
  1080. package/dist/domain/expressions/constant-expressions.js +0 -1
  1081. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  1082. package/dist/domain/expressions/custom-expression.js +0 -1
  1083. package/dist/domain/expressions/index.d.ts +0 -1
  1084. package/dist/domain/expressions/index.js +0 -1
  1085. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  1086. package/dist/domain/invariants/custom-invariants.js +0 -1
  1087. package/dist/domain/invariants/invariants.d.ts +0 -68
  1088. package/dist/domain/invariants/invariants.js +0 -1
  1089. package/dist/domain/invariants/violation-component.js +0 -1
  1090. package/dist/domain/invariants/violation.js +0 -1
  1091. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  1092. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1093. package/dist/domain/relations/component-factories.js +0 -1
  1094. package/dist/domain/relations/composed-of.js +0 -1
  1095. package/dist/domain/relations/direct-relation.d.ts +0 -29
  1096. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  1097. package/dist/domain/relations/indirect-relation.js +0 -1
  1098. package/dist/domain/relations/reference-component.js +0 -1
  1099. package/dist/domain/relations/relation-factory.d.ts +0 -19
  1100. package/dist/domain/relations/relation-factory.js +0 -1
  1101. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  1102. package/dist/domain/system-components/angle-indicator.js +0 -1
  1103. package/dist/domain/system-components/attribute-switch.js +0 -1
  1104. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1105. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1106. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1107. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1108. package/dist/domain/system-components/canvas-config.js +0 -1
  1109. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1110. package/dist/domain/system-components/canvas-padding.js +0 -1
  1111. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1112. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1113. package/dist/domain/system-components/client-side-image.js +0 -1
  1114. package/dist/domain/system-components/color-value.js +0 -1
  1115. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1116. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1117. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1118. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1119. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1120. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1121. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1122. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1123. package/dist/domain/system-components/entity-header.js +0 -1
  1124. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1125. package/dist/domain/system-components/finalize-action.js +0 -1
  1126. package/dist/domain/system-components/finalize-component.js +0 -1
  1127. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1128. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1129. package/dist/domain/system-components/fixed-header.js +0 -1
  1130. package/dist/domain/system-components/floating-header.js +0 -1
  1131. package/dist/domain/system-components/hidden-header.js +0 -1
  1132. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1133. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1134. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1135. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1136. package/dist/domain/system-components/navigation-steps.js +0 -1
  1137. package/dist/domain/system-components/offset-anchors.js +0 -1
  1138. package/dist/domain/system-components/offset-indicator.js +0 -1
  1139. package/dist/domain/system-components/offset.js +0 -1
  1140. package/dist/domain/system-components/other-action.js +0 -1
  1141. package/dist/domain/system-components/property-page.js +0 -1
  1142. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1143. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1144. package/dist/domain/system-components/rotatable.js +0 -1
  1145. package/dist/domain/system-components/rotation-handle.js +0 -1
  1146. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1147. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1148. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1149. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1150. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1151. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1152. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1153. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1154. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1155. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1156. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1157. package/dist/domain/system-components/selectable-component.js +0 -1
  1158. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1159. package/dist/domain/system-components/simple-summary.js +0 -1
  1160. package/dist/domain/system-components/size.js +0 -1
  1161. package/dist/domain/system-components/sketching-draw.js +0 -1
  1162. package/dist/domain/system-components/sketching-edit.js +0 -1
  1163. package/dist/domain/system-components/summary-component.js +0 -1
  1164. package/dist/domain/system-components/text-value.js +0 -1
  1165. package/dist/domain/system-components/tool-controls.js +0 -1
  1166. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1167. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1168. package/dist/domain/system-components/view-controls.js +0 -1
  1169. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -13
  1170. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1171. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1172. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1173. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1174. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1175. /package/dist/domain/{core/action.js → application/assistant/assistant-manifest.js} +0 -0
  1176. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1177. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  1178. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  1179. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1180. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1181. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1182. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1183. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  1184. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  1185. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  1186. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1187. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1188. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1189. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1190. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1191. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1192. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1193. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1194. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1195. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1196. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1197. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1198. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1199. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1200. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1201. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1202. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1203. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1204. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1205. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1206. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1207. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1208. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1209. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1210. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1211. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1212. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1213. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1214. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1215. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1216. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1217. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1218. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1219. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1220. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1221. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1222. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1223. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1224. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1225. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1226. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1227. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1228. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1229. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1230. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -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,6 @@
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'
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.length>0?`import { ${E.join(", ")} } from 'envalid'
2
2
  `:"";return`${r("webhooks.config.ts","Runtime environment config for the webhook server.")}
3
- ${s}import { createEnvReader } from '@salsita-ai/sdk/common/env'
3
+ ${_}import { createEnvReader } from '@salsita-ai/sdk/common/env'
4
4
 
5
5
  const readRuntimeConfig = createEnvReader(${p})
6
6
 
@@ -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;
@@ -1 +1 @@
1
- import e from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";import{createRelationFactory as i}from"#package/domain";import{canonicalEnhancedJsonValueKey as a}from"../../../core/index.js";import{isSdkExpressionImplementation as n}from"../../../parse-application-files/spec/index.js";import{generateMemoEvalPlanRuntime as r}from"./generate-memo-eval-plan-runtime.js";let l={},o={relation:(e,t)=>i(e.aliasMap)(t[0]),violations:(e,t)=>{let i=t[0];if("object"!=typeof i||null===i||!("entityType"in i)||"string"!=typeof i.entityType)throw Error("Cannot create the violations expression because its entityType parameter is missing. The application spec is inconsistent; rebuild it from a valid invariants declaration.");let a=i.entityType,n=Object.entries(e.invariantImplementations).flatMap(([t,i])=>{let n=e.aliasMap[t];return t===a||n?.includes(a)?i:[]});return{origin:{name:"$violations",typeOrAlias:a},evaluate:(e,t,i)=>n.flatMap(a=>a.evaluate(e,t,i)),meta:{}}}},s=e=>{let t=r(e.plan);return{origin:{name:e.name,typeOrAlias:e.entityOrAlias},evaluate:(e,i,a)=>t(a.domain.get$Entity(e,i),i,a),meta:{}}},p=e=>({...(0,o[e.kind])({aliasMap:e.aliasMap,invariantImplementations:e.invariantImplementations},e.params),origin:{name:e.name,typeOrAlias:e.entityOrAlias}});export const ExpressionRuntime=(i,r,o,m,u=l)=>{let d={};for(let[e,t]of i.latestModel.aliases)d[String(e)]=t.map(String);let f=r.createBuilder(`${m}/sdk`,{build:p,getKey:e=>`sdk::${e.entityOrAlias}::${e.name}`,compare:(t,i)=>t.kind===i.kind&&e(t.params,i.params)&&e(t.aliasMap,i.aliasMap)&&("violations"!==i.kind||t.invariantImplementations===i.invariantImplementations)}),y=r.createBuilder(`${m}/user`,{build:e=>e.impl,getKey:e=>`user::${e.entityType}::${e.name}`,compare:(e,t)=>e.impl===t.impl}),g=r.createBuilder(`${m}/value`,{build:s,getKey:e=>`value::${e.entityOrAlias}::${e.name}`,compare:(e,t)=>e.valueKey===t.valueKey}),c={},v=!1,S=new Set,b=new Set,k=new Set;for(let[e,t]of i.expressions.expressions)for(let[,i]of t){let t=d[String(e)]??[String(e)];if(n(i.implementation)){let a={entityOrAlias:String(e),name:String(i.name),kind:i.implementation.kind,params:i.implementation.params,aliasMap:d,invariantImplementations:u},n=f.build(a);for(let e of(n.changed&&(v=!0),S.add(f.getKey(a)),t))c[e]||(c[e]={}),c[e][String(i.name)]=n.output;continue}if("value"===i.implementation.kind){let n=i.implementation.value,r={entityOrAlias:String(e),name:String(i.name),valueKey:a(n),plan:i.implementation.plan},l=g.build(r);for(let e of(l.changed&&(v=!0),k.add(g.getKey(r)),t))c[e]||(c[e]={}),c[e][String(i.name)]=l.output;continue}}for(let[e,t]of Object.entries(o))for(let[i,a]of Object.entries(t)){let t={entityType:e,name:i,impl:a},n=y.build(t);n.changed&&(v=!0),b.add(y.getKey(t)),c[e]||(c[e]={}),c[e][i]=n.output}f.cleanup(S)&&(v=!0),y.cleanup(b)&&(v=!0),g.cleanup(k)&&(v=!0);let x=[];for(let[e,t]of i.expressions.entityExpressions)for(let a of t.shapeGroups){let t=i.expressions.expressions.get(a);if(t)for(let[i]of t)c[String(e)]?.[String(i)]||x.push({entityType:String(e),exprName:String(i)})}return x.length>0?{ok:!1,missing:x}:{ok:!0,runtime:t({merged:c,changed:v})}};
1
+ import e from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";import{createRelationFactory as i}from"#package/domain";import{canonicalEnhancedJsonValueKey as n,isSdkExpressionImplementation as a}from"../../../core/index.js";import{generateMemoEvalPlanRuntime as r}from"./generate-memo-eval-plan-runtime.js";let l={},o=["0-1","1-1","0-N","1-N"],s={relation:(e,t)=>{let n=t[0];if(!("object"==typeof n&&null!==n&&"kind"in n&&"target"in n&&"string"==typeof n.target&&"cardinality"in n&&o.includes(n.cardinality)&&("allOfType"===n.kind||("direct"===n.kind||"indirect"===n.kind)&&"field"in n&&"string"==typeof n.field)))throw Error("Cannot create the relation expression because its parameter is not a relation declaration. The application spec is inconsistent; rebuild it from a valid relations declaration.");return i(e.aliasMap)(n)},violations:(e,t)=>{let i=t[0];if("object"!=typeof i||null===i||!("entityType"in i)||"string"!=typeof i.entityType)throw Error("Cannot create the violations expression because its entityType parameter is missing. The application spec is inconsistent; rebuild it from a valid invariants declaration.");let n=i.entityType,a=Object.entries(e.invariantImplementations).flatMap(([t,i])=>{let a=e.aliasMap[t];return t===n||a?.includes(n)?i:[]});return{origin:{name:"$violations",typeOrAlias:n},evaluate:(e,t,i)=>a.flatMap(n=>n.evaluate(e,t,i)),meta:{}}}},p=e=>{let t=r(e.plan);return{origin:{name:e.name,typeOrAlias:e.entityOrAlias},evaluate:(e,i,n)=>t(n.domain.get$Entity(e,i),i,n),meta:{}}},m=e=>({...(0,s[e.kind])({aliasMap:e.aliasMap,invariantImplementations:e.invariantImplementations},e.params),origin:{name:e.name,typeOrAlias:e.entityOrAlias}});export const ExpressionRuntime=(i,r,o,s,u=l)=>{let d={};for(let[e,t]of i.latestModel.aliases)d[String(e)]=t.map(String);let c=r.createBuilder(`${s}/sdk`,{build:m,getKey:e=>`sdk::${e.entityOrAlias}::${e.name}`,compare:(t,i)=>t.kind===i.kind&&e(t.params,i.params)&&e(t.aliasMap,i.aliasMap)&&("violations"!==i.kind||t.invariantImplementations===i.invariantImplementations)}),f=r.createBuilder(`${s}/user`,{build:e=>e.impl,getKey:e=>`user::${e.entityType}::${e.name}`,compare:(e,t)=>e.impl===t.impl}),y=r.createBuilder(`${s}/value`,{build:p,getKey:e=>`value::${e.entityOrAlias}::${e.name}`,compare:(e,t)=>e.valueKey===t.valueKey}),g={},v=!1,S=new Set,k=new Set,b=new Set;for(let[e,t]of i.expressions.expressions)for(let[,i]of t){let t=d[String(e)]??[String(e)];if(a(i.implementation)){let n={entityOrAlias:String(e),name:String(i.name),kind:i.implementation.kind,params:i.implementation.params,aliasMap:d,invariantImplementations:u},a=c.build(n);for(let e of(a.changed&&(v=!0),S.add(c.getKey(n)),t))g[e]||(g[e]={}),g[e][String(i.name)]=a.output;continue}if("value"===i.implementation.kind){let a=i.implementation.value,r={entityOrAlias:String(e),name:String(i.name),valueKey:n(a),plan:i.implementation.plan},l=y.build(r);for(let e of(l.changed&&(v=!0),b.add(y.getKey(r)),t))g[e]||(g[e]={}),g[e][String(i.name)]=l.output;continue}}for(let[e,t]of Object.entries(o))for(let[i,n]of Object.entries(t)){let t={entityType:e,name:i,impl:n},a=f.build(t);a.changed&&(v=!0),k.add(f.getKey(t)),g[e]||(g[e]={}),g[e][i]=a.output}c.cleanup(S)&&(v=!0),f.cleanup(k)&&(v=!0),y.cleanup(b)&&(v=!0);let h=[];for(let[e,t]of i.expressions.entityExpressions)for(let n of t.shapeGroups){let t=i.expressions.expressions.get(n);if(t)for(let[i]of t)g[String(e)]?.[String(i)]||h.push({entityType:String(e),exprName:String(i)})}return h.length>0?{ok:!1,missing:h}:{ok:!0,runtime:t({merged:g,changed:v})}};
@@ -2,7 +2,6 @@ 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
- type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any, any>;
6
5
  /**
7
6
  * Runtime section for transformers. Combines two sources of truth:
8
7
  * - `importedTransformers` — factory functions from src/transformers/*.ts
@@ -13,9 +12,8 @@ type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any,
13
12
  * decide whether to push a fresh `createTransformers` factory into the registry.
14
13
  */
15
14
  export type TransformersRuntime = Branded<'TransformersRuntime', {
16
- readonly importedTransformers: readonly AnyImportedTransformer[];
15
+ readonly importedTransformers: readonly ImportedTransformer[];
17
16
  readonly specTransformers: ApplicationSpec['configurator']['transformers'];
18
17
  readonly changed: boolean;
19
18
  }>;
20
- export declare const TransformersRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, importedTransformers: readonly AnyImportedTransformer[]) => TransformersRuntime;
21
- export {};
19
+ export declare const TransformersRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, importedTransformers: readonly ImportedTransformer[]) => TransformersRuntime;
@@ -1,4 +1,5 @@
1
1
  export * from './core/index.js';
2
+ export * from './enhanced-json/index.js';
2
3
  export * from './caching/index.js';
3
4
  export * from './errors/index.js';
4
5
  export * from './generate-application/index.js';
@@ -1 +1 @@
1
- export*from"./core/index.js";export*from"./caching/index.js";export*from"./errors/index.js";export*from"./generate-application/index.js";export*from"./parse-application-files/index.js";export*from"./webhook-boundary.js";
1
+ export*from"./core/index.js";export*from"./enhanced-json/index.js";export*from"./caching/index.js";export*from"./errors/index.js";export*from"./generate-application/index.js";export*from"./parse-application-files/index.js";export*from"./webhook-boundary.js";
@@ -58,6 +58,12 @@ export type CategorizedFiles = Branded<'CategorizedFiles', {
58
58
  readonly adminElementsChanged: boolean;
59
59
  readonly webhooks: readonly CategorizedFile[];
60
60
  readonly webhooksChanged: boolean;
61
+ /**
62
+ * Whether the project has its webhook entry, `src/webhooks/index.ts`, whose default export is the
63
+ * project's webhook. Generation reads it to decide the generated webhook entry: without it the
64
+ * entry holds the built-in inert webhook.
65
+ */
66
+ readonly hasWebhookEntry: boolean;
61
67
  readonly locales: readonly CategorizedFile[];
62
68
  readonly localesChanged: boolean;
63
69
  readonly mockTemplates: readonly CategorizedFile[];
@@ -1 +1 @@
1
- import e from"lodash-es/isEqual.js";import{Branded as n}from"@salsita-ai/common/utils";import{computeFileDepHashes as s}from"../../caching/index.js";import{DiagnosticCode as o,diagnosticMessages as a}from"../../errors/index.js";import{findWebhookHandlerRegistration as i}from"./module-analysis.js";import{findWebhookSafetyViolation as t}from"./webhook-safety.js";export const buildProjectFileIndex=e=>new Map([...e.spec,...e.expressions,...e.actions,...e.handlers,...e.elements,...e.transformers,...e.components,...e.invariants,...e.migrations,...e.adminMigrations,...e.adminExpressions,...e.adminInvariants,...e.adminComponents,...e.adminElements,...e.webhooks,...e.locales,...e.mockTemplates,...e.projectFiles,...e.customCode].map(e=>[e.file.name,e]));let r=e=>/\/_[^/]+\//.test(e),m=[{path:"spec/",key:"spec"},{path:"src/admin/expressions/",key:"adminExpressions"},{path:"src/admin/invariants/",key:"adminInvariants"},{path:"src/admin/components/",key:"adminComponents"},{path:"src/admin/elements/",key:"adminElements"},{path:"src/admin/migrations/",key:"adminMigrations"},{path:"src/expressions/",key:"expressions"},{path:"src/actions/",key:"actions"},{path:"src/handlers/",key:"handlers"},{path:"src/elements/",key:"elements"},{path:"src/transformers/",key:"transformers"},{path:"src/components/",key:"components"},{path:"src/invariants/",key:"invariants"},{path:"src/migrations/",key:"migrations"},{path:"src/webhooks/",key:"webhooks"},{path:"src/locales/",key:"locales"},{path:"mocks/",key:"mockTemplates"}],l=new Set(["package.json",".gitignore","CLAUDE.md",".cursor/rules/phoenix.mdc"]),d=new Set(["migrations","adminMigrations"]),c=m.filter(({path:e,key:n})=>e.startsWith("src/")&&d.has(n)),p=(e,n)=>{let s=e.slice(n.length).split("/");return!(s.length<=1)&&s.slice(0,-1).some(e=>!e.startsWith("_"))},h=/\.(ts|tsx|js|jsx)$/,f=(e,n)=>{if("components"===e||"adminComponents"===e)return n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (no 'use webhook' directive)"};if("handlers"===e){let e=i(n);return void 0!==e?{membership:"named-handler",logSuffix:`webhook (the ${e} registration)`}:n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (not a named handler or pin)"}}};export const CategorizedFiles=(i,d,g,u)=>{let k={spec:[],expressions:[],actions:[],handlers:[],elements:[],transformers:[],components:[],invariants:[],migrations:[],adminMigrations:[],adminExpressions:[],adminInvariants:[],adminComponents:[],adminElements:[],webhooks:[],locales:[],mockTemplates:[],projectFiles:[],customCode:[]},b=[];for(let e of i.files){if("text"!==e.kind)continue;if(r(e.name)){k.customCode.push({file:e,category:"customCode"});continue}if(l.has(e.name)){k.projectFiles.push({file:e,category:"projectFiles"});continue}let n=!1;for(let{path:s,key:o}of m)if(e.name.startsWith(s)){k[o].push({file:e,category:o}),n=!0;break}n||b.push(e.name)}for(let e of b)e.startsWith("src/")&&g.error(o.UNKNOWN_SRC_PATH,a.UNKNOWN_SRC_PATH(e));for(let{path:e,key:n}of c)for(let s of k[n])p(s.file.name,e)&&g.error(o.INVALID_SUBDIRECTORY,a.INVALID_SUBDIRECTORY(s.file.name,e));if(k.webhooks.length>0&&!k.webhooks.some(e=>"src/webhooks/index.ts"===e.file.name)&&g.error(o.MISSING_WEBHOOK_INDEX,a.MISSING_WEBHOOK_INDEX()),g.hasErrors)return;let C=[];for(let e of Object.values(k))for(let n of e)C.push(n.file.name);let v=s(i,C),{analyzer:x,logger:y}=u,E=d.createBuilder("categorizedFiles/moduleAnalysis",{build:e=>{try{return{analysis:x(e.name,e.content)}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},getKey:e=>e.name,compare:(e,n)=>e.content===n.content}),I=new Set,w=e=>{if(!h.test(e.name))return;I.add(e.name);let n=E.build({name:e.name,content:e.content}).output;return void 0!==n.error?void g.error(o.MODULE_ANALYSIS_FAILED,a[o.MODULE_ANALYSIS_FAILED](e.name,n.error)):n.analysis},S={},j={};for(let[e,s]of Object.entries(k)){let o=d.createBuilder(`categorizedFiles/${e}`,{build:e=>e,getKey:e=>e.name,compare:(e,n)=>e.depHash===n.depHash}),a=new Set;S[e]=s.map(e=>{let s=v[e.file.name]??{deps:[],hash:""},{changed:i}=o.build({name:e.file.name,depHash:s.hash});a.add(e.file.name);let t=w(e.file),r=void 0===t?void 0:f(e.category,t);return void 0!==r&&y.debug(`Webhook membership: ${e.file.name} -> ${r.logSuffix}`),n({file:e.file,category:e.category,deps:s.deps,depHash:s.hash,changed:i,analysis:t,webhookMembership:r?.membership})}),j[e]=o.cleanup(a)}E.cleanup(I);let _=(e,n)=>n.some(e=>e.changed)||!0===j[e],F=d.createBuilder("categorizedFiles/envs",{build:e=>e.envs,getKey:()=>"singleton",compare:(n,s)=>e(n.envs,s.envs)}).build({envs:i.envs}),M=n({spec:S.spec,specChanged:_("spec",S.spec),expressions:S.expressions,expressionsChanged:_("expressions",S.expressions),actions:S.actions,actionsChanged:_("actions",S.actions),handlers:S.handlers,handlersChanged:_("handlers",S.handlers),elements:S.elements,elementsChanged:_("elements",S.elements),transformers:S.transformers,transformersChanged:_("transformers",S.transformers),components:S.components,componentsChanged:_("components",S.components),invariants:S.invariants,invariantsChanged:_("invariants",S.invariants),migrations:S.migrations,migrationsChanged:_("migrations",S.migrations),adminMigrations:S.adminMigrations,adminMigrationsChanged:_("adminMigrations",S.adminMigrations),adminExpressions:S.adminExpressions,adminExpressionsChanged:_("adminExpressions",S.adminExpressions),adminInvariants:S.adminInvariants,adminInvariantsChanged:_("adminInvariants",S.adminInvariants),adminComponents:S.adminComponents,adminComponentsChanged:_("adminComponents",S.adminComponents),adminElements:S.adminElements,adminElementsChanged:_("adminElements",S.adminElements),webhooks:S.webhooks,webhooksChanged:_("webhooks",S.webhooks),locales:S.locales,localesChanged:_("locales",S.locales),mockTemplates:S.mockTemplates,mockTemplatesChanged:_("mockTemplates",S.mockTemplates),projectFiles:S.projectFiles,projectFilesChanged:_("projectFiles",S.projectFiles),customCode:S.customCode,customCodeChanged:_("customCode",S.customCode),envs:F.output,envsChanged:F.changed}),O=buildProjectFileIndex(M);for(let e of O.values()){if("pinned"!==e.webhookMembership&&"named-handler"!==e.webhookMembership)continue;let n=t(e,O);void 0!==n&&g.error(o.WEBHOOK_UNSAFE_IMPORT,a[o.WEBHOOK_UNSAFE_IMPORT](n.fileName,n.inclusionReason,n.importer,n.specifier))}return M};
1
+ import e from"lodash-es/isEqual.js";import{Branded as n}from"@salsita-ai/common/utils";import{computeFileDepHashes as s}from"../../caching/index.js";import{DiagnosticCode as o,diagnosticMessages as a}from"../../errors/index.js";import{findWebhookHandlerRegistration as i}from"./module-analysis.js";import{findWebhookSafetyViolation as t}from"./webhook-safety.js";export const buildProjectFileIndex=e=>new Map([...e.spec,...e.expressions,...e.actions,...e.handlers,...e.elements,...e.transformers,...e.components,...e.invariants,...e.migrations,...e.adminMigrations,...e.adminExpressions,...e.adminInvariants,...e.adminComponents,...e.adminElements,...e.webhooks,...e.locales,...e.mockTemplates,...e.projectFiles,...e.customCode].map(e=>[e.file.name,e]));let r=e=>/\/_[^/]+\//.test(e),m=[{path:"spec/",key:"spec"},{path:"src/admin/expressions/",key:"adminExpressions"},{path:"src/admin/invariants/",key:"adminInvariants"},{path:"src/admin/components/",key:"adminComponents"},{path:"src/admin/elements/",key:"adminElements"},{path:"src/admin/migrations/",key:"adminMigrations"},{path:"src/expressions/",key:"expressions"},{path:"src/actions/",key:"actions"},{path:"src/handlers/",key:"handlers"},{path:"src/elements/",key:"elements"},{path:"src/transformers/",key:"transformers"},{path:"src/components/",key:"components"},{path:"src/invariants/",key:"invariants"},{path:"src/migrations/",key:"migrations"},{path:"src/webhooks/",key:"webhooks"},{path:"src/locales/",key:"locales"},{path:"mocks/",key:"mockTemplates"}],l=new Set(["package.json",".gitignore","CLAUDE.md",".cursor/rules/phoenix.mdc"]),d=new Set(["migrations","adminMigrations"]),c=m.filter(({path:e,key:n})=>e.startsWith("src/")&&d.has(n)),p=(e,n)=>{let s=e.slice(n.length).split("/");return!(s.length<=1)&&s.slice(0,-1).some(e=>!e.startsWith("_"))},h=/\.(ts|tsx|js|jsx)$/,f=(e,n)=>{if("components"===e||"adminComponents"===e)return n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (no 'use webhook' directive)"};if("handlers"===e){let e=i(n);return void 0!==e?{membership:"named-handler",logSuffix:`webhook (the ${e} registration)`}:n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (not a named handler or pin)"}}};export const CategorizedFiles=(i,d,g,u)=>{let k={spec:[],expressions:[],actions:[],handlers:[],elements:[],transformers:[],components:[],invariants:[],migrations:[],adminMigrations:[],adminExpressions:[],adminInvariants:[],adminComponents:[],adminElements:[],webhooks:[],locales:[],mockTemplates:[],projectFiles:[],customCode:[]},b=[];for(let e of i.files){if("text"!==e.kind)continue;if(r(e.name)){k.customCode.push({file:e,category:"customCode"});continue}if(l.has(e.name)){k.projectFiles.push({file:e,category:"projectFiles"});continue}let n=!1;for(let{path:s,key:o}of m)if(e.name.startsWith(s)){k[o].push({file:e,category:o}),n=!0;break}n||b.push(e.name)}for(let e of b)e.startsWith("src/")&&g.error(o.UNKNOWN_SRC_PATH,a.UNKNOWN_SRC_PATH(e));for(let{path:e,key:n}of c)for(let s of k[n])p(s.file.name,e)&&g.error(o.INVALID_SUBDIRECTORY,a.INVALID_SUBDIRECTORY(s.file.name,e));let C=k.webhooks.some(e=>"src/webhooks/index.ts"===e.file.name);if(k.webhooks.length>0&&!C&&g.error(o.MISSING_WEBHOOK_INDEX,a.MISSING_WEBHOOK_INDEX()),g.hasErrors)return;let v=[];for(let e of Object.values(k))for(let n of e)v.push(n.file.name);let x=s(i,v),{analyzer:y,logger:E}=u,I=d.createBuilder("categorizedFiles/moduleAnalysis",{build:e=>{try{return{analysis:y(e.name,e.content)}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},getKey:e=>e.name,compare:(e,n)=>e.content===n.content}),w=new Set,S=e=>{if(!h.test(e.name))return;w.add(e.name);let n=I.build({name:e.name,content:e.content}).output;return void 0!==n.error?void g.error(o.MODULE_ANALYSIS_FAILED,a[o.MODULE_ANALYSIS_FAILED](e.name,n.error)):n.analysis},j={},_={};for(let[e,s]of Object.entries(k)){let o=d.createBuilder(`categorizedFiles/${e}`,{build:e=>e,getKey:e=>e.name,compare:(e,n)=>e.depHash===n.depHash}),a=new Set;j[e]=s.map(e=>{let s=x[e.file.name]??{deps:[],hash:""},{changed:i}=o.build({name:e.file.name,depHash:s.hash});a.add(e.file.name);let t=S(e.file),r=void 0===t?void 0:f(e.category,t);return void 0!==r&&E.debug(`Webhook membership: ${e.file.name} -> ${r.logSuffix}`),n({file:e.file,category:e.category,deps:s.deps,depHash:s.hash,changed:i,analysis:t,webhookMembership:r?.membership})}),_[e]=o.cleanup(a)}I.cleanup(w);let F=(e,n)=>n.some(e=>e.changed)||!0===_[e],M=d.createBuilder("categorizedFiles/envs",{build:e=>e.envs,getKey:()=>"singleton",compare:(n,s)=>e(n.envs,s.envs)}).build({envs:i.envs}),O=n({spec:j.spec,specChanged:F("spec",j.spec),expressions:j.expressions,expressionsChanged:F("expressions",j.expressions),actions:j.actions,actionsChanged:F("actions",j.actions),handlers:j.handlers,handlersChanged:F("handlers",j.handlers),elements:j.elements,elementsChanged:F("elements",j.elements),transformers:j.transformers,transformersChanged:F("transformers",j.transformers),components:j.components,componentsChanged:F("components",j.components),invariants:j.invariants,invariantsChanged:F("invariants",j.invariants),migrations:j.migrations,migrationsChanged:F("migrations",j.migrations),adminMigrations:j.adminMigrations,adminMigrationsChanged:F("adminMigrations",j.adminMigrations),adminExpressions:j.adminExpressions,adminExpressionsChanged:F("adminExpressions",j.adminExpressions),adminInvariants:j.adminInvariants,adminInvariantsChanged:F("adminInvariants",j.adminInvariants),adminComponents:j.adminComponents,adminComponentsChanged:F("adminComponents",j.adminComponents),adminElements:j.adminElements,adminElementsChanged:F("adminElements",j.adminElements),webhooks:j.webhooks,webhooksChanged:F("webhooks",j.webhooks),hasWebhookEntry:C,locales:j.locales,localesChanged:F("locales",j.locales),mockTemplates:j.mockTemplates,mockTemplatesChanged:F("mockTemplates",j.mockTemplates),projectFiles:j.projectFiles,projectFilesChanged:F("projectFiles",j.projectFiles),customCode:j.customCode,customCodeChanged:F("customCode",j.customCode),envs:M.output,envsChanged:M.changed}),N=buildProjectFileIndex(O);for(let e of N.values()){if("pinned"!==e.webhookMembership&&"named-handler"!==e.webhookMembership)continue;let n=t(e,N);void 0!==n&&g.error(o.WEBHOOK_UNSAFE_IMPORT,a[o.WEBHOOK_UNSAFE_IMPORT](n.fileName,n.inclusionReason,n.importer,n.specifier))}return O};
@@ -43,6 +43,6 @@ export declare const analyzeParsedModule: (module: Module) => ModuleAnalysis;
43
43
  /** The explicit webhook classification of one authored file. */
44
44
  export type WebhookMembership = 'pinned' | 'named-handler' | 'frontend';
45
45
  /** Handler registrations that keep implicit webhook membership for legacy-CLI parity. */
46
- export declare const WEBHOOK_HANDLER_REGISTRATIONS: readonly ['createMapPublishedRevisionDataHandler', 'createMapPublishedChunkedDataHandler', 'createDataRowValidatorHandler', 'createSheetValidatorHandler'];
46
+ export declare const WEBHOOK_HANDLER_REGISTRATIONS: readonly ['phx.domain.createAssistantSetupHandler', 'phx.domain.admin.createMapPublishedRevisionDataHandler', 'phx.domain.admin.createMapPublishedChunkedDataHandler', 'phx.domain.admin.createDataRowValidatorHandler', 'phx.domain.admin.createSheetValidatorHandler'];
47
47
  /** Returns the named webhook handler registration a handler module calls, if any. */
48
48
  export declare const findWebhookHandlerRegistration: (analysis: ModuleAnalysis) => string | undefined;
@@ -1 +1 @@
1
- import{Visitor as e}from"@swc/core/Visitor.js";export const getModuleParseOptions=()=>({syntax:"typescript",tsx:!0,target:"es2022"});let t=e=>{if("Identifier"===e.type)return e.value;if("ParenthesisExpression"===e.type)return t(e.expression);if("MemberExpression"!==e.type||"Identifier"!==e.property.type)return;let r=t(e.object);return void 0===r?void 0:`${r}.${e.property.value}`},r=e=>e.length>0&&e.every(e=>"isTypeOnly"in e&&!0===e.isTypeOnly),i=class ProjectSourceVisitor extends e{imports=[];calledMemberPaths=new Set;visitTsType(e){return e}visitImportDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),e}visitExportNamedDeclaration(e){return null!=e.source&&this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),super.visitExportNamedDeclaration(e)}visitExportAllDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:"typeOnly"in e&&!0===e.typeOnly}),e}visitCallExpression(e){var r;let i=(r=e.arguments[0]?.expression,r?.type==="StringLiteral"?r.value:r?.type==="TemplateLiteral"&&0===r.expressions.length?r.quasis[0]?.cooked??r.quasis[0]?.raw:void 0);if("Import"===e.callee.type&&void 0!==i)this.imports.push({specifier:i,typeOnly:!1});else if("Super"!==e.callee.type&&"Import"!==e.callee.type){let r=t(e.callee);void 0!==r&&this.calledMemberPaths.add(r),"require"===r&&void 0!==i&&this.imports.push({specifier:i,typeOnly:!1})}return super.visitCallExpression(e)}};export const analyzeParsedModule=e=>{let t=new i;t.visitModule(e);let r=e.body[0];return{imports:t.imports,calledMemberPaths:[...t.calledMemberPaths].sort(),hasUseWebhookDirective:r?.type==="ExpressionStatement"&&"StringLiteral"===r.expression.type&&"use webhook"===r.expression.value}};export const WEBHOOK_HANDLER_REGISTRATIONS=["createMapPublishedRevisionDataHandler","createMapPublishedChunkedDataHandler","createDataRowValidatorHandler","createSheetValidatorHandler"];export const findWebhookHandlerRegistration=e=>WEBHOOK_HANDLER_REGISTRATIONS.find(t=>e.calledMemberPaths.includes(`phx.domain.admin.${t}`));
1
+ import{Visitor as e}from"@swc/core/Visitor.js";export const getModuleParseOptions=()=>({syntax:"typescript",tsx:!0,target:"es2022"});let t=e=>{if("Identifier"===e.type)return e.value;if("ParenthesisExpression"===e.type)return t(e.expression);if("MemberExpression"!==e.type||"Identifier"!==e.property.type)return;let r=t(e.object);return void 0===r?void 0:`${r}.${e.property.value}`},r=e=>e.length>0&&e.every(e=>"isTypeOnly"in e&&!0===e.isTypeOnly),i=class ProjectSourceVisitor extends e{imports=[];calledMemberPaths=new Set;visitTsType(e){return e}visitImportDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),e}visitExportNamedDeclaration(e){return null!=e.source&&this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),super.visitExportNamedDeclaration(e)}visitExportAllDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:"typeOnly"in e&&!0===e.typeOnly}),e}visitCallExpression(e){var r;let i=(r=e.arguments[0]?.expression,r?.type==="StringLiteral"?r.value:r?.type==="TemplateLiteral"&&0===r.expressions.length?r.quasis[0]?.cooked??r.quasis[0]?.raw:void 0);if("Import"===e.callee.type&&void 0!==i)this.imports.push({specifier:i,typeOnly:!1});else if("Super"!==e.callee.type&&"Import"!==e.callee.type){let r=t(e.callee);void 0!==r&&this.calledMemberPaths.add(r),"require"===r&&void 0!==i&&this.imports.push({specifier:i,typeOnly:!1})}return super.visitCallExpression(e)}};export const analyzeParsedModule=e=>{let t=new i;t.visitModule(e);let r=e.body[0];return{imports:t.imports,calledMemberPaths:[...t.calledMemberPaths].sort(),hasUseWebhookDirective:r?.type==="ExpressionStatement"&&"StringLiteral"===r.expression.type&&"use webhook"===r.expression.value}};export const WEBHOOK_HANDLER_REGISTRATIONS=["phx.domain.createAssistantSetupHandler","phx.domain.admin.createMapPublishedRevisionDataHandler","phx.domain.admin.createMapPublishedChunkedDataHandler","phx.domain.admin.createDataRowValidatorHandler","phx.domain.admin.createSheetValidatorHandler"];export const findWebhookHandlerRegistration=e=>WEBHOOK_HANDLER_REGISTRATIONS.find(t=>e.calledMemberPaths.includes(t));
@@ -1,13 +1,26 @@
1
1
  import { z } from 'zod';
2
2
  import { type AssistantAiSettings } from '@salsita-ai/contracts/assistant';
3
+ import { ASSISTANT_HINTS } from '#package/domain';
3
4
  /**
4
5
  * One whitelisted field in the assistant manifest. `description` overrides the JSON Schema
5
- * description of the shape property; `as` exposes the field under a different GraphQL name. An empty
6
+ * description of the shape property; `as` exposes the field under a different GraphQL name; `lenses`
7
+ * names the lenses declared under `assistant.lenses` whose selection includes the field. An empty
6
8
  * entry (`length:` in YAML) whitelists the field with its defaults.
7
9
  */
8
10
  export interface RawAssistantField {
9
11
  readonly description?: string;
10
12
  readonly as?: string;
13
+ readonly lenses?: readonly string[];
14
+ }
15
+ /**
16
+ * One lens of the assistant `lenses` map, keyed by the name the agent spreads it by: a named
17
+ * selection made of the `entities` entries tagged with that name. `description` tells the agent when
18
+ * to use the lens; `maxDepth` is how many levels of tagged relations carry the same selection before
19
+ * they reduce to `id`, 1 by default.
20
+ */
21
+ export interface RawAssistantLens {
22
+ readonly description: string;
23
+ readonly maxDepth?: number;
11
24
  }
12
25
  /**
13
26
  * One entry of the assistant `deletable` map. It takes no options yet; an empty entry (`Cabinet:` in
@@ -23,7 +36,6 @@ export type AssistantOptionComponentType = (typeof ASSISTANT_OPTION_COMPONENT_TY
23
36
  * does not change during a session. A hint only adds a sentence to a generated description; nothing
24
37
  * verifies it.
25
38
  */
26
- export declare const ASSISTANT_HINTS: readonly ['sameForAllInstances', 'constantDuringSession'];
27
39
  export type AssistantHint = (typeof ASSISTANT_HINTS)[number];
28
40
  /**
29
41
  * The component that holds the choices of a writable field: the instance `instanceName` of the
@@ -89,7 +101,7 @@ export interface RawAssistantAction {
89
101
  * with `addChild`. `replaceRecipes` names, per entity type or alias, the `replaceEntityRecipes`
90
102
  * groups whose recipes the agent may list and replace the entity by with `replaceEntity`. `actions`
91
103
  * names the declared actions the agent may run as custom mutations. Nothing is exposed without an
92
- * entry.
104
+ * entry. `lenses` declares the named selections that `entities` entries are tagged with.
93
105
  *
94
106
  * `ai` and `instructions` are for the server only: the provider, model tier and reasoning level the
95
107
  * deployment's assistant runs with, and the integrator's own guidance for it, appended to the system
@@ -102,6 +114,7 @@ export interface RawAssistant {
102
114
  readonly childRecipes?: Readonly<Record<string, RawAssistantRecipes>>;
103
115
  readonly replaceRecipes?: Readonly<Record<string, RawAssistantRecipes>>;
104
116
  readonly actions?: Readonly<Record<string, RawAssistantAction | null>>;
117
+ readonly lenses?: Readonly<Record<string, RawAssistantLens>>;
105
118
  readonly instructions?: string;
106
119
  readonly ai: AssistantAiSettings;
107
120
  }