@salsita-ai/sdk 0.50.0-develop.d6ed5efd42 → 0.50.0-develop.d815756961

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 (1437) hide show
  1. package/README.md +20 -15
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/admin/default-admin-elements.d.ts +9 -0
  4. package/dist/admin/default-admin-elements.js +1 -0
  5. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  6. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  7. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  8. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  9. package/dist/admin/default-elements/index.d.ts +2 -0
  10. package/dist/admin/default-elements/index.js +1 -0
  11. package/dist/admin/index.d.ts +1 -0
  12. package/dist/admin/index.js +1 -1
  13. package/dist/application-spec/caching/content-diff.js +1 -1
  14. package/dist/application-spec/core/application-file.d.ts +0 -2
  15. package/dist/application-spec/core/application-file.js +1 -1
  16. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  17. package/dist/application-spec/core/components/component-filter.js +1 -0
  18. package/dist/application-spec/core/components/index.d.ts +2 -0
  19. package/dist/application-spec/core/components/index.js +1 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  21. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  22. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  23. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  24. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  25. package/dist/application-spec/core/expressions/index.js +1 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +17 -0
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  52. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  53. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  54. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  56. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  57. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  59. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  60. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  61. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  63. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  67. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  68. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  69. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +72 -76
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +9 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  90. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  91. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  93. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  94. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  95. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  99. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  100. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  101. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  102. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  103. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  104. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  105. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  106. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  107. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  108. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  110. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  113. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  114. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  115. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +35 -18
  116. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  117. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  126. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  127. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  128. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  129. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  130. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  131. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  132. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  133. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  134. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  135. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  136. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  137. package/dist/application-spec/generate-application/index.d.ts +2 -0
  138. package/dist/application-spec/generate-application/index.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  142. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  143. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  144. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -7
  145. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  146. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  148. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -4
  149. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  150. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  151. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  156. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  158. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  160. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  161. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  162. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  163. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  164. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  165. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  167. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  169. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  170. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  171. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  172. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  173. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  174. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  176. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  177. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  178. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  179. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  180. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  182. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  183. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  184. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  185. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  186. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  187. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  188. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  189. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  190. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  191. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  192. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  193. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  194. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  195. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  196. package/dist/application-spec/index.d.ts +1 -0
  197. package/dist/application-spec/index.js +1 -1
  198. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  199. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  200. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  201. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  202. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  203. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  204. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  205. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  206. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  208. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  209. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  211. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  212. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  213. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  225. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  231. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  232. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  233. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  234. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  235. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  237. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  238. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  239. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  240. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  242. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  243. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  244. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  245. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  247. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  254. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  256. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  261. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  263. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  265. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  266. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  267. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  269. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  271. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  272. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  273. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  274. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  275. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  276. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  277. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  278. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  279. package/dist/client/authorized-client.d.ts +3 -1
  280. package/dist/client/authorized-client.js +1 -1
  281. package/dist/client/contract.d.ts +34 -0
  282. package/dist/client/contract.js +1 -1
  283. package/dist/client/index.d.ts +2 -2
  284. package/dist/client/index.js +1 -1
  285. package/dist/client/local-authorized-client.d.ts +3 -1
  286. package/dist/client/local-authorized-client.js +1 -1
  287. package/dist/client/memory-authorized-client.d.ts +3 -1
  288. package/dist/client/memory-authorized-client.js +1 -1
  289. package/dist/client/phoenix-api.d.ts +797 -121
  290. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  291. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  292. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  293. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +127 -3
  294. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  295. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  296. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  297. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  298. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  299. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  300. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  301. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  302. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  303. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  304. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  305. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  306. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  307. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  308. package/dist/configurator/common/configurator-interface.d.ts +30 -1
  309. package/dist/configurator/common/configurator-interface.js +1 -1
  310. package/dist/configurator/common/index.d.ts +3 -1
  311. package/dist/configurator/common/index.js +1 -1
  312. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  313. package/dist/configurator/common/use-reset-camera.js +1 -0
  314. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  315. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  316. package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
  317. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  318. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  319. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  320. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  321. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  322. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  323. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  324. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  325. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  326. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  327. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  328. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  329. package/dist/configurator/pages/RootPage.js +1 -1
  330. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  331. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  332. package/dist/configurator/pages/default-configurator-elements.d.ts +11 -0
  333. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  334. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  335. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  336. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  337. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  338. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  339. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  340. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  341. package/dist/configurator/pages/default-elements/index.js +1 -0
  342. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  343. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  344. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  345. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  346. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  347. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  348. package/dist/configurator/pages/index.d.ts +1 -0
  349. package/dist/configurator/pages/index.js +1 -1
  350. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  351. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  352. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  353. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  354. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  355. package/dist/configurator/preset-screen-elements/index.js +1 -0
  356. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  357. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  358. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  359. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  360. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  361. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  362. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  363. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  364. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  365. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  366. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  367. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  368. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  369. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  370. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  371. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  372. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  373. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  374. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  375. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  376. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  377. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  378. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  379. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  380. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  381. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  382. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  383. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  384. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  385. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  386. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  387. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  388. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  389. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  390. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  391. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  392. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  393. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  394. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  395. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  396. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  397. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  398. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  399. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  400. package/dist/configurator/ui/assistant/form/index.js +1 -0
  401. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  402. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  403. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  404. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  405. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  406. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  407. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  408. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  409. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  410. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  411. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  412. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  413. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  414. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  415. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  416. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  417. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  418. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  419. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  420. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  421. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  422. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  423. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  424. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  425. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  426. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  427. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  428. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  429. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  430. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  431. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  432. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  433. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  434. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  435. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  436. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  437. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  438. package/dist/configurator/ui/assistant/thread-items.d.ts +21 -3
  439. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  440. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  441. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  442. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  443. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  444. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  445. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  446. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  447. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  448. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  449. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  450. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  451. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  452. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  453. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  454. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  455. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  456. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  457. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  458. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  459. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  460. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  461. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  462. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  463. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  464. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  465. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  466. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  467. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  468. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  469. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  470. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  471. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  472. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  473. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  474. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  475. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  476. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  477. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  478. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  479. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  480. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  481. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  482. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  483. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  484. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  485. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  486. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  487. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  488. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  489. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  490. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  491. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  492. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  493. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  494. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  495. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  496. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  497. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  498. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  499. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  500. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  501. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  502. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  503. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  504. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  505. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  506. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  507. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  508. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  509. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  510. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  511. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  512. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  513. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  514. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  515. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  516. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  517. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  518. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  519. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  520. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  521. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  522. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  523. package/dist/docs/fabs/basic.mdx +2 -2
  524. package/dist/docs/index.json +42 -1
  525. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  526. package/dist/docs/layouts/custom-layout.mdx +2435 -0
  527. package/dist/docs/layouts/header/fixed.mdx +2 -2
  528. package/dist/docs/layouts/header/floating.mdx +2 -2
  529. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  530. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  531. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  532. package/dist/docs/other-features/not-found-404.mdx +1 -1
  533. package/dist/docs/other-features/side-effects.mdx +8 -11
  534. package/dist/docs/other-features/transformers.mdx +4 -0
  535. package/dist/docs/other-features/violation-messages.mdx +52 -56
  536. package/dist/docs/phoenix/application-states.mdx +9 -7
  537. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  538. package/dist/docs/phoenix/components.mdx +6 -0
  539. package/dist/docs/phoenix/configurator-interface.mdx +266 -81
  540. package/dist/docs/phoenix/deployments.mdx +3 -7
  541. package/dist/docs/phoenix/domain-model.mdx +6 -0
  542. package/dist/docs/phoenix/expression-context.mdx +11 -3
  543. package/dist/docs/phoenix/finalization.mdx +1 -1
  544. package/dist/docs/phoenix/getting-started.mdx +7 -4
  545. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  546. package/dist/docs/phoenix/localization.mdx +10 -6
  547. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  548. package/dist/docs/phoenix/phoenix-cli.mdx +112 -65
  549. package/dist/docs/phoenix/project-structure.mdx +80 -36
  550. package/dist/docs/phoenix/quickstart.mdx +9 -9
  551. package/dist/docs/phoenix/sdk-builder-workflow.mdx +14 -14
  552. package/dist/docs/phoenix/testing.mdx +148 -0
  553. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  554. package/dist/docs/phoenix/webhooks.mdx +23 -6
  555. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  556. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  557. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -12
  558. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  559. package/dist/domain/admin-domain/index.d.ts +9 -5
  560. package/dist/domain/admin-domain/index.js +1 -1
  561. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  562. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  563. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  564. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  565. package/dist/domain/application/application-config.d.ts +9 -26
  566. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  567. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  568. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  569. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  570. package/dist/domain/application/assistant/assistant-manifest.d.ts +11 -1
  571. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  572. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  573. package/dist/domain/application/assistant/assistant-value-type.js +1 -1
  574. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  575. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  576. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  577. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  578. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  579. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -11
  580. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  581. package/dist/domain/application/assistant/index.d.ts +8 -1
  582. package/dist/domain/application/assistant/index.js +1 -1
  583. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  584. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  585. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  586. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  587. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  588. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  589. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  590. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  591. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  592. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  593. package/dist/domain/application/assistant-mutations.d.ts +2 -2
  594. package/dist/domain/application/assistant-mutations.js +1 -1
  595. package/dist/domain/application/assistant-recipe-groups.d.ts +5 -5
  596. package/dist/domain/application/configurator-builder.d.ts +5 -2
  597. package/dist/domain/application/configurator-builder.js +1 -1
  598. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  599. package/dist/domain/application/index.d.ts +2 -6
  600. package/dist/domain/application/index.js +1 -1
  601. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  602. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  603. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  604. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  605. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  606. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  607. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  608. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  609. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  610. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  611. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  612. package/dist/domain/available-system-components.js +1 -1
  613. package/dist/domain/core/action/action-factory.d.ts +11 -0
  614. package/dist/domain/core/{action.d.ts → action/action.d.ts} +21 -16
  615. package/dist/domain/core/action/action.js +1 -0
  616. package/dist/domain/core/action/index.d.ts +2 -0
  617. package/dist/domain/core/action/index.js +1 -0
  618. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -1
  619. package/dist/domain/core/component/component-reader-types.js +1 -0
  620. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  621. package/dist/domain/core/component/debug-state-component.js +1 -0
  622. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  623. package/dist/domain/core/component/domain-component-optic.js +16 -0
  624. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  625. package/dist/domain/core/component/drag-state-component.js +1 -0
  626. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  627. package/dist/domain/core/component/export-state-component.js +1 -0
  628. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  629. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  630. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -1
  631. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  632. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  633. package/dist/domain/core/component/hover-state-component.js +1 -0
  634. package/dist/domain/core/component/index.d.ts +18 -0
  635. package/dist/domain/core/component/index.js +1 -0
  636. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -18
  637. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  638. package/dist/domain/core/component/navigation-state-component.js +1 -0
  639. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  640. package/dist/domain/core/component/selection-state-component.js +1 -0
  641. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -1
  642. package/dist/domain/core/component/system-component-builder.js +1 -0
  643. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -18
  644. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  645. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  646. package/dist/domain/core/component/tool-state-component.js +1 -0
  647. package/dist/domain/{components → core/component}/updates.d.ts +1 -1
  648. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  649. package/dist/domain/core/component/view-state-component.js +1 -0
  650. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  651. package/dist/domain/core/component/viewport-state-component.js +1 -0
  652. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  653. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  654. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  655. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  656. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  657. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  658. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  659. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  660. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  661. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  662. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  663. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  664. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  665. package/dist/domain/core/data-schema/data-schema.js +1 -0
  666. package/dist/domain/core/data-schema/index.d.ts +7 -0
  667. package/dist/domain/core/data-schema/index.js +1 -0
  668. package/dist/domain/core/domain-factory.d.ts +1 -1
  669. package/dist/domain/core/domain.d.ts +2 -2
  670. package/dist/domain/core/emission/index.d.ts +8 -0
  671. package/dist/domain/core/emission/index.js +1 -0
  672. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  673. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  674. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  675. package/dist/domain/core/emission/state-emission.js +1 -0
  676. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  677. package/dist/domain/core/emission/state-update-emission.js +1 -0
  678. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  679. package/dist/domain/core/emission/state-validation-result.js +1 -0
  680. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  681. package/dist/domain/core/emission/transformation-log.js +1 -0
  682. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  683. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  684. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  685. package/dist/domain/core/emission/transformer-log.js +1 -0
  686. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  687. package/dist/domain/core/emission/transformer-phase.js +1 -0
  688. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  689. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  690. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  691. package/dist/domain/core/expression/constant-expressions.js +1 -1
  692. package/dist/domain/core/expression/custom-expression.d.ts +21 -8
  693. package/dist/domain/core/expression/custom-expression.js +1 -1
  694. package/dist/domain/core/expression/expression.d.ts +15 -17
  695. package/dist/domain/core/expression/index.d.ts +1 -2
  696. package/dist/domain/core/expression/index.js +1 -1
  697. package/dist/domain/core/index.d.ts +7 -1
  698. package/dist/domain/core/index.js +1 -1
  699. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -1
  700. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  701. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  702. package/dist/domain/core/invariant/index.d.ts +5 -0
  703. package/dist/domain/core/invariant/index.js +1 -0
  704. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  705. package/dist/domain/core/invariant/invariants.js +1 -0
  706. package/dist/domain/core/invariant/violation-component.js +1 -0
  707. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  708. package/dist/domain/core/invariant/violation.js +1 -0
  709. package/dist/domain/core/model/model.d.ts +1 -1
  710. package/dist/domain/core/recipe/index.d.ts +1 -0
  711. package/dist/domain/core/recipe/index.js +1 -0
  712. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  713. package/dist/domain/core/recipe/recipes.js +1 -0
  714. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  715. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  716. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -1
  717. package/dist/domain/core/relation/component-factories.js +1 -0
  718. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  719. package/dist/domain/core/relation/composed-of.js +1 -0
  720. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  721. package/dist/domain/core/relation/index.d.ts +8 -0
  722. package/dist/domain/core/relation/index.js +1 -0
  723. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  724. package/dist/domain/core/relation/indirect-relation.js +1 -0
  725. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -4
  726. package/dist/domain/core/relation/reference-component.js +1 -0
  727. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  728. package/dist/domain/core/relation/reference-field.js +1 -0
  729. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  730. package/dist/domain/core/relation/relation-factory.js +1 -0
  731. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  732. package/dist/domain/core/state/migrations.d.ts +14 -45
  733. package/dist/domain/core/state/migrations.js +1 -1
  734. package/dist/domain/core/state/state.d.ts +1 -1
  735. package/dist/domain/domain-builder.d.ts +2 -5
  736. package/dist/domain/domain-builder.js +1 -1
  737. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  738. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  739. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  740. package/dist/domain/domain-context/action-system/index.js +1 -0
  741. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  742. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  743. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  744. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  745. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  746. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  747. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  748. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  749. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  750. package/dist/domain/domain-context/index.d.ts +8 -18
  751. package/dist/domain/domain-context/index.js +1 -1
  752. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  753. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  754. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -7
  755. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  756. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  757. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  758. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  759. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  760. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  761. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  762. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  763. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  764. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  765. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  766. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  767. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  768. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  769. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  770. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  771. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  772. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  773. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -2
  774. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  775. package/dist/domain/domain-context/store-system/index.js +1 -0
  776. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -2
  777. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  778. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  779. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -37
  780. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  781. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -2
  782. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  783. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  784. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  785. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -9
  786. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  787. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  788. package/dist/domain/domain-context/transformers/context.d.ts +2 -5
  789. package/dist/domain/domain-context/transformers/context.js +1 -1
  790. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  791. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  792. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  793. package/dist/domain/domain-context/transformers/index.js +1 -1
  794. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  795. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -8
  796. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  797. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  798. package/dist/domain/domain-context/undo-system.js +1 -1
  799. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  800. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  801. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  802. package/dist/domain/domain-runtime/access/types.js +1 -1
  803. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  804. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  805. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -2
  806. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  807. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  808. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  809. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  810. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  811. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  812. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  813. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -24
  814. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  815. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  816. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  817. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  818. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  819. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  820. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  821. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  822. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  823. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  824. package/dist/domain/domain-runtime/errors/index.js +1 -0
  825. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  826. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  827. package/dist/domain/domain-runtime/index.d.ts +1 -0
  828. package/dist/domain/domain-runtime/index.js +1 -1
  829. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  830. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  831. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  832. package/dist/domain/domain-runtime/spec/index.js +1 -1
  833. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  834. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  835. package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  836. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +14 -13
  837. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  838. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  839. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  840. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  841. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  842. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  843. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  844. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  845. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  846. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  847. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  848. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  849. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  850. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  851. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  852. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  853. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  854. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  855. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  856. package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  857. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  858. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  859. package/dist/domain/domain-runtime/spec/types.d.ts +6 -4
  860. package/dist/domain/extensions/angle-indicator.js +1 -0
  861. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  862. package/dist/domain/extensions/attribute-switch.js +1 -0
  863. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  864. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  865. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  866. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  867. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  868. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  869. package/dist/domain/extensions/canvas-config.js +1 -0
  870. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  871. package/dist/domain/extensions/canvas-padding.js +1 -0
  872. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  873. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  874. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  875. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  876. package/dist/domain/extensions/client-side-image.js +1 -0
  877. package/dist/domain/extensions/color-value.js +1 -0
  878. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  879. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  880. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  881. package/dist/domain/extensions/common/index.d.ts +4 -0
  882. package/dist/domain/extensions/common/index.js +1 -0
  883. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  884. package/dist/domain/extensions/custom-header.js +1 -0
  885. package/dist/domain/extensions/custom-price-footer.js +1 -0
  886. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  887. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  888. package/dist/domain/extensions/dimension-indicator.js +1 -0
  889. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  890. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  891. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  892. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  893. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  894. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  895. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  896. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  897. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  898. package/dist/domain/extensions/entity-header.js +1 -0
  899. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  900. package/dist/domain/extensions/finalize-action.js +1 -0
  901. package/dist/domain/extensions/finalize-component.js +1 -0
  902. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  903. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  904. package/dist/domain/extensions/fixed-header.js +1 -0
  905. package/dist/domain/extensions/floating-header.js +1 -0
  906. package/dist/domain/extensions/hidden-header.js +1 -0
  907. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  908. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  909. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  910. package/dist/domain/extensions/index.d.ts +69 -0
  911. package/dist/domain/extensions/index.js +1 -0
  912. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  913. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  914. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  915. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  916. package/dist/domain/extensions/navigation-steps.js +1 -0
  917. package/dist/domain/extensions/offset-anchors.js +1 -0
  918. package/dist/domain/extensions/offset-indicator.js +1 -0
  919. package/dist/domain/extensions/offset.js +1 -0
  920. package/dist/domain/extensions/other-action.js +1 -0
  921. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  922. package/dist/domain/extensions/property-page.js +1 -0
  923. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  924. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  925. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  926. package/dist/domain/extensions/rotatable.js +1 -0
  927. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  928. package/dist/domain/extensions/rotation-handle.js +1 -0
  929. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  930. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  931. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  932. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  933. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  934. package/dist/domain/extensions/scene-entity-control.js +1 -0
  935. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  936. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  937. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  938. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  939. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  940. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  941. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  942. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  943. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  944. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  945. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  946. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  947. package/dist/domain/extensions/selectable-component.js +1 -0
  948. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  949. package/dist/domain/extensions/simple-summary.js +1 -0
  950. package/dist/domain/extensions/size.js +1 -0
  951. package/dist/domain/extensions/sketching-draw.js +1 -0
  952. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  953. package/dist/domain/extensions/sketching-edit.js +1 -0
  954. package/dist/domain/extensions/summary-component.js +1 -0
  955. package/dist/domain/extensions/text-value.js +1 -0
  956. package/dist/domain/extensions/tool-controls.js +1 -0
  957. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  958. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  959. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  960. package/dist/domain/extensions/toolbar.js +1 -0
  961. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  962. package/dist/domain/extensions/view-controls.js +1 -0
  963. package/dist/domain/index.d.ts +2 -31
  964. package/dist/domain/index.js +1 -1
  965. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  966. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  967. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  968. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  969. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  970. package/dist/domain/mocks/create-mock-domain.js +1 -1
  971. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  972. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  973. package/dist/domain/mocks/create-test-application-config.js +1 -0
  974. package/dist/domain/mocks/index.d.ts +1 -0
  975. package/dist/domain/mocks/index.js +1 -1
  976. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  977. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  978. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  979. package/dist/domain/projections/collision-projections.d.ts +1 -1
  980. package/dist/domain/projections/composition-projections.d.ts +1 -1
  981. package/dist/domain/projections/composition-projections.js +1 -1
  982. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  983. package/dist/domain/projections/index.d.ts +1 -1
  984. package/dist/domain/projections/position-projections.d.ts +1 -1
  985. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  986. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  987. package/dist/domain/projections/validation-projections.d.ts +3 -20
  988. package/dist/domain/projections/validation-projections.js +1 -1
  989. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  990. package/dist/domain/system-components/admin-sidebar.js +1 -1
  991. package/dist/domain/system-components/angle-dimension.js +1 -1
  992. package/dist/domain/system-components/application-config.d.ts +2 -2
  993. package/dist/domain/system-components/application-config.js +1 -1
  994. package/dist/domain/system-components/attribute-selection.js +1 -1
  995. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  996. package/dist/domain/system-components/bounding-box-component.js +1 -1
  997. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  998. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  999. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  1000. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  1001. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  1002. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1003. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  1004. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  1005. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  1006. package/dist/domain/system-components/collision-geometry.js +1 -1
  1007. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  1008. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  1009. package/dist/domain/system-components/common/index.d.ts +0 -4
  1010. package/dist/domain/system-components/common/index.js +1 -1
  1011. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  1012. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  1013. package/dist/domain/system-components/common/recipes.js +1 -1
  1014. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1015. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1016. package/dist/domain/system-components/constraint.d.ts +11 -24
  1017. package/dist/domain/system-components/constraint.js +1 -1
  1018. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  1019. package/dist/domain/system-components/detail.js +1 -1
  1020. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  1021. package/dist/domain/system-components/distance-dimension.js +1 -1
  1022. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  1023. package/dist/domain/system-components/drag-handle.js +1 -1
  1024. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  1025. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  1026. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  1027. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  1028. package/dist/domain/system-components/generic-dimension.js +1 -1
  1029. package/dist/domain/system-components/hidden-entity.js +1 -1
  1030. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  1031. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  1032. package/dist/domain/system-components/index.d.ts +0 -68
  1033. package/dist/domain/system-components/index.js +1 -1
  1034. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  1035. package/dist/domain/system-components/material-override-transformer.js +1 -1
  1036. package/dist/domain/system-components/material-swatch.js +1 -1
  1037. package/dist/domain/system-components/navigation-page.js +1 -1
  1038. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  1039. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  1040. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  1041. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  1042. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  1043. package/dist/domain/system-components/pivot-point.js +1 -1
  1044. package/dist/domain/system-components/price.js +1 -1
  1045. package/dist/domain/system-components/projected-entities.js +1 -1
  1046. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  1047. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  1048. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  1049. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  1050. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  1051. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  1052. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  1053. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  1054. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  1055. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  1056. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  1057. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  1058. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  1059. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  1060. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  1061. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  1062. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1063. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  1064. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  1065. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1066. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  1067. package/dist/domain/system-components/scene-entity-object.js +1 -1
  1068. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  1069. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  1070. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  1071. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  1072. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  1073. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  1074. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1075. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  1076. package/dist/domain/system-components/sketching-line.js +1 -1
  1077. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  1078. package/dist/domain/system-components/sketching.js +1 -1
  1079. package/dist/domain/system-components/snap-axis.js +1 -1
  1080. package/dist/domain/system-components/snap-edge.js +1 -1
  1081. package/dist/domain/system-components/snap-plane.js +1 -1
  1082. package/dist/domain/system-components/snap-point.js +1 -1
  1083. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  1084. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1085. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  1086. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1087. package/dist/domain/utils/eval-cache.d.ts +1 -1
  1088. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1089. package/dist/domain/utils/memo-eval.d.ts +2 -2
  1090. package/dist/editor/Editor.d.ts +7 -0
  1091. package/dist/editor/Editor.js +1 -1
  1092. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  1093. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1094. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1095. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1096. package/dist/globals/index.d.ts +2 -0
  1097. package/dist/i18n/locales/cs/messages.js +1 -1
  1098. package/dist/i18n/locales/da/messages.js +1 -1
  1099. package/dist/i18n/locales/de/messages.js +1 -1
  1100. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1101. package/dist/i18n/locales/en/messages.js +1 -1
  1102. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1103. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1104. package/dist/i18n/locales/es/messages.js +1 -1
  1105. package/dist/i18n/locales/fr/messages.js +1 -1
  1106. package/dist/i18n/locales/hu/messages.js +1 -1
  1107. package/dist/i18n/locales/it/messages.js +1 -1
  1108. package/dist/i18n/locales/nl/messages.js +1 -1
  1109. package/dist/i18n/locales/pl/messages.js +1 -1
  1110. package/dist/i18n/locales/pt/messages.js +1 -1
  1111. package/dist/i18n/locales/ro/messages.js +1 -1
  1112. package/dist/i18n/locales/sk/messages.js +1 -1
  1113. package/dist/i18n/locales/tr/messages.js +1 -1
  1114. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  1115. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  1116. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1117. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  1118. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  1119. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1120. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1121. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1122. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  1123. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1124. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1125. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1126. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  1127. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  1128. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  1129. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  1130. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1131. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1132. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1133. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1134. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  1135. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1136. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  1137. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1138. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1139. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  1140. package/dist/phoenix/application-spec/project-files.js +1 -1
  1141. package/dist/phoenix/bin.d.ts +2 -0
  1142. package/dist/phoenix/bin.js +2 -0
  1143. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1144. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1145. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1146. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1147. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1148. package/dist/phoenix/check-configs/index.js +1 -0
  1149. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1150. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1151. package/dist/phoenix/cli.d.ts +0 -1
  1152. package/dist/phoenix/cli.js +1 -2
  1153. package/dist/phoenix/commands/build.js +1 -1
  1154. package/dist/phoenix/commands/check.js +1 -1
  1155. package/dist/phoenix/commands/clean.js +1 -1
  1156. package/dist/phoenix/commands/deploy.js +2 -2
  1157. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1158. package/dist/phoenix/commands/deps/deps.js +3 -0
  1159. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1160. package/dist/phoenix/commands/deps/index.js +1 -0
  1161. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1162. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1163. package/dist/phoenix/commands/dev.js +5 -5
  1164. package/dist/phoenix/commands/fix.js +1 -1
  1165. package/dist/phoenix/commands/index.d.ts +1 -0
  1166. package/dist/phoenix/commands/index.js +1 -1
  1167. package/dist/phoenix/commands/init.d.ts +17 -5
  1168. package/dist/phoenix/commands/init.js +1 -1
  1169. package/dist/phoenix/commands/link.js +1 -1
  1170. package/dist/phoenix/commands/prettier.js +1 -1
  1171. package/dist/phoenix/commands/sync.js +1 -1
  1172. package/dist/phoenix/commands/unlink.js +1 -1
  1173. package/dist/phoenix/scripts/build-admin.js +1 -1
  1174. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  1175. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1176. package/dist/phoenix/services/lingui.d.ts +8 -0
  1177. package/dist/phoenix/services/lingui.js +1 -1
  1178. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1179. package/dist/phoenix/services/source-archive.js +1 -1
  1180. package/dist/phoenix/services/swc.js +1 -1
  1181. package/dist/phoenix/services/vite-config.js +1 -1
  1182. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1183. package/dist/phoenix/utils/git/index.js +1 -0
  1184. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1185. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1186. package/dist/phoenix/utils/index.d.ts +5 -2
  1187. package/dist/phoenix/utils/index.js +1 -1
  1188. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1189. package/dist/phoenix/utils/node-version/index.js +1 -0
  1190. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1191. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1192. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1193. package/dist/phoenix/utils/package-info.js +1 -1
  1194. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1195. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1196. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1197. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1198. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1199. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1200. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1201. package/dist/phoenix/utils/run-command.js +1 -1
  1202. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1203. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1204. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1205. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1206. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +2 -0
  1207. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1208. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1209. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1210. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1211. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1212. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1213. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  1214. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1215. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1216. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1217. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1218. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1219. package/dist/react-sdk/domain-context/index.d.ts +3 -1
  1220. package/dist/react-sdk/domain-context/index.js +1 -1
  1221. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1222. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1223. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1224. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1225. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1226. package/dist/react-sdk/handlers/index.d.ts +1 -0
  1227. package/dist/react-sdk/handlers/index.js +1 -1
  1228. package/dist/react-sdk/handlers/use-finalize-action.d.ts +31 -0
  1229. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1230. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1231. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1232. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1233. package/dist/webhook/builders/common.d.ts +5 -0
  1234. package/dist/webhook/builders/webhook-builder.js +1 -1
  1235. package/package.json +46 -35
  1236. package/schema/domain-spec.json +1201 -217
  1237. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1238. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1239. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1240. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1241. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1242. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1243. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1244. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1245. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1246. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1247. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1248. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1249. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1250. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1251. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1252. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1253. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1254. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1255. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1256. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1257. package/dist/configurator/common/frontend-analytics.js +0 -1
  1258. package/dist/domain/actions/action-factory.d.ts +0 -10
  1259. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  1260. package/dist/domain/application/element-registration.js +0 -1
  1261. package/dist/domain/application/handler-registration.js +0 -1
  1262. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  1263. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1264. package/dist/domain/application/resource-builder.d.ts +0 -13
  1265. package/dist/domain/application/resource-builder.js +0 -1
  1266. package/dist/domain/components/debug-state-component.js +0 -1
  1267. package/dist/domain/components/domain-component-optic.d.ts +0 -74
  1268. package/dist/domain/components/domain-component-optic.js +0 -16
  1269. package/dist/domain/components/drag-state-component.js +0 -1
  1270. package/dist/domain/components/export-state-component.js +0 -1
  1271. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1272. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1273. package/dist/domain/components/hover-state-component.js +0 -1
  1274. package/dist/domain/components/index.d.ts +0 -2
  1275. package/dist/domain/components/index.js +0 -1
  1276. package/dist/domain/components/navigation-state-component.js +0 -1
  1277. package/dist/domain/components/selection-state-component.js +0 -1
  1278. package/dist/domain/components/system-component-builder.js +0 -1
  1279. package/dist/domain/components/system-virtual-entity.js +0 -1
  1280. package/dist/domain/components/tool-state-component.js +0 -1
  1281. package/dist/domain/components/view-state-component.js +0 -1
  1282. package/dist/domain/components/viewport-state-component.js +0 -1
  1283. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -55
  1284. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1285. package/dist/domain/invariants/custom-invariants.d.ts +0 -20
  1286. package/dist/domain/invariants/custom-invariants.js +0 -1
  1287. package/dist/domain/invariants/invariants.d.ts +0 -74
  1288. package/dist/domain/invariants/invariants.js +0 -1
  1289. package/dist/domain/invariants/violation-component.js +0 -1
  1290. package/dist/domain/invariants/violation.js +0 -1
  1291. package/dist/domain/project-modules/index.d.ts +0 -1
  1292. package/dist/domain/project-modules/index.js +0 -1
  1293. package/dist/domain/project-modules/project-modules.js +0 -1
  1294. package/dist/domain/relations/all-of-type-relation.d.ts +0 -30
  1295. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1296. package/dist/domain/relations/component-factories.js +0 -1
  1297. package/dist/domain/relations/composed-of.js +0 -1
  1298. package/dist/domain/relations/direct-relation.d.ts +0 -27
  1299. package/dist/domain/relations/indirect-relation.d.ts +0 -78
  1300. package/dist/domain/relations/indirect-relation.js +0 -1
  1301. package/dist/domain/relations/reference-component.js +0 -1
  1302. package/dist/domain/relations/relation-factory.d.ts +0 -17
  1303. package/dist/domain/relations/relation-factory.js +0 -1
  1304. package/dist/domain/relations/relation-implementation.d.ts +0 -5
  1305. package/dist/domain/system-components/angle-indicator.js +0 -1
  1306. package/dist/domain/system-components/attribute-switch.js +0 -1
  1307. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1308. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1309. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1310. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1311. package/dist/domain/system-components/canvas-config.js +0 -1
  1312. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1313. package/dist/domain/system-components/canvas-padding.js +0 -1
  1314. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1315. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1316. package/dist/domain/system-components/client-side-image.js +0 -1
  1317. package/dist/domain/system-components/color-value.js +0 -1
  1318. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1319. package/dist/domain/system-components/custom-header.js +0 -1
  1320. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1321. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  1322. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1323. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1324. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1325. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1326. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1327. package/dist/domain/system-components/entity-header.js +0 -1
  1328. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1329. package/dist/domain/system-components/finalize-action.js +0 -1
  1330. package/dist/domain/system-components/finalize-component.js +0 -1
  1331. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1332. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1333. package/dist/domain/system-components/fixed-header.js +0 -1
  1334. package/dist/domain/system-components/floating-header.js +0 -1
  1335. package/dist/domain/system-components/hidden-header.js +0 -1
  1336. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1337. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1338. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1339. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1340. package/dist/domain/system-components/navigation-steps.js +0 -1
  1341. package/dist/domain/system-components/offset-anchors.js +0 -1
  1342. package/dist/domain/system-components/offset-indicator.js +0 -1
  1343. package/dist/domain/system-components/offset.js +0 -1
  1344. package/dist/domain/system-components/other-action.js +0 -1
  1345. package/dist/domain/system-components/property-page.js +0 -1
  1346. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1347. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1348. package/dist/domain/system-components/rotatable.js +0 -1
  1349. package/dist/domain/system-components/rotation-handle.js +0 -1
  1350. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1351. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1352. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1353. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1354. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1355. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1356. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1357. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1358. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1359. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1360. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1361. package/dist/domain/system-components/selectable-component.js +0 -1
  1362. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1363. package/dist/domain/system-components/simple-summary.js +0 -1
  1364. package/dist/domain/system-components/size.js +0 -1
  1365. package/dist/domain/system-components/sketching-draw.js +0 -1
  1366. package/dist/domain/system-components/sketching-edit.js +0 -1
  1367. package/dist/domain/system-components/summary-component.js +0 -1
  1368. package/dist/domain/system-components/text-value.js +0 -1
  1369. package/dist/domain/system-components/tool-controls.js +0 -1
  1370. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1371. package/dist/domain/system-components/toolbar.js +0 -1
  1372. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1373. package/dist/domain/system-components/view-controls.js +0 -1
  1374. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1375. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1376. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1377. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1378. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1379. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1380. /package/dist/{domain/core/action.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  1381. /package/dist/{domain/relations/reference-field.js → application-spec/parse-application-files/spec/expressions/expression-read.js} +0 -0
  1382. /package/dist/{domain/relations/relation-implementation.js → configurator/ui/assistant/form-elements/form-element-props.js} +0 -0
  1383. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1384. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1385. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1386. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1387. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1388. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1389. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1390. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1391. /package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.js +0 -0
  1392. /package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1393. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  1394. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  1395. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1396. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1397. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1398. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  1399. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  1400. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1401. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  1402. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1403. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1404. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1405. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1406. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1407. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  1408. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  1409. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  1410. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1411. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1412. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1413. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  1414. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  1415. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  1416. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  1417. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1418. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  1419. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  1420. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  1421. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  1422. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  1423. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1424. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1425. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1426. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1427. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1428. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1429. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  1430. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1431. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  1432. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  1433. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1434. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1435. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1436. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  1437. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -0,0 +1,98 @@
1
+ import type { EnhancedJsonSchemaType } from '../../../../core/index.js';
2
+ import { type SchemaRefResolver } from '../schema-ref-resolver.js';
3
+ /**
4
+ * A string type that TypeScript names and that a plain `string` does not satisfy: an entity id
5
+ * (`DomainEntityId`, a branded template literal) or a template literal such as `HexColor`.
6
+ *
7
+ * - `entityTypes`: for an entity id, the entity types whose ids it holds; `undefined` for the id of
8
+ * any entity (`DomainEntityId<string>`).
9
+ * - `acceptsLiteral`: which string literals satisfy it; absent for a brand, which no literal does.
10
+ */
11
+ export interface NamedString {
12
+ readonly name: string;
13
+ readonly entityTypes?: ReadonlySet<string>;
14
+ readonly acceptsLiteral?: (literal: string) => boolean;
15
+ }
16
+ /** A property of an object type. */
17
+ export interface ObjectProperty {
18
+ readonly type: ValueType;
19
+ readonly required: boolean;
20
+ }
21
+ /**
22
+ * One member of the union a {@link ValueType} stands for.
23
+ *
24
+ * - `unknown`: a value the schema does not describe, such as a type given as TypeScript text
25
+ * (`tsType`) or a ref that resolves to nothing. It is assignable to and from every type.
26
+ * - `string`, `number`, `boolean`: a primitive, or one literal of it (`literal`). A string can be a
27
+ * {@link NamedString}.
28
+ * - `array`: a read-only array of `element`.
29
+ * - `object`: `properties` lists the known properties; `index` is the type of every other property
30
+ * (`Record<string, T>`). With neither, it is any object (`Record<string, unknown>`). `open` marks
31
+ * an SDK type, whose TypeScript type may have properties its schema does not list.
32
+ */
33
+ export type ValueTypeMember = {
34
+ readonly kind: 'unknown';
35
+ } | {
36
+ readonly kind: 'string';
37
+ readonly literal?: string;
38
+ readonly named?: NamedString;
39
+ } | {
40
+ readonly kind: 'number';
41
+ readonly literal?: number;
42
+ } | {
43
+ readonly kind: 'boolean';
44
+ readonly literal?: boolean;
45
+ } | {
46
+ readonly kind: 'null';
47
+ } | {
48
+ readonly kind: 'array';
49
+ readonly element: ValueType;
50
+ } | {
51
+ readonly kind: 'object';
52
+ readonly properties?: ReadonlyMap<string, ObjectProperty>;
53
+ readonly index?: ValueType;
54
+ readonly open?: boolean;
55
+ };
56
+ /**
57
+ * The type a schema stands for in generated TypeScript, as the union of its members. An empty union
58
+ * is `never`.
59
+ */
60
+ export type ValueType = readonly ValueTypeMember[];
61
+ /** Who wrote a schema, which decides what its `tsType` means. */
62
+ export type SchemaAuthor =
63
+ /** A project: a `tsType` is TypeScript text the parser cannot read, so the type is `unknown`. */
64
+ 'project'
65
+ /**
66
+ * The SDK: a component or phoenix definition schema states its type in JSON next to the `tsType`
67
+ * that names it, so the JSON describes the type, except for the named strings in
68
+ * {@link NAMED_STRINGS}.
69
+ */
70
+ | 'sdk';
71
+ /** What a {@link ValueType} needs to read a schema. */
72
+ export interface ValueTypeResolution {
73
+ readonly author: SchemaAuthor;
74
+ /** Resolves phoenix definition refs and common type refs. */
75
+ readonly resolveRef: SchemaRefResolver;
76
+ /** The entity types an entity type or alias name stands for. */
77
+ readonly entityTypes: (typeOrAlias: string) => readonly string[];
78
+ /** The `definitions` of the root schema, for its `#/definitions/X` refs. */
79
+ readonly definitions?: Readonly<Record<string, EnhancedJsonSchemaType>>;
80
+ }
81
+ /**
82
+ * The SDK's named string types, by the `tsType` an SDK schema gives them, with the literals that
83
+ * satisfy each (none for a brand). A `type: string` schema of the SDK whose `tsType` is not listed
84
+ * here describes a plain string.
85
+ */
86
+ export declare const NAMED_STRINGS: Readonly<Record<string, Pick<NamedString, 'acceptsLiteral'>>>;
87
+ /** The type of an entity id: of the entity types `typeOrAlias` stands for, or of any entity. */
88
+ export declare const entityIdValueType: (typeOrAlias: string | undefined, resolution: Pick<ValueTypeResolution, 'entityTypes'>) => ValueType;
89
+ /**
90
+ * The type TypeScript gives a literal value written in a spec where a type is expected: a string,
91
+ * number or boolean is its literal type, an array is an array of the union of its items, and an
92
+ * object has exactly its properties, each required.
93
+ */
94
+ export declare const literalValueType: (value: unknown) => ValueType;
95
+ /** The type a schema stands for in generated TypeScript. */
96
+ export declare const ValueType: (schema: EnhancedJsonSchemaType, resolution: ValueTypeResolution) => ValueType;
97
+ /** Whether a type has a member the schema does not describe. */
98
+ export declare const hasUnknownMember: (type: ValueType) => boolean;
@@ -0,0 +1 @@
1
+ import{isArray as e}from"@salsita-ai/common/utils";import{phxDefinitionRefName as t}from"../schema-ref-resolver.js";let r=new Set(["white","black","red","green","blue","yellow","cyan","magenta"]),n=e=>e.startsWith("#");export const NAMED_STRINGS={DomainEntityId:{},HexColor:{acceptsLiteral:n},Color:{acceptsLiteral:e=>{let t;return n(e)||r.has(e)||e.startsWith("ral-")&&(t=e.slice(4)).trim()===t&&""!==t&&!Number.isNaN(Number(t))}}};let i={EnhancedLocalizable:"Localizable",EnhancedMessageDescriptor:"MessageDescriptor"},o=new Set(["PhoenixEntityElement","PhoenixLayoutElement"]),a=[{kind:"unknown"}],l="DomainEntityId";export const entityIdValueType=(e,t)=>[{kind:"string",named:{name:l,...void 0===e?{}:{entityTypes:new Set(t.entityTypes(e))}}}];export const literalValueType=e=>null===e?[{kind:"null"}]:"string"==typeof e?[{kind:"string",literal:e}]:"number"==typeof e?[{kind:"number",literal:e}]:"boolean"==typeof e?[{kind:"boolean",literal:e}]:Array.isArray(e)?[{kind:"array",element:e.flatMap(literalValueType)}]:"object"==typeof e?[{kind:"object",properties:new Map(Object.entries(e).map(([e,t])=>[e,{type:literalValueType(t),required:!0}]))}]:[{kind:"unknown"}];let s=(e,r)=>{let{$ref:n}=e;if(r.openRefs.has(n))return a;let i=new Set([...r.openRefs,n]),o=/^#\/definitions\/([^/]+)$/.exec(n)?.[1],s=void 0===o?void 0:r.resolution.definitions?.[o];if(s)return y(s,{...r,openRefs:i});let p=t(n);if(p===l)return entityIdValueType(e.references,r.resolution);let u=r.resolution.resolveRef(n);if(!u)return a;let d=void 0===p?r.resolution:{...r.resolution,author:"sdk",definitions:void 0};return void 0!==p&&void 0!==u.tsType&&/^\$?DomainEntity$/.test(u.tsType)?a:y(u,{resolution:d,openRefs:i})},p=(t,r,n)=>{switch(t){case"string":return[{kind:"string"}];case"number":case"integer":return[{kind:"number"}];case"boolean":return[{kind:"boolean"}];case"null":return[{kind:"null"}];case"array":return((t,r)=>{let{items:n}=t;return n?e(n)?a:[{kind:"array",element:y(n,r)}]:[{kind:"array",element:a}]})(r,n);case"object":let i="sdk"===n.resolution.author;if(i&&(!r.properties&&(void 0===r.additionalProperties||"object"==typeof r.additionalProperties&&0===Object.keys(r.additionalProperties).length)||r.properties&&0===Object.keys(r.properties).length))return a;if("object"==typeof r.additionalProperties)return[{kind:"object",index:y(r.additionalProperties,n)}];if(!r.properties)return[{kind:"object"}];let o=new Set(r.required??[]),l=new Map;for(let[e,t]of Object.entries(r.properties))l.set(e,{type:y(t,n),required:o.has(e)});return[{kind:"object",properties:l,...i?{open:!0}:{}}];default:return a}},u=["type","enum","const","$ref","anyOf","oneOf","allOf","properties","items","additionalProperties","tsType"],d=e=>u.some(t=>t in e),y=(t,r)=>{if(void 0!==t.tsType){if("project"===r.resolution.author||o.has(t.tsType))return a;let e=i[t.tsType];if(void 0!==e)return s({$ref:`phx:${e}`},r);let n=NAMED_STRINGS[t.tsType];if(n)return t.tsType===l?entityIdValueType(t.references,r.resolution):[{kind:"string",named:{name:t.tsType,...n}}]}if(void 0!==t.$ref)return s({...t,$ref:t.$ref},r);if(t.enum)return t.enum.flatMap(literalValueType);let n=t.const;if(void 0!==n)return literalValueType(n);let u=t.anyOf??t.oneOf;return u?u.flatMap(e=>y(e,r)):t.allOf?((e,t)=>{let[r,...n]=e.filter(d);return r&&0===n.length?y(r,t):a})(t.allOf,r):"string"==typeof t.type?p(t.type,t,r):e(t.type)?t.type.flatMap(e=>p(e,t,r)):a};export const ValueType=(e,t)=>y(e,{resolution:t,openRefs:new Set});export const hasUnknownMember=e=>e.some(e=>"unknown"===e.kind);
@@ -0,0 +1,13 @@
1
+ import type { ParseContext, SchemaPathSegment } from '../../../../core/index.js';
2
+ import type { ComponentReadBindingContext } from './read-binding.js';
3
+ type ComponentInstance = Pick<ComponentReadBindingContext, 'entityKey' | 'componentName' | 'instanceName'>;
4
+ /** Writes a path inside a component instance's props, such as `options[0].label`. */
5
+ export declare const formatComponentPropPath: (path: readonly SchemaPathSegment[]) => string;
6
+ /**
7
+ * Names a place in a component instance for a diagnostic: `Entity.component.instance`, followed by
8
+ * the path inside the instance (a prop path or a filter criterion) when there is one.
9
+ */
10
+ export declare const componentPath: (instance: ComponentInstance, path: readonly SchemaPathSegment[]) => string;
11
+ /** The parse context at a place in a component instance, so a diagnostic carries its spec path. */
12
+ export declare const componentParseContext: (parsingContext: ParseContext, instance: ComponentInstance, path: readonly SchemaPathSegment[]) => ParseContext;
13
+ export {};
@@ -0,0 +1 @@
1
+ export const formatComponentPropPath=t=>t.reduce((t,n)=>"number"==typeof n?`${t}[${n}]`:0===t.length?n:`${t}.${n}`,"");export const componentPath=(t,n)=>{let e=`${String(t.entityKey)}.${t.componentName}.${String(t.instanceName)}`;return 0===n.length?e:`${e}.${formatComponentPropPath(n)}`};export const componentParseContext=(t,n,e)=>t.at(String(n.entityKey),n.componentName,String(n.instanceName),...e.map(String));
@@ -1,2 +1,4 @@
1
+ export * from './component-path.js';
1
2
  export * from './read-binding.js';
3
+ export * from './read-binding-type.js';
2
4
  export * from './write-binding.js';
@@ -1 +1 @@
1
- export*from"./read-binding.js";export*from"./write-binding.js";
1
+ export*from"./component-path.js";export*from"./read-binding.js";export*from"./read-binding-type.js";export*from"./write-binding.js";
@@ -0,0 +1,24 @@
1
+ import type { SchemaPathSegment } from '../../../../core/index.js';
2
+ import { type ValueType, type ValueTypeResolution } from '../../common/index.js';
3
+ import { type ComponentReadBindingContext } from './read-binding.js';
4
+ /** What the type check of a read binding needs besides the binding's own context. */
5
+ export interface ReadBindingTypeContext extends ComponentReadBindingContext {
6
+ /** Resolves the refs of the entity's field schemas; the schemas are the project's. */
7
+ readonly typeResolution: Omit<ValueTypeResolution, 'author' | 'definitions'>;
8
+ }
9
+ /** A `$read` or `$bind` of a shape field and the place in the component where it is read. */
10
+ export interface ReadBindingTypeCheck {
11
+ readonly marker: '$read' | '$bind';
12
+ readonly target: string;
13
+ /** Where in the component the value goes: a prop path or a filter criterion, or empty for the whole state. */
14
+ readonly path: readonly SchemaPathSegment[];
15
+ /** The type the component expects there. */
16
+ readonly expected: ValueType;
17
+ }
18
+ /**
19
+ * Reports a `$read` or `$bind` of a shape field whose type does not fit the type the component
20
+ * expects where the value goes, which the type check of generated code rejects. An expression
21
+ * target is checked where the expression's type is settled; an unknown field is reported by
22
+ * {@link ComponentReadBinding}.
23
+ */
24
+ export declare const checkReadBindingType: (check: ReadBindingTypeCheck, context: ReadBindingTypeContext) => void;
@@ -0,0 +1 @@
1
+ import{DiagnosticCode as e,diagnosticMessages as t}from"../../../../errors/index.js";import{entityIdValueType as r,formatValueType as o,isAssignableValueType as i,ValueType as n}from"../../common/index.js";import{componentParseContext as p,componentPath as a}from"./component-path.js";import{isExpressionReadTarget as m}from"./read-binding.js";export const checkReadBindingType=(s,d)=>{if(m(s.target))return;let c=((e,t)=>{if("id"===e)return r(String(t.entityKey),t.typeResolution);let o=t.resolvedShape.fieldSchemas.get(e);return o&&n(o,{...t.typeResolution,author:"project"})})(s.target,d);!c||i(c,s.expected)||p(d.parsingContext,d,s.path).error(e.COMPONENT_BINDING_TYPE_MISMATCH,t.COMPONENT_BINDING_TYPE_MISMATCH(a(d,s.path),`${s.marker}: ${s.target}`,o(c),o(s.expected)))};
@@ -1,4 +1,5 @@
1
1
  import type { Branded } from '@salsita-ai/common/utils';
2
+ import type { SdkCodeRef } from '../../../core/index.js';
2
3
  import type { MemoEvalPlan, MemoEvalPlanInput } from '../expressions/memo-eval-plan.js';
3
4
  import type { EntityOrAliasName, InstanceName } from '../model/index.js';
4
5
  import type { ComponentReadBinding, ComponentWriteBinding } from './bindings/index.js';
@@ -46,15 +47,6 @@ interface UserBoundImplementation {
46
47
  readonly plan: MemoEvalPlan;
47
48
  readonly implementation: RootReadImplementation | CompositeImplementation;
48
49
  }
49
- /**
50
- * A parameter that should be emitted as an unquoted code reference in codegen
51
- * (e.g. an entity reflection variable like `Top`).
52
- * At runtime, the string value is resolved to the actual object (e.g. entity reflection).
53
- */
54
- export interface SdkCodeRef {
55
- readonly $codeRef: string;
56
- }
57
- export declare const isSdkCodeRef: (value: unknown) => value is SdkCodeRef;
58
50
  export type SdkFactoryParam = SdkCodeRef | string | number | boolean | null | readonly SdkFactoryParam[] | {
59
51
  readonly [key: string]: SdkFactoryParam;
60
52
  };
@@ -1 +1 @@
1
- export const isSdkCodeRef=e=>"object"==typeof e&&null!==e&&"$codeRef"in e&&"string"==typeof e.$codeRef;
1
+ export{};
@@ -1,58 +1,5 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
- import { type EnhancedJsonSchemaType, type EnhancedJsonValue } from '../../../core/index.js';
3
- /**
4
- * A single filter criterion — static value, dynamic `$read` reference, or
5
- * inline `$eval` expression evaluated against `self` at runtime.
6
- *
7
- * The `target` field on the `'dynamic'` variant is a bare name (matches the
8
- * same pattern as prop-level reads); codegen emits `self.target`, runtime
9
- * reads `self[target]`.
10
- */
11
- export type FilterCriterion<T> = {
12
- readonly kind: 'static';
13
- readonly value: T;
14
- } | {
15
- readonly kind: 'dynamic';
16
- readonly target: string;
17
- } | {
18
- readonly kind: 'eval';
19
- readonly code: string;
20
- };
21
- /**
22
- * Parsed component filter controlling when the component is active. Two
23
- * mutually-exclusive shapes:
24
- *
25
- * - `'gradual'` — zero or more per-criterion fields; compiles to one entry per
26
- * set key inside `.withGradualFilter({…})`. The preferred form.
27
- * - `'root'` — the entire filter is a single `$read` at the root (legacy
28
- * form `$filter: { $read: '$x' }`); compiles to `.withFilter(self => (self.target))`.
29
- * Distinct codegen because the SDK's `withFilter` and `withGradualFilter`
30
- * methods have different evaluation semantics (whole-closure vs per-key).
31
- *
32
- * See `components.md §"Simple expression filter"` / `§"Declarative filter"`.
33
- */
34
- export type ComponentFilter = {
35
- readonly kind: 'gradual';
36
- readonly navigationStates?: FilterCriterion<readonly string[]>;
37
- readonly viewStates?: FilterCriterion<readonly string[]>;
38
- readonly toolStates?: FilterCriterion<readonly string[]>;
39
- readonly exportStates?: FilterCriterion<readonly string[]>;
40
- readonly modes?: FilterCriterion<readonly string[]>;
41
- readonly roles?: FilterCriterion<readonly string[]>;
42
- readonly selectedEntityIds?: FilterCriterion<unknown>;
43
- readonly hoveredEntityIds?: FilterCriterion<unknown>;
44
- readonly draggedEntityIds?: FilterCriterion<unknown>;
45
- readonly exportedEntityIds?: FilterCriterion<unknown>;
46
- readonly active?: FilterCriterion<boolean>;
47
- readonly fullscreen?: FilterCriterion<boolean>;
48
- readonly debug?: FilterCriterion<boolean>;
49
- readonly viewports?: FilterCriterion<unknown>;
50
- } | {
51
- readonly kind: 'root';
52
- readonly target: string;
53
- };
54
- /** Criterion field names on the gradual variant — used for parse and iteration. */
55
- export declare const FILTER_CRITERION_KEYS: readonly ["navigationStates", "viewStates", "toolStates", "exportStates", "modes", "roles", "selectedEntityIds", "hoveredEntityIds", "draggedEntityIds", "exportedEntityIds", "active", "fullscreen", "debug", "viewports"];
2
+ import { type ComponentFilter, type EnhancedJsonSchemaType, type EnhancedJsonValue } from '../../../core/index.js';
56
3
  /**
57
4
  * Schema types for each filter criterion, used for expression inference.
58
5
  * When `$read: '$expr'` appears in a filter criterion, the expression is
@@ -1 +1 @@
1
- import{Branded as t}from"@salsita-ai/common/utils";import{FILTER_OR_KEY as e,READ_MARKER_KEY as r,isEnhancedJsonObject as i,isEvalMarker as s,isRawReadMarker as a}from"../../../core/index.js";export const FILTER_CRITERION_KEYS=["navigationStates","viewStates","toolStates","exportStates","modes","roles","selectedEntityIds","hoveredEntityIds","draggedEntityIds","exportedEntityIds","active","fullscreen","debug","viewports"];let o={tsType:"IdOrWithId | readonly IdOrWithId[]",import:[{module:"@salsita-ai/sdk/domain",member:"IdOrWithId"}]};export const FILTER_CRITERION_SCHEMAS={navigationStates:{type:"array",items:{type:"string"}},viewStates:{type:"array",items:{type:"string"}},toolStates:{type:"array",items:{type:"string"}},exportStates:{type:"array",items:{type:"string"}},modes:{type:"array",items:{type:"string"}},roles:{type:"array",items:{type:"string"}},selectedEntityIds:o,hoveredEntityIds:o,draggedEntityIds:o,exportedEntityIds:o,active:{type:"boolean"},fullscreen:{type:"boolean"},debug:{type:"boolean"},viewports:{type:"array",items:{type:"string"},tsType:"readonly Viewport[]",import:[{module:"@salsita-ai/sdk/domain",member:"Viewport"}]}};let n=new Set(FILTER_CRITERION_KEYS),d=t=>a(t)?{kind:"dynamic",target:t[r]}:s(t)?{kind:"eval",code:t.$eval}:{kind:"static",value:t},y=t=>{let e=t[r];if("string"==typeof e&&!Object.keys(t).some(t=>n.has(t)))return{kind:"root",target:e};let i={};for(let[e,r]of Object.entries(t))n.has(e)&&void 0!==r&&(i[e]=d(r));return{kind:"gradual",...i}};export const ComponentFilters=r=>{if(void 0===r||!i(r))return t({items:[]});let s=r[e];return Array.isArray(s)?t({items:s.filter(i).map(y)}):t({items:[y(r)]})};
1
+ import{Branded as t}from"@salsita-ai/common/utils";import{FILTER_CRITERION_KEYS as e,FILTER_OR_KEY as r,READ_MARKER_KEY as i,isEnhancedJsonObject as s,isEvalMarker as a,isRawReadMarker as o}from"../../../core/index.js";let n={tsType:"IdOrWithId | readonly IdOrWithId[]",import:[{module:"@salsita-ai/sdk/domain",member:"IdOrWithId"}]};export const FILTER_CRITERION_SCHEMAS={navigationStates:{type:"array",items:{type:"string"}},viewStates:{type:"array",items:{type:"string"}},toolStates:{type:"array",items:{type:"string"}},exportStates:{type:"array",items:{type:"string"}},modes:{type:"array",items:{type:"string"}},roles:{type:"array",items:{type:"string"}},selectedEntityIds:n,hoveredEntityIds:n,draggedEntityIds:n,exportedEntityIds:n,active:{type:"boolean"},fullscreen:{type:"boolean"},debug:{type:"boolean"},viewports:{type:"array",items:{type:"string"},tsType:"readonly Viewport[]",import:[{module:"@salsita-ai/sdk/domain",member:"Viewport"}]}};let y=new Set(e),d=t=>o(t)?{kind:"dynamic",target:t[i]}:a(t)?{kind:"eval",code:t.$eval}:{kind:"static",value:t},p=t=>{let e=t[i];if("string"==typeof e&&!Object.keys(t).some(t=>y.has(t)))return{kind:"root",target:e};let r={};for(let[e,i]of Object.entries(t))y.has(e)&&void 0!==i&&(r[e]=d(i));return{kind:"gradual",...r}};export const ComponentFilters=e=>{if(void 0===e||!s(e))return t({items:[]});let i=e[r];return Array.isArray(i)?t({items:i.filter(s).map(p)}):t({items:[p(e)]})};
@@ -0,0 +1,8 @@
1
+ import type { EnhancedJsonSchemaType } from '../../../core/index.js';
2
+ import { ValueType, type ValueTypeResolution } from '../common/index.js';
3
+ /**
4
+ * The type of a system component's state, read from its JSON schema. The schemas state the same
5
+ * types as the components' TypeScript state types, except that a brand or template literal is known
6
+ * only by the `tsType` that names it. Read once per component schema.
7
+ */
8
+ export declare const componentStateType: (componentSchema: EnhancedJsonSchemaType, resolution: Omit<ValueTypeResolution, 'author' | 'definitions'>) => ValueType;
@@ -0,0 +1 @@
1
+ import{ValueType as e}from"../common/index.js";let t=new WeakMap;export const componentStateType=(n,o)=>{let i=t.get(n);if(i)return i;let r=e(n,{...o,author:"sdk",definitions:n.definitions});return t.set(n,r),r};
@@ -0,0 +1,13 @@
1
+ import type { EnhancedJsonSchemaType, FILTER_CRITERION_KEYS } from '../../../core/index.js';
2
+ /**
3
+ * The type each filter criterion takes, as an SDK schema that states exactly the TypeScript type of
4
+ * `ComponentSystemFilterProps`: the modes, roles and viewports are their literal unions and the
5
+ * entity ids are `DomainEntityId`s. `FILTER_CRITERION_SCHEMAS`, which infers the type of an
6
+ * expression read in a criterion, is wider where the JSON schema of the filter is.
7
+ */
8
+ export declare const FILTER_CRITERION_TYPE_SCHEMAS: Readonly<Record<(typeof FILTER_CRITERION_KEYS)[number], EnhancedJsonSchemaType>>;
9
+ /**
10
+ * The type a root filter (`$filter: { $read: x }`) takes, `ComponentSystemFilter`: a boolean, or an
11
+ * object of the criteria other than the export ones.
12
+ */
13
+ export declare const ROOT_FILTER_TYPE_SCHEMA: EnhancedJsonSchemaType;
@@ -0,0 +1 @@
1
+ import{SessionRole as e}from"@salsita-ai/contracts/api";import{VIEWPORTS as t}from"#package/domain";let r={type:"string",tsType:"DomainEntityId"},a={anyOf:[r,{type:"object",properties:{id:r},required:["id"]}]},i={anyOf:[{type:"array",items:a},a]},s={type:"array",items:{type:"string"}},o={type:"boolean"};export const FILTER_CRITERION_TYPE_SCHEMAS={navigationStates:s,viewStates:s,toolStates:s,exportStates:s,modes:{type:"array",items:{enum:["owner","read","finalize"]}},roles:{type:"array",items:{enum:Object.values(e)}},selectedEntityIds:i,hoveredEntityIds:i,draggedEntityIds:i,exportedEntityIds:i,active:o,fullscreen:o,debug:o,viewports:{type:"array",items:{enum:[...t]}}};let n=new Set(["exportedEntityIds","exportStates"]),p=Object.fromEntries(Object.entries(FILTER_CRITERION_TYPE_SCHEMAS).filter(([e])=>!n.has(e)));export const ROOT_FILTER_TYPE_SCHEMA={anyOf:[o,{type:"object",properties:p}]};
@@ -1,5 +1,5 @@
1
1
  export * from './bindings/index.js';
2
- export * from './component-entry.js';
2
+ export type * from './component-entry.js';
3
3
  export * from './component-filter.js';
4
4
  export * from './component-prop-target.js';
5
5
  export * from './components.js';
@@ -1 +1 @@
1
- export*from"./bindings/index.js";export*from"./component-entry.js";export*from"./component-filter.js";export*from"./component-prop-target.js";export*from"./components.js";export*from"./sdk-component-entry.js";export*from"./user-component-entry.js";export*from"./user-components.js";
1
+ export*from"./bindings/index.js";export*from"./component-filter.js";export*from"./component-prop-target.js";export*from"./components.js";export*from"./sdk-component-entry.js";export*from"./user-component-entry.js";export*from"./user-components.js";
@@ -0,0 +1,14 @@
1
+ import type { SchemaPathSegment } from '../../../core/index.js';
2
+ import { type ValueType } from '../common/index.js';
3
+ import { type ComponentReadBindingContext } from './bindings/index.js';
4
+ /**
5
+ * Reports a value written in a component prop or filter where the component expects an entity id
6
+ * (`DomainEntityId`). The schema checks the id's form, but the id's type is branded, so the type
7
+ * check of generated code rejects any string written in YAML: the id has to be read from the
8
+ * domain state with `$read` or `$bind`.
9
+ *
10
+ * @param value - A primitive value written in the spec
11
+ * @param path - The prop path or filter criterion the value is written at
12
+ * @param expected - The type the component expects there
13
+ */
14
+ export declare const checkStaticEntityId: (value: string | number | boolean | null, path: readonly SchemaPathSegment[], expected: ValueType, context: Omit<ComponentReadBindingContext, 'resolvedShape'>) => void;
@@ -0,0 +1 @@
1
+ import{DiagnosticCode as i,diagnosticMessages as r}from"../../../errors/index.js";import{formatValueType as o,isAssignableValueType as n,literalValueType as t}from"../common/index.js";import{componentParseContext as e,componentPath as m}from"./bindings/index.js";export const checkStaticEntityId=(s,d,T,c)=>{!T.some(i=>"string"===i.kind&&void 0!==i.named&&void 0===i.named.acceptsLiteral)||n(t(s),T)||e(c.parsingContext,c,d).error(i.COMPONENT_STATIC_ENTITY_ID,r.COMPONENT_STATIC_ENTITY_ID(m(c,d),JSON.stringify(s),o(T)))};
@@ -1,4 +1,6 @@
1
1
  import { type EnhancedJsonObject, type ParseContext } from '../../../core/index.js';
2
+ import { type ValueTypeResolution } from '../common/index.js';
3
+ import type { ExpressionRead } from '../expressions/expression-read.js';
2
4
  import type { Expression } from '../expressions/expression.js';
3
5
  import type { EntityOrAliasName, InstanceName, ResolvedShape } from '../model/index.js';
4
6
  import type { ComponentEntry } from './component-entry.js';
@@ -11,10 +13,14 @@ interface UserComponentProps {
11
13
  interface UserComponentContext {
12
14
  readonly resolvedShape: ResolvedShape;
13
15
  readonly parsingContext: ParseContext;
16
+ /** Resolves the refs of field schemas and the entity types of a name, for the type checks. */
17
+ readonly typeResolution: Omit<ValueTypeResolution, 'author' | 'definitions'>;
14
18
  }
15
19
  export interface UserComponentResult {
16
20
  readonly entry: ComponentEntry;
17
21
  readonly inferredExpressions: readonly Expression[];
22
+ /** Every `$read` of an expression in the instance, with the type expected where it is read. */
23
+ readonly expressionReads: readonly ExpressionRead[];
18
24
  }
19
25
  /**
20
26
  * Creates a user-declared ComponentEntry from raw YAML props.
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{componentsByName as t}from"#package/domain";import{FILTER_KEY as n,READ_MARKER_KEY as r,isEvalMarker as i,isImportRefShaped as a,isRawBindMarker as o,isRawDataRefMarker as m,isRawEvalWriteMarker as p,isRawReadMarker as s,isRawReadWriteMarker as l,navigateSchema as d}from"../../../core/index.js";import{DiagnosticCode as f,diagnosticMessages as c}from"../../../errors/index.js";import{MemoEvalPlan as y}from"../expressions/memo-eval-plan.js";import{ComponentReadBinding as g,ComponentWriteBinding as u,isExpressionReadTarget as N}from"./bindings/index.js";import{ComponentFilters as $,FILTER_CRITERION_SCHEMAS as O}from"./component-filter.js";let S=e=>e.reduce((e,t)=>"number"==typeof t?`${e}[${t}]`:0===e.length?t:`${e}.${t}`,""),T=(e,t,n,r)=>{if(null==e||"object"!=typeof e)return e;if(s(e))return n.addReadBinding(e.$read,t),{$target:e.$read};if(m(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(f.COMPONENT_DATA_REF_UNSUPPORTED,c.COMPONENT_DATA_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),S(t),e.$read,e.$data));if(o(e))return n.addReadBinding(e.$bind,t),{$target:e.$bind};if(i(e))return e;if(a(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(f.COMPONENT_IMPORT_REF_UNSUPPORTED,c.COMPONENT_IMPORT_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),S(t),e.$importRef.module,e.$importRef.member));if(Array.isArray(e))return e.map((e,i)=>T(e,[...t,i],n,r)).filter(e=>void 0!==e);let p={};for(let[i,a]of Object.entries(e)){let e=T(a,[...t,i],n,r);void 0!==e&&(p[i]=e)}return p},A=(t,n,r)=>{for(let i of t.items)if("gradual"===i.kind){for(let[t,a]of Object.entries(i))if("kind"!==t&&a?.kind==="dynamic"&&a.target&&N(a.target)){let i=O[t];i&&r.push(e({entityKey:n,name:a.target,schema:i,implementation:{kind:"user"}}))}}};export const UserComponentEntry=(i,a)=>{let{implementation:m,inferredExpressions:s}=((i,a)=>{let m=t.get(i.componentName),s=m?.schema,O=new Set,S=[],P=[],E=[],R={entityKey:i.typeOrAlias,componentName:i.componentName,instanceName:i.instanceName,resolvedShape:a.resolvedShape,parsingContext:a.parsingContext},_={entityKey:i.typeOrAlias,componentName:i.componentName,instanceName:i.instanceName,resolvedShape:a.resolvedShape,parsingContext:a.parsingContext},h=(t,n)=>{if(!O.has(t)&&(O.add(t),S.push(g(t,R)),N(t)&&s)){let r=((t,n,r,i)=>{let{schema:a,lastDeclaredType:o,pathSinceDeclaredType:m}=d(r,n),p=n=>e({entityKey:i,name:t,schema:n,implementation:{kind:"user"}});if(void 0!==o){let e=m.map(e=>"number"==typeof e?"[number]":`['${e}']`).join("");return p({...a,tsType:`${o.tsType}${e}`,import:o.import})}if(Object.keys(a).length>0)return p(a)})(t,n,s,i.typeOrAlias);r&&E.push(r)}},b={addReadBinding:h},v=$(i.rawProps[n]),C=`${String(i.typeOrAlias)}.${String(i.instanceName)}`;if((e=>{if(!(r in e)||"string"!=typeof e[r])return!1;for(let t of Object.keys(e))if(t!==r&&t!==n)return!1;return!0})(i.rawProps)){let e=i.rawProps[r];return h(e,[]),A(v,i.typeOrAlias,E),{implementation:{kind:"userBound",filters:v,plan:y({$target:e},C),implementation:{kind:"rootRead",readBinding:S[0]}},inferredExpressions:E}}let k={};for(let[e,t]of Object.entries(i.rawProps)){if(e===n)continue;if(o(t)){P.push(u(e,t.$bind,_)),h(t.$bind,[e]),k[e]={$target:t.$bind};continue}if(l(t)){h(t.$read,[e]),P.push(u(e,t.$write,_)),k[e]={$target:t.$read};continue}if(p(t)){P.push(u(e,t.$write,_)),k[e]={$eval:t.$eval};continue}let r=T(t,[e],b,R);void 0!==r&&(k[e]=r)}let j=new Map;for(let e of P){let t=j.get(e.entityField);t?a.parsingContext.error(f.WRITE_BINDING_DUPLICATE_TARGET,c.WRITE_BINDING_DUPLICATE_TARGET(String(i.typeOrAlias),i.componentName,String(i.instanceName),e.entityField,t,e.propKey)):j.set(e.entityField,e.propKey)}return A(v,i.typeOrAlias,E),{implementation:{kind:"userBound",filters:v,plan:y(k,C),implementation:{kind:"composite",resolvedProps:k,readBindings:S,writeBindings:P}},inferredExpressions:E}})(i,a);return{entry:e({typeOrAlias:i.typeOrAlias,instanceName:i.instanceName,isAlias:"alias"===a.resolvedShape.kind,componentName:i.componentName,implementation:m}),inferredExpressions:s}};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{componentsByName as t}from"#package/domain";import{FILTER_CRITERION_KEYS as n,FILTER_KEY as r,FILTER_OR_KEY as i,READ_MARKER_KEY as o,isEnhancedJsonObject as a,isEvalMarker as m,isImportRefShaped as p,isRawBindMarker as s,isRawDataRefMarker as l,isRawEvalWriteMarker as d,isRawReadMarker as c,isRawReadWriteMarker as f,navigateSchema as y}from"../../../core/index.js";import{DiagnosticCode as u,diagnosticMessages as g}from"../../../errors/index.js";import{ValueType as N,valueTypeAt as $}from"../common/index.js";import{MemoEvalPlan as O}from"../expressions/memo-eval-plan.js";import{ComponentReadBinding as S,ComponentWriteBinding as A,checkReadBindingType as k,componentPath as R,formatComponentPropPath as T,isExpressionReadTarget as b}from"./bindings/index.js";import{ComponentFilters as h,FILTER_CRITERION_SCHEMAS as P}from"./component-filter.js";import{componentStateType as E}from"./component-state-type.js";import{FILTER_CRITERION_TYPE_SCHEMAS as j,ROOT_FILTER_TYPE_SCHEMA as v}from"./filter-criterion-types.js";import{checkStaticEntityId as _}from"./static-entity-id.js";let x=(e,t,n,r)=>{if(null==e||"object"!=typeof e)return void 0!==e&&n.checkStaticValue(e,t),e;if(c(e))return n.addReadBinding(e.$read,t,"$read"),{$target:e.$read};if(l(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(u.COMPONENT_DATA_REF_UNSUPPORTED,g.COMPONENT_DATA_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),T(t),e.$read,e.$data));if(s(e))return n.addReadBinding(e.$bind,t,"$bind"),{$target:e.$bind};if(m(e))return e;if(p(e))return void r.parsingContext.at(String(r.entityKey),r.componentName,String(r.instanceName),...t.map(String)).error(u.COMPONENT_IMPORT_REF_UNSUPPORTED,g.COMPONENT_IMPORT_REF_UNSUPPORTED(String(r.entityKey),r.componentName,String(r.instanceName),T(t),e.$importRef.module,e.$importRef.member));if(Array.isArray(e))return e.map((e,i)=>x(e,[...t,i],n,r)).filter(e=>void 0!==e);let i={};for(let[o,a]of Object.entries(e)){let e=x(a,[...t,o],n,r);void 0!==e&&(i[o]=e)}return i},C=(t,n,r)=>{for(let i of t.items)if("gradual"===i.kind){for(let[t,o]of Object.entries(i))if("kind"!==t&&o?.kind==="dynamic"&&o.target&&b(o.target)){let i=P[t];i&&r.push(e({entityKey:n,name:o.target,schema:i,implementation:{kind:"user"}}))}}},U=(e,t,n,r)=>{if("string"==typeof e||"number"==typeof e||"boolean"==typeof e||null===e)return void _(e,t,n,r);if("object"==typeof e)for(let[i,o]of Object.entries(e)){let a=Array.isArray(e)?Number(i):i;U(o,[...t,a],$(n,[a]),r)}};export const UserComponentEntry=(m,p)=>{let{implementation:l,inferredExpressions:c,expressionReads:T}=((m,p)=>{let l,c=t.get(m.componentName),T=c?.schema,P=new Set,w=[],D=[],I=[],K={entityKey:m.typeOrAlias,componentName:m.componentName,instanceName:m.instanceName,resolvedShape:p.resolvedShape,parsingContext:p.parsingContext},B={entityKey:m.typeOrAlias,componentName:m.componentName,instanceName:m.instanceName,resolvedShape:p.resolvedShape,parsingContext:p.parsingContext},F={...K,typeResolution:p.typeResolution},M=e=>T?$(l??=E(T,p.typeResolution),e):[{kind:"unknown"}],G=[],V=e=>{b(e.target)?G.push({entityKey:m.typeOrAlias,name:e.target,expected:e.expected,location:R(K,e.path)}):k(e,F)},L=(t,n,r)=>{if(V({marker:r,target:t,path:n,expected:M(n)}),!P.has(t)&&(P.add(t),w.push(S(t,K)),b(t)&&T)){let r=((t,n,r,i)=>{let{schema:o,lastDeclaredType:a,pathSinceDeclaredType:m}=y(r,n),p=n=>e({entityKey:i,name:t,schema:n,implementation:{kind:"user"}});if(void 0!==a){let e=m.map(e=>"number"==typeof e?"[number]":`['${e}']`).join("");return p({...o,tsType:`${a.tsType}${e}`,import:a.import})}if(Object.keys(o).length>0)return p(o)})(t,n,T,m.typeOrAlias);r&&I.push(r)}},W={addReadBinding:L,checkStaticValue:(e,t)=>_(e,t,M(t),K)},q=h(m.rawProps[r]);((e,t,o,m)=>{let p=e=>N(e,{...o.typeResolution,author:"sdk"}),s=void 0!==e&&a(e)&&Array.isArray(e[i]);for(let[e,a]of t.items.entries()){let t=s?[r,i,e]:[r];if("root"===a.kind){m({marker:"$read",target:a.target,path:t,expected:p(v)});continue}for(let e of n){let n=a[e],r=[...t,e],i=p(j[e]);n?.kind==="dynamic"?m({marker:"$read",target:n.target,path:r,expected:i}):n?.kind==="static"&&U(n.value,r,i,o)}}})(m.rawProps[r],q,F,V);let z=`${String(m.typeOrAlias)}.${String(m.instanceName)}`;if((e=>{if(!(o in e)||"string"!=typeof e[o])return!1;for(let t of Object.keys(e))if(t!==o&&t!==r)return!1;return!0})(m.rawProps)){let e=m.rawProps[o];return L(e,[],"$read"),C(q,m.typeOrAlias,I),{implementation:{kind:"userBound",filters:q,plan:O({$target:e},z),implementation:{kind:"rootRead",readBinding:w[0]}},inferredExpressions:I,expressionReads:G}}let H={};for(let[e,t]of Object.entries(m.rawProps)){if(e===r)continue;if(s(t)){D.push(A(e,t.$bind,B)),L(t.$bind,[e],"$bind"),H[e]={$target:t.$bind};continue}if(f(t)){L(t.$read,[e],"$read"),D.push(A(e,t.$write,B)),H[e]={$target:t.$read};continue}if(d(t)){D.push(A(e,t.$write,B)),H[e]={$eval:t.$eval};continue}let n=x(t,[e],W,K);void 0!==n&&(H[e]=n)}let J=new Map;for(let e of D){let t=J.get(e.entityField);t?p.parsingContext.error(u.WRITE_BINDING_DUPLICATE_TARGET,g.WRITE_BINDING_DUPLICATE_TARGET(String(m.typeOrAlias),m.componentName,String(m.instanceName),e.entityField,t,e.propKey)):J.set(e.entityField,e.propKey)}return C(q,m.typeOrAlias,I),{implementation:{kind:"userBound",filters:q,plan:O(H,z),implementation:{kind:"composite",resolvedProps:H,readBindings:w,writeBindings:D}},inferredExpressions:I,expressionReads:G}})(m,p);return{entry:e({typeOrAlias:m.typeOrAlias,instanceName:m.instanceName,isAlias:"alias"===p.resolvedShape.kind,componentName:m.componentName,implementation:l}),inferredExpressions:c,expressionReads:T}};
@@ -1,19 +1,22 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
- import type { ParseContext } from '../../../core/index.js';
2
+ import type { ParseContext, PhoenixDefinitions } from '../../../core/index.js';
3
3
  import type { MergedComponents } from '../../merge/index.js';
4
+ import type { ExpressionRead } from '../expressions/expression-read.js';
4
5
  import type { Expression } from '../expressions/expression.js';
5
- import type { ResolvedShapes } from '../model/index.js';
6
+ import type { ModelVersion } from '../model/index.js';
6
7
  import type { ComponentEntry } from './component-entry.js';
7
8
  /** User-declared component entries, flattened from the nested merge map. */
8
9
  export type UserComponents = Branded<'UserComponents', readonly ComponentEntry[]>;
9
10
  interface UserComponentsContext {
10
- readonly allNames: ReadonlySet<string>;
11
- readonly resolvedShapes: ResolvedShapes;
11
+ readonly latestModel: ModelVersion;
12
+ readonly phxDefinitions: PhoenixDefinitions;
12
13
  readonly parsingContext: ParseContext;
13
14
  }
14
15
  interface UserComponentsResult {
15
16
  readonly components: UserComponents;
16
17
  readonly expressions: readonly Expression[];
18
+ /** Every `$read` of an expression in a component, with the type expected where it is read. */
19
+ readonly expressionReads: readonly ExpressionRead[];
17
20
  }
18
21
  /**
19
22
  * Flattens the nested merge map into a flat list of ComponentEntry objects.
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as r,diagnosticMessages as t}from"../../../errors/index.js";import{InstanceName as o,getResolvedShape as n}from"../model/index.js";import{UserComponentEntry as s}from"./user-component-entry.js";export const UserComponents=(i,p)=>{let{allNames:m,parsingContext:f}=p,l=[],N=[],O=[...m];for(let[e,c]of Object.entries(i)){if(!m.has(e)){f.error(r.COMPONENT_UNKNOWN_ENTITY_KEY,t.COMPONENT_UNKNOWN_ENTITY_KEY(e,O));continue}let i=n(p.resolvedShapes,e);for(let[r,t]of Object.entries(c))for(let[n,p]of Object.entries(t)){let t=o(n,e,r,f);if(!t)continue;let m=s({typeOrAlias:e,instanceName:t,componentName:r,rawProps:p},{resolvedShape:i,parsingContext:f});l.push(m.entry),N.push(...m.inferredExpressions)}}return{components:e(l),expressions:N}};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as o,diagnosticMessages as r}from"../../../errors/index.js";import{InstanceName as t,ModelTypeResolution as s,getResolvedShape as n}from"../model/index.js";import{UserComponentEntry as i}from"./user-component-entry.js";export const UserComponents=(p,m)=>{let{latestModel:f,parsingContext:l}=m,N=f.allNames,a=s(f,m.phxDefinitions),O=[],c=[],u=[],x=[...N];for(let[e,s]of Object.entries(p)){if(!N.has(e)){l.error(o.COMPONENT_UNKNOWN_ENTITY_KEY,r.COMPONENT_UNKNOWN_ENTITY_KEY(e,x));continue}let p=n(f.resolvedShapes,e);for(let[o,r]of Object.entries(s))for(let[s,n]of Object.entries(r)){let r=t(s,e,o,l);if(!r)continue;let m=i({typeOrAlias:e,instanceName:r,componentName:o,rawProps:n},{resolvedShape:p,parsingContext:l,typeResolution:a});O.push(m.entry),c.push(...m.inferredExpressions),u.push(...m.expressionReads)}}return{components:e(O),expressions:c,expressionReads:u}};
@@ -0,0 +1,24 @@
1
+ import type { ParseContext } from '../../../core/index.js';
2
+ import type { EntityOrAliasName, ExpressionName, ModelTypeResolution } from '../model/index.js';
3
+ import type { ExpressionRead } from './expression-read.js';
4
+ import type { Expression } from './expression.js';
5
+ /** Where an expression is declared: the spec section and the entity or alias under it. */
6
+ export interface ExpressionLocation {
7
+ readonly section: string;
8
+ readonly entityKey: EntityOrAliasName;
9
+ }
10
+ interface ExpressionReadTypesInput {
11
+ readonly userExpressions: readonly Expression[];
12
+ readonly expressionReads: readonly ExpressionRead[];
13
+ /** Finds where a read expression is declared, which is where a conflict is reported. */
14
+ readonly locateDeclaration: (entityKey: EntityOrAliasName, name: ExpressionName) => ExpressionLocation;
15
+ }
16
+ /**
17
+ * Reports an expression whose declared type and the types its `$read`s expect have no value in
18
+ * common, or whose `$read`s expect types that have none: generated code types the expression by
19
+ * the intersection of them all, which no value can be, so the implementation cannot type-check.
20
+ * A type given as `tsType` text is not read, and never reported. Relation and invariant
21
+ * expressions state their types only as `tsType`, so only a conflict among their reads is reported.
22
+ */
23
+ export declare const checkExpressionReadTypes: ({ userExpressions, expressionReads, locateDeclaration }: ExpressionReadTypesInput, typeResolution: ModelTypeResolution, ctx: ParseContext) => void;
24
+ export {};
@@ -0,0 +1 @@
1
+ import{DiagnosticCode as e,diagnosticMessages as t}from"../../../errors/index.js";import{ValueType as r,formatValueType as n,intersectValueTypes as o}from"../common/index.js";export const checkExpressionReadTypes=({userExpressions:i,expressionReads:a,locateDeclaration:c},d,l)=>{let s=new Map,m=(e,t)=>{let r=`${String(e)}\0${String(t)}`,n=s.get(r);return n||(n={entityKey:e,name:t,reads:[]},s.set(r,n)),n};for(let e of i)e.declaredSchema&&(m(e.entityKey,e.name).declared=r(e.declaredSchema,{...d,author:"project"}));for(let e of a)m(e.entityKey,e.name).reads.push(e);for(let{entityKey:r,name:i,declared:a,reads:d}of s.values()){let[s,...m]=[...a?[a]:[],...d.map(e=>e.expected)];if(!s||m.reduce(o,s).length>0)continue;let p=c(r,i);l.at(p.section,String(p.entityKey),String(i)).error(e.EXPRESSION_READ_TYPE_CONFLICT,t.EXPRESSION_READ_TYPE_CONFLICT(String(p.entityKey),String(i),a&&n(a),d.map(e=>`${n(e.expected)} at "${e.location}"`)))}};
@@ -0,0 +1,13 @@
1
+ import type { ValueType } from '../common/index.js';
2
+ import type { EntityOrAliasName, ExpressionName } from '../model/index.js';
3
+ /**
4
+ * A `$read` of an expression in a component, with the type the component expects where the value
5
+ * goes: a prop, the whole state, a filter criterion or the whole filter.
6
+ */
7
+ export interface ExpressionRead {
8
+ readonly entityKey: EntityOrAliasName;
9
+ readonly name: ExpressionName;
10
+ readonly expected: ValueType;
11
+ /** The place of the read, such as `Hole.detail.main.title`. */
12
+ readonly location: string;
13
+ }
@@ -0,0 +1,9 @@
1
+ import { type EnhancedJsonValue } from '../../../core/index.js';
2
+ import { ValueType } from '../common/index.js';
3
+ import type { ModelTypeResolution } from '../model/index.js';
4
+ /**
5
+ * The type generated code gives the inline value of an expression that declares a schema: a `$msg`
6
+ * compiles to a lingui `MessageDescriptor`. The only other such value is an `$eval`, which is code
7
+ * whose type is not read; constants never declare a schema.
8
+ */
9
+ export declare const expressionValueType: (value: EnhancedJsonValue, resolution: ModelTypeResolution) => ValueType;
@@ -0,0 +1 @@
1
+ import{isMsgMarker as e}from"../../../core/index.js";import{ValueType as o}from"../common/index.js";let r=[{kind:"unknown"}];export const expressionValueType=(n,s)=>e(n)?o({$ref:"phx:MessageDescriptor"},{...s,author:"sdk"}):r;
@@ -1,32 +1,7 @@
1
1
  import type { Branded } from '@salsita-ai/common/utils';
2
- import type { EnhancedJsonSchemaType, EnhancedJsonValue } from '../../../core/index.js';
2
+ import type { EnhancedJsonSchemaType, EnhancedJsonValue, SdkExpressionImplementation } from '../../../core/index.js';
3
3
  import type { EntityOrAliasName, ExpressionName } from '../model/index.js';
4
4
  import type { MemoEvalPlan } from './memo-eval-plan.js';
5
- /**
6
- * The relation factory's single positional param: the relation's kind, the entity type or alias it
7
- * points to and its cardinality, plus the id field for `direct` and `indirect` relations. The
8
- * assistant schema reads `target` and `cardinality` to type a relation edge.
9
- */
10
- export interface RelationExpressionParams {
11
- readonly kind: 'direct' | 'indirect' | 'allOfType';
12
- readonly target: string;
13
- readonly cardinality: '0-1' | '1-1' | '0-N' | '1-N';
14
- readonly field?: string;
15
- }
16
- /**
17
- * An expression implementation built by an SDK factory at runtime. The kind is the
18
- * semantic source of the expression, declared by the section that generated it —
19
- * codegen and runtime dispatch on it instead of inspecting factory-function names.
20
- * - `relation`: generated from a `relations:` declaration
21
- * - `violations`: generated from `invariants:` declarations (the `$violations` expression)
22
- */
23
- export type SdkExpressionImplementation = {
24
- readonly kind: 'relation';
25
- readonly params: readonly [RelationExpressionParams];
26
- } | {
27
- readonly kind: 'violations';
28
- readonly params: readonly unknown[];
29
- };
30
5
  /**
31
6
  * How an expression's runtime implementation is provided.
32
7
  * - `user`: implementation from `src/expressions/*.ts` (dynamic import)
@@ -47,8 +22,6 @@ export type ExpressionImplementation = {
47
22
  readonly value: EnhancedJsonValue;
48
23
  readonly plan: MemoEvalPlan;
49
24
  };
50
- /** Narrows to implementations that are built by an SDK expression factory at runtime. */
51
- export declare const isSdkExpressionImplementation: (implementation: ExpressionImplementation) => implementation is SdkExpressionImplementation;
52
25
  /** A single parsed expression declaration. */
53
26
  export type Expression = Branded<'Expression', {
54
27
  readonly entityKey: EntityOrAliasName;
@@ -1 +1 @@
1
- export const isSdkExpressionImplementation=i=>"relation"===i.kind||"violations"===i.kind;
1
+ export{};
@@ -1,8 +1,9 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
- import { type EvalExpressionParser, type ParseContext } from '../../../core/index.js';
2
+ import { type EvalExpressionParser, type ParseContext, type PhoenixDefinitions } from '../../../core/index.js';
3
3
  import type { MergedExpressions } from '../../merge/index.js';
4
- import type { Aliases, EntityOrAliasName, EntityTypeName, ExpressionName, ModelVersion } from '../model/index.js';
5
- import { type Expression } from './expression.js';
4
+ import { type Aliases, type EntityOrAliasName, type EntityTypeName, type ExpressionName, type ModelVersion } from '../model/index.js';
5
+ import type { ExpressionRead } from './expression-read.js';
6
+ import type { Expression } from './expression.js';
6
7
  import type { MemoEvalPlan } from './memo-eval-plan.js';
7
8
  export type { Expression, ExpressionImplementation } from './expression.js';
8
9
  /**
@@ -31,12 +32,15 @@ export type Expressions = Branded<'Expressions', {
31
32
  interface ExpressionsProps {
32
33
  readonly rawExpressions: MergedExpressions;
33
34
  readonly inferredExpressions: readonly Expression[];
35
+ /** The `$read`s of expressions in components, whose expected types the expressions must share. */
36
+ readonly expressionReads: readonly ExpressionRead[];
34
37
  }
35
38
  interface ExpressionsContext {
36
39
  readonly latestModel: ModelVersion;
37
40
  readonly aliases: Aliases;
38
41
  readonly entityTypes: readonly EntityTypeName[];
39
42
  readonly evalExpressionParser: EvalExpressionParser;
43
+ readonly phxDefinitions: PhoenixDefinitions;
40
44
  readonly parsingContext: ParseContext;
41
45
  }
42
46
  /**
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{intersectSchemas as t}from"../../../core/index.js";import{DiagnosticCode as n,diagnosticMessages as o}from"../../../errors/index.js";import{isSdkExpressionImplementation as i}from"./expression.js";import{UserExpressions as r}from"./user-expressions.js";let s=(e,t)=>{let n=e.get(t.entityKey);n||(n=new Map,e.set(t.entityKey,n)),n.set(t.name,t)},a=(n,o)=>{let i=n.get(o.entityKey);i||(i=new Map,n.set(o.entityKey,i));let r=i.get(o.name);r?i.set(o.name,e({...r,schema:t(r.schema,o.schema),...r.declaredSchema||!o.declaredSchema?{}:{declaredSchema:o.declaredSchema}})):i.set(o.name,o)},l=e=>"relation"===e.implementation.kind?"relations":"violations"===e.implementation.kind?"invariants":"expressions";export const Expressions=(t,m)=>{let{rawExpressions:f,inferredExpressions:p}=t,{latestModel:c,aliases:d,entityTypes:y,evalExpressionParser:u,parsingContext:g}=m,x=r(f,{latestModel:c,evalExpressionParser:u,parsingContext:g});if(void 0===x)return;let S=new Map;for(let e of x)s(S,e);for(let e of p)a(S,e);let h=((e,t)=>{let n=new Map,o=e=>{let t=n.get(e.entityKey);t||(t=new Set,n.set(e.entityKey,t)),t.add(e.name)};for(let t of e)o(t);for(let e of t)i(e.implementation)&&o(e);return n})(x,p),w=new Map;for(let e of x){let{implementation:t}=e;if("value"!==t.kind||!t.constant||t.plan.usesSelf)continue;let n=w.get(e.entityKey);n||(n=new Map,w.set(e.entityKey,n)),n.set(e.name,t.plan)}let K=new Map;for(let t of y){let i=[],r=new Map,s=e=>{let s=S.get(e);if(!s||0===s.size)return;i.push(e);let a=h.get(e);for(let[i,m]of s){if(!a?.has(i))continue;let s=r.get(i);if(s){g.at(l(m),e,i).error(n.DUPLICATE_EXPRESSION,o.DUPLICATE_EXPRESSION(t,i,s,e));continue}r.set(i,e)}};for(let[e,n]of d)n.includes(t)&&s(e);s(t),K.set(t,e({shapeGroups:i}))}return e({expressions:S,entityExpressions:K,constants:w})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{intersectSchemas as t,isSdkExpressionImplementation as n}from"../../../core/index.js";import{DiagnosticCode as o,diagnosticMessages as i}from"../../../errors/index.js";import{ModelTypeResolution as r}from"../model/index.js";import{checkExpressionReadTypes as s}from"./expression-read-types.js";import{UserExpressions as a}from"./user-expressions.js";let l=(e,t)=>{let n=e.get(t.entityKey);n||(n=new Map,e.set(t.entityKey,n)),n.set(t.name,t)},m=(n,o)=>{let i=n.get(o.entityKey);i||(i=new Map,n.set(o.entityKey,i));let r=i.get(o.name);r?i.set(o.name,e({...r,schema:t(r.schema,o.schema),...r.declaredSchema||!o.declaredSchema?{}:{declaredSchema:o.declaredSchema}})):i.set(o.name,o)},f=e=>"relation"===e.implementation.kind?"relations":"violations"===e.implementation.kind?"invariants":"expressions";export const Expressions=(t,p)=>{let{rawExpressions:c,inferredExpressions:d,expressionReads:y}=t,{latestModel:u,aliases:g,entityTypes:x,evalExpressionParser:h,parsingContext:S}=p,w=r(u,p.phxDefinitions),K=a(c,{latestModel:u,evalExpressionParser:h,typeResolution:w,parsingContext:S});if(void 0===K)return;let M=new Map;for(let e of K)l(M,e);for(let e of d)m(M,e);let E=((e,t)=>{let o=new Map,i=e=>{let t=o.get(e.entityKey);t||(t=new Set,o.set(e.entityKey,t)),t.add(e.name)};for(let t of e)i(t);for(let e of t)n(e.implementation)&&i(e);return o})(K,d);s({userExpressions:K,expressionReads:y,locateDeclaration:(e,t)=>{for(let n of[e,...[...g].filter(([,t])=>t.some(t=>t===e)).map(([e])=>e)]){let e=E.get(n)?.has(t)?M.get(n)?.get(t):void 0;if(e)return{section:f(e),entityKey:n}}return{section:"expressions",entityKey:e}}},w,S);let j=new Map;for(let e of K){let{implementation:t}=e;if("value"!==t.kind||!t.constant||t.plan.usesSelf)continue;let n=j.get(e.entityKey);n||(n=new Map,j.set(e.entityKey,n)),n.set(e.name,t.plan)}let v=new Map;for(let t of x){let n=[],r=new Map,s=e=>{let s=M.get(e);if(!s||0===s.size)return;n.push(e);let a=E.get(e);for(let[n,l]of s){if(!a?.has(n))continue;let s=r.get(n);if(s){S.at(f(l),e,n).error(o.DUPLICATE_EXPRESSION,i.DUPLICATE_EXPRESSION(t,n,s,e));continue}r.set(n,e)}};for(let[e,n]of g)n.includes(t)&&s(e);s(t),v.set(t,e({shapeGroups:n}))}return e({expressions:M,entityExpressions:v,constants:j})};
@@ -1,5 +1,4 @@
1
1
  export type * from './expression.js';
2
- export { isSdkExpressionImplementation } from './expression.js';
3
2
  export * from './expressions.js';
4
3
  export * from './memo-eval-plan.js';
5
4
  export * from './user-expressions.js';
@@ -1 +1 @@
1
- export{isSdkExpressionImplementation}from"./expression.js";export*from"./expressions.js";export*from"./memo-eval-plan.js";export*from"./user-expressions.js";
1
+ export*from"./expressions.js";export*from"./memo-eval-plan.js";export*from"./user-expressions.js";