@salsita-ai/sdk 0.50.0-develop.dfac20c66b → 0.50.0-develop.e33c8d8711

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 (1469) hide show
  1. package/README.md +14 -13
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/enhanced-json/eval-to-constant.d.ts +14 -0
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +12 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +15 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  39. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  40. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  41. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  42. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  43. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  44. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  45. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +17 -5
  46. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  47. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  48. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  49. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  50. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  51. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  52. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  53. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  54. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  55. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  56. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  57. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  58. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  59. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  63. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  64. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  65. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  66. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  67. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  68. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  69. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  72. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  73. package/dist/application-spec/generate-application/code/templates/domain.js +5 -5
  74. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  75. package/dist/application-spec/generate-application/code/templates/gitignore.js +1 -2
  76. package/dist/application-spec/generate-application/code/templates/globals.js +3 -3
  77. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -8
  78. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  79. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  81. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +93 -41
  84. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +1 -1
  85. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +10 -4
  86. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  87. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  89. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +49 -16
  90. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -7
  91. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  92. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  93. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  94. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  95. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  96. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  97. package/dist/application-spec/generate-application/index.d.ts +2 -0
  98. package/dist/application-spec/generate-application/index.js +1 -1
  99. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +6 -2
  100. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  101. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -3
  102. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  103. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +5 -3
  104. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  105. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  106. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  107. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  108. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  109. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  110. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  111. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  112. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  113. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  114. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  115. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  116. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  117. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  118. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  119. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  120. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  121. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  122. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  123. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  124. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  125. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  126. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  127. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  128. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  129. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  130. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +4 -0
  131. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  132. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  133. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  134. package/dist/application-spec/index.d.ts +1 -0
  135. package/dist/application-spec/index.js +1 -1
  136. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +16 -0
  137. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  138. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  139. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  140. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  141. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  142. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  143. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  144. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  145. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  146. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  147. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  148. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  149. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  150. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  151. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  152. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +4 -0
  153. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  154. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  155. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  156. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  157. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  158. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  159. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  160. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  161. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  162. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  163. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  164. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  165. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  166. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  167. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  168. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  169. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  170. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  171. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  172. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  173. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  174. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  175. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  176. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  177. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  178. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +3 -0
  179. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  180. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +4 -4
  181. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  182. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  183. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  184. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  185. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  186. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  187. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  188. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  189. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  190. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  191. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  192. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  193. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  194. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  195. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  196. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  197. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  198. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  199. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  200. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  201. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  202. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  203. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  204. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  205. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  206. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  207. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  208. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  209. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  210. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  211. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  212. package/dist/client/authorized-client.d.ts +3 -1
  213. package/dist/client/authorized-client.js +1 -1
  214. package/dist/client/contract.d.ts +34 -0
  215. package/dist/client/contract.js +1 -1
  216. package/dist/client/index.d.ts +2 -2
  217. package/dist/client/index.js +1 -1
  218. package/dist/client/local-authorized-client.d.ts +3 -1
  219. package/dist/client/local-authorized-client.js +1 -1
  220. package/dist/client/memory-authorized-client.d.ts +3 -1
  221. package/dist/client/memory-authorized-client.js +1 -1
  222. package/dist/client/phoenix-api.d.ts +761 -57
  223. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  224. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  225. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  226. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +276 -13
  227. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  228. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  229. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  230. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +14 -3
  231. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  232. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  233. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  234. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  235. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +36 -5
  236. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  237. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  238. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  239. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  240. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  241. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  242. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +4 -2
  243. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  244. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  245. package/dist/configurator/common/configurator-interface.js +1 -1
  246. package/dist/configurator/common/frontend-analytics.d.ts +23 -21
  247. package/dist/configurator/common/frontend-analytics.js +1 -1
  248. package/dist/configurator/common/index.d.ts +2 -0
  249. package/dist/configurator/common/index.js +1 -1
  250. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  251. package/dist/configurator/common/use-finalize-action.js +1 -0
  252. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  253. package/dist/configurator/common/use-reset-camera.js +1 -0
  254. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  255. package/dist/configurator/index.d.ts +0 -1
  256. package/dist/configurator/index.js +1 -1
  257. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  258. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  259. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  260. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  261. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  262. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -0
  263. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  264. package/dist/configurator/pages/index.d.ts +1 -0
  265. package/dist/configurator/pages/index.js +1 -1
  266. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  267. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  268. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  269. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  270. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  271. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  272. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  273. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  274. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  275. package/dist/configurator/ui/assistant/AssistantChips.d.ts +17 -0
  276. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  277. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  278. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  279. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +12 -0
  280. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  281. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  282. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  283. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  284. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  285. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  286. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  287. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  288. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  289. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  290. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  291. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  292. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  293. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  294. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  295. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  296. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  297. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  298. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  299. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  300. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  301. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  302. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  303. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  304. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  305. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  306. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  307. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  308. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  309. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  310. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  311. package/dist/configurator/ui/assistant/form/index.js +1 -0
  312. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  313. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  314. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  315. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  316. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  317. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  318. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  319. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  320. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  321. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  322. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  323. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  324. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  325. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  326. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  327. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  328. package/dist/configurator/ui/assistant/index.js +1 -0
  329. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +8 -0
  330. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  331. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  332. package/dist/configurator/ui/assistant/theme.js +1 -0
  333. package/dist/configurator/ui/assistant/thread-items.d.ts +55 -0
  334. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  335. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  336. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  337. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  338. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  339. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  340. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  341. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  342. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  343. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  344. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  345. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  346. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  347. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  348. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  349. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  350. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  351. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  352. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  353. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  354. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  355. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  356. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  357. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  358. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  359. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +3 -3
  360. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  361. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  362. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  363. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  364. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  365. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  366. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  367. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  368. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  369. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  370. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  371. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  372. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  373. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  374. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  375. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  376. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  377. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  378. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  379. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  380. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  381. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  382. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  383. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  384. package/dist/docs/index.json +42 -1
  385. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  386. package/dist/docs/layouts/custom-layout.mdx +2125 -0
  387. package/dist/docs/layouts/custom-price.mdx +14 -16
  388. package/dist/docs/layouts/header/fixed.mdx +2 -2
  389. package/dist/docs/layouts/header/floating.mdx +2 -2
  390. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  391. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  392. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  393. package/dist/docs/layouts/toolbar.mdx +6 -0
  394. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  395. package/dist/docs/other-features/domain-actions.mdx +1 -1
  396. package/dist/docs/other-features/side-effects.mdx +76 -45
  397. package/dist/docs/other-features/transformers.mdx +5 -1
  398. package/dist/docs/other-features/violation-messages.mdx +52 -56
  399. package/dist/docs/phoenix/admin.mdx +9 -24
  400. package/dist/docs/phoenix/application-states.mdx +9 -7
  401. package/dist/docs/phoenix/components.mdx +6 -0
  402. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  403. package/dist/docs/phoenix/deployments.mdx +3 -7
  404. package/dist/docs/phoenix/domain-model.mdx +4 -0
  405. package/dist/docs/phoenix/expression-context.mdx +11 -3
  406. package/dist/docs/phoenix/finalization.mdx +1 -1
  407. package/dist/docs/phoenix/getting-started.mdx +2 -1
  408. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  409. package/dist/docs/phoenix/localization.mdx +7 -26
  410. package/dist/docs/phoenix/migration-guide.mdx +19 -8
  411. package/dist/docs/phoenix/phoenix-cli.mdx +168 -57
  412. package/dist/docs/phoenix/project-structure.mdx +44 -15
  413. package/dist/docs/phoenix/quickstart.mdx +2 -2
  414. package/dist/docs/phoenix/sdk-builder-workflow.mdx +13 -12
  415. package/dist/docs/phoenix/testing.mdx +140 -0
  416. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  417. package/dist/docs/phoenix/webhooks.mdx +23 -6
  418. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  419. package/dist/docs/relations/hierarchy.mdx +13 -2
  420. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  421. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  422. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  423. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  424. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  425. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  426. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  427. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  428. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  429. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  430. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  431. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  432. package/dist/domain/admin-domain/index.d.ts +9 -5
  433. package/dist/domain/admin-domain/index.js +1 -1
  434. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  435. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  436. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  437. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  438. package/dist/domain/application/application-config.d.ts +30 -97
  439. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  440. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  441. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  442. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  443. package/dist/domain/application/assistant/assistant-manifest.d.ts +71 -0
  444. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +131 -0
  445. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -0
  446. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  447. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  448. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  449. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  450. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  451. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  452. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  453. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  454. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  455. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  456. package/dist/domain/application/assistant/index.d.ts +11 -0
  457. package/dist/domain/application/assistant/index.js +1 -0
  458. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  459. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  460. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  461. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  462. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  463. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  464. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  465. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  466. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  467. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  468. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  469. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  470. package/dist/domain/application/assistant-mutations.js +1 -1
  471. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  472. package/dist/domain/application/configurator-builder.d.ts +36 -18
  473. package/dist/domain/application/configurator-builder.js +1 -1
  474. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  475. package/dist/domain/application/index.d.ts +3 -6
  476. package/dist/domain/application/index.js +1 -1
  477. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  478. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  479. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  480. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  481. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  482. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  483. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  484. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  485. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  486. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  487. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  488. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  489. package/dist/domain/available-system-components.js +1 -1
  490. package/dist/domain/core/action/action-factory.d.ts +11 -0
  491. package/dist/domain/core/action/action.d.ts +71 -0
  492. package/dist/domain/core/action/index.d.ts +2 -0
  493. package/dist/domain/core/action/index.js +1 -0
  494. package/dist/domain/core/component/component-reader-types.d.ts +43 -0
  495. package/dist/domain/core/component/component-reader-types.js +1 -0
  496. package/dist/domain/core/component/debug-state-component.d.ts +14 -0
  497. package/dist/domain/core/component/debug-state-component.js +1 -0
  498. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  499. package/dist/domain/core/component/domain-component-optic.js +16 -0
  500. package/dist/domain/core/component/drag-state-component.d.ts +16 -0
  501. package/dist/domain/core/component/drag-state-component.js +1 -0
  502. package/dist/domain/core/component/export-state-component.d.ts +15 -0
  503. package/dist/domain/core/component/export-state-component.js +1 -0
  504. package/dist/domain/core/component/fullscreen-state-component.d.ts +14 -0
  505. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  506. package/dist/domain/core/component/group-components-by-entity-id-and-name.d.ts +8 -0
  507. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  508. package/dist/domain/core/component/hover-state-component.d.ts +14 -0
  509. package/dist/domain/core/component/hover-state-component.js +1 -0
  510. package/dist/domain/core/component/index.d.ts +18 -0
  511. package/dist/domain/core/component/index.js +1 -0
  512. package/dist/domain/core/component/legacy-filter.d.ts +498 -0
  513. package/dist/domain/core/component/navigation-state-component.d.ts +15 -0
  514. package/dist/domain/core/component/navigation-state-component.js +1 -0
  515. package/dist/domain/core/component/selection-state-component.d.ts +14 -0
  516. package/dist/domain/core/component/selection-state-component.js +1 -0
  517. package/dist/domain/core/component/system-component-builder.d.ts +11 -0
  518. package/dist/domain/core/component/system-component-builder.js +1 -0
  519. package/dist/domain/core/component/system-component-filter.d.ts +811 -0
  520. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  521. package/dist/domain/core/component/tool-state-component.d.ts +14 -0
  522. package/dist/domain/core/component/tool-state-component.js +1 -0
  523. package/dist/domain/core/component/updates.d.ts +123 -0
  524. package/dist/domain/core/component/view-state-component.d.ts +14 -0
  525. package/dist/domain/core/component/view-state-component.js +1 -0
  526. package/dist/domain/core/component/viewport-state-component.d.ts +29 -0
  527. package/dist/domain/core/component/viewport-state-component.js +1 -0
  528. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  529. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  530. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  531. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  532. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  533. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  534. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  535. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  536. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  537. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  538. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  539. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  540. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  541. package/dist/domain/core/data-schema/data-schema.js +1 -0
  542. package/dist/domain/core/data-schema/index.d.ts +7 -0
  543. package/dist/domain/core/data-schema/index.js +1 -0
  544. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  545. package/dist/domain/core/decoder/create-decoder.js +1 -0
  546. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  547. package/dist/domain/core/decoder/decoder.js +1 -0
  548. package/dist/domain/core/decoder/index.d.ts +2 -0
  549. package/dist/domain/core/decoder/index.js +1 -0
  550. package/dist/domain/core/domain-factory.d.ts +4 -5
  551. package/dist/domain/core/domain-factory.js +1 -1
  552. package/dist/domain/core/domain.d.ts +4 -5
  553. package/dist/domain/core/domain.js +1 -1
  554. package/dist/domain/core/emission/index.d.ts +8 -0
  555. package/dist/domain/core/emission/index.js +1 -0
  556. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  557. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  558. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  559. package/dist/domain/core/emission/state-emission.js +1 -0
  560. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  561. package/dist/domain/core/emission/state-update-emission.js +1 -0
  562. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  563. package/dist/domain/core/emission/state-validation-result.js +1 -0
  564. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  565. package/dist/domain/core/emission/transformation-log.js +1 -0
  566. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  567. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  568. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  569. package/dist/domain/core/emission/transformer-log.js +1 -0
  570. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  571. package/dist/domain/core/emission/transformer-phase.js +1 -0
  572. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  573. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  574. package/dist/domain/core/expression/constant-expressions.d.ts +16 -0
  575. package/dist/domain/core/expression/constant-expressions.js +1 -0
  576. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  577. package/dist/domain/core/expression/custom-expression.js +1 -0
  578. package/dist/domain/core/expression/expression.d.ts +46 -0
  579. package/dist/domain/core/expression/expression.js +1 -0
  580. package/dist/domain/core/expression/index.d.ts +4 -0
  581. package/dist/domain/core/expression/index.js +1 -0
  582. package/dist/domain/core/index.d.ts +13 -17
  583. package/dist/domain/core/index.js +1 -1
  584. package/dist/domain/core/invariant/builtin-invariant.d.ts +5 -0
  585. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  586. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  587. package/dist/domain/core/invariant/index.d.ts +5 -0
  588. package/dist/domain/core/invariant/index.js +1 -0
  589. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  590. package/dist/domain/core/invariant/invariants.js +1 -0
  591. package/dist/domain/core/invariant/violation-component.js +1 -0
  592. package/dist/domain/core/invariant/violation.d.ts +133 -0
  593. package/dist/domain/core/invariant/violation.js +1 -0
  594. package/dist/domain/core/model/component.d.ts +46 -0
  595. package/dist/domain/core/model/index.d.ts +6 -0
  596. package/dist/domain/core/model/index.js +1 -0
  597. package/dist/domain/core/model/model.d.ts +127 -0
  598. package/dist/domain/core/model/reflection.d.ts +114 -0
  599. package/dist/domain/core/model/reflection.js +1 -0
  600. package/dist/domain/core/recipe/index.d.ts +1 -0
  601. package/dist/domain/core/recipe/index.js +1 -0
  602. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  603. package/dist/domain/core/recipe/recipes.js +1 -0
  604. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  605. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  606. package/dist/domain/core/relation/component-factories.d.ts +14 -0
  607. package/dist/domain/core/relation/component-factories.js +1 -0
  608. package/dist/domain/core/relation/composed-of.d.ts +12 -0
  609. package/dist/domain/core/relation/composed-of.js +1 -0
  610. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  611. package/dist/domain/core/relation/index.d.ts +8 -0
  612. package/dist/domain/core/relation/index.js +1 -0
  613. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  614. package/dist/domain/core/relation/indirect-relation.js +1 -0
  615. package/dist/domain/core/relation/reference-component.d.ts +17 -0
  616. package/dist/domain/core/relation/reference-component.js +1 -0
  617. package/dist/domain/core/relation/reference-field.d.ts +7 -0
  618. package/dist/domain/core/relation/reference-field.js +1 -0
  619. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  620. package/dist/domain/core/relation/relation-factory.js +1 -0
  621. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  622. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  623. package/dist/domain/core/schema/index.d.ts +3 -0
  624. package/dist/domain/core/schema/index.js +1 -0
  625. package/dist/domain/core/schema/schema-validator.js +1 -0
  626. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  627. package/dist/domain/core/state/id-sequence.js +1 -0
  628. package/dist/domain/core/state/index.d.ts +3 -0
  629. package/dist/domain/core/state/index.js +1 -0
  630. package/dist/domain/core/state/migrations.d.ts +67 -0
  631. package/dist/domain/core/state/migrations.js +1 -0
  632. package/dist/domain/core/state/state.d.ts +9 -0
  633. package/dist/domain/domain-builder.d.ts +11 -11
  634. package/dist/domain/domain-builder.js +1 -1
  635. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  636. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  637. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  638. package/dist/domain/domain-context/action-system/index.js +1 -0
  639. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  640. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  641. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  642. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  643. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  644. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  645. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  646. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  647. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  648. package/dist/domain/domain-context/index.d.ts +8 -18
  649. package/dist/domain/domain-context/index.js +1 -1
  650. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  651. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  652. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  653. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  654. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  655. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  656. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  657. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  658. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  659. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  660. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  661. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  662. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  663. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  664. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  665. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  666. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  667. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  668. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  669. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  670. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  671. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  672. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  673. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  674. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  675. package/dist/domain/domain-context/store-system/index.js +1 -0
  676. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  677. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  678. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  679. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  680. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  681. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  682. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  683. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  684. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  685. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  686. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  687. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  688. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  689. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  690. package/dist/domain/domain-context/transformers/context.js +1 -1
  691. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  692. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  693. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  694. package/dist/domain/domain-context/transformers/index.js +1 -1
  695. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  696. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  697. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  698. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  699. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  700. package/dist/domain/domain-context/undo-system.js +1 -1
  701. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  702. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  703. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  704. package/dist/domain/domain-runtime/access/types.js +1 -1
  705. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  706. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  707. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  708. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  709. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  710. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  711. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  712. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  713. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  714. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  715. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -25
  716. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  717. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  718. package/dist/domain/domain-runtime/domain-runtime.d.ts +88 -72
  719. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  720. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  721. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  722. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  723. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  724. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  725. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  726. package/dist/domain/domain-runtime/errors/index.js +1 -0
  727. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  728. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  729. package/dist/domain/domain-runtime/index.d.ts +1 -0
  730. package/dist/domain/domain-runtime/index.js +1 -1
  731. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  732. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  733. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  734. package/dist/domain/domain-runtime/spec/index.js +1 -1
  735. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  736. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  737. package/dist/domain/domain-runtime/spec/memoize-expression.d.ts +16 -0
  738. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +110 -0
  739. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  740. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.d.ts +34 -0
  741. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  742. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  743. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  744. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +32 -0
  745. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  746. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  747. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  748. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  749. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  750. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  751. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  752. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  753. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  754. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  755. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  756. package/dist/domain/domain-runtime/spec/prepare-action-implementations.d.ts +15 -0
  757. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  758. package/dist/domain/domain-runtime/spec/prepare-domain-expressions.d.ts +16 -0
  759. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  760. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  761. package/dist/domain/domain-runtime/spec/types.d.ts +8 -6
  762. package/dist/domain/extensions/angle-indicator.d.ts +21 -0
  763. package/dist/domain/extensions/angle-indicator.js +1 -0
  764. package/dist/domain/extensions/attribute-switch.d.ts +8 -0
  765. package/dist/domain/extensions/attribute-switch.js +1 -0
  766. package/dist/domain/extensions/autorotate-camera-component.d.ts +19 -0
  767. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  768. package/dist/domain/extensions/basic-sidebar-footer.d.ts +8 -0
  769. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  770. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  771. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  772. package/dist/domain/extensions/canvas-config.d.ts +87 -0
  773. package/dist/domain/extensions/canvas-config.js +1 -0
  774. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  775. package/dist/domain/extensions/canvas-padding.d.ts +25 -0
  776. package/dist/domain/extensions/canvas-padding.js +1 -0
  777. package/dist/domain/extensions/canvas-preset-environment.d.ts +37 -0
  778. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  779. package/dist/domain/extensions/child-entity-recipe-hierarchy.d.ts +21 -0
  780. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  781. package/dist/domain/extensions/client-side-image.d.ts +14 -0
  782. package/dist/domain/extensions/client-side-image.js +1 -0
  783. package/dist/domain/extensions/color-value.js +1 -0
  784. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +292 -0
  785. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  786. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +607 -0
  787. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  788. package/dist/domain/extensions/common/index.d.ts +4 -0
  789. package/dist/domain/extensions/common/index.js +1 -0
  790. package/dist/domain/extensions/custom-header.d.ts +11 -0
  791. package/dist/domain/extensions/custom-header.js +1 -0
  792. package/dist/domain/extensions/custom-price-footer.js +1 -0
  793. package/dist/domain/extensions/custom-sidebar-footer.d.ts +11 -0
  794. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  795. package/dist/domain/extensions/dimension-indicator.d.ts +31 -0
  796. package/dist/domain/extensions/dimension-indicator.js +1 -0
  797. package/dist/domain/extensions/editable-angle-indicator.d.ts +39 -0
  798. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  799. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +43 -0
  800. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  801. package/dist/domain/extensions/editable-offset-indicator.d.ts +42 -0
  802. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  803. package/dist/domain/extensions/editable-size-indicator.d.ts +39 -0
  804. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  805. package/dist/domain/extensions/entity-header.d.ts +22 -0
  806. package/dist/domain/extensions/entity-header.js +1 -0
  807. package/dist/domain/extensions/exit-tool-mode-fab.d.ts +25 -0
  808. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  809. package/dist/domain/extensions/finalize-action.d.ts +20 -0
  810. package/dist/domain/extensions/finalize-action.js +1 -0
  811. package/dist/domain/extensions/finalize-component.js +1 -0
  812. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  813. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  814. package/dist/domain/extensions/fixed-header.d.ts +10 -0
  815. package/dist/domain/extensions/fixed-header.js +1 -0
  816. package/dist/domain/extensions/floating-header.d.ts +10 -0
  817. package/dist/domain/extensions/floating-header.js +1 -0
  818. package/dist/domain/extensions/hidden-header.d.ts +8 -0
  819. package/dist/domain/extensions/hidden-header.js +1 -0
  820. package/dist/domain/extensions/hidden-sidebar-footer.d.ts +21 -0
  821. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  822. package/dist/domain/extensions/horizontal-tabs.d.ts +28 -0
  823. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  824. package/dist/domain/extensions/index.d.ts +69 -0
  825. package/dist/domain/extensions/index.js +1 -0
  826. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +31 -0
  827. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  828. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  829. package/dist/domain/extensions/navigation-steps.d.ts +19 -0
  830. package/dist/domain/extensions/navigation-steps.js +1 -0
  831. package/dist/domain/extensions/offset-anchors.d.ts +20 -0
  832. package/dist/domain/extensions/offset-anchors.js +1 -0
  833. package/dist/domain/extensions/offset-indicator.d.ts +83 -0
  834. package/dist/domain/extensions/offset-indicator.js +1 -0
  835. package/dist/domain/extensions/offset.d.ts +31 -0
  836. package/dist/domain/extensions/offset.js +1 -0
  837. package/dist/domain/extensions/other-action.d.ts +14 -0
  838. package/dist/domain/extensions/other-action.js +1 -0
  839. package/dist/domain/extensions/property-page.d.ts +16 -0
  840. package/dist/domain/extensions/property-page.js +1 -0
  841. package/dist/domain/extensions/read-sidebar-footer.d.ts +8 -0
  842. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  843. package/dist/domain/extensions/replace-entity-recipe-hierarchy.d.ts +21 -0
  844. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  845. package/dist/domain/extensions/rotatable.js +1 -0
  846. package/dist/domain/extensions/rotation-handle.d.ts +53 -0
  847. package/dist/domain/extensions/rotation-handle.js +1 -0
  848. package/dist/domain/extensions/save-template-thumbnail.d.ts +14 -0
  849. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  850. package/dist/domain/extensions/scene-entity-add-fab.d.ts +32 -0
  851. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  852. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  853. package/dist/domain/extensions/scene-entity-control.js +1 -0
  854. package/dist/domain/extensions/scene-entity-delete-fab.d.ts +19 -0
  855. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  856. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  857. package/dist/domain/extensions/scene-entity-html-hotspot.d.ts +27 -0
  858. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  859. package/dist/domain/extensions/scene-entity-navigation-hotspot.d.ts +20 -0
  860. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  861. package/dist/domain/extensions/scene-entity-object-html-hotspot.d.ts +31 -0
  862. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  863. package/dist/domain/extensions/scene-entity-select-hotspot.d.ts +5 -0
  864. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  865. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  866. package/dist/domain/extensions/selectable-component.js +1 -0
  867. package/dist/domain/extensions/sidebar-tabs.d.ts +29 -0
  868. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  869. package/dist/domain/extensions/simple-summary.js +1 -0
  870. package/dist/domain/extensions/size.d.ts +21 -0
  871. package/dist/domain/extensions/size.js +1 -0
  872. package/dist/domain/extensions/sketching-draw.d.ts +17 -0
  873. package/dist/domain/extensions/sketching-draw.js +1 -0
  874. package/dist/domain/extensions/sketching-edit.d.ts +28 -0
  875. package/dist/domain/extensions/sketching-edit.js +1 -0
  876. package/dist/domain/extensions/summary-component.js +1 -0
  877. package/dist/domain/extensions/text-value.js +1 -0
  878. package/dist/domain/extensions/tool-controls.js +1 -0
  879. package/dist/domain/extensions/tool-menu-fab.d.ts +40 -0
  880. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  881. package/dist/domain/extensions/toolbar.d.ts +13 -0
  882. package/dist/domain/extensions/toolbar.js +1 -0
  883. package/dist/domain/extensions/universal-sidebar-footer.d.ts +12 -0
  884. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  885. package/dist/domain/extensions/view-controls.js +1 -0
  886. package/dist/domain/index.d.ts +2 -32
  887. package/dist/domain/index.js +1 -1
  888. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  889. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  890. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +30 -21
  891. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  892. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  893. package/dist/domain/mocks/create-mock-domain.js +1 -1
  894. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  895. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  896. package/dist/domain/mocks/create-test-application-config.js +1 -0
  897. package/dist/domain/mocks/index.d.ts +1 -0
  898. package/dist/domain/mocks/index.js +1 -1
  899. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  900. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  901. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  902. package/dist/domain/projections/collision-projections.d.ts +1 -1
  903. package/dist/domain/projections/composition-projections.d.ts +1 -1
  904. package/dist/domain/projections/composition-projections.js +1 -1
  905. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  906. package/dist/domain/projections/index.d.ts +1 -1
  907. package/dist/domain/projections/position-projections.d.ts +1 -1
  908. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  909. package/dist/domain/projections/snap-matching.d.ts +1 -2
  910. package/dist/domain/projections/snap-utils.d.ts +1 -2
  911. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  912. package/dist/domain/projections/validation-projections.d.ts +3 -20
  913. package/dist/domain/projections/validation-projections.js +1 -1
  914. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  915. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  916. package/dist/domain/system-components/admin-sidebar.js +1 -1
  917. package/dist/domain/system-components/angle-dimension.js +1 -1
  918. package/dist/domain/system-components/application-config.d.ts +3 -3
  919. package/dist/domain/system-components/application-config.js +1 -1
  920. package/dist/domain/system-components/attribute-selection.js +1 -1
  921. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  922. package/dist/domain/system-components/bounding-box-component.js +1 -1
  923. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  924. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  925. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  926. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  927. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  928. package/dist/domain/system-components/child-entity-selection.js +1 -1
  929. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  930. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  931. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  932. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  933. package/dist/domain/system-components/collision-geometry.js +1 -1
  934. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  935. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  936. package/dist/domain/system-components/common/index.d.ts +0 -4
  937. package/dist/domain/system-components/common/index.js +1 -1
  938. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  939. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  940. package/dist/domain/system-components/common/recipes.js +1 -1
  941. package/dist/domain/system-components/constraint.d.ts +11 -24
  942. package/dist/domain/system-components/constraint.js +1 -1
  943. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  944. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  945. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  946. package/dist/domain/system-components/detail.js +1 -1
  947. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  948. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  949. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  950. package/dist/domain/system-components/distance-dimension.js +1 -1
  951. package/dist/domain/system-components/drag-handle.d.ts +2 -2
  952. package/dist/domain/system-components/drag-handle.js +1 -1
  953. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  954. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  955. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  956. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  957. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  958. package/dist/domain/system-components/generic-dimension.js +1 -1
  959. package/dist/domain/system-components/hidden-entity.js +1 -1
  960. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  961. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  962. package/dist/domain/system-components/index.d.ts +0 -68
  963. package/dist/domain/system-components/index.js +1 -1
  964. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  965. package/dist/domain/system-components/material-override-transformer.js +1 -1
  966. package/dist/domain/system-components/material-swatch.js +1 -1
  967. package/dist/domain/system-components/navigation-page.js +1 -1
  968. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  969. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  970. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  971. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  972. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  973. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  974. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  975. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  976. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  977. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  978. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  979. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  980. package/dist/domain/system-components/pivot-point.js +1 -1
  981. package/dist/domain/system-components/price.js +1 -1
  982. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  983. package/dist/domain/system-components/projected-entities.js +1 -1
  984. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  985. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  986. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  987. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  988. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  989. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  990. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  991. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  992. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  993. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  994. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  995. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  996. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  997. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  998. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  999. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  1000. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1001. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  1002. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  1003. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1004. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  1005. package/dist/domain/system-components/scene-entity-object.js +1 -1
  1006. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  1007. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  1008. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  1009. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  1010. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  1011. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  1012. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1013. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  1014. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  1015. package/dist/domain/system-components/sketching-line.js +1 -1
  1016. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  1017. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  1018. package/dist/domain/system-components/sketching.d.ts +1 -1
  1019. package/dist/domain/system-components/sketching.js +1 -1
  1020. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  1021. package/dist/domain/system-components/snap-axis.js +1 -1
  1022. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  1023. package/dist/domain/system-components/snap-edge.js +1 -1
  1024. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  1025. package/dist/domain/system-components/snap-plane.js +1 -1
  1026. package/dist/domain/system-components/snap-point.d.ts +1 -1
  1027. package/dist/domain/system-components/snap-point.js +1 -1
  1028. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  1029. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1030. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  1031. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1032. package/dist/domain/utils/eval-cache.d.ts +2 -3
  1033. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1034. package/dist/domain/utils/memo-eval.d.ts +2 -4
  1035. package/dist/editor/Editor.js +1 -1
  1036. package/dist/editor/domain-editors/use-implementation-files.d.ts +8 -8
  1037. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  1038. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  1039. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1040. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  1041. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  1042. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  1043. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  1044. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  1045. package/dist/editor/variants/variant-preview-styles.js +1 -0
  1046. package/dist/globals/index.d.ts +2 -0
  1047. package/dist/i18n/locales/cs/messages.js +1 -1
  1048. package/dist/i18n/locales/da/messages.js +1 -1
  1049. package/dist/i18n/locales/de/messages.js +1 -1
  1050. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1051. package/dist/i18n/locales/en/messages.js +1 -1
  1052. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1053. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1054. package/dist/i18n/locales/es/messages.js +1 -1
  1055. package/dist/i18n/locales/fr/messages.js +1 -1
  1056. package/dist/i18n/locales/hu/messages.js +1 -1
  1057. package/dist/i18n/locales/it/messages.js +1 -1
  1058. package/dist/i18n/locales/nl/messages.js +1 -1
  1059. package/dist/i18n/locales/pl/messages.js +1 -1
  1060. package/dist/i18n/locales/pt/messages.js +1 -1
  1061. package/dist/i18n/locales/ro/messages.js +1 -1
  1062. package/dist/i18n/locales/sk/messages.js +1 -1
  1063. package/dist/i18n/locales/tr/messages.js +1 -1
  1064. package/dist/legacy/domain-cli/gen/configurator-builder.js +30 -16
  1065. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  1066. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1067. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  1068. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  1069. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1070. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1071. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1072. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +87 -68
  1073. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1074. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1075. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1076. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  1077. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  1078. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  1079. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  1080. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +16 -15
  1081. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +16 -15
  1082. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +23 -22
  1083. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +16 -15
  1084. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  1085. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  1086. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  1087. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  1088. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  1089. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1090. package/dist/phoenix/application-spec/project-files.js +1 -1
  1091. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  1092. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1093. package/dist/phoenix/cli.js +1 -1
  1094. package/dist/phoenix/commands/check.js +1 -1
  1095. package/dist/phoenix/commands/deploy.js +2 -2
  1096. package/dist/phoenix/commands/deps/deps.d.ts +52 -0
  1097. package/dist/phoenix/commands/deps/deps.js +3 -0
  1098. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1099. package/dist/phoenix/commands/deps/index.js +1 -0
  1100. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1101. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1102. package/dist/phoenix/commands/dev.js +5 -5
  1103. package/dist/phoenix/commands/fix.js +1 -1
  1104. package/dist/phoenix/commands/index.d.ts +2 -0
  1105. package/dist/phoenix/commands/index.js +1 -1
  1106. package/dist/phoenix/commands/init.d.ts +4 -4
  1107. package/dist/phoenix/commands/init.js +1 -1
  1108. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  1109. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  1110. package/dist/phoenix/commands/prettier.js +1 -1
  1111. package/dist/phoenix/commands/story-dev.js +2 -2
  1112. package/dist/phoenix/commands/variants.d.ts +35 -0
  1113. package/dist/phoenix/commands/variants.js +1 -0
  1114. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  1115. package/dist/phoenix/editor-server/commands-router.js +1 -1
  1116. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  1117. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  1118. package/dist/phoenix/editor-server/editor-server.js +1 -1
  1119. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  1120. package/dist/phoenix/editor-server/spec-router.js +1 -1
  1121. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  1122. package/dist/phoenix/scripts/build-admin.js +1 -1
  1123. package/dist/phoenix/services/application-spec-project-watcher.d.ts +15 -2
  1124. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1125. package/dist/phoenix/services/index.d.ts +4 -0
  1126. package/dist/phoenix/services/index.js +1 -1
  1127. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  1128. package/dist/phoenix/services/phoenix-application.js +1 -0
  1129. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  1130. package/dist/phoenix/services/phoenix-store.js +1 -0
  1131. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  1132. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  1133. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1134. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1135. package/dist/phoenix/services/source-archive.js +1 -1
  1136. package/dist/phoenix/services/swc.js +1 -1
  1137. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  1138. package/dist/phoenix/services/variant-file-session.js +1 -0
  1139. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  1140. package/dist/phoenix/services/variant-preview-service.js +1 -0
  1141. package/dist/phoenix/services/vite-config.js +1 -1
  1142. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1143. package/dist/phoenix/utils/git/index.js +1 -0
  1144. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1145. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1146. package/dist/phoenix/utils/index.d.ts +2 -0
  1147. package/dist/phoenix/utils/index.js +1 -1
  1148. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  1149. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  1150. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  1151. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1152. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  1153. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  1154. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  1155. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1156. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1157. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +57 -40
  1158. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1159. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  1160. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1161. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1162. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  1163. package/dist/react-sdk/domain-context/index.js +1 -1
  1164. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1165. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1166. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1167. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  1168. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  1169. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  1170. package/dist/ui-sdk/theme/types.d.ts +4 -0
  1171. package/dist/webhook/builders/common.d.ts +8 -0
  1172. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  1173. package/dist/webhook/builders/webhook-builder.js +1 -1
  1174. package/package.json +36 -34
  1175. package/schema/domain-spec.json +1139 -209
  1176. package/dist/application-spec/core/eval-to-constant.d.ts +0 -14
  1177. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1178. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1179. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1180. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1181. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1182. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1183. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1184. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1185. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1186. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1187. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1188. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1189. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1190. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1191. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1192. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1193. package/dist/configurator/assistant/index.d.ts +0 -1
  1194. package/dist/configurator/assistant/index.js +0 -1
  1195. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  1196. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  1197. package/dist/domain/actions/action-factory.d.ts +0 -10
  1198. package/dist/domain/actions/prepare-action-implementations.d.ts +0 -15
  1199. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  1200. package/dist/domain/application/element-registration.d.ts +0 -105
  1201. package/dist/domain/application/element-registration.js +0 -1
  1202. package/dist/domain/application/handler-registration.d.ts +0 -29
  1203. package/dist/domain/application/handler-registration.js +0 -1
  1204. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  1205. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1206. package/dist/domain/application/resource-builder.d.ts +0 -13
  1207. package/dist/domain/application/resource-builder.js +0 -1
  1208. package/dist/domain/components/component-reader-types.d.ts +0 -44
  1209. package/dist/domain/components/debug-state-component.d.ts +0 -14
  1210. package/dist/domain/components/debug-state-component.js +0 -1
  1211. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  1212. package/dist/domain/components/domain-component-optic.js +0 -16
  1213. package/dist/domain/components/drag-state-component.d.ts +0 -16
  1214. package/dist/domain/components/drag-state-component.js +0 -1
  1215. package/dist/domain/components/export-state-component.d.ts +0 -15
  1216. package/dist/domain/components/export-state-component.js +0 -1
  1217. package/dist/domain/components/fullscreen-state-component.d.ts +0 -14
  1218. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1219. package/dist/domain/components/group-components-by-entity-id-and-name.d.ts +0 -9
  1220. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1221. package/dist/domain/components/hover-state-component.d.ts +0 -14
  1222. package/dist/domain/components/hover-state-component.js +0 -1
  1223. package/dist/domain/components/index.d.ts +0 -2
  1224. package/dist/domain/components/index.js +0 -1
  1225. package/dist/domain/components/legacy-filter.d.ts +0 -513
  1226. package/dist/domain/components/navigation-state-component.d.ts +0 -15
  1227. package/dist/domain/components/navigation-state-component.js +0 -1
  1228. package/dist/domain/components/selection-state-component.d.ts +0 -14
  1229. package/dist/domain/components/selection-state-component.js +0 -1
  1230. package/dist/domain/components/system-component-builder.d.ts +0 -12
  1231. package/dist/domain/components/system-component-builder.js +0 -1
  1232. package/dist/domain/components/system-component-filter.d.ts +0 -793
  1233. package/dist/domain/components/system-virtual-entity.js +0 -1
  1234. package/dist/domain/components/tool-state-component.d.ts +0 -14
  1235. package/dist/domain/components/tool-state-component.js +0 -1
  1236. package/dist/domain/components/updates.d.ts +0 -108
  1237. package/dist/domain/components/view-state-component.d.ts +0 -14
  1238. package/dist/domain/components/view-state-component.js +0 -1
  1239. package/dist/domain/components/viewport-state-component.d.ts +0 -29
  1240. package/dist/domain/components/viewport-state-component.js +0 -1
  1241. package/dist/domain/core/action.d.ts +0 -67
  1242. package/dist/domain/core/component.d.ts +0 -46
  1243. package/dist/domain/core/expression.d.ts +0 -50
  1244. package/dist/domain/core/json-schema.js +0 -1
  1245. package/dist/domain/core/migrations.d.ts +0 -99
  1246. package/dist/domain/core/migrations.js +0 -1
  1247. package/dist/domain/core/model.d.ts +0 -127
  1248. package/dist/domain/core/reflection.d.ts +0 -114
  1249. package/dist/domain/core/reflection.js +0 -1
  1250. package/dist/domain/core/state.d.ts +0 -10
  1251. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  1252. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1253. package/dist/domain/expressions/constant-expressions.d.ts +0 -9
  1254. package/dist/domain/expressions/constant-expressions.js +0 -1
  1255. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  1256. package/dist/domain/expressions/custom-expression.js +0 -1
  1257. package/dist/domain/expressions/index.d.ts +0 -1
  1258. package/dist/domain/expressions/index.js +0 -1
  1259. package/dist/domain/expressions/memoize-expression.d.ts +0 -17
  1260. package/dist/domain/expressions/prepare-domain-expressions.d.ts +0 -16
  1261. package/dist/domain/invariants/builtin-invariant.d.ts +0 -5
  1262. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  1263. package/dist/domain/invariants/custom-invariants.js +0 -1
  1264. package/dist/domain/invariants/invariants.d.ts +0 -68
  1265. package/dist/domain/invariants/invariants.js +0 -1
  1266. package/dist/domain/invariants/violation-component.js +0 -1
  1267. package/dist/domain/invariants/violation.d.ts +0 -85
  1268. package/dist/domain/invariants/violation.js +0 -1
  1269. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  1270. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1271. package/dist/domain/relations/component-factories.d.ts +0 -15
  1272. package/dist/domain/relations/component-factories.js +0 -1
  1273. package/dist/domain/relations/composed-of.d.ts +0 -12
  1274. package/dist/domain/relations/composed-of.js +0 -1
  1275. package/dist/domain/relations/direct-relation.d.ts +0 -29
  1276. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  1277. package/dist/domain/relations/indirect-relation.js +0 -1
  1278. package/dist/domain/relations/reference-component.d.ts +0 -18
  1279. package/dist/domain/relations/reference-component.js +0 -1
  1280. package/dist/domain/relations/reference-field.d.ts +0 -7
  1281. package/dist/domain/relations/relation-factory.d.ts +0 -19
  1282. package/dist/domain/relations/relation-factory.js +0 -1
  1283. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  1284. package/dist/domain/system-components/angle-indicator.d.ts +0 -21
  1285. package/dist/domain/system-components/angle-indicator.js +0 -1
  1286. package/dist/domain/system-components/attribute-switch.d.ts +0 -8
  1287. package/dist/domain/system-components/attribute-switch.js +0 -1
  1288. package/dist/domain/system-components/autorotate-camera-component.d.ts +0 -19
  1289. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1290. package/dist/domain/system-components/basic-sidebar-footer.d.ts +0 -8
  1291. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1292. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1293. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1294. package/dist/domain/system-components/canvas-config.d.ts +0 -87
  1295. package/dist/domain/system-components/canvas-config.js +0 -1
  1296. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1297. package/dist/domain/system-components/canvas-padding.d.ts +0 -25
  1298. package/dist/domain/system-components/canvas-padding.js +0 -1
  1299. package/dist/domain/system-components/canvas-preset-environment.d.ts +0 -37
  1300. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1301. package/dist/domain/system-components/child-entity-recipe-hierarchy.d.ts +0 -21
  1302. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1303. package/dist/domain/system-components/client-side-image.d.ts +0 -14
  1304. package/dist/domain/system-components/client-side-image.js +0 -1
  1305. package/dist/domain/system-components/color-value.js +0 -1
  1306. package/dist/domain/system-components/common/angle-indicator-schema.d.ts +0 -292
  1307. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1308. package/dist/domain/system-components/common/dimension-indicator-schema.d.ts +0 -607
  1309. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1310. package/dist/domain/system-components/custom-header.d.ts +0 -11
  1311. package/dist/domain/system-components/custom-header.js +0 -1
  1312. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1313. package/dist/domain/system-components/custom-sidebar-footer.d.ts +0 -11
  1314. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  1315. package/dist/domain/system-components/dimension-indicator.d.ts +0 -31
  1316. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1317. package/dist/domain/system-components/editable-angle-indicator.d.ts +0 -38
  1318. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1319. package/dist/domain/system-components/editable-distance-dimension-indicator.d.ts +0 -42
  1320. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1321. package/dist/domain/system-components/editable-offset-indicator.d.ts +0 -41
  1322. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1323. package/dist/domain/system-components/editable-size-indicator.d.ts +0 -38
  1324. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1325. package/dist/domain/system-components/entity-header.d.ts +0 -22
  1326. package/dist/domain/system-components/entity-header.js +0 -1
  1327. package/dist/domain/system-components/exit-tool-mode-fab.d.ts +0 -25
  1328. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1329. package/dist/domain/system-components/finalize-action.d.ts +0 -20
  1330. package/dist/domain/system-components/finalize-action.js +0 -1
  1331. package/dist/domain/system-components/finalize-component.js +0 -1
  1332. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1333. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1334. package/dist/domain/system-components/fixed-header.d.ts +0 -10
  1335. package/dist/domain/system-components/fixed-header.js +0 -1
  1336. package/dist/domain/system-components/floating-header.d.ts +0 -10
  1337. package/dist/domain/system-components/floating-header.js +0 -1
  1338. package/dist/domain/system-components/hidden-header.d.ts +0 -8
  1339. package/dist/domain/system-components/hidden-header.js +0 -1
  1340. package/dist/domain/system-components/hidden-sidebar-footer.d.ts +0 -21
  1341. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1342. package/dist/domain/system-components/horizontal-tabs.d.ts +0 -28
  1343. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1344. package/dist/domain/system-components/list-selector-dimension-indicator.d.ts +0 -30
  1345. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1346. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1347. package/dist/domain/system-components/navigation-steps.d.ts +0 -19
  1348. package/dist/domain/system-components/navigation-steps.js +0 -1
  1349. package/dist/domain/system-components/offset-anchors.d.ts +0 -20
  1350. package/dist/domain/system-components/offset-anchors.js +0 -1
  1351. package/dist/domain/system-components/offset-indicator.d.ts +0 -84
  1352. package/dist/domain/system-components/offset-indicator.js +0 -1
  1353. package/dist/domain/system-components/offset.d.ts +0 -31
  1354. package/dist/domain/system-components/offset.js +0 -1
  1355. package/dist/domain/system-components/other-action.d.ts +0 -14
  1356. package/dist/domain/system-components/other-action.js +0 -1
  1357. package/dist/domain/system-components/property-page.d.ts +0 -16
  1358. package/dist/domain/system-components/property-page.js +0 -1
  1359. package/dist/domain/system-components/read-sidebar-footer.d.ts +0 -8
  1360. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1361. package/dist/domain/system-components/replace-entity-recipe-hierarchy.d.ts +0 -21
  1362. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1363. package/dist/domain/system-components/rotatable.js +0 -1
  1364. package/dist/domain/system-components/rotation-handle.d.ts +0 -53
  1365. package/dist/domain/system-components/rotation-handle.js +0 -1
  1366. package/dist/domain/system-components/save-template-thumbnail.d.ts +0 -14
  1367. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1368. package/dist/domain/system-components/scene-entity-add-fab.d.ts +0 -32
  1369. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1370. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1371. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1372. package/dist/domain/system-components/scene-entity-delete-fab.d.ts +0 -19
  1373. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1374. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1375. package/dist/domain/system-components/scene-entity-html-hotspot.d.ts +0 -27
  1376. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1377. package/dist/domain/system-components/scene-entity-navigation-hotspot.d.ts +0 -20
  1378. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1379. package/dist/domain/system-components/scene-entity-object-html-hotspot.d.ts +0 -31
  1380. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1381. package/dist/domain/system-components/scene-entity-select-hotspot.d.ts +0 -5
  1382. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1383. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1384. package/dist/domain/system-components/selectable-component.js +0 -1
  1385. package/dist/domain/system-components/sidebar-tabs.d.ts +0 -29
  1386. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1387. package/dist/domain/system-components/simple-summary.js +0 -1
  1388. package/dist/domain/system-components/size.d.ts +0 -21
  1389. package/dist/domain/system-components/size.js +0 -1
  1390. package/dist/domain/system-components/sketching-draw.d.ts +0 -17
  1391. package/dist/domain/system-components/sketching-draw.js +0 -1
  1392. package/dist/domain/system-components/sketching-edit.d.ts +0 -28
  1393. package/dist/domain/system-components/sketching-edit.js +0 -1
  1394. package/dist/domain/system-components/summary-component.js +0 -1
  1395. package/dist/domain/system-components/text-value.js +0 -1
  1396. package/dist/domain/system-components/tool-controls.js +0 -1
  1397. package/dist/domain/system-components/tool-menu-fab.d.ts +0 -40
  1398. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1399. package/dist/domain/system-components/toolbar.d.ts +0 -13
  1400. package/dist/domain/system-components/toolbar.js +0 -1
  1401. package/dist/domain/system-components/universal-sidebar-footer.d.ts +0 -12
  1402. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1403. package/dist/domain/system-components/view-controls.js +0 -1
  1404. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  1405. package/dist/extras/assistant/AssistantChat.js +0 -1
  1406. package/dist/extras/assistant/index.d.ts +0 -1
  1407. package/dist/extras/assistant/index.js +0 -1
  1408. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  1409. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1410. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1411. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1412. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1413. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1414. /package/dist/{domain/core/enhanced-json-schema.js → configurator/ui/assistant/form/form-element-definition.js} +0 -0
  1415. /package/dist/{domain/core/expression.js → configurator/ui/assistant/form/form-model.js} +0 -0
  1416. /package/dist/{domain/core/schema-validator.js → configurator/ui/assistant/form/form-state.js} +0 -0
  1417. /package/dist/{domain/core/action.js → configurator/ui/assistant/form-elements/form-element-props.js} +0 -0
  1418. /package/dist/domain/{relations/reference-field.js → application/assistant/assistant-manifest.js} +0 -0
  1419. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1420. /package/dist/domain/{relations/relation-implementation.js → core/action/action.js} +0 -0
  1421. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1422. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1423. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1424. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1425. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1426. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1427. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1428. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1429. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1430. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1431. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1432. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1433. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1434. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1435. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1436. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1437. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1438. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1439. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1440. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1441. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1442. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1443. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1444. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1445. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1446. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1447. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1448. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1449. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1450. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1451. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1452. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1453. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1454. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1455. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1456. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1457. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1458. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1459. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1460. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1461. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1462. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1463. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1464. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1465. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1466. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1467. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1468. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1469. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -0,0 +1,53 @@
1
+ import { Branded } from '@salsita-ai/common/utils';
2
+ import { type AnyEntityReflections, type DomainEntity, type MigrateFunction, type Migration } from '#package/domain';
3
+ import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
+ import type { ResolvedVersions } from '../../../parse-application-files/index.js';
5
+ type AnyEntity = DomainEntity<string>;
6
+ type AnyMigration = Migration<AnyEntity, AnyEntity>;
7
+ /**
8
+ * The project's migration modules, keyed by the project path the parser records for each model
9
+ * version (`src/migrations/v2.ts`, `src/admin/migrations/v2.ts`), each holding the module's exports.
10
+ * The module of version `N` exports the migration to that version as `migrateToV<N>`, the name the
11
+ * generated `domain.ts` imports.
12
+ */
13
+ export type MigrationModules = Readonly<Record<string, Readonly<Record<string, unknown>>>>;
14
+ interface MigrationRuntimeFields {
15
+ /** The entity reflections of each model version, keyed by version; the latest is the domain's own. */
16
+ readonly modelVersions: Readonly<Record<number, AnyEntityReflections>>;
17
+ /** The migration to each version, keyed by the version it yields. */
18
+ readonly migrations: Readonly<Record<number, AnyMigration>>;
19
+ readonly migrate: MigrateFunction<AnyEntity>;
20
+ /**
21
+ * The migrations the spec declares but the migration modules do not provide, as
22
+ * `<migration file>#migrateToV<N>`. A state that needs one fails to load with a
23
+ * `StateMigrationError` naming the missing step.
24
+ */
25
+ readonly missingMigrations: readonly string[];
26
+ readonly changed: boolean;
27
+ }
28
+ /**
29
+ * How a domain migrates a stored state of any of its model versions to the latest one: the entity
30
+ * reflections of every version, the project's migration to each version above the first, and the
31
+ * migrate function built from both, which `DomainBuilder.withMigrate` takes.
32
+ *
33
+ * The configurator and the admin domain each have one. The admin domain's factory first applies the
34
+ * SDK's own migration of the common admin entities (`migrateCommonAdminDomain`) and then this one.
35
+ */
36
+ export type MigrationRuntime = Branded<'MigrationRuntime', MigrationRuntimeFields>;
37
+ interface MigrationRuntimeInput {
38
+ readonly resolvedVersions: ResolvedVersions;
39
+ readonly latestEntities: AnyEntityReflections;
40
+ readonly migrationModules: MigrationModules;
41
+ }
42
+ interface MigrationRuntimeProps extends MigrationRuntimeInput {
43
+ readonly referenceScope: string;
44
+ }
45
+ /**
46
+ * Builds a domain's migrations from its resolved model versions and the project's migration
47
+ * modules: the runtime counterpart of the `modelVersions` literal of the generated `domain-spec.ts`
48
+ * and the `createMigrateFunction(...)` call of the generated `domain.ts`. The latest version uses the
49
+ * domain's own entity reflections, as generated code does. The result keeps its reference while
50
+ * the versions, the latest reflections and the migration modules stay the same.
51
+ */
52
+ export declare const MigrationRuntime: (referenceStore: RuntimeReferenceStore, props: MigrationRuntimeProps) => MigrationRuntime;
53
+ export {};
@@ -0,0 +1 @@
1
+ import e from"lodash-es/isEqual.js";import{Branded as i}from"@salsita-ai/common/utils";import{DomainEntityReflection as t,createMigrateFunction as s}from"#package/domain";let o=e=>"function"==typeof e,r=e=>`migrateToV${e}`,n=e=>{let{resolvedVersions:i,latestEntities:n,migrationModules:a}=e,l={},m={},d=[];for(let e of i.versionedModels){if(e.isLatest)l[e.version]=n;else{let i={};for(let s of e.modelVersion.entitySchemas)i[String(s.entityType)]=new t(String(s.entityType),[s.shapeSchema]);l[e.version]=i}if(void 0===e.migrationFile)continue;let i=r(e.version),s=a[e.migrationFile]?.[i];o(s)?m[e.version]=s:d.push(`${e.migrationFile}#${i}`)}return{modelVersions:l,migrations:m,migrate:s(l,i.latestVersion,m),missingMigrations:d}},a=e=>e.versionedModels.map(e=>({version:e.version,isLatest:e.isLatest,migrationFile:e.migrationFile,schemas:e.isLatest?[]:e.modelVersion.entitySchemas.map(e=>e.shapeSchema)})),l=(i,t)=>i.latestEntities===t.latestEntities&&i.resolvedVersions.latestVersion===t.resolvedVersions.latestVersion&&e(a(i.resolvedVersions),a(t.resolvedVersions))&&i.resolvedVersions.versionedModels.every(e=>void 0===e.migrationFile||i.migrationModules[e.migrationFile]===t.migrationModules[e.migrationFile]);export const MigrationRuntime=(e,t)=>{let s=e.createBuilder(t.referenceScope,{build:n,getKey:()=>"singleton",compare:l}).build({resolvedVersions:t.resolvedVersions,latestEntities:t.latestEntities,migrationModules:t.migrationModules});return i({...s.output,changed:s.changed})};
@@ -1,9 +1,10 @@
1
1
  import { Branded } from '@salsita-ai/common/utils';
2
+ import type { AssistantResolvedManifest } from '#package/domain';
2
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
3
- import type { ApplicationSpec, AssistantSpec } from '../../../parse-application-files/index.js';
4
- /** Parse-time assistant manifest with change tracking, carried to the runtime spec on hot reload. */
4
+ import type { ApplicationSpec } from '../../../parse-application-files/index.js';
5
+ /** Resolved assistant manifest with change tracking, carried to the runtime spec on hot reload. */
5
6
  export type AssistantRuntime = Branded<'AssistantRuntime', {
6
- readonly assistant: AssistantSpec;
7
+ readonly assistant: AssistantResolvedManifest | null;
7
8
  readonly changed: boolean;
8
9
  }>;
9
10
  export declare const AssistantRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore) => AssistantRuntime;
@@ -1 +1 @@
1
- import s from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";export const AssistantRuntime=(a,i)=>{let n=i.createBuilder("assistant",{build:s=>s,getKey:()=>"assistant",compare:(t,a)=>s(t,a)}).build({assistant:a.configurator.assistant});return t({assistant:n.output.assistant,changed:n.changed})};
1
+ import s from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";export const AssistantRuntime=(a,i)=>{let e=i.createBuilder("assistant",{build:s=>s,getKey:()=>"assistant",compare:(t,a)=>s(t,a)}).build({assistant:a.configurator.assistant?.resolved??null});return t({assistant:e.output.assistant,changed:e.changed})};
@@ -1,4 +1,4 @@
1
- import { type ComponentEntry, type ComponentImplementation } from '../../../parse-application-files/spec/index.js';
1
+ import type { ComponentEntry, ComponentImplementation } from '../../../parse-application-files/spec/index.js';
2
2
  import type { AdminModelRuntime } from '../admin-runtime/admin-model-runtime.js';
3
3
  import type { ConfiguratorModelRuntime } from '../configurator-runtime/configurator-model-runtime.js';
4
4
  import type { ComponentOptic } from './component-optic.js';
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as t,adminSidebarComponent as a,attributeSelectionComponent as i,componentsByName as r,composedOfComponent as n,navigationPageComponent as o,navigationPanelListComponent as d,referenceComponent as c}from"#package/domain";import*as m from"#package/domain";import{FILTER_CRITERION_KEYS as s,isSdkCodeRef as l}from"../../../parse-application-files/spec/index.js";let g=new Map([["reference",c],["composedOf",n],["adminSidebar",a],["attributeSelection",i],["navigationPage",o],["navigationPanelList",d]]),p={createAdminCustomPageRead:m.createAdminCustomPageRead,createAdminCustomSidebarRead:m.createAdminCustomSidebarRead,createAdminDataPageRead:m.createAdminDataPageRead,createAdminDataTableSidebarRead:m.createAdminDataTableSidebarRead,createAdminNavigationPanelRead:m.createAdminNavigationPanelRead,createAdminPresetCategoryPageRead:m.createAdminPresetCategoryPageRead,createAdminPresetCategorySelectionRead:m.createAdminPresetCategorySelectionRead,createAdminPresetCategorySelectionWrite:m.createAdminPresetCategorySelectionWrite,createAdminPresetCategorySidebarRead:m.createAdminPresetCategorySidebarRead,createAdminPresetListPageRead:m.createAdminPresetListPageRead,createAdminPresetSidebarRead:m.createAdminPresetSidebarRead,createAdminRecipeCollectionPageRead:m.createAdminRecipeCollectionPageRead,createAdminRecipeSidebarRead:m.createAdminRecipeSidebarRead},R=(e,t)=>{let a=p[e.sdkFunction]??m[e.sdkFunction];if("function"!=typeof a)throw Error(`SDK factory function "${e.sdkFunction}" not found. Make sure it is exported from the package.`);return a(...e.params.map(e=>{if(l(e)){let a=t.entities[e.$codeRef]??t.aliasReflections[e.$codeRef];if(!a)throw Error(`Reflection "${e.$codeRef}" not found in ModelRuntime. This is a bug — the target was validated at parse time.`);return a}return e}))};export const buildSdkOptic=(a,i,n,o)=>{let d=t.from(n),c=r.get(a.componentName)??g.get(a.componentName);if(!c)throw Error(`SDK component "${a.componentName}" not found. This is a bug — the component was validated at parse time.`);let m=d.withComponent(c,a.instanceName,!0),l=a.isAlias?m.withAlias(String(a.typeOrAlias)):m.withEntity(String(a.typeOrAlias));for(let e of i.filters.items){if("root"===e.kind){let t=e.target,a=e=>e[t];l=l.withFilter(a);continue}let t={};for(let a of s){let i=e[a];void 0!==i&&("dynamic"===i.kind?t[a]=e=>e[i.target]:"eval"===i.kind?t[a]=Function("self",`return (${i.code})`):t[a]=i.value)}l=l.withGradualFilter(t)}let p=R(i.readFactory,o),f=R(i.writeFactory,o),A=l.attach(p,f);return e({typeOrAlias:String(a.typeOrAlias),componentName:a.componentName,instanceName:String(a.instanceName),optic:A})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DomainComponentOpticBuilder as t,adminSidebarComponent as a,attributeSelectionComponent as i,componentsByName as r,composedOfComponent as n,navigationPageComponent as o,navigationPanelListComponent as d,referenceComponent as c}from"#package/domain";import*as m from"#package/domain";import{FILTER_CRITERION_KEYS as s,isSdkCodeRef as l}from"../../../core/index.js";let g=new Map([["reference",c],["composedOf",n],["adminSidebar",a],["attributeSelection",i],["navigationPage",o],["navigationPanelList",d]]),R={createAdminCustomPageRead:m.createAdminCustomPageRead,createAdminCustomSidebarRead:m.createAdminCustomSidebarRead,createAdminDataPageRead:m.createAdminDataPageRead,createAdminDataTableSidebarRead:m.createAdminDataTableSidebarRead,createAdminNavigationPanelRead:m.createAdminNavigationPanelRead,createAdminPresetCategoryPageRead:m.createAdminPresetCategoryPageRead,createAdminPresetCategorySelectionRead:m.createAdminPresetCategorySelectionRead,createAdminPresetCategorySelectionWrite:m.createAdminPresetCategorySelectionWrite,createAdminPresetCategorySidebarRead:m.createAdminPresetCategorySidebarRead,createAdminPresetListPageRead:m.createAdminPresetListPageRead,createAdminPresetSidebarRead:m.createAdminPresetSidebarRead,createAdminRecipeCollectionPageRead:m.createAdminRecipeCollectionPageRead,createAdminRecipeSidebarRead:m.createAdminRecipeSidebarRead},p=(e,t)=>{let a=R[e.sdkFunction]??m[e.sdkFunction];if("function"!=typeof a)throw Error(`SDK factory function "${e.sdkFunction}" not found. Make sure it is exported from the package.`);return a(...e.params.map(e=>{if(l(e)){let a=t.entities[e.$codeRef]??t.aliasReflections[e.$codeRef];if(!a)throw Error(`Reflection "${e.$codeRef}" not found in ModelRuntime. This is a bug — the target was validated at parse time.`);return a}return e}))};export const buildSdkOptic=(a,i,n,o)=>{let d=t.from(n),c=r.get(a.componentName)??g.get(a.componentName);if(!c)throw Error(`SDK component "${a.componentName}" not found. This is a bug — the component was validated at parse time.`);let m=d.withComponent(c,a.instanceName,!0),l=a.isAlias?m.withAlias(String(a.typeOrAlias)):m.withEntity(String(a.typeOrAlias));for(let e of i.filters.items){if("root"===e.kind){let t=e.target,a=e=>e[t];l=l.withFilter(a);continue}let t={};for(let a of s){let i=e[a];void 0!==i&&("dynamic"===i.kind?t[a]=e=>e[i.target]:"eval"===i.kind?t[a]=Function("self",`return (${i.code})`):t[a]=i.value)}l=l.withGradualFilter(t)}let R=p(i.readFactory,o),A=p(i.writeFactory,o),f=l.attach(R,A);return e({typeOrAlias:String(a.typeOrAlias),componentName:a.componentName,instanceName:String(a.instanceName),optic:f})};
@@ -4,7 +4,8 @@ import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
4
  import type { ComponentEntry } from '../../../parse-application-files/spec/index.js';
5
5
  import type { AdminModelRuntime } from '../admin-runtime/admin-model-runtime.js';
6
6
  import type { ConfiguratorModelRuntime } from '../configurator-runtime/configurator-model-runtime.js';
7
- type AnyComponentOptic = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
7
+ /** A component optic of any project, for any component type. */
8
+ export type AnyComponentOptic = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
8
9
  /** A single built component optic with its identifying metadata. */
9
10
  export type ComponentOptic = Branded<'ComponentOptic', {
10
11
  readonly typeOrAlias: string;
@@ -1 +1 @@
1
- import e from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";import{createRelationFactory as i}from"#package/domain";import{canonicalEnhancedJsonValueKey as a}from"../../../core/index.js";import{isSdkExpressionImplementation as n}from"../../../parse-application-files/spec/index.js";import{generateMemoEvalPlanRuntime as r}from"./generate-memo-eval-plan-runtime.js";let l={},o={relation:(e,t)=>i(e.aliasMap)(t[0]),violations:(e,t)=>{let i=t[0];if("object"!=typeof i||null===i||!("entityType"in i)||"string"!=typeof i.entityType)throw Error("Cannot create the violations expression because its entityType parameter is missing. The application spec is inconsistent; rebuild it from a valid invariants declaration.");let a=i.entityType,n=Object.entries(e.invariantImplementations).flatMap(([t,i])=>{let n=e.aliasMap[t];return t===a||n?.includes(a)?i:[]});return{origin:{name:"$violations",typeOrAlias:a},evaluate:(e,t,i)=>n.flatMap(a=>a.evaluate(e,t,i)),meta:{}}}},s=e=>{let t=r(e.plan);return{origin:{name:e.name,typeOrAlias:e.entityOrAlias},evaluate:(e,i,a)=>t(a.domain.get$Entity(e,i),i,a),meta:{}}},p=e=>({...(0,o[e.kind])({aliasMap:e.aliasMap,invariantImplementations:e.invariantImplementations},e.params),origin:{name:e.name,typeOrAlias:e.entityOrAlias}});export const ExpressionRuntime=(i,r,o,m,u=l)=>{let d={};for(let[e,t]of i.latestModel.aliases)d[String(e)]=t.map(String);let f=r.createBuilder(`${m}/sdk`,{build:p,getKey:e=>`sdk::${e.entityOrAlias}::${e.name}`,compare:(t,i)=>t.kind===i.kind&&e(t.params,i.params)&&e(t.aliasMap,i.aliasMap)&&("violations"!==i.kind||t.invariantImplementations===i.invariantImplementations)}),y=r.createBuilder(`${m}/user`,{build:e=>e.impl,getKey:e=>`user::${e.entityType}::${e.name}`,compare:(e,t)=>e.impl===t.impl}),g=r.createBuilder(`${m}/value`,{build:s,getKey:e=>`value::${e.entityOrAlias}::${e.name}`,compare:(e,t)=>e.valueKey===t.valueKey}),c={},v=!1,S=new Set,b=new Set,k=new Set;for(let[e,t]of i.expressions.expressions)for(let[,i]of t){let t=d[String(e)]??[String(e)];if(n(i.implementation)){let a={entityOrAlias:String(e),name:String(i.name),kind:i.implementation.kind,params:i.implementation.params,aliasMap:d,invariantImplementations:u},n=f.build(a);for(let e of(n.changed&&(v=!0),S.add(f.getKey(a)),t))c[e]||(c[e]={}),c[e][String(i.name)]=n.output;continue}if("value"===i.implementation.kind){let n=i.implementation.value,r={entityOrAlias:String(e),name:String(i.name),valueKey:a(n),plan:i.implementation.plan},l=g.build(r);for(let e of(l.changed&&(v=!0),k.add(g.getKey(r)),t))c[e]||(c[e]={}),c[e][String(i.name)]=l.output;continue}}for(let[e,t]of Object.entries(o))for(let[i,a]of Object.entries(t)){let t={entityType:e,name:i,impl:a},n=y.build(t);n.changed&&(v=!0),b.add(y.getKey(t)),c[e]||(c[e]={}),c[e][i]=n.output}f.cleanup(S)&&(v=!0),y.cleanup(b)&&(v=!0),g.cleanup(k)&&(v=!0);let x=[];for(let[e,t]of i.expressions.entityExpressions)for(let a of t.shapeGroups){let t=i.expressions.expressions.get(a);if(t)for(let[i]of t)c[String(e)]?.[String(i)]||x.push({entityType:String(e),exprName:String(i)})}return x.length>0?{ok:!1,missing:x}:{ok:!0,runtime:t({merged:c,changed:v})}};
1
+ import e from"lodash-es/isEqual.js";import{Branded as t}from"@salsita-ai/common/utils";import{createRelationFactory as i}from"#package/domain";import{canonicalEnhancedJsonValueKey as n,isSdkExpressionImplementation as a}from"../../../core/index.js";import{generateMemoEvalPlanRuntime as r}from"./generate-memo-eval-plan-runtime.js";let l={},o=["0-1","1-1","0-N","1-N"],s={relation:(e,t)=>{let n=t[0];if(!("object"==typeof n&&null!==n&&"kind"in n&&"target"in n&&"string"==typeof n.target&&"cardinality"in n&&o.includes(n.cardinality)&&("allOfType"===n.kind||("direct"===n.kind||"indirect"===n.kind)&&"field"in n&&"string"==typeof n.field)))throw Error("Cannot create the relation expression because its parameter is not a relation declaration. The application spec is inconsistent; rebuild it from a valid relations declaration.");return i(e.aliasMap)(n)},violations:(e,t)=>{let i=t[0];if("object"!=typeof i||null===i||!("entityType"in i)||"string"!=typeof i.entityType)throw Error("Cannot create the violations expression because its entityType parameter is missing. The application spec is inconsistent; rebuild it from a valid invariants declaration.");let n=i.entityType,a=Object.entries(e.invariantImplementations).flatMap(([t,i])=>{let a=e.aliasMap[t];return t===n||a?.includes(n)?i:[]});return{origin:{name:"$violations",typeOrAlias:n},evaluate:(e,t,i)=>a.flatMap(n=>n.evaluate(e,t,i)),meta:{}}}},p=e=>{let t=r(e.plan);return{origin:{name:e.name,typeOrAlias:e.entityOrAlias},evaluate:(e,i,n)=>t(n.domain.get$Entity(e,i),i,n),meta:{}}},m=e=>({...(0,s[e.kind])({aliasMap:e.aliasMap,invariantImplementations:e.invariantImplementations},e.params),origin:{name:e.name,typeOrAlias:e.entityOrAlias}});export const ExpressionRuntime=(i,r,o,s,u=l)=>{let d={};for(let[e,t]of i.latestModel.aliases)d[String(e)]=t.map(String);let c=r.createBuilder(`${s}/sdk`,{build:m,getKey:e=>`sdk::${e.entityOrAlias}::${e.name}`,compare:(t,i)=>t.kind===i.kind&&e(t.params,i.params)&&e(t.aliasMap,i.aliasMap)&&("violations"!==i.kind||t.invariantImplementations===i.invariantImplementations)}),f=r.createBuilder(`${s}/user`,{build:e=>e.impl,getKey:e=>`user::${e.entityType}::${e.name}`,compare:(e,t)=>e.impl===t.impl}),y=r.createBuilder(`${s}/value`,{build:p,getKey:e=>`value::${e.entityOrAlias}::${e.name}`,compare:(e,t)=>e.valueKey===t.valueKey}),g={},v=!1,S=new Set,k=new Set,b=new Set;for(let[e,t]of i.expressions.expressions)for(let[,i]of t){let t=d[String(e)]??[String(e)];if(a(i.implementation)){let n={entityOrAlias:String(e),name:String(i.name),kind:i.implementation.kind,params:i.implementation.params,aliasMap:d,invariantImplementations:u},a=c.build(n);for(let e of(a.changed&&(v=!0),S.add(c.getKey(n)),t))g[e]||(g[e]={}),g[e][String(i.name)]=a.output;continue}if("value"===i.implementation.kind){let a=i.implementation.value,r={entityOrAlias:String(e),name:String(i.name),valueKey:n(a),plan:i.implementation.plan},l=y.build(r);for(let e of(l.changed&&(v=!0),b.add(y.getKey(r)),t))g[e]||(g[e]={}),g[e][String(i.name)]=l.output;continue}}for(let[e,t]of Object.entries(o))for(let[i,n]of Object.entries(t)){let t={entityType:e,name:i,impl:n},a=f.build(t);a.changed&&(v=!0),k.add(f.getKey(t)),g[e]||(g[e]={}),g[e][i]=a.output}c.cleanup(S)&&(v=!0),f.cleanup(k)&&(v=!0),y.cleanup(b)&&(v=!0);let h=[];for(let[e,t]of i.expressions.entityExpressions)for(let n of t.shapeGroups){let t=i.expressions.expressions.get(n);if(t)for(let[i]of t)g[String(e)]?.[String(i)]||h.push({entityType:String(e),exprName:String(i)})}return h.length>0?{ok:!1,missing:h}:{ok:!0,runtime:t({merged:g,changed:v})}};
@@ -2,7 +2,6 @@ import { Branded } from '@salsita-ai/common/utils';
2
2
  import type { ImportedTransformer } from '#package/domain';
3
3
  import type { RuntimeReferenceStore } from '../../../caching/index.js';
4
4
  import type { ApplicationSpec } from '../../../parse-application-files/index.js';
5
- type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any, any>;
6
5
  /**
7
6
  * Runtime section for transformers. Combines two sources of truth:
8
7
  * - `importedTransformers` — factory functions from src/transformers/*.ts
@@ -13,9 +12,8 @@ type AnyImportedTransformer = ImportedTransformer<any, any, any, any, any, any,
13
12
  * decide whether to push a fresh `createTransformers` factory into the registry.
14
13
  */
15
14
  export type TransformersRuntime = Branded<'TransformersRuntime', {
16
- readonly importedTransformers: readonly AnyImportedTransformer[];
15
+ readonly importedTransformers: readonly ImportedTransformer[];
17
16
  readonly specTransformers: ApplicationSpec['configurator']['transformers'];
18
17
  readonly changed: boolean;
19
18
  }>;
20
- export declare const TransformersRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, importedTransformers: readonly AnyImportedTransformer[]) => TransformersRuntime;
21
- export {};
19
+ export declare const TransformersRuntime: (spec: ApplicationSpec, referenceStore: RuntimeReferenceStore, importedTransformers: readonly ImportedTransformer[]) => TransformersRuntime;
@@ -0,0 +1,9 @@
1
+ import type { RuntimeSpec } from './runtime-spec.js';
2
+ /**
3
+ * Reads the JSON text of `.phoenix/application-spec.json` back into the runtime spec that
4
+ * `encodeRuntimeSpec` wrote: one `JSON.parse`, then each listed array back into its Map or Set.
5
+ *
6
+ * Throws when the text is not a runtime spec artifact, or when it was written in another format
7
+ * version than this SDK reads; `phoenix sync` writes the artifact again in the right one.
8
+ */
9
+ export declare const decodeRuntimeSpec: (text: string) => RuntimeSpec;
@@ -0,0 +1 @@
1
+ import{RUNTIME_SPEC_FORMAT_VERSION as e}from"./encoded-runtime-spec.js";let t="Run `phoenix sync` to write it again with the SDK the project uses.",r=e=>"object"==typeof e&&null!==e,i=e=>Error(`Cannot read .phoenix/application-spec.json: its ${e.kind} at ${JSON.stringify(e.path)} is not where the file says it is, so the file was changed after it was written. ${t}`),o=(e,t)=>{let o=e,n="spec";for(let e of t.path)o=r(o)?o[n]:void 0,n=e;let s=r(o)?o[n]:void 0;if(!r(o)||!Array.isArray(s))throw i(t);o[n]="Map"===t.kind?new Map(s.map(e=>{if(!Array.isArray(e)||2!==e.length)throw i(t);return[e[0],e[1]]})):new Set(s)};export const decodeRuntimeSpec=i=>{let n=JSON.parse(i);if(!(r(n)&&"number"==typeof n.format&&Array.isArray(n.collections)&&"spec"in n))throw Error(`Cannot read .phoenix/application-spec.json: it is not a runtime spec written by \`phoenix sync\` or \`phoenix build\`. ${t}`);if(n.format!==e)throw Error(`Cannot read .phoenix/application-spec.json: it is written in format version ${n.format}, and this SDK reads format version ${e}, so it was written by another version of the SDK. ${t}`);let s={spec:n.spec};for(let e of n.collections)o(s,e);return s.spec};
@@ -0,0 +1,8 @@
1
+ import type { RuntimeSpec } from './runtime-spec.js';
2
+ /**
3
+ * Writes a runtime spec as the JSON text of `.phoenix/application-spec.json`, which
4
+ * `decodeRuntimeSpec` reads back. Maps and Sets become arrays listed in `collections`, properties
5
+ * whose value is `undefined` are left out, and the document carries the format version. The text
6
+ * is the same for the same spec, so an unchanged spec leaves the file unchanged.
7
+ */
8
+ export declare const encodeRuntimeSpec: (spec: RuntimeSpec) => string;
@@ -0,0 +1 @@
1
+ import{RUNTIME_SPEC_FORMAT_VERSION as t}from"./encoded-runtime-spec.js";let e=(t,e)=>Error(`Cannot write .phoenix/application-spec.json: the parsed spec holds ${e} at ${JSON.stringify(t.path)}, which the runtime spec cannot hold. The runtime spec holds only plain data, Maps and Sets, so the parser produced a value it should not have. Report this to the Phoenix team with the YAML that declares this value.`),o=(t,e,o)=>{t.path.push(e);let n=r(t,o);return t.path.pop(),n},r=(t,r)=>{let n;if(null===r||"string"==typeof r||"boolean"==typeof r)return r;if("number"==typeof r){if(!Number.isFinite(r))throw e(t,`the number ${r}`);return r}if("object"!=typeof r)throw e(t,`a value of type ${typeof r}`);if(r instanceof Map){let e=[...r].map(([e,r],n)=>{t.path.push(n);let p=[o(t,0,e),o(t,1,r)];return t.path.pop(),p});return t.collections.push({kind:"Map",path:[...t.path]}),e}if(r instanceof Set){let e=[...r].map((e,r)=>o(t,r,e));return t.collections.push({kind:"Set",path:[...t.path]}),e}if(Array.isArray(r))return r.map((r,n)=>{if(void 0===r)throw e(t,`undefined as item ${n} of an array`);return o(t,n,r)});if((n=Object.getPrototypeOf(r))!==Object.prototype&&null!==n)throw e(t,`an instance of ${r.constructor.name}`);let p={};for(let[e,n]of Object.entries(r))void 0!==n&&(p[e]=o(t,e,n));return p};export const encodeRuntimeSpec=e=>{let o={path:[],collections:[]},n=r(o,e);return JSON.stringify({format:t,collections:o.collections,spec:n})};
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The version of the JSON format `encodeRuntimeSpec` writes. Raise it with every change to the
3
+ * format or to the shape of `RuntimeSpec`, so that `decodeRuntimeSpec` refuses an artifact an older
4
+ * or newer SDK wrote instead of building a runtime from data it does not understand.
5
+ */
6
+ export declare const RUNTIME_SPEC_FORMAT_VERSION = 1;
7
+ /** One step from a value into a part of it: an object key or an array index. */
8
+ export type RuntimeSpecPathSegment = string | number;
9
+ /**
10
+ * A Map or Set of the runtime spec, which JSON cannot hold: it is written as an array (a Map as its
11
+ * `[key, value]` entries), and `path` leads from the spec to that array. Paths into a Map run
12
+ * through its entries, so `[..., 2, 1]` is the value of its third entry.
13
+ */
14
+ export interface EncodedCollection {
15
+ readonly kind: 'Map' | 'Set';
16
+ readonly path: readonly RuntimeSpecPathSegment[];
17
+ }
18
+ /**
19
+ * The JSON document of `.phoenix/application-spec.json`. `spec` is the runtime spec with every Map
20
+ * and Set written as an array, and `collections` lists those arrays, inner ones before the ones
21
+ * that hold them, so a decoder turns them back in that order without walking the whole spec.
22
+ */
23
+ export interface EncodedRuntimeSpec {
24
+ readonly format: number;
25
+ readonly collections: readonly EncodedCollection[];
26
+ readonly spec: unknown;
27
+ }
@@ -0,0 +1 @@
1
+ export const RUNTIME_SPEC_FORMAT_VERSION=1;
@@ -0,0 +1,4 @@
1
+ export * from './runtime-spec.js';
2
+ export * from './encoded-runtime-spec.js';
3
+ export * from './encode-runtime-spec.js';
4
+ export * from './decode-runtime-spec.js';
@@ -0,0 +1 @@
1
+ export*from"./runtime-spec.js";export*from"./encoded-runtime-spec.js";export*from"./encode-runtime-spec.js";export*from"./decode-runtime-spec.js";
@@ -0,0 +1,68 @@
1
+ import type { AdminSpec, ApplicationSpec, ConfiguratorSpec, EntitySchema, Infra, ModelVersion, ResolvedModelVersion, ResolvedVersions } from '../../parse-application-files/index.js';
2
+ /**
3
+ * The part of a parsed entity schema the runtime reads: the entity type and the schema of its
4
+ * shape, from which it builds the entity's reflection. The full schema with `id` and `type` is
5
+ * only registered with a deployment, and the compiled shape validators only check presets and
6
+ * defaults while parsing.
7
+ */
8
+ export type RuntimeEntitySchema = Pick<EntitySchema, 'entityType' | 'shapeSchema'>;
9
+ /**
10
+ * The part of a parsed model version the runtime reads: the entity types, the aliases, the common
11
+ * types and the schema of every entity's shape. The raw shapes and resolved shapes only serve the
12
+ * parser and the type generator.
13
+ */
14
+ export type RuntimeModelVersion = Pick<ModelVersion, 'versionKey' | 'entityTypes' | 'rootEntityTypes' | 'aliases' | 'commonTypes'> & {
15
+ readonly entitySchemas: readonly RuntimeEntitySchema[];
16
+ };
17
+ /** One model version of a domain as the runtime reads it, with the migration file that leads to it. */
18
+ export type RuntimeResolvedModelVersion = Omit<ResolvedModelVersion, 'modelVersion'> & {
19
+ readonly modelVersion: RuntimeModelVersion;
20
+ };
21
+ /** Every model version of a domain as the runtime reads it; it builds the domain's migrations from them. */
22
+ export type RuntimeResolvedVersions = Pick<ResolvedVersions, 'latestVersion'> & {
23
+ readonly versionedModels: readonly RuntimeResolvedModelVersion[];
24
+ };
25
+ /** The model of a domain as the runtime reads it: the latest version and every earlier one. */
26
+ interface RuntimeDomainModel {
27
+ readonly latestModel: RuntimeModelVersion;
28
+ readonly resolvedVersions: RuntimeResolvedVersions;
29
+ }
30
+ /**
31
+ * The configurator part of the runtime spec. It leaves out the configuration schema and its
32
+ * version, which only a deployment registers, and the assistant's server settings (instructions
33
+ * and AI settings), which must never reach the browser of a customer.
34
+ */
35
+ export type RuntimeConfiguratorSpec = Pick<ConfiguratorSpec, 'components' | 'presets' | 'expressions' | 'actions' | 'invariants' | 'dataSchemas' | 'defaults' | 'states' | 'theme' | 'ui' | 'transformers' | 'assistant'> & RuntimeDomainModel;
36
+ /**
37
+ * The admin part of the runtime spec. It leaves out the configuration schema and its version, which
38
+ * only a deployment registers.
39
+ */
40
+ export type RuntimeAdminSpec = Pick<AdminSpec, 'components' | 'presets' | 'expressions' | 'invariants' | 'defaults' | 'states' | 'adminPages'> & RuntimeDomainModel;
41
+ /**
42
+ * The infrastructure settings the runtime reads: access control and resources. The environment
43
+ * variable declarations only drive the generated environment readers.
44
+ */
45
+ export type RuntimeInfra = Pick<Infra, 'acl' | 'resources' | 'resourcesConfig'>;
46
+ /**
47
+ * The parsed application spec as the runtime reads it: what `ApplicationRuntime` builds the
48
+ * configurator and admin runtimes from, and the sections an application needs besides its domains
49
+ * (data spec, app metadata, resources, access control, user interface settings, webhook data
50
+ * schemas, admin pages). `phoenix sync` and `phoenix build` write it to
51
+ * `.phoenix/application-spec.json` with `encodeRuntimeSpec`.
52
+ *
53
+ * It is derived from the parsed types, so a section the runtime reads keeps the parser's type. It
54
+ * leaves out what only the parser, the type generator or a deployment use, and holds plain data,
55
+ * Maps and Sets only, so it can be encoded as JSON.
56
+ */
57
+ export interface RuntimeSpec extends Pick<ApplicationSpec, 'appMetadata' | 'dataSpec'> {
58
+ readonly configurator: RuntimeConfiguratorSpec;
59
+ readonly admin: RuntimeAdminSpec;
60
+ readonly infra: RuntimeInfra;
61
+ }
62
+ /**
63
+ * Takes from a parsed application spec the part the runtime reads. The sections it keeps are the
64
+ * parsed values themselves, not copies; only the model versions are rebuilt without what the
65
+ * runtime does not read.
66
+ */
67
+ export declare const toRuntimeSpec: (spec: ApplicationSpec) => RuntimeSpec;
68
+ export {};
@@ -0,0 +1 @@
1
+ let e=e=>({versionKey:e.versionKey,entityTypes:e.entityTypes,rootEntityTypes:e.rootEntityTypes,aliases:e.aliases,commonTypes:e.commonTypes,entitySchemas:e.entitySchemas.map(e=>({entityType:e.entityType,shapeSchema:e.shapeSchema}))}),s=s=>({latestModel:e(s.latestModel),resolvedVersions:{latestVersion:s.resolvedVersions.latestVersion,versionedModels:s.resolvedVersions.versionedModels.map(s=>({version:s.version,key:s.key,isLatest:s.isLatest,migrationFile:s.migrationFile,modelVersion:e(s.modelVersion)}))}});export const toRuntimeSpec=e=>{let{configurator:t,admin:a,infra:n}=e;return{configurator:{components:t.components,presets:t.presets,expressions:t.expressions,actions:t.actions,invariants:t.invariants,dataSchemas:t.dataSchemas,defaults:t.defaults,states:t.states,theme:t.theme,ui:t.ui,transformers:t.transformers,assistant:t.assistant,...s(t)},admin:{components:a.components,presets:a.presets,expressions:a.expressions,invariants:a.invariants,defaults:a.defaults,states:a.states,adminPages:a.adminPages,...s(a)},appMetadata:e.appMetadata,infra:{acl:n.acl,resources:n.resources,resourcesConfig:n.resourcesConfig},dataSpec:e.dataSpec}};
@@ -1,4 +1,5 @@
1
1
  export * from './core/index.js';
2
+ export * from './enhanced-json/index.js';
2
3
  export * from './caching/index.js';
3
4
  export * from './errors/index.js';
4
5
  export * from './generate-application/index.js';
@@ -1 +1 @@
1
- export*from"./core/index.js";export*from"./caching/index.js";export*from"./errors/index.js";export*from"./generate-application/index.js";export*from"./parse-application-files/index.js";export*from"./webhook-boundary.js";
1
+ export*from"./core/index.js";export*from"./enhanced-json/index.js";export*from"./caching/index.js";export*from"./errors/index.js";export*from"./generate-application/index.js";export*from"./parse-application-files/index.js";export*from"./webhook-boundary.js";
@@ -58,12 +58,28 @@ export type CategorizedFiles = Branded<'CategorizedFiles', {
58
58
  readonly adminElementsChanged: boolean;
59
59
  readonly webhooks: readonly CategorizedFile[];
60
60
  readonly webhooksChanged: boolean;
61
+ /**
62
+ * Whether the project has its webhook entry, `src/webhooks/index.ts`, whose default export is the
63
+ * project's webhook. Generation reads it to decide the generated webhook entry: without it the
64
+ * entry holds the built-in inert webhook.
65
+ */
66
+ readonly hasWebhookEntry: boolean;
61
67
  readonly locales: readonly CategorizedFile[];
62
68
  readonly localesChanged: boolean;
63
69
  readonly mockTemplates: readonly CategorizedFile[];
64
70
  readonly mockTemplatesChanged: boolean;
65
71
  readonly projectFiles: readonly CategorizedFile[];
66
72
  readonly projectFilesChanged: boolean;
73
+ /**
74
+ * One-time migration: true only on a checkout's first sync with an SDK that contains this field;
75
+ * delete it once projects have synced with such an SDK.
76
+ *
77
+ * Whether the project's root `tsconfig.json` is the full file earlier SDK versions generated on
78
+ * every sync, before the TypeScript settings moved to `.phoenix/tsconfig.json`. Generation reads
79
+ * it to replace that file with the one-line `tsconfig.json` that extends `.phoenix/tsconfig.json`;
80
+ * any other root `tsconfig.json` is the project's own and is left as it is.
81
+ */
82
+ readonly hasEarlierGeneratedTsconfig: boolean;
67
83
  readonly customCode: readonly CategorizedFile[];
68
84
  readonly customCodeChanged: boolean;
69
85
  readonly envs: Record<string, unknown>;
@@ -1 +1 @@
1
- import e from"lodash-es/isEqual.js";import{Branded as n}from"@salsita-ai/common/utils";import{computeFileDepHashes as s}from"../../caching/index.js";import{DiagnosticCode as o,diagnosticMessages as a}from"../../errors/index.js";import{findWebhookHandlerRegistration as i}from"./module-analysis.js";import{findWebhookSafetyViolation as t}from"./webhook-safety.js";export const buildProjectFileIndex=e=>new Map([...e.spec,...e.expressions,...e.actions,...e.handlers,...e.elements,...e.transformers,...e.components,...e.invariants,...e.migrations,...e.adminMigrations,...e.adminExpressions,...e.adminInvariants,...e.adminComponents,...e.adminElements,...e.webhooks,...e.locales,...e.mockTemplates,...e.projectFiles,...e.customCode].map(e=>[e.file.name,e]));let r=e=>/\/_[^/]+\//.test(e),m=[{path:"spec/",key:"spec"},{path:"src/admin/expressions/",key:"adminExpressions"},{path:"src/admin/invariants/",key:"adminInvariants"},{path:"src/admin/components/",key:"adminComponents"},{path:"src/admin/elements/",key:"adminElements"},{path:"src/admin/migrations/",key:"adminMigrations"},{path:"src/expressions/",key:"expressions"},{path:"src/actions/",key:"actions"},{path:"src/handlers/",key:"handlers"},{path:"src/elements/",key:"elements"},{path:"src/transformers/",key:"transformers"},{path:"src/components/",key:"components"},{path:"src/invariants/",key:"invariants"},{path:"src/migrations/",key:"migrations"},{path:"src/webhooks/",key:"webhooks"},{path:"src/locales/",key:"locales"},{path:"mocks/",key:"mockTemplates"}],l=new Set(["package.json",".gitignore","CLAUDE.md",".cursor/rules/phoenix.mdc"]),d=new Set(["migrations","adminMigrations"]),c=m.filter(({path:e,key:n})=>e.startsWith("src/")&&d.has(n)),p=(e,n)=>{let s=e.slice(n.length).split("/");return!(s.length<=1)&&s.slice(0,-1).some(e=>!e.startsWith("_"))},h=/\.(ts|tsx|js|jsx)$/,f=(e,n)=>{if("components"===e||"adminComponents"===e)return n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (no 'use webhook' directive)"};if("handlers"===e){let e=i(n);return void 0!==e?{membership:"named-handler",logSuffix:`webhook (the ${e} registration)`}:n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (not a named handler or pin)"}}};export const CategorizedFiles=(i,d,g,u)=>{let k={spec:[],expressions:[],actions:[],handlers:[],elements:[],transformers:[],components:[],invariants:[],migrations:[],adminMigrations:[],adminExpressions:[],adminInvariants:[],adminComponents:[],adminElements:[],webhooks:[],locales:[],mockTemplates:[],projectFiles:[],customCode:[]},b=[];for(let e of i.files){if("text"!==e.kind)continue;if(r(e.name)){k.customCode.push({file:e,category:"customCode"});continue}if(l.has(e.name)){k.projectFiles.push({file:e,category:"projectFiles"});continue}let n=!1;for(let{path:s,key:o}of m)if(e.name.startsWith(s)){k[o].push({file:e,category:o}),n=!0;break}n||b.push(e.name)}for(let e of b)e.startsWith("src/")&&g.error(o.UNKNOWN_SRC_PATH,a.UNKNOWN_SRC_PATH(e));for(let{path:e,key:n}of c)for(let s of k[n])p(s.file.name,e)&&g.error(o.INVALID_SUBDIRECTORY,a.INVALID_SUBDIRECTORY(s.file.name,e));if(k.webhooks.length>0&&!k.webhooks.some(e=>"src/webhooks/index.ts"===e.file.name)&&g.error(o.MISSING_WEBHOOK_INDEX,a.MISSING_WEBHOOK_INDEX()),g.hasErrors)return;let C=[];for(let e of Object.values(k))for(let n of e)C.push(n.file.name);let v=s(i,C),{analyzer:x,logger:y}=u,E=d.createBuilder("categorizedFiles/moduleAnalysis",{build:e=>{try{return{analysis:x(e.name,e.content)}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},getKey:e=>e.name,compare:(e,n)=>e.content===n.content}),I=new Set,w=e=>{if(!h.test(e.name))return;I.add(e.name);let n=E.build({name:e.name,content:e.content}).output;return void 0!==n.error?void g.error(o.MODULE_ANALYSIS_FAILED,a[o.MODULE_ANALYSIS_FAILED](e.name,n.error)):n.analysis},S={},j={};for(let[e,s]of Object.entries(k)){let o=d.createBuilder(`categorizedFiles/${e}`,{build:e=>e,getKey:e=>e.name,compare:(e,n)=>e.depHash===n.depHash}),a=new Set;S[e]=s.map(e=>{let s=v[e.file.name]??{deps:[],hash:""},{changed:i}=o.build({name:e.file.name,depHash:s.hash});a.add(e.file.name);let t=w(e.file),r=void 0===t?void 0:f(e.category,t);return void 0!==r&&y.debug(`Webhook membership: ${e.file.name} -> ${r.logSuffix}`),n({file:e.file,category:e.category,deps:s.deps,depHash:s.hash,changed:i,analysis:t,webhookMembership:r?.membership})}),j[e]=o.cleanup(a)}E.cleanup(I);let _=(e,n)=>n.some(e=>e.changed)||!0===j[e],F=d.createBuilder("categorizedFiles/envs",{build:e=>e.envs,getKey:()=>"singleton",compare:(n,s)=>e(n.envs,s.envs)}).build({envs:i.envs}),M=n({spec:S.spec,specChanged:_("spec",S.spec),expressions:S.expressions,expressionsChanged:_("expressions",S.expressions),actions:S.actions,actionsChanged:_("actions",S.actions),handlers:S.handlers,handlersChanged:_("handlers",S.handlers),elements:S.elements,elementsChanged:_("elements",S.elements),transformers:S.transformers,transformersChanged:_("transformers",S.transformers),components:S.components,componentsChanged:_("components",S.components),invariants:S.invariants,invariantsChanged:_("invariants",S.invariants),migrations:S.migrations,migrationsChanged:_("migrations",S.migrations),adminMigrations:S.adminMigrations,adminMigrationsChanged:_("adminMigrations",S.adminMigrations),adminExpressions:S.adminExpressions,adminExpressionsChanged:_("adminExpressions",S.adminExpressions),adminInvariants:S.adminInvariants,adminInvariantsChanged:_("adminInvariants",S.adminInvariants),adminComponents:S.adminComponents,adminComponentsChanged:_("adminComponents",S.adminComponents),adminElements:S.adminElements,adminElementsChanged:_("adminElements",S.adminElements),webhooks:S.webhooks,webhooksChanged:_("webhooks",S.webhooks),locales:S.locales,localesChanged:_("locales",S.locales),mockTemplates:S.mockTemplates,mockTemplatesChanged:_("mockTemplates",S.mockTemplates),projectFiles:S.projectFiles,projectFilesChanged:_("projectFiles",S.projectFiles),customCode:S.customCode,customCodeChanged:_("customCode",S.customCode),envs:F.output,envsChanged:F.changed}),O=buildProjectFileIndex(M);for(let e of O.values()){if("pinned"!==e.webhookMembership&&"named-handler"!==e.webhookMembership)continue;let n=t(e,O);void 0!==n&&g.error(o.WEBHOOK_UNSAFE_IMPORT,a[o.WEBHOOK_UNSAFE_IMPORT](n.fileName,n.inclusionReason,n.importer,n.specifier))}return M};
1
+ import e from"lodash-es/isEqual.js";import{Branded as n}from"@salsita-ai/common/utils";import{computeFileDepHashes as s}from"../../caching/index.js";import{DiagnosticCode as o,diagnosticMessages as i}from"../../errors/index.js";import{isEarlierGeneratedTsconfig as a}from"./earlier-generated-tsconfig.js";import{findWebhookHandlerRegistration as t}from"./module-analysis.js";import{findWebhookSafetyViolation as r}from"./webhook-safety.js";export const buildProjectFileIndex=e=>new Map([...e.spec,...e.expressions,...e.actions,...e.handlers,...e.elements,...e.transformers,...e.components,...e.invariants,...e.migrations,...e.adminMigrations,...e.adminExpressions,...e.adminInvariants,...e.adminComponents,...e.adminElements,...e.webhooks,...e.locales,...e.mockTemplates,...e.projectFiles,...e.customCode].map(e=>[e.file.name,e]));let m=e=>/\/_[^/]+\//.test(e),l=[{path:"spec/",key:"spec"},{path:"src/admin/expressions/",key:"adminExpressions"},{path:"src/admin/invariants/",key:"adminInvariants"},{path:"src/admin/components/",key:"adminComponents"},{path:"src/admin/elements/",key:"adminElements"},{path:"src/admin/migrations/",key:"adminMigrations"},{path:"src/expressions/",key:"expressions"},{path:"src/actions/",key:"actions"},{path:"src/handlers/",key:"handlers"},{path:"src/elements/",key:"elements"},{path:"src/transformers/",key:"transformers"},{path:"src/components/",key:"components"},{path:"src/invariants/",key:"invariants"},{path:"src/migrations/",key:"migrations"},{path:"src/webhooks/",key:"webhooks"},{path:"src/locales/",key:"locales"},{path:"mocks/",key:"mockTemplates"}],d="tsconfig.json",c=new Set(["package.json",".gitignore",d,"CLAUDE.md",".cursor/rules/phoenix.mdc"]),p=new Set(["migrations","adminMigrations"]),h=l.filter(({path:e,key:n})=>e.startsWith("src/")&&p.has(n)),f=(e,n)=>{let s=e.slice(n.length).split("/");return!(s.length<=1)&&s.slice(0,-1).some(e=>!e.startsWith("_"))},g=/\.(ts|tsx|js|jsx)$/,u=(e,n)=>{if("components"===e||"adminComponents"===e)return n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (no 'use webhook' directive)"};if("handlers"===e){let e=t(n);return void 0!==e?{membership:"named-handler",logSuffix:`webhook (the ${e} registration)`}:n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (not a named handler or pin)"}}};export const CategorizedFiles=(t,p,k,b)=>{let C={spec:[],expressions:[],actions:[],handlers:[],elements:[],transformers:[],components:[],invariants:[],migrations:[],adminMigrations:[],adminExpressions:[],adminInvariants:[],adminComponents:[],adminElements:[],webhooks:[],locales:[],mockTemplates:[],projectFiles:[],customCode:[]},v=[];for(let e of t.files){if("text"!==e.kind)continue;if(m(e.name)){C.customCode.push({file:e,category:"customCode"});continue}if(c.has(e.name)){C.projectFiles.push({file:e,category:"projectFiles"});continue}let n=!1;for(let{path:s,key:o}of l)if(e.name.startsWith(s)){C[o].push({file:e,category:o}),n=!0;break}n||v.push(e.name)}for(let e of v)e.startsWith("src/")&&k.error(o.UNKNOWN_SRC_PATH,i.UNKNOWN_SRC_PATH(e));for(let{path:e,key:n}of h)for(let s of C[n])f(s.file.name,e)&&k.error(o.INVALID_SUBDIRECTORY,i.INVALID_SUBDIRECTORY(s.file.name,e));let x=C.webhooks.some(e=>"src/webhooks/index.ts"===e.file.name);if(C.webhooks.length>0&&!x&&k.error(o.MISSING_WEBHOOK_INDEX,i.MISSING_WEBHOOK_INDEX()),k.hasErrors)return;let y=C.projectFiles.find(e=>e.file.name===d),E=void 0!==y&&a(y.file.content),I=[];for(let e of Object.values(C))for(let n of e)I.push(n.file.name);let w=s(t,I),{analyzer:S,logger:j}=b,F=p.createBuilder("categorizedFiles/moduleAnalysis",{build:e=>{try{return{analysis:S(e.name,e.content)}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},getKey:e=>e.name,compare:(e,n)=>e.content===n.content}),_=new Set,M=e=>{if(!g.test(e.name))return;_.add(e.name);let n=F.build({name:e.name,content:e.content}).output;return void 0!==n.error?void k.error(o.MODULE_ANALYSIS_FAILED,i[o.MODULE_ANALYSIS_FAILED](e.name,n.error)):n.analysis},O={},N={};for(let[e,s]of Object.entries(C)){let o=p.createBuilder(`categorizedFiles/${e}`,{build:e=>e,getKey:e=>e.name,compare:(e,n)=>e.depHash===n.depHash}),i=new Set;O[e]=s.map(e=>{let s=w[e.file.name]??{deps:[],hash:""},{changed:a}=o.build({name:e.file.name,depHash:s.hash});i.add(e.file.name);let t=M(e.file),r=void 0===t?void 0:u(e.category,t);return void 0!==r&&j.debug(`Webhook membership: ${e.file.name} -> ${r.logSuffix}`),n({file:e.file,category:e.category,deps:s.deps,depHash:s.hash,changed:a,analysis:t,webhookMembership:r?.membership})}),N[e]=o.cleanup(i)}F.cleanup(_);let A=(e,n)=>n.some(e=>e.changed)||!0===N[e],T=p.createBuilder("categorizedFiles/envs",{build:e=>e.envs,getKey:()=>"singleton",compare:(n,s)=>e(n.envs,s.envs)}).build({envs:t.envs}),D=n({spec:O.spec,specChanged:A("spec",O.spec),expressions:O.expressions,expressionsChanged:A("expressions",O.expressions),actions:O.actions,actionsChanged:A("actions",O.actions),handlers:O.handlers,handlersChanged:A("handlers",O.handlers),elements:O.elements,elementsChanged:A("elements",O.elements),transformers:O.transformers,transformersChanged:A("transformers",O.transformers),components:O.components,componentsChanged:A("components",O.components),invariants:O.invariants,invariantsChanged:A("invariants",O.invariants),migrations:O.migrations,migrationsChanged:A("migrations",O.migrations),adminMigrations:O.adminMigrations,adminMigrationsChanged:A("adminMigrations",O.adminMigrations),adminExpressions:O.adminExpressions,adminExpressionsChanged:A("adminExpressions",O.adminExpressions),adminInvariants:O.adminInvariants,adminInvariantsChanged:A("adminInvariants",O.adminInvariants),adminComponents:O.adminComponents,adminComponentsChanged:A("adminComponents",O.adminComponents),adminElements:O.adminElements,adminElementsChanged:A("adminElements",O.adminElements),webhooks:O.webhooks,webhooksChanged:A("webhooks",O.webhooks),hasWebhookEntry:x,locales:O.locales,localesChanged:A("locales",O.locales),mockTemplates:O.mockTemplates,mockTemplatesChanged:A("mockTemplates",O.mockTemplates),projectFiles:O.projectFiles,projectFilesChanged:A("projectFiles",O.projectFiles),hasEarlierGeneratedTsconfig:E,customCode:O.customCode,customCodeChanged:A("customCode",O.customCode),envs:T.output,envsChanged:T.changed}),W=buildProjectFileIndex(D);for(let e of W.values()){if("pinned"!==e.webhookMembership&&"named-handler"!==e.webhookMembership)continue;let n=r(e,W);void 0!==n&&k.error(o.WEBHOOK_UNSAFE_IMPORT,i[o.WEBHOOK_UNSAFE_IMPORT](n.fileName,n.inclusionReason,n.importer,n.specifier))}return D};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * One-time migration, see the top of this module: true only before a checkout's first sync with this SDK.
3
+ *
4
+ * Whether the content of a project's root `tsconfig.json` is the file earlier SDK versions generated.
5
+ * The comparison is by meaning: comments, formatting and key order do not count, so a generated
6
+ * file that an editor or formatter rewrote is still recognised. Content that does not parse, or that
7
+ * differs in any setting, is the project's own.
8
+ */
9
+ export declare const isEarlierGeneratedTsconfig: (content: string) => boolean;
@@ -0,0 +1 @@
1
+ import e from"lodash-es/isEqual.js";let l={compilerOptions:{noEmit:!0,module:"ESNext",moduleResolution:"Bundler",lib:["ES2022","DOM"],esModuleInterop:!0,isolatedModules:!0,resolveJsonModule:!0,allowJs:!1,skipLibCheck:!0,strict:!0,noImplicitOverride:!0,noImplicitReturns:!0,noPropertyAccessFromIndexSignature:!0,noUncheckedIndexedAccess:!0,allowUnreachableCode:!1,allowUnusedLabels:!1,noFallthroughCasesInSwitch:!0,noUnusedLocals:!0,noUnusedParameters:!0,useDefineForClassFields:!0,jsx:"react-jsx",paths:{}},include:["src",".phoenix","prettier.config.js","eslint.config.js","./.phoenix/globals.d.ts"]},s=(e,l)=>{let s=l+1;for(;s<e.length&&'"'!==e[s];)s+="\\"===e[s]?2:1;return s+1};export const isEarlierGeneratedTsconfig=t=>e((e=>{try{return JSON.parse((e=>{let l="",t=0;for(;t<e.length;){let n=e[t];if('"'===n){let n=s(e,t);l+=e.slice(t,n),t=n;continue}","===n&&/^\s*[}\]]/.test(e.slice(t+1))||(l+=n),t++}return l})((e=>{let l="",t=0;for(;t<e.length;){let n=e[t],o=e[t+1];if('"'===n){let n=s(e,t);l+=e.slice(t,n),t=n}else if("/"===n&&"/"===o){let l=e.indexOf("\n",t);t=-1===l?e.length:l}else if("/"===n&&"*"===o){let l=e.indexOf("*/",t+2);t=-1===l?e.length:l+2}else l+=n,t++}return l})(e)))}catch{return}})(t),l);
@@ -43,6 +43,6 @@ export declare const analyzeParsedModule: (module: Module) => ModuleAnalysis;
43
43
  /** The explicit webhook classification of one authored file. */
44
44
  export type WebhookMembership = 'pinned' | 'named-handler' | 'frontend';
45
45
  /** Handler registrations that keep implicit webhook membership for legacy-CLI parity. */
46
- export declare const WEBHOOK_HANDLER_REGISTRATIONS: readonly ['createMapPublishedRevisionDataHandler', 'createMapPublishedChunkedDataHandler', 'createDataRowValidatorHandler', 'createSheetValidatorHandler'];
46
+ export declare const WEBHOOK_HANDLER_REGISTRATIONS: readonly ['phx.domain.createAssistantSetupHandler', 'phx.domain.admin.createMapPublishedRevisionDataHandler', 'phx.domain.admin.createMapPublishedChunkedDataHandler', 'phx.domain.admin.createDataRowValidatorHandler', 'phx.domain.admin.createSheetValidatorHandler'];
47
47
  /** Returns the named webhook handler registration a handler module calls, if any. */
48
48
  export declare const findWebhookHandlerRegistration: (analysis: ModuleAnalysis) => string | undefined;
@@ -1 +1 @@
1
- import{Visitor as e}from"@swc/core/Visitor.js";export const getModuleParseOptions=()=>({syntax:"typescript",tsx:!0,target:"es2022"});let t=e=>{if("Identifier"===e.type)return e.value;if("ParenthesisExpression"===e.type)return t(e.expression);if("MemberExpression"!==e.type||"Identifier"!==e.property.type)return;let r=t(e.object);return void 0===r?void 0:`${r}.${e.property.value}`},r=e=>e.length>0&&e.every(e=>"isTypeOnly"in e&&!0===e.isTypeOnly),i=class ProjectSourceVisitor extends e{imports=[];calledMemberPaths=new Set;visitTsType(e){return e}visitImportDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),e}visitExportNamedDeclaration(e){return null!=e.source&&this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),super.visitExportNamedDeclaration(e)}visitExportAllDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:"typeOnly"in e&&!0===e.typeOnly}),e}visitCallExpression(e){var r;let i=(r=e.arguments[0]?.expression,r?.type==="StringLiteral"?r.value:r?.type==="TemplateLiteral"&&0===r.expressions.length?r.quasis[0]?.cooked??r.quasis[0]?.raw:void 0);if("Import"===e.callee.type&&void 0!==i)this.imports.push({specifier:i,typeOnly:!1});else if("Super"!==e.callee.type&&"Import"!==e.callee.type){let r=t(e.callee);void 0!==r&&this.calledMemberPaths.add(r),"require"===r&&void 0!==i&&this.imports.push({specifier:i,typeOnly:!1})}return super.visitCallExpression(e)}};export const analyzeParsedModule=e=>{let t=new i;t.visitModule(e);let r=e.body[0];return{imports:t.imports,calledMemberPaths:[...t.calledMemberPaths].sort(),hasUseWebhookDirective:r?.type==="ExpressionStatement"&&"StringLiteral"===r.expression.type&&"use webhook"===r.expression.value}};export const WEBHOOK_HANDLER_REGISTRATIONS=["createMapPublishedRevisionDataHandler","createMapPublishedChunkedDataHandler","createDataRowValidatorHandler","createSheetValidatorHandler"];export const findWebhookHandlerRegistration=e=>WEBHOOK_HANDLER_REGISTRATIONS.find(t=>e.calledMemberPaths.includes(`phx.domain.admin.${t}`));
1
+ import{Visitor as e}from"@swc/core/Visitor.js";export const getModuleParseOptions=()=>({syntax:"typescript",tsx:!0,target:"es2022"});let t=e=>{if("Identifier"===e.type)return e.value;if("ParenthesisExpression"===e.type)return t(e.expression);if("MemberExpression"!==e.type||"Identifier"!==e.property.type)return;let r=t(e.object);return void 0===r?void 0:`${r}.${e.property.value}`},r=e=>e.length>0&&e.every(e=>"isTypeOnly"in e&&!0===e.isTypeOnly),i=class ProjectSourceVisitor extends e{imports=[];calledMemberPaths=new Set;visitTsType(e){return e}visitImportDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),e}visitExportNamedDeclaration(e){return null!=e.source&&this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),super.visitExportNamedDeclaration(e)}visitExportAllDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:"typeOnly"in e&&!0===e.typeOnly}),e}visitCallExpression(e){var r;let i=(r=e.arguments[0]?.expression,r?.type==="StringLiteral"?r.value:r?.type==="TemplateLiteral"&&0===r.expressions.length?r.quasis[0]?.cooked??r.quasis[0]?.raw:void 0);if("Import"===e.callee.type&&void 0!==i)this.imports.push({specifier:i,typeOnly:!1});else if("Super"!==e.callee.type&&"Import"!==e.callee.type){let r=t(e.callee);void 0!==r&&this.calledMemberPaths.add(r),"require"===r&&void 0!==i&&this.imports.push({specifier:i,typeOnly:!1})}return super.visitCallExpression(e)}};export const analyzeParsedModule=e=>{let t=new i;t.visitModule(e);let r=e.body[0];return{imports:t.imports,calledMemberPaths:[...t.calledMemberPaths].sort(),hasUseWebhookDirective:r?.type==="ExpressionStatement"&&"StringLiteral"===r.expression.type&&"use webhook"===r.expression.value}};export const WEBHOOK_HANDLER_REGISTRATIONS=["phx.domain.createAssistantSetupHandler","phx.domain.admin.createMapPublishedRevisionDataHandler","phx.domain.admin.createMapPublishedChunkedDataHandler","phx.domain.admin.createDataRowValidatorHandler","phx.domain.admin.createSheetValidatorHandler"];export const findWebhookHandlerRegistration=e=>WEBHOOK_HANDLER_REGISTRATIONS.find(t=>e.calledMemberPaths.includes(t));
@@ -1 +1 @@
1
- import{parse as r}from"yaml";import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as n}from"../../errors/index.js";export const parseYamlSpecFile=(o,a)=>{try{let i=r(o.file.content,{merge:!0});if(null===i)return a.warning(t.EMPTY_SPEC_FILE,n.EMPTY_SPEC_FILE()),e({name:o.file.name,content:{}});if("object"!=typeof i||Array.isArray(i))return void a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR("File did not parse to an object"));return e({name:o.file.name,content:i})}catch(r){a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR(r instanceof Error?r.message:String(r)));return}};
1
+ import{parse as r}from"yaml";import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as n}from"../../errors/index.js";let o=(r,e,i)=>{if("number"==typeof r)return!Number.isFinite(r)&&(i.at(...e).error(t.NON_FINITE_NUMBER,n.NON_FINITE_NUMBER(e.join("."),String(r))),!0);if("object"!=typeof r||null===r)return!1;let a=!1;for(let[t,n]of Object.entries(r))a=o(n,[...e,t],i)||a;return a};export const parseYamlSpecFile=(i,a)=>{try{let E=r(i.file.content,{merge:!0});if(null===E)return a.warning(t.EMPTY_SPEC_FILE,n.EMPTY_SPEC_FILE()),e({name:i.file.name,content:{}});if("object"!=typeof E||Array.isArray(E))return void a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR("File did not parse to an object"));if(o(E,[],a))return;return e({name:i.file.name,content:E})}catch(r){a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR(r instanceof Error?r.message:String(r)));return}};
@@ -1,13 +1,26 @@
1
1
  import { z } from 'zod';
2
2
  import { type AssistantAiSettings } from '@salsita-ai/contracts/assistant';
3
+ import { ASSISTANT_HINTS } from '#package/domain';
3
4
  /**
4
5
  * One whitelisted field in the assistant manifest. `description` overrides the JSON Schema
5
- * description of the shape property; `as` exposes the field under a different GraphQL name. An empty
6
+ * description of the shape property; `as` exposes the field under a different GraphQL name; `lenses`
7
+ * names the lenses declared under `assistant.lenses` whose selection includes the field. An empty
6
8
  * entry (`length:` in YAML) whitelists the field with its defaults.
7
9
  */
8
10
  export interface RawAssistantField {
9
11
  readonly description?: string;
10
12
  readonly as?: string;
13
+ readonly lenses?: readonly string[];
14
+ }
15
+ /**
16
+ * One lens of the assistant `lenses` map, keyed by the name the agent spreads it by: a named
17
+ * selection made of the `entities` entries tagged with that name. `description` tells the agent when
18
+ * to use the lens; `maxDepth` is how many levels of tagged relations carry the same selection before
19
+ * they reduce to `id`, 1 by default.
20
+ */
21
+ export interface RawAssistantLens {
22
+ readonly description: string;
23
+ readonly maxDepth?: number;
11
24
  }
12
25
  /**
13
26
  * One entry of the assistant `deletable` map. It takes no options yet; an empty entry (`Cabinet:` in
@@ -23,7 +36,6 @@ export type AssistantOptionComponentType = (typeof ASSISTANT_OPTION_COMPONENT_TY
23
36
  * does not change during a session. A hint only adds a sentence to a generated description; nothing
24
37
  * verifies it.
25
38
  */
26
- export declare const ASSISTANT_HINTS: readonly ['sameForAllInstances', 'constantDuringSession'];
27
39
  export type AssistantHint = (typeof ASSISTANT_HINTS)[number];
28
40
  /**
29
41
  * The component that holds the choices of a writable field: the instance `instanceName` of the
@@ -89,7 +101,7 @@ export interface RawAssistantAction {
89
101
  * with `addChild`. `replaceRecipes` names, per entity type or alias, the `replaceEntityRecipes`
90
102
  * groups whose recipes the agent may list and replace the entity by with `replaceEntity`. `actions`
91
103
  * names the declared actions the agent may run as custom mutations. Nothing is exposed without an
92
- * entry.
104
+ * entry. `lenses` declares the named selections that `entities` entries are tagged with.
93
105
  *
94
106
  * `ai` and `instructions` are for the server only: the provider, model tier and reasoning level the
95
107
  * deployment's assistant runs with, and the integrator's own guidance for it, appended to the system
@@ -102,6 +114,7 @@ export interface RawAssistant {
102
114
  readonly childRecipes?: Readonly<Record<string, RawAssistantRecipes>>;
103
115
  readonly replaceRecipes?: Readonly<Record<string, RawAssistantRecipes>>;
104
116
  readonly actions?: Readonly<Record<string, RawAssistantAction | null>>;
117
+ readonly lenses?: Readonly<Record<string, RawAssistantLens>>;
105
118
  readonly instructions?: string;
106
119
  readonly ai: AssistantAiSettings;
107
120
  }
@@ -1 +1 @@
1
- import{z as t}from"zod";import{ASSISTANT_AI_PROVIDERS as e,ASSISTANT_MODEL_TIERS as o,ASSISTANT_REASONING_LEVELS as i}from"@salsita-ai/contracts/assistant";export const ASSISTANT_OPTION_COMPONENT_TYPES=["materialSwatch","attributeSelection","distanceDimensionSelect"];export const ASSISTANT_HINTS=["sameForAllInstances","constantDuringSession"];let n=t.string().regex(/^(?!__)[_A-Za-z][_0-9A-Za-z]*$/,'must be a GraphQL name: letters, digits and "_", not starting with a digit or "__"'),r=e=>t.enum(e,{errorMap:()=>({message:`must be one of: ${e.join(", ")}`})}),s=t.object({description:t.string().optional(),as:n.optional()}).strict(),a=t.array(r(ASSISTANT_HINTS)),c=t.object({options:t.object({componentType:r(ASSISTANT_OPTION_COMPONENT_TYPES),instanceName:t.string().min(1,"must not be empty; name the component instance that holds the choices"),as:n.optional(),validate:t.boolean().optional(),allowDryRuns:t.boolean().optional(),hints:a.optional()}).strict().optional()}).strict(),l=t.object({as:t.string().trim().min(1,"must not be empty; remove the key to use the instance name").optional(),description:t.string().optional(),allowDryRuns:t.boolean().optional()}).strict(),p=e=>t.object({hints:a.optional(),groups:t.record(t.string(),l.nullable(),{required_error:`is required: the recipe groups of the type go under "groups", keyed by the instance name of a "${e}" component`})}).strict(),d=t.object({description:t.string().optional(),as:n.optional()}).strict(),m=`is required: declare provider (${e.join(", ")}), model (${o.join(", ")}) and reasoning (${i.join(", ")})`,g=t.object({provider:r(e),model:r(o),reasoning:r(i)},{required_error:m,invalid_type_error:m}).strict();export const rawAssistantSchema=t.object({entities:t.record(t.string(),t.record(t.string(),s.nullable())).optional(),deletable:t.record(t.string(),t.object({}).strict().nullable()).optional(),writable:t.record(t.string(),t.record(t.string(),c.nullable())).optional(),childRecipes:t.record(t.string(),p("childEntityRecipes")).optional(),replaceRecipes:t.record(t.string(),p("replaceEntityRecipes")).optional(),actions:t.record(t.string(),d.nullable()).optional(),instructions:t.string().trim().min(1,"must not be empty; remove the key when there are no instructions").optional(),ai:g}).strict();
1
+ import{z as e}from"zod";import{ASSISTANT_AI_PROVIDERS as t,ASSISTANT_MODEL_TIERS as o,ASSISTANT_REASONING_LEVELS as i}from"@salsita-ai/contracts/assistant";import{ASSISTANT_HINTS as n}from"#package/domain";export const ASSISTANT_OPTION_COMPONENT_TYPES=["materialSwatch","attributeSelection","distanceDimensionSelect"];let r=e.string().regex(/^(?!__)[_A-Za-z][_0-9A-Za-z]*$/,'must be a GraphQL name: letters, digits and "_", not starting with a digit or "__"'),s=t=>e.enum(t,{errorMap:()=>({message:`must be one of: ${t.join(", ")}`})}),a=e.object({description:e.string().optional(),as:r.optional(),lenses:e.array(e.string()).optional()}).strict(),l="must be a whole number of at least 1; remove the key to nest tagged relations one level",c=e.object({description:e.string().trim().min(1,"must not be empty; say when the agent should use the lens"),maxDepth:e.number({invalid_type_error:l}).int(l).min(1,l).optional()}).strict(),p=r.refine(e=>!e.includes("__"),'must not contain "__", which names the generated copies of a lens'),m=e.array(s(n)),d=e.object({options:e.object({componentType:s(ASSISTANT_OPTION_COMPONENT_TYPES),instanceName:e.string().min(1,"must not be empty; name the component instance that holds the choices"),as:r.optional(),validate:e.boolean().optional(),allowDryRuns:e.boolean().optional(),hints:m.optional()}).strict().optional()}).strict(),u=e.object({as:e.string().trim().min(1,"must not be empty; remove the key to use the instance name").optional(),description:e.string().optional(),allowDryRuns:e.boolean().optional()}).strict(),h=t=>e.object({hints:m.optional(),groups:e.record(e.string(),u.nullable(),{required_error:`is required: the recipe groups of the type go under "groups", keyed by the instance name of a "${t}" component`})}).strict(),b=e.object({description:e.string().optional(),as:r.optional()}).strict(),g=`is required: declare provider (${t.join(", ")}), model (${o.join(", ")}) and reasoning (${i.join(", ")})`,_="must be a positive whole number of input tokens; remove the key to use the default of the server",y=e.object({provider:s(t),model:s(o),reasoning:s(i),maxThreadSize:e.number({invalid_type_error:_}).int(_).positive(_).optional()},{required_error:g,invalid_type_error:g}).strict();export const rawAssistantSchema=e.object({entities:e.record(e.string(),e.record(e.string(),a.nullable())).optional(),deletable:e.record(e.string(),e.object({}).strict().nullable()).optional(),writable:e.record(e.string(),e.record(e.string(),d.nullable())).optional(),childRecipes:e.record(e.string(),h("childEntityRecipes")).optional(),replaceRecipes:e.record(e.string(),h("replaceEntityRecipes")).optional(),actions:e.record(e.string(),b.nullable()).optional(),lenses:e.record(p,c).optional(),instructions:e.string().trim().min(1,"must not be empty; remove the key when there are no instructions").optional(),ai:y}).strict();
@@ -1 +1 @@
1
- import{z as o}from"zod";import{Branded as a}from"@salsita-ai/common/utils";import{enhancedJsonObjectSchema as t,validateNoLegacyCodeRef as e}from"../../core/index.js";import{DiagnosticCode as n,diagnosticMessages as i}from"../../errors/index.js";import{rawAclSchema as r}from"./raw-acl.js";import{rawActionsSchema as s}from"./raw-actions.js";import{rawAdminPagesSchema as l}from"./raw-admin-pages.js";import{rawAssistantSchema as p}from"./raw-assistant.js";import{rawBudgetsSchema as m}from"./raw-budgets.js";import{rawChunksSchema as c}from"./raw-chunks.js";import{rawComponentsSchema as f}from"./raw-components.js";import{rawConstantsSchema as d}from"./raw-constants.js";import{rawDataSpecSchema as u}from"./raw-data.js";import{rawDefaultsSchema as j}from"./raw-defaults.js";import{rawEnvSchema as w}from"./raw-env.js";import{rawExpressionsSchema as b}from"./raw-expressions.js";import{rawInvariantsSchema as g}from"./raw-invariants.js";import{rawModelSchema as S}from"./raw-model.js";import{rawPresetsSchema as D}from"./raw-presets.js";import{rawRelationsSchema as h}from"./raw-relations.js";import{rawResourcesConfigSchema as v,rawResourcesSchema as O}from"./raw-resources.js";import{rawStateValuesSchema as E}from"./raw-states.js";import{rawTransformersSchema as R}from"./raw-transformers.js";export const DATA_SCHEMA_KEYS=["publishedData","sessionData","frontendData","backendData","finalizeData","prefetchedFinalizeData","finalizeResult","callbackData"];let k=o.object({$admin:o.boolean().optional(),model:S.optional(),components:f.optional(),presets:D.optional(),$data:u.optional(),expressions:b.optional(),actions:s.optional(),invariants:g.optional(),constants:d.optional(),relations:h.optional(),defaults:j.optional(),publishedData:t.optional(),sessionData:t.optional(),frontendData:t.optional(),backendData:t.optional(),finalizeData:t.optional(),prefetchedFinalizeData:t.optional(),finalizeResult:t.optional(),callbackData:t.optional(),navigationStates:E.optional(),viewStates:E.optional(),toolStates:E.optional(),exportStates:E.optional(),themePreset:o.string().optional(),themeOptions:o.record(o.unknown()).optional(),preview:o.enum(["always","never","auto","hide"]).optional(),alwaysExpand:o.boolean().optional(),availableLocales:o.array(o.string()).optional(),textLanguages:o.array(o.string()).optional(),transformers:R.optional(),project:o.string().regex(/^[a-z0-9-]{3,}$/,"must be a project slug (lowercase letters, digits and dashes, at least 3) or `default`").optional(),applicationVersion:o.string().optional(),workspace:o.boolean().optional(),webComponentTag:o.string().optional(),pageTitle:o.string().optional(),useAuthHook:o.boolean().optional(),useClerk:o.boolean().optional(),enableAdminRelease:o.boolean().optional(),jsonSchemaValidator:o.enum(["ajv","csp-compatible"]).optional(),gltfDecoder:o.enum(["js","wasm"]).optional(),appLoader:o.enum(["legacy","universal"]).optional(),collectFinalizeData:o.boolean().optional(),env:w.optional(),acl:r.optional(),resources:O.optional(),resourcesConfig:v.optional(),budgets:m.optional(),chunks:c.optional(),assistant:p.optional(),$adminPages:l.optional()}).strict();export const parseRawSpecFile=(o,t)=>{e(o.content,t);let r=k.safeParse(o.content);if(!r.success){for(let o of r.error.issues)t.error(n.SCHEMA_PARSE_ERROR,i.SCHEMA_PARSE_ERROR(o.path.join("."),o.message));return}let{constants:s,...l}=r.data,p=((o,a)=>{let t=Object.fromEntries(Object.entries(o.expressions??{}).map(([o,a])=>[o,{...a}]));if(void 0===o.constants)return Object.keys(t).length>0?t:void 0;for(let[e,r]of Object.entries(o.constants))for(let[o,s]of(t[e]||(t[e]={}),Object.entries(r))){if(void 0!==t[e][o]){a.at("constants",e,o).error(n.CONSTANTS_EXPRESSION_CONFLICT,i[n.CONSTANTS_EXPRESSION_CONFLICT](e,o));continue}t[e][o]={kind:"value",constant:!0,value:s,schema:{}}}return Object.keys(t).length>0?t:void 0})(r.data,t);return a({name:o.name,content:{...l,expressions:p}})};
1
+ import{z as o}from"zod";import{Branded as a}from"@salsita-ai/common/utils";import{enhancedJsonObjectSchema as t}from"../../core/index.js";import{validateNoLegacyCodeRef as e}from"../../enhanced-json/index.js";import{DiagnosticCode as n,diagnosticMessages as i}from"../../errors/index.js";import{rawAclSchema as r}from"./raw-acl.js";import{rawActionsSchema as s}from"./raw-actions.js";import{rawAdminPagesSchema as l}from"./raw-admin-pages.js";import{rawAssistantSchema as p}from"./raw-assistant.js";import{rawBudgetsSchema as m}from"./raw-budgets.js";import{rawChunksSchema as c}from"./raw-chunks.js";import{rawComponentsSchema as f}from"./raw-components.js";import{rawConstantsSchema as d}from"./raw-constants.js";import{rawDataSpecSchema as j}from"./raw-data.js";import{rawDefaultsSchema as u}from"./raw-defaults.js";import{rawEnvSchema as w}from"./raw-env.js";import{rawExpressionsSchema as b}from"./raw-expressions.js";import{rawInvariantsSchema as g}from"./raw-invariants.js";import{rawModelSchema as S}from"./raw-model.js";import{rawPresetsSchema as h}from"./raw-presets.js";import{rawRelationsSchema as D}from"./raw-relations.js";import{rawResourcesConfigSchema as v,rawResourcesSchema as O}from"./raw-resources.js";import{rawStateValuesSchema as E}from"./raw-states.js";import{rawTransformersSchema as R}from"./raw-transformers.js";export const DATA_SCHEMA_KEYS=["publishedData","sessionData","frontendData","backendData","finalizeData","prefetchedFinalizeData","finalizeResult","callbackData"];let k=o.object({$admin:o.boolean().optional(),model:S.optional(),components:f.optional(),presets:h.optional(),$data:j.optional(),expressions:b.optional(),actions:s.optional(),invariants:g.optional(),constants:d.optional(),relations:D.optional(),defaults:u.optional(),publishedData:t.optional(),sessionData:t.optional(),frontendData:t.optional(),backendData:t.optional(),finalizeData:t.optional(),prefetchedFinalizeData:t.optional(),finalizeResult:t.optional(),callbackData:t.optional(),navigationStates:E.optional(),viewStates:E.optional(),toolStates:E.optional(),exportStates:E.optional(),themePreset:o.string().optional(),themeOptions:o.record(o.unknown()).optional(),preview:o.enum(["always","never","auto","hide"]).optional(),alwaysExpand:o.boolean().optional(),availableLocales:o.array(o.string()).optional(),textLanguages:o.array(o.string()).optional(),transformers:R.optional(),project:o.string().regex(/^[a-z0-9-]{3,}$/,"must be a project slug (lowercase letters, digits and dashes, at least 3) or `default`").optional(),applicationVersion:o.string().optional(),workspace:o.boolean().optional(),webComponentTag:o.string().optional(),pageTitle:o.string().optional(),useAuthHook:o.boolean().optional(),useClerk:o.boolean().optional(),enableAdminRelease:o.boolean().optional(),jsonSchemaValidator:o.enum(["ajv","csp-compatible"]).optional(),gltfDecoder:o.enum(["js","wasm"]).optional(),appLoader:o.enum(["legacy","universal"]).optional(),collectFinalizeData:o.boolean().optional(),env:w.optional(),acl:r.optional(),resources:O.optional(),resourcesConfig:v.optional(),budgets:m.optional(),chunks:c.optional(),assistant:p.optional(),$adminPages:l.optional()}).strict();export const parseRawSpecFile=(o,t)=>{e(o.content,t);let r=k.safeParse(o.content);if(!r.success){for(let o of r.error.issues)t.error(n.SCHEMA_PARSE_ERROR,i.SCHEMA_PARSE_ERROR(o.path.join("."),o.message));return}let{constants:s,...l}=r.data,p=((o,a)=>{let t=Object.fromEntries(Object.entries(o.expressions??{}).map(([o,a])=>[o,{...a}]));if(void 0===o.constants)return Object.keys(t).length>0?t:void 0;for(let[e,r]of Object.entries(o.constants))for(let[o,s]of(t[e]||(t[e]={}),Object.entries(r))){if(void 0!==t[e][o]){a.at("constants",e,o).error(n.CONSTANTS_EXPRESSION_CONFLICT,i[n.CONSTANTS_EXPRESSION_CONFLICT](e,o));continue}t[e][o]={kind:"value",constant:!0,value:s,schema:{}}}return Object.keys(t).length>0?t:void 0})(r.data,t);return a({name:o.name,content:{...l,expressions:p}})};
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as s}from"../../../../errors/index.js";import{Components as n,UserComponents as r}from"../../components/index.js";import{Expressions as o}from"../../expressions/index.js";import{Invariants as i}from"../../invariants/index.js";import{ConfigurationSchema as a,Defaults as m,ModelVersion as l,Presets as p}from"../../model/index.js";import{Relations as d}from"../../relations/index.js";import{ResolvedVersions as f}from"../resolved-versions.js";import{AdminPages as S}from"./admin-pages.js";import{AdminStates as v}from"./states.js";export const AdminSpec=(g,x)=>{let{rawModel:u,rawPresets:I,rawExpressions:N,rawInvariants:T,rawRelations:_,rawDefaults:c,migrationFiles:j,rawComponents:A,rawAdminPages:C,dataSpec:E,phxDefinitions:M,evalExpressionParser:h,label:L,requireMigrationFiles:y}=g;if(0===Object.keys(u).length)return void x.at(L).error(t.MISSING_MODEL,s.MISSING_MODEL(L));u.latest||x.at(L).error(t.MISSING_LATEST,s.MISSING_LATEST(L));let G=new Map;for(let[e,t]of Object.entries(u)){let s=l(e,t,M,x.at(L,e));s&&G.set(s.versionKey,s)}if(x.hasErrors)return;let O=f(G,j,x,{requireMigrationFiles:y});if(!O)return;let D=O.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!D)return;let V=O.latestVersion,P=a(D,V),b=d(_,D,x),w=i({rawInvariants:T,rawExpressions:N,rawRelations:_,rawComponents:A},D,x),F=p(I,D,b,x),k=S(C,{latestModel:D,parsingContext:x.at(L,"$adminPages")},E);if(!k)return;let K=r(A,{allNames:D.allNames,resolvedShapes:D.resolvedShapes,parsingContext:x}),$=m(c,D,x.at(L,"defaults")),q=o({rawExpressions:N,inferredExpressions:[...b.expressions,...w.expressions,...K.expressions]},{latestModel:D,aliases:D.aliases,entityTypes:D.entityTypes,evalExpressionParser:h,parsingContext:x}),z=n({userComponents:K.components,generatedComponents:[...b.components,...k.components],invariantComponents:w.components},{aliases:D.aliases,parsingContext:x});if(void 0!==$&&void 0!==q&&void 0!==z)return e({latestModel:D,schemaVersion:V,resolvedVersions:O,components:z,configurationSchema:P,presets:F,expressions:q,invariants:w,defaults:$,states:v(((n,r,o)=>{if(0===r.length)return n;let i=1===n.navigationStates.length&&"Default"===n.navigationStates[0]?[]:n.navigationStates,a=i.filter(e=>r.includes(e));return a.length>0&&o.error(t.ADMIN_PAGES_NAV_STATE_CONFLICT,s.ADMIN_PAGES_NAV_STATE_CONFLICT(a)),e({...n,navigationStates:[...i,...r]})})(g.rawStates,k.navigationStates,x),x),adminPages:k})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as s}from"../../../../errors/index.js";import{Components as n,UserComponents as r}from"../../components/index.js";import{Expressions as o}from"../../expressions/index.js";import{Invariants as i}from"../../invariants/index.js";import{ConfigurationSchema as a,Defaults as m,ModelVersion as p,Presets as l}from"../../model/index.js";import{Relations as f}from"../../relations/index.js";import{ResolvedVersions as d}from"../resolved-versions.js";import{AdminPages as S}from"./admin-pages.js";import{AdminStates as g}from"./states.js";export const AdminSpec=(x,v)=>{let{rawModel:u,rawPresets:I,rawExpressions:T,rawInvariants:_,rawRelations:c,rawDefaults:j,migrationFiles:A,rawComponents:C,rawAdminPages:E,dataSpec:M,phxDefinitions:N,evalExpressionParser:L,label:y,requireMigrationFiles:G}=x;if(0===Object.keys(u).length)return void v.at(y).error(t.MISSING_MODEL,s.MISSING_MODEL(y));u.latest||v.at(y).error(t.MISSING_LATEST,s.MISSING_LATEST(y));let O=new Map;for(let[e,t]of Object.entries(u)){let s=p(e,t,N,v.at(y,e));s&&O.set(s.versionKey,s)}if(v.hasErrors)return;let h=d(O,A,v,{requireMigrationFiles:G});if(!h)return;let D=h.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!D)return;let V=h.latestVersion,P=a(D,V),b=f(c,D,N,v),w=i({rawInvariants:_,rawExpressions:T,rawRelations:c,rawComponents:C},D,N,v),F=l(I,D,b,v),k=S(E,{latestModel:D,parsingContext:v.at(y,"$adminPages")},M);if(!k)return;let K=r(C,{latestModel:D,phxDefinitions:N,parsingContext:v}),$=m(j,D,v.at(y,"defaults")),q=o({rawExpressions:T,inferredExpressions:[...b.expressions,...w.expressions,...K.expressions]},{latestModel:D,aliases:D.aliases,entityTypes:D.entityTypes,evalExpressionParser:L,parsingContext:v}),z=n({userComponents:K.components,generatedComponents:[...b.components,...k.components],invariantComponents:w.components},{aliases:D.aliases,parsingContext:v});if(void 0!==$&&void 0!==q&&void 0!==z)return e({latestModel:D,schemaVersion:V,resolvedVersions:h,components:z,configurationSchema:P,presets:F,expressions:q,invariants:w,defaults:$,states:g(((n,r,o)=>{if(0===r.length)return n;let i=1===n.navigationStates.length&&"Default"===n.navigationStates[0]?[]:n.navigationStates,a=i.filter(e=>r.includes(e));return a.length>0&&o.error(t.ADMIN_PAGES_NAV_STATE_CONFLICT,s.ADMIN_PAGES_NAV_STATE_CONFLICT(a)),e({...n,navigationStates:[...i,...r]})})(x.rawStates,k.navigationStates,v),v),adminPages:k})};
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as s,diagnosticMessages as t}from"../../../../errors/index.js";import{Components as o,UserComponents as r}from"../../components/index.js";import{Expressions as i}from"../../expressions/index.js";import{Invariants as n}from"../../invariants/index.js";import{ConfigurationSchema as a,DataSchemas as m,Defaults as p,ModelVersion as l,Presets as d}from"../../model/index.js";import{Relations as f}from"../../relations/index.js";import{Actions as x,AssistantServerSettings as S,AssistantSpec as v,Theme as c,Transformers as j,Ui as u}from"../../sections/index.js";import{ResolvedVersions as g}from"../resolved-versions.js";import{ConfiguratorStates as C}from"./states.js";export const ConfiguratorSpec=(I,M)=>{let{rawModel:h,rawPresets:y,rawExpressions:E,rawActions:N,rawInvariants:T,rawRelations:L,rawDefaults:G,dataSchemas:O,dataSpec:_,appMetadata:b,rawTheme:w,rawUi:A,rawTransformers:D,rawAssistant:V,migrationFiles:k,transformerFiles:K,rawComponents:q,phxDefinitions:z,evalExpressionParser:B,label:F}=I;if(0===Object.keys(h).length)return void M.at(F).error(s.MISSING_MODEL,t.MISSING_MODEL(F));h.latest||M.at(F).error(s.MISSING_LATEST,t.MISSING_LATEST(F));let H=new Map;for(let[e,s]of Object.entries(h)){let t=l(e,s,z,M.at(F,e));t&&H.set(t.versionKey,t)}if(M.hasErrors)return;let J=g(H,k,M);if(!J)return;let P=J.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!P)return;let Q=J.latestVersion,R=a(P,Q),U=f(L,P,M),W=n({rawInvariants:T,rawExpressions:E,rawRelations:L,rawComponents:q},P,M),X=d(y,P,U,M),Y=r(q,{allNames:P.allNames,resolvedShapes:P.resolvedShapes,parsingContext:M}),Z=p(G,P,M.at(F,"defaults")),$=j(D,K,M),ee=i({rawExpressions:E,inferredExpressions:[...U.expressions,...W.expressions,...Y.expressions]},{latestModel:P,aliases:P.aliases,entityTypes:P.entityTypes,evalExpressionParser:B,parsingContext:M}),es=o({userComponents:Y.components,generatedComponents:U.components,invariantComponents:W.components},{aliases:P.aliases,parsingContext:M}),et=m({merged:O,dataSpec:_,appMetadata:b,phxDefinitions:z,parsingContext:M}),eo=C(I.rawStates,M.at("states")),er=x(N,{latestModel:P,phxDefinitions:z},M.at("actions"));if(void 0!==Z&&void 0!==ee&&void 0!==er&&void 0!==es&&void 0!==et)return e({latestModel:P,schemaVersion:Q,dataSchemas:et,resolvedVersions:J,components:es,configurationSchema:R,presets:X,expressions:ee,actions:er,invariants:W,defaults:Z,states:eo,theme:c(w),ui:u(A),transformers:$,assistant:v(V,{model:P,states:eo,phxDefinitions:z,expressions:ee,components:es,actions:er},M),assistantServerSettings:S(V)})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as s,diagnosticMessages as t}from"../../../../errors/index.js";import{Components as o,UserComponents as r}from"../../components/index.js";import{Expressions as i}from"../../expressions/index.js";import{Invariants as n}from"../../invariants/index.js";import{ConfigurationSchema as a,DataSchemas as m,Defaults as p,ModelVersion as d,Presets as l}from"../../model/index.js";import{Relations as f}from"../../relations/index.js";import{Actions as x,AssistantServerSettings as S,AssistantSpec as v,Theme as c,Transformers as j,Ui as u}from"../../sections/index.js";import{ResolvedVersions as g}from"../resolved-versions.js";import{ConfiguratorStates as C}from"./states.js";export const ConfiguratorSpec=(I,M)=>{let{rawModel:y,rawPresets:E,rawExpressions:T,rawActions:L,rawInvariants:h,rawRelations:G,rawDefaults:N,dataSchemas:O,dataSpec:_,appMetadata:b,rawTheme:w,rawUi:A,rawTransformers:D,rawAssistant:V,migrationFiles:k,transformerFiles:K,rawComponents:q,phxDefinitions:z,evalExpressionParser:B,label:F}=I;if(0===Object.keys(y).length)return void M.at(F).error(s.MISSING_MODEL,t.MISSING_MODEL(F));y.latest||M.at(F).error(s.MISSING_LATEST,t.MISSING_LATEST(F));let H=new Map;for(let[e,s]of Object.entries(y)){let t=d(e,s,z,M.at(F,e));t&&H.set(t.versionKey,t)}if(M.hasErrors)return;let J=g(H,k,M);if(!J)return;let P=J.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!P)return;let Q=J.latestVersion,R=a(P,Q),U=f(G,P,z,M),W=n({rawInvariants:h,rawExpressions:T,rawRelations:G,rawComponents:q},P,z,M),X=l(E,P,U,M),Y=r(q,{latestModel:P,phxDefinitions:z,parsingContext:M}),Z=p(N,P,M.at(F,"defaults")),$=j(D,K,M),ee=i({rawExpressions:T,inferredExpressions:[...U.expressions,...W.expressions,...Y.expressions]},{latestModel:P,aliases:P.aliases,entityTypes:P.entityTypes,evalExpressionParser:B,parsingContext:M}),es=o({userComponents:Y.components,generatedComponents:U.components,invariantComponents:W.components},{aliases:P.aliases,parsingContext:M}),et=m({merged:O,dataSpec:_,appMetadata:b,phxDefinitions:z,parsingContext:M}),eo=C(I.rawStates,M.at("states")),er=x(L,{latestModel:P,phxDefinitions:z},M.at("actions"));if(void 0!==Z&&void 0!==ee&&void 0!==er&&void 0!==es&&void 0!==et)return e({latestModel:P,schemaVersion:Q,dataSchemas:et,resolvedVersions:J,components:es,configurationSchema:R,presets:X,expressions:ee,actions:er,invariants:W,defaults:Z,states:eo,theme:c(w),ui:u(A),transformers:$,assistant:v(V,{model:P,states:eo,phxDefinitions:z,expressions:ee,components:es,actions:er},M),assistantServerSettings:S(V)})};
@@ -1,2 +1,3 @@
1
1
  export * from './schema-ref-resolver.js';
2
2
  export * from './validate-schema-refs.js';
3
+ export * from './value-type/index.js';
@@ -1 +1 @@
1
- export*from"./schema-ref-resolver.js";export*from"./validate-schema-refs.js";
1
+ export*from"./schema-ref-resolver.js";export*from"./validate-schema-refs.js";export*from"./value-type/index.js";