@salsita-ai/sdk 0.50.0-develop.5f7528aea8 → 0.50.0-develop.61093ff937

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 (826) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  16. package/dist/application-spec/core/components/component-filter.js +1 -0
  17. package/dist/application-spec/core/components/index.d.ts +2 -0
  18. package/dist/application-spec/core/components/index.js +1 -0
  19. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  21. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  22. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  23. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  24. package/dist/application-spec/core/expressions/index.js +1 -0
  25. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.js +1 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +10 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +13 -0
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  52. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  53. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  54. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  56. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  57. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  59. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  60. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +15 -14
  61. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  63. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  67. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  68. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  69. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +67 -73
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  90. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  91. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  92. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  93. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  94. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  95. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  96. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  98. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  99. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -3
  100. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  101. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  102. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  103. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  104. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  105. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  106. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  107. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  110. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  113. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +26 -7
  114. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  115. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  116. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  125. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  126. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  127. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  128. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  129. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  130. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  131. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  132. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  133. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  134. package/dist/application-spec/generate-application/index.d.ts +2 -0
  135. package/dist/application-spec/generate-application/index.js +1 -1
  136. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  137. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  138. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  139. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  141. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -5
  142. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  143. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  144. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  145. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -2
  146. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  148. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  149. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  156. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  157. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  158. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  159. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  160. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  161. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  162. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  163. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  164. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  165. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  166. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  167. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  168. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  169. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  170. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  171. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  172. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  173. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  174. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  175. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  176. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  177. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  178. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  179. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  180. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  182. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  183. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  184. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  185. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  186. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  187. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  188. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  189. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  190. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  191. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  192. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  193. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  194. package/dist/application-spec/index.d.ts +1 -0
  195. package/dist/application-spec/index.js +1 -1
  196. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  197. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  198. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  199. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  200. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  201. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  202. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  203. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  204. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  205. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  206. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  208. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  209. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  211. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  212. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  224. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  225. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  230. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  231. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  232. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  233. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  234. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  235. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  236. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  237. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  238. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  239. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  240. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  241. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  242. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  243. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  244. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  245. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  247. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  254. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  255. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  256. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  261. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  262. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  263. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +3 -3
  264. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  265. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  266. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  267. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  269. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  270. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  271. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  272. package/dist/client/phoenix-api.d.ts +463 -0
  273. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  274. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  275. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  276. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +38 -1
  277. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  278. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  279. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  280. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  281. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  282. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  283. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  284. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  285. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  286. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  287. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  288. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  289. package/dist/configurator/common/configurator-interface.d.ts +40 -1
  290. package/dist/configurator/common/configurator-interface.js +1 -1
  291. package/dist/configurator/common/index.d.ts +3 -1
  292. package/dist/configurator/common/index.js +1 -1
  293. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  294. package/dist/configurator/common/use-reset-camera.js +1 -0
  295. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  296. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  297. package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
  298. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  299. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  300. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  301. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  302. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  303. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  304. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  305. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  306. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  307. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  308. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  309. package/dist/configurator/pages/RootPage.js +1 -1
  310. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  311. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  312. package/dist/configurator/pages/default-configurator-elements.d.ts +11 -0
  313. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  314. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  315. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  316. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  317. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  318. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  319. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  320. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  321. package/dist/configurator/pages/default-elements/index.js +1 -0
  322. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  323. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  324. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  325. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  326. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  327. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  328. package/dist/configurator/pages/index.d.ts +1 -0
  329. package/dist/configurator/pages/index.js +1 -1
  330. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  331. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  332. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  333. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  334. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  335. package/dist/configurator/preset-screen-elements/index.js +1 -0
  336. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  337. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  338. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  339. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  340. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  341. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  342. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  343. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  344. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  345. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  346. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  347. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  348. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  349. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  350. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  351. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  352. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  353. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  354. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  355. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  356. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  357. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  358. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  359. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  360. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  361. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  362. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  363. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  364. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  365. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  366. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  367. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  368. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  369. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  370. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  371. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  372. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  373. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  374. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  375. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  376. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  377. package/dist/configurator/ui/assistant/form/index.js +1 -0
  378. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  379. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  380. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  381. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  382. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  383. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  384. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  385. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  386. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  387. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  388. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  389. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  390. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  391. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  392. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  393. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  394. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  395. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  396. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  397. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  398. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  399. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  400. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  401. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  402. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  403. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  404. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  405. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  406. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  407. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  408. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  409. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  410. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  411. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  412. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  413. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  414. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  415. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  416. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  417. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  418. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  419. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  420. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  421. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  422. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  423. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  424. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  425. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  426. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  427. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  428. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  429. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  430. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  431. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  432. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  433. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  434. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  435. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  436. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  437. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  438. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  439. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  440. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  441. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  442. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  443. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  444. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  445. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  446. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  447. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  448. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  449. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  450. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  451. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  452. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  453. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  454. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  455. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  456. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  457. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  458. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  459. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  460. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  461. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  462. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  463. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  464. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  465. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  466. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  467. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  468. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  469. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  470. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  471. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  472. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  473. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  474. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  475. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  476. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  477. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  478. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  479. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  480. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  481. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  482. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  483. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  484. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  485. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  486. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  487. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  488. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  489. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  490. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  491. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  492. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  493. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  494. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  495. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  496. package/dist/docs/fabs/basic.mdx +2 -2
  497. package/dist/docs/index.json +42 -1
  498. package/dist/docs/layouts/custom-layout.mdx +2435 -0
  499. package/dist/docs/layouts/header/fixed.mdx +2 -2
  500. package/dist/docs/layouts/header/floating.mdx +2 -2
  501. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  502. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  503. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  504. package/dist/docs/other-features/not-found-404.mdx +1 -1
  505. package/dist/docs/other-features/transformers.mdx +4 -0
  506. package/dist/docs/phoenix/application-states.mdx +9 -7
  507. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  508. package/dist/docs/phoenix/components.mdx +6 -0
  509. package/dist/docs/phoenix/configurator-interface.mdx +171 -19
  510. package/dist/docs/phoenix/deployments.mdx +2 -6
  511. package/dist/docs/phoenix/domain-model.mdx +2 -0
  512. package/dist/docs/phoenix/finalization.mdx +1 -1
  513. package/dist/docs/phoenix/getting-started.mdx +6 -3
  514. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  515. package/dist/docs/phoenix/localization.mdx +10 -6
  516. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  517. package/dist/docs/phoenix/phoenix-cli.mdx +72 -21
  518. package/dist/docs/phoenix/project-structure.mdx +72 -34
  519. package/dist/docs/phoenix/quickstart.mdx +7 -7
  520. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -7
  521. package/dist/docs/phoenix/testing.mdx +148 -0
  522. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  523. package/dist/docs/phoenix/webhooks.mdx +22 -5
  524. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  525. package/dist/domain/admin-domain/index.js +1 -1
  526. package/dist/domain/application/application-config.d.ts +3 -1
  527. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  528. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  529. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  530. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  531. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  532. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  533. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  534. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  535. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  536. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  537. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  538. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  539. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  540. package/dist/domain/application/assistant/index.d.ts +8 -1
  541. package/dist/domain/application/assistant/index.js +1 -1
  542. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  543. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  544. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  545. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  546. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  547. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  548. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  549. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  550. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  551. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  552. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  553. package/dist/domain/application/configurator-builder.d.ts +5 -2
  554. package/dist/domain/application/configurator-builder.js +1 -1
  555. package/dist/domain/application/index.d.ts +0 -1
  556. package/dist/domain/application/index.js +1 -1
  557. package/dist/domain/core/component/domain-component-optic.d.ts +1 -2
  558. package/dist/domain/core/component/system-component-filter.d.ts +15 -2
  559. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  560. package/dist/domain/core/invariant/violation.d.ts +50 -2
  561. package/dist/domain/core/invariant/violation.js +1 -1
  562. package/dist/domain/core/model/model.d.ts +1 -1
  563. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  564. package/dist/domain/core/recipe/recipes.js +1 -1
  565. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  566. package/dist/domain/core/state/state.d.ts +1 -1
  567. package/dist/domain/domain-context/index.d.ts +1 -1
  568. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  569. package/dist/domain/domain-context/undo-system.js +1 -1
  570. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  571. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  572. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  573. package/dist/domain/domain-runtime/access/types.js +1 -1
  574. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +14 -13
  575. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  576. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  577. package/dist/domain/domain-runtime/domain-runtime.d.ts +32 -16
  578. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  579. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  580. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  581. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  582. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  583. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  584. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  585. package/dist/domain/domain-runtime/errors/index.js +1 -0
  586. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  587. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  588. package/dist/domain/domain-runtime/index.d.ts +1 -0
  589. package/dist/domain/domain-runtime/index.js +1 -1
  590. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  591. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  592. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +12 -11
  593. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  594. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
  595. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  596. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
  597. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
  598. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
  599. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  600. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
  601. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
  602. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  603. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  604. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  605. package/dist/domain/extensions/attribute-switch.js +1 -1
  606. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  607. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  608. package/dist/domain/extensions/client-side-image.js +1 -1
  609. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  610. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  611. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  612. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  613. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  614. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  615. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  616. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  617. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  618. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  619. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  620. package/dist/domain/extensions/offset-indicator.js +1 -1
  621. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  622. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  623. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  624. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  625. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  626. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +18 -9
  627. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  628. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  629. package/dist/domain/mocks/create-mock-domain.js +1 -1
  630. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  631. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  632. package/dist/domain/mocks/create-test-application-config.js +1 -0
  633. package/dist/domain/mocks/index.d.ts +1 -0
  634. package/dist/domain/mocks/index.js +1 -1
  635. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  636. package/dist/domain/system-components/application-config.d.ts +2 -2
  637. package/dist/domain/system-components/child-entity-selection.js +1 -1
  638. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  639. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  640. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  641. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  642. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  643. package/dist/domain/system-components/common/recipes.js +1 -1
  644. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  645. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  646. package/dist/domain/system-components/constraint.d.ts +10 -23
  647. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  648. package/dist/domain/system-components/drag-handle.js +1 -1
  649. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  650. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  651. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  652. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  653. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  654. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  655. package/dist/domain/system-components/material-swatch.js +1 -1
  656. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  657. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  658. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  659. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  660. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  661. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  662. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  663. package/dist/domain/utils/eval-cache.d.ts +1 -1
  664. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  665. package/dist/editor/Editor.d.ts +7 -0
  666. package/dist/editor/Editor.js +1 -1
  667. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  668. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  669. package/dist/editor/mocks/EditorMockContext.js +1 -1
  670. package/dist/globals/index.d.ts +2 -0
  671. package/dist/i18n/locales/cs/messages.js +1 -1
  672. package/dist/i18n/locales/da/messages.js +1 -1
  673. package/dist/i18n/locales/de/messages.js +1 -1
  674. package/dist/i18n/locales/de-AT/messages.js +1 -1
  675. package/dist/i18n/locales/en/messages.js +1 -1
  676. package/dist/i18n/locales/en-AU/messages.js +1 -1
  677. package/dist/i18n/locales/en-GB/messages.js +1 -1
  678. package/dist/i18n/locales/es/messages.js +1 -1
  679. package/dist/i18n/locales/fr/messages.js +1 -1
  680. package/dist/i18n/locales/hu/messages.js +1 -1
  681. package/dist/i18n/locales/it/messages.js +1 -1
  682. package/dist/i18n/locales/nl/messages.js +1 -1
  683. package/dist/i18n/locales/pl/messages.js +1 -1
  684. package/dist/i18n/locales/pt/messages.js +1 -1
  685. package/dist/i18n/locales/ro/messages.js +1 -1
  686. package/dist/i18n/locales/sk/messages.js +1 -1
  687. package/dist/i18n/locales/tr/messages.js +1 -1
  688. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  689. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
  690. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  691. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  692. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  693. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  694. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  695. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  696. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  697. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -1
  698. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  699. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  700. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  701. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  702. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  703. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  704. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  705. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  706. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  707. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  708. package/dist/phoenix/application-spec/project-files.js +1 -1
  709. package/dist/phoenix/bin.d.ts +2 -0
  710. package/dist/phoenix/bin.js +2 -0
  711. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  712. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  713. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  714. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  715. package/dist/phoenix/check-configs/index.d.ts +8 -0
  716. package/dist/phoenix/check-configs/index.js +1 -0
  717. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  718. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  719. package/dist/phoenix/cli.d.ts +0 -1
  720. package/dist/phoenix/cli.js +1 -2
  721. package/dist/phoenix/commands/build.js +1 -1
  722. package/dist/phoenix/commands/check.js +1 -1
  723. package/dist/phoenix/commands/clean.js +1 -1
  724. package/dist/phoenix/commands/deploy.js +2 -2
  725. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  726. package/dist/phoenix/commands/deps/deps.js +3 -0
  727. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  728. package/dist/phoenix/commands/deps/index.js +1 -0
  729. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  730. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  731. package/dist/phoenix/commands/dev.js +5 -5
  732. package/dist/phoenix/commands/fix.js +1 -1
  733. package/dist/phoenix/commands/index.d.ts +1 -0
  734. package/dist/phoenix/commands/index.js +1 -1
  735. package/dist/phoenix/commands/init.d.ts +17 -5
  736. package/dist/phoenix/commands/init.js +1 -1
  737. package/dist/phoenix/commands/link.js +1 -1
  738. package/dist/phoenix/commands/prettier.js +1 -1
  739. package/dist/phoenix/commands/sync.js +1 -1
  740. package/dist/phoenix/commands/unlink.js +1 -1
  741. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  742. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  743. package/dist/phoenix/services/lingui.d.ts +8 -0
  744. package/dist/phoenix/services/lingui.js +1 -1
  745. package/dist/phoenix/services/source-archive.d.ts +1 -0
  746. package/dist/phoenix/services/source-archive.js +1 -1
  747. package/dist/phoenix/services/swc.js +1 -1
  748. package/dist/phoenix/services/vite-config.js +1 -1
  749. package/dist/phoenix/utils/index.d.ts +4 -2
  750. package/dist/phoenix/utils/index.js +1 -1
  751. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  752. package/dist/phoenix/utils/node-version/index.js +1 -0
  753. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  754. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  755. package/dist/phoenix/utils/package-info.d.ts +0 -9
  756. package/dist/phoenix/utils/package-info.js +1 -1
  757. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  758. package/dist/phoenix/utils/package-manager/index.js +1 -0
  759. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  760. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  761. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  762. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  763. package/dist/phoenix/utils/run-command.d.ts +11 -0
  764. package/dist/phoenix/utils/run-command.js +1 -1
  765. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  766. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  767. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  768. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  769. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +2 -0
  770. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  771. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  772. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  773. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  774. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  775. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  776. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +33 -16
  777. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  778. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  779. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  780. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  781. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +4 -4
  782. package/dist/react-sdk/domain-context/index.d.ts +4 -1
  783. package/dist/react-sdk/domain-context/index.js +1 -1
  784. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  785. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  786. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  787. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  788. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  789. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  790. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  791. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  792. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  793. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  794. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  795. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  796. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  797. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  798. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  799. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  800. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  801. package/dist/react-sdk/handlers/index.d.ts +6 -0
  802. package/dist/react-sdk/handlers/index.js +1 -1
  803. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  804. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  805. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  806. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  807. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  808. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  809. package/dist/ui-sdk/theme/types.d.ts +1 -1
  810. package/dist/webhook/builders/webhook-builder.js +1 -1
  811. package/package.json +48 -36
  812. package/schema/domain-spec.json +1201 -217
  813. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  814. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  815. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  816. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  817. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  818. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  819. package/dist/configurator/common/frontend-analytics.js +0 -1
  820. package/dist/domain/application/resource-builder.d.ts +0 -13
  821. package/dist/domain/application/resource-builder.js +0 -1
  822. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  823. package/dist/phoenix/commands/generate-project-files.js +0 -1
  824. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  825. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  826. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -15,7 +15,7 @@ Build a working office desk configurator from an empty folder. You will describe
15
15
 
16
16
  ## Before you start
17
17
 
18
- Use Node.js 24 and pnpm 11. The tutorial uses the office desk model served by this documentation site at `/models/office-desk.gltf`; download it first. Real client projects normally start from `phoenix init`. This tutorial creates the four essential files by hand so you can see what Phoenix owns.
18
+ Use Node.js 24 and any package manager; the commands below use pnpm, and with pnpm 11 the project also needs the `pnpm-workspace.yaml` in [Package manager](?path=/docs/phoenix-project-structure--docs#package-manager). The tutorial uses the office desk model served by this documentation site at `/models/office-desk.gltf`; download it first. Real client projects normally start from `phoenix init`. This tutorial creates the four essential files by hand so you can see what Phoenix owns.
19
19
 
20
20
  ## Step 0 — Create the project
21
21
 
@@ -40,17 +40,13 @@ Now add these four files.
40
40
  "dependencies": {
41
41
  "@salsita-ai/sdk": "0.48.0"
42
42
  },
43
- "devDependencies": {
44
- "@lingui/cli": "5.9.5",
45
- "@lingui/swc-plugin": "5.11.0"
46
- },
47
43
  "phoenix": {
48
44
  "applicationFlow": true
49
45
  }
50
46
  }
51
47
  ```
52
48
 
53
- Use the SDK version supplied by your team if it differs from the repository's current `0.48.0` version. `phoenix.applicationFlow` selects the application-spec project structure. The first sync uses Lingui while generating the rest of the dependencies, so its CLI and SWC plugin must also be present in the initial install.
49
+ Use the SDK version supplied by your team if it differs from the repository's current `0.48.0` version. `phoenix.applicationFlow` selects the application-spec project structure. The SDK runs its own Lingui, so the SDK is the only dependency you write by hand; `phoenix deps` adds the packages it needs next to it in the install step below. A project started with `phoenix init` gets a `package.json` that already declares them.
54
50
 
55
51
  ### `.env`
56
52
 
@@ -97,13 +93,17 @@ components:
97
93
  layout: universal
98
94
  ```
99
95
 
100
- Install the SDK, then ask Phoenix to generate the rest of the project:
96
+ Install the SDK, let it declare the packages it needs, such as React, three.js and MUI, install them, then ask Phoenix to generate the rest of the project:
101
97
 
102
98
  ```sh
103
99
  pnpm install
100
+ pnpm phoenix deps
101
+ pnpm install
104
102
  pnpm phoenix sync
105
103
  ```
106
104
 
105
+ `phoenix sync` stops while `package.json` lacks one of those packages; after every SDK update, run `phoenix deps` and install again (see [`phoenix deps`](?path=/docs/phoenix-phoenix-cli--docs#phoenix-deps)). With npm, the same steps are `npm install`, `npx phoenix deps`, `npm install` and `npx phoenix sync`.
106
+
107
107
  `phoenix sync` keeps `spec/` and `src/` as your authored inputs and generates the application shell, types, and `.phoenix/` implementation. Start development without a server:
108
108
 
109
109
  ```sh
@@ -8,9 +8,9 @@ Your workspace's Studio shows the setup, the link to your configurator and the s
8
8
 
9
9
  ## Before you start
10
10
 
11
- - **Package access:** `@salsita-ai/sdk` is public on npm; `npx` and `pnpm install` download it without a registry token.
11
+ - **Package access:** `@salsita-ai/sdk` is public on npm; any package manager downloads it without a registry token.
12
12
  - **Workspace details:** you need your workspace slug and its Phoenix region (`eu` or `us`), which you also received with your workspace.
13
- - **Tools:** Node.js and pnpm.
13
+ - **Tools:** Node.js and a package manager. The commands below use pnpm; with npm, run `npm install` and `npx phoenix …` instead, with Yarn `yarn phoenix …`, with Bun `bunx phoenix …`.
14
14
  - **SDK build:** during the internal beta, use the `canary` build of the SDK, as the commands below do. It is published from every change to the platform, so it is newer than the last release.
15
15
 
16
16
  ## 1. Create a project
@@ -22,11 +22,11 @@ pnpm install
22
22
  pnpm phoenix sync
23
23
  ```
24
24
 
25
- `phoenix init [folder]` writes the starter project: `package.json`, `pnpm-workspace.yaml` and the starter spec, `spec/application.yaml` and `spec/configurator.yaml`, which describe one box you can resize and recolour. The starter depends on the same SDK version as the CLI that created it, and its `package.json` has the `dev`, `build`, `deploy`, `check` and `fix` scripts, which are yours to change. `phoenix sync` then adds the rest of the project: webhooks and lint config. It writes a `.gitignore` only when the folder is inside a git repository; run `git init` before the first sync, or sync again after it, to get the file.
25
+ `phoenix init [folder]` writes the starter project: `package.json` and the starter spec, `spec/application.yaml` and `spec/configurator.yaml`, which describe one box you can resize and recolour. The starter depends on the same SDK version as the CLI that created it and on the packages the SDK requires next to it (React, three.js, MUI, Lingui and the others, with their type packages), with ESLint and Prettier at the versions the SDK uses itself. Its `package.json` has the `dev`, `build`, `deploy`, `check` and `fix` scripts, which are yours to change. `phoenix sync` then adds the rest of the project: the TypeScript, lint and formatting config and the agent skills. It writes no webhook code: a project without `src/webhooks/index.ts` gets a built-in webhook (see [Webhook Entry Point](?path=/docs/phoenix-webhooks--docs#webhook-entry-point)). It writes a `.gitignore` only when the folder is inside a git repository; run `git init` before the first sync, or sync again after it, to get the file.
26
26
 
27
- `init` only writes these files: it asks nothing and contacts no server. It refuses a folder that already has a `spec/` folder. A `package.json` already in the folder is kept, as long as it depends on the SDK.
27
+ `init` only writes these files: it asks nothing and contacts no server. It refuses a folder that already has a `spec/` folder. A `package.json` already in the folder is kept, as long as it depends on the SDK, and gains only the entries it lacks (see [Starting a New Project](?path=/docs/phoenix-phoenix-cli--docs#starting-a-new-project)).
28
28
 
29
- `pnpm-workspace.yaml` holds the pnpm settings the install needs: it allows the build scripts of the SDK's dependencies and exempts `@salsita-ai/*` packages from pnpm's minimum release age, so a build of the SDK published today installs. The file is yours to edit, for example to allow the build script of a dependency you add. `phoenix sync` adds these entries when they are missing and keeps the values you set. A project inside a pnpm monorepo gets no file of its own; the workspace root holds the settings.
29
+ Phoenix writes no package-manager settings. With pnpm 11, add a `pnpm-workspace.yaml` that allows the build scripts of the SDK's dependencies before the first install; [Package manager](?path=/docs/phoenix-project-structure--docs#package-manager) has the file.
30
30
 
31
31
  The starter `spec/application.yaml` begins with `project: default`, which means the default project of the workspace you sign in to. Leave it as it is; a workspace has one project.
32
32
 
@@ -76,12 +76,12 @@ pnpm phoenix deploy
76
76
  `phoenix deploy` goes through these steps:
77
77
 
78
78
  1. It validates the application spec.
79
- 2. It packs the project files: the `.yaml` files in `spec`, everything in `src`, `mocks`, `assets`, `public` and `templates`, and `package.json`, `pnpm-lock.yaml`, `pnpm-workspace.yaml`, `.gitignore`, `CLAUDE.md` and `.cursor/rules/phoenix.mdc`. Every `node_modules`, `.phoenix` and `__generated` folder, every `.DS_Store` and `._*` file and every `.env` and `.env.*` file are left out, at any depth.
79
+ 2. It packs the project files: the `.yaml` files in `spec`, everything in `src`, `mocks`, `assets`, `public` and `templates`, and `package.json`, `tsconfig.json`, `pnpm-lock.yaml`, `pnpm-workspace.yaml`, `.gitignore`, `CLAUDE.md` and `.cursor/rules/phoenix.mdc`. Every `node_modules`, `.phoenix` and `__generated` folder, every `.DS_Store` and `._*` file and every `.env` and `.env.*` file are left out, at any depth.
80
80
  3. It asks the server for a build. The server compares your domain model with the deployed one and refuses, before anything is uploaded, a model that changed under an already deployed model version; see [Migrations](?path=/docs/phoenix-migrations--docs).
81
81
  4. It uploads the archive, which may be up to 200 MB.
82
82
  5. It starts the build, prints a link to the build's page in Studio and follows the build until your configurator is live, then prints its URL.
83
83
 
84
- On the server, the install follows your `pnpm-lock.yaml` and `pnpm-workspace.yaml`, so it allows the same build scripts and package versions as `pnpm install` on your computer. The build runs without platform secrets. It sees only your own environment variables and the public platform values, the [build environment](?path=/docs/phoenix-phoenix-cli--docs) that `phoenix deployment:build-envs` writes. The trusted deploy step then publishes the frontend, webhooks and assets.
84
+ On the server, the install runs pnpm. It follows your `pnpm-lock.yaml` and `pnpm-workspace.yaml` when the project has them, so a pnpm project gets the same build scripts and package versions as on your computer; without them, pnpm resolves `package.json` with the settings the SDK needs. The build runs without platform secrets. It sees only your own environment variables and the public platform values, the [build environment](?path=/docs/phoenix-phoenix-cli--docs) that `phoenix deployment:build-envs` writes. The trusted deploy step then publishes the frontend, webhooks and assets.
85
85
 
86
86
  If the build fails, is cancelled or takes too long, `phoenix deploy` prints the end of the build log and exits with an error. `--no-wait` returns as soon as the build starts.
87
87
 
@@ -0,0 +1,148 @@
1
+ # Testing
2
+
3
+ - [Your application in a test](#your-application-in-a-test)
4
+ - [Run the domain on a preset](#run-the-domain-on-a-preset)
5
+ - [Test a transformer](#test-a-transformer)
6
+ - [Mock a domain context](#mock-a-domain-context)
7
+ - [Options](#options)
8
+
9
+ A project's tests check its own logic, such as an expression on a preset, a transformer that completes an
10
+ edit, a Blender projection or a migration, against the application the project ships. They run with
11
+ Vitest in Node, without a browser or a server.
12
+
13
+ ## Your application in a test
14
+
15
+ `createTestApplicationConfig` from `@salsita-ai/sdk/domain` is the way a test builds the project's
16
+ application. It takes the generated application the test imports and returns its application config,
17
+ typed with the project's entities, states and data, with no type argument at the call:
18
+
19
+ ```ts
20
+ import { createTestApplicationConfig } from '@salsita-ai/sdk/domain'
21
+
22
+ import { configuratorBuilder } from '../../.phoenix/domain.js'
23
+
24
+ const config = createTestApplicationConfig(configuratorBuilder)
25
+
26
+ config.domain.presets // the presets of spec/presets
27
+ config.initialPublishedData // the published data the application starts with
28
+ ```
29
+
30
+ `configuratorBuilder` from `.phoenix/domain.js` is the domain of the configurator: the model, expressions,
31
+ invariants, actions, migrations, presets and the components declared in YAML. `configuratorConfig` from
32
+ `.phoenix/configurator-config.js` is the whole configurator as the browser runs it, with every component,
33
+ handler, element and transformer; it reads the frontend environment when it is imported, so a test that
34
+ uses it stubs `phx.frontendEnv` first.
35
+
36
+ A test that mounts the configurator's UI builds from `configuratorConfig`: it carries the SDK's default
37
+ elements, the built-in layout, preset screen, not-found and not-authenticated pages, controls, toolbar
38
+ buttons and sidebar-footer pieces, which `configuratorBuilder` does not, so a test that mounts the UI from `createTestApplicationConfig(configuratorBuilder)`
39
+ shows a "not found" box in place of every built-in element. Code that assembles a config without the
40
+ generated files calls `.withDefaultElements(defaultConfiguratorElements)` on its configurator builder, with
41
+ the list from `@salsita-ai/sdk/configurator`, or `defaultAdminElements` from `@salsita-ai/sdk/admin` for
42
+ the admin.
43
+
44
+ A test passes the generated export to the helper and does not call the export's methods: they are how the
45
+ SDK assembles an application, not an interface for tests, while the helper's call does not depend on that
46
+ assembly.
47
+
48
+ ## Run the domain on a preset
49
+
50
+ The config goes into `createDomainRuntime`, which runs the same systems as the configurator:
51
+
52
+ ```ts
53
+ import { vi } from 'vitest'
54
+
55
+ import { NoopAnalyticsSystem, createDomainRuntime, createTestApplicationConfig } from '@salsita-ai/sdk/domain'
56
+
57
+ import { configuratorBuilder, createI18n } from '../../.phoenix/domain.js'
58
+
59
+ const logger = {
60
+ info: vi.fn(),
61
+ error: vi.fn(),
62
+ warn: vi.fn(),
63
+ debug: vi.fn(),
64
+ verbose: vi.fn(),
65
+ appendToGlobalContext: vi.fn(),
66
+ }
67
+ const config = createTestApplicationConfig(configuratorBuilder)
68
+ const runtime = createDomainRuntime({
69
+ config,
70
+ services: { analyticsService: new NoopAnalyticsSystem(), i18n: createI18n(), logger },
71
+ })
72
+
73
+ runtime.actions.domainContext.configurator.setExecutionMode('finalize')
74
+ runtime.actions.domainData.setDomainData({
75
+ publishedData: config.initialPublishedData,
76
+ backendData: undefined,
77
+ frontendData: {},
78
+ })
79
+ runtime.actions.sessionContext.setSessionContext({ role: 'anonymous', data: {} })
80
+
81
+ const preset = config.domain.presets[0]!
82
+ runtime.actions.loadedData.completeConfiguratorLoad({
83
+ initialRevisionId: 'test',
84
+ initialEntities: preset.initialDomainEntities,
85
+ modelVersion: config.domain.domainFactory.modelVersion,
86
+ rootEntityType: preset.rootEntityType,
87
+ schemaIdentity: runtime.selectors.spec.getConfiguratorFactory(),
88
+ })
89
+ runtime.selectors.domainContext.configurator.getDomainContext().initialize()
90
+ ```
91
+
92
+ ## Test a transformer
93
+
94
+ The domain of `configuratorBuilder` has no code-attached components and no transformers. A test adds the
95
+ ones it needs, the way the configurator and the webhooks add them:
96
+
97
+ ```ts
98
+ // Files that read `phx.domain` at module scope are imported after `.phoenix/domain.js`.
99
+ const { customComponentOptics } = await import('../../.phoenix/configurator-domain-code.js')
100
+ const { default: addCookingTop } = await import('../transformers/add-cooking-top.js')
101
+
102
+ const config = createTestApplicationConfig(configuratorBuilder, {
103
+ componentModules: customComponentOptics,
104
+ transformers: {
105
+ importedTransformers: [{ origin: 'src/transformers/add-cooking-top.ts', exports: addCookingTop }],
106
+ specTransformers: [{ name: 'addCookingTop', priority: 30 }],
107
+ },
108
+ })
109
+ ```
110
+
111
+ `specTransformers` are the entries of the `transformers` section of `spec/application.yaml` that the test
112
+ runs, with the priorities the spec gives them.
113
+
114
+ ## Mock a domain context
115
+
116
+ `createMockState`, `createMockDomain` and `createMockDomainContext` take the same config and check the
117
+ mock data against the project's types:
118
+
119
+ ```ts
120
+ import { createMockDomainContext, createTestApplicationConfig } from '@salsita-ai/sdk/domain'
121
+
122
+ const config = createTestApplicationConfig(configuratorBuilder)
123
+ const preset = config.domain.presets[0]!
124
+ const { domainContext, destroy } = createMockDomainContext(config, {
125
+ entities: preset.initialDomainEntities,
126
+ rootEntityType: preset.rootEntityType,
127
+ publishedData: config.initialPublishedData,
128
+ frontendData: {},
129
+ sessionData: {},
130
+ backendData: undefined,
131
+ mode: 'owner',
132
+ role: 'anonymous',
133
+ transformers: [],
134
+ })
135
+ ```
136
+
137
+ ## Options
138
+
139
+ | Option | What it does |
140
+ | ------------------ | ------------------------------------------------------------------------------------------------------------------ |
141
+ | `componentModules` | Component files added after the components the application already has, each `{ origin, exports }` |
142
+ | `transformers` | Replaces the application's transformers: files (`importedTransformers`) and spec entries (`specTransformers`) |
143
+ | `tag` | The tag of the custom element the application mounts as; without it the application's own (`salsita-configurator`) |
144
+
145
+ ## See Also
146
+
147
+ - [Best Practices](?path=/docs/phoenix-best-practices--docs) - Where custom code lives
148
+ - [Transformers](?path=/docs/other-features-transformers--docs) - Writing transformers
@@ -4,21 +4,22 @@ Build component controls with React and browser SDKs without pulling them into t
4
4
 
5
5
  ## Choose Where Each File Runs
6
6
 
7
- | User file | Frontend | Webhook |
8
- | ------------------------------------------------- | -------- | ------- |
9
- | Component or admin component without a directive | Yes | No |
10
- | Component or admin component with `'use webhook'` | Yes | Yes |
11
- | Ordinary handler | Yes | No |
12
- | Published-data or validator handler | Yes | Yes |
13
- | Any other handler with `'use webhook'` | Yes | Yes |
14
- | File under `src/webhooks/` | No | Yes |
7
+ | User file | Frontend | Webhook |
8
+ | ---------------------------------------------------- | -------- | ------- |
9
+ | Component or admin component without a directive | Yes | No |
10
+ | Component or admin component with `'use webhook'` | Yes | Yes |
11
+ | Ordinary handler | Yes | No |
12
+ | Published-data, validator or assistant setup handler | Yes | Yes |
13
+ | Any other handler with `'use webhook'` | Yes | Yes |
14
+ | File under `src/webhooks/` | No | Yes |
15
15
 
16
- Published-data and validator handlers are detected when they register one of these APIs:
16
+ Published-data, validator and assistant setup handlers are detected when they register one of these APIs:
17
17
 
18
18
  - `createMapPublishedRevisionDataHandler`
19
19
  - `createMapPublishedChunkedDataHandler`
20
20
  - `createDataRowValidatorHandler`
21
21
  - `createSheetValidatorHandler`
22
+ - `phx.domain.createAssistantSetupHandler`
22
23
 
23
24
  ## Pin a Server-Safe Component
24
25
 
@@ -34,6 +34,23 @@ Phoenix provides domain-aware builders through the global `phx.webhooks` namespa
34
34
 
35
35
  ### Webhook Entry Point
36
36
 
37
+ Your webhook is the default export of `src/webhooks/index.ts`. With the application-spec pipeline (see [Current and legacy project tooling](?path=/docs/phoenix-phoenix-cli--docs#current-and-legacy-project-tooling)), the file is yours to create; sync does not write it. A project without it gets a built-in webhook, so it builds and deploys with no webhook code. The built-in webhook has one handler, an anonymous auth handler, which the platform calls only when `spec/application.yaml` sets `useAuthHook`. The legacy pipeline writes the file with that webhook on the first sync.
38
+
39
+ Create `src/webhooks/index.ts` when the project needs its own handlers: finalization, backend data, or an auth handler that does more than start an anonymous session. A project that sets `useAuthHook` or `useClerk` needs its own auth handler, because the built-in one answers only anonymous requests. The smallest file is the built-in webhook itself:
40
+
41
+ ```ts
42
+ // src/webhooks/index.ts
43
+ const authHandler = phx.webhooks.authHandlerBuilder
44
+ .withAnonymousHandler(async () => ({ success: true, data: {}, role: 'anonymous' }))
45
+ .build()
46
+
47
+ export default phx.webhooks.webhookBuilder.withAuthHook(authHandler).build()
48
+ ```
49
+
50
+ The next `phoenix sync` or `phoenix build`, or the rebuild of a running `phoenix dev`, uses the file; deleting it brings the built-in webhook back. A webhook needs at least one handler, and a project with any other file in `src/webhooks/` must have `index.ts`.
51
+
52
+ A webhook with more handlers:
53
+
37
54
  ```ts
38
55
  // src/webhooks/index.ts
39
56
  import { authHandler } from './handlers/auth-handler.js'
@@ -148,7 +165,7 @@ resources:
148
165
  s3Key: clientImage
149
166
  ```
150
167
 
151
- These resources are automatically made available as typed properties in task handlers via the `resources` parameter.
168
+ These resources are automatically made available as typed properties in task handlers via the `resources` parameter. Two static resources with the same name are an error: `phoenix check` and `phoenix build` report the second entry (`DUPLICATE_RESOURCE_NAME`).
152
169
 
153
170
  #### Task Payload
154
171
 
@@ -391,7 +408,7 @@ ctx.emailTaskBuilder.withSubject(msg`Your configuration`)
391
408
  In React templates, use `<Trans>` for inline strings and `<HtmlHelpers.Localized>` to render message descriptors:
392
409
 
393
410
  ```tsx
394
- import { Trans } from '@lingui/macro'
411
+ import { Trans } from '@lingui/react/macro'
395
412
 
396
413
  import { HtmlHelpers } from '@salsita-ai/sdk/webhook'
397
414
 
@@ -456,7 +473,7 @@ The template file:
456
473
 
457
474
  ```tsx
458
475
  // src/webhooks/handlers/configurator-finalize-handler/tasks/pdf-template.tsx
459
- import { Trans } from '@lingui/macro'
476
+ import { Trans } from '@lingui/react/macro'
460
477
 
461
478
  import { HtmlHelpers, PdfHelpers, ResourceHelpers } from '@salsita-ai/sdk/webhook'
462
479
 
@@ -578,7 +595,7 @@ except for resource reference interpolation.
578
595
 
579
596
  ```tsx
580
597
  // src/webhooks/handlers/configurator-finalize-handler/tasks/email-task.tsx
581
- import { msg } from '@lingui/macro'
598
+ import { msg } from '@lingui/core/macro'
582
599
 
583
600
  import { EmailTemplate } from './email-template.js'
584
601
 
@@ -603,7 +620,7 @@ export const simpleEmailTask = phx.webhooks.taskFactory.createSendEmailTask((res
603
620
 
604
621
  ```tsx
605
622
  // src/webhooks/handlers/configurator-finalize-handler/tasks/email-template.tsx
606
- import { Trans } from '@lingui/macro'
623
+ import { Trans } from '@lingui/react/macro'
607
624
 
608
625
  import { EmailHelpers, ResourceHelpers } from '@salsita-ai/sdk/webhook'
609
626
 
@@ -1,6 +1,5 @@
1
1
  import type { DomainEntity } from '../../core/index.js';
2
2
  import type { PublishedData } from '../__generated/application-types.js';
3
- import { type AnyDomainEntity } from '../__generated/model/index.js';
4
3
  export type CommonAdminPublishedData = PublishedData;
5
4
  export declare const CommonAdminPublishedDataSchema: {
6
5
  type: "object";
@@ -182,4 +181,4 @@ export declare const CommonAdminPublishedDataSchema: {
182
181
  additionalProperties: false;
183
182
  required: never[];
184
183
  };
185
- export declare const mapCommonAdminPublishedData: <ENTITIES extends DomainEntity<string>>(entities: ReadonlyArray<ENTITIES | AnyDomainEntity>) => CommonAdminPublishedData;
184
+ export declare const mapCommonAdminPublishedData: (entities: ReadonlyArray<DomainEntity<string>>) => CommonAdminPublishedData;
@@ -1 +1 @@
1
- import{DomainComponentOpticBuilder as o,RecipeFactoryBuilder as e}from"../core/index.js";import{attributeSelectionComponent as n}from"../system-components/index.js";import{AnyDomainEntity as m,PresetCategory as t,aliases as i}from"./__generated/model/index.js";import{DraftId as a}from"./implementation/common-admin-expressions.js";export{migrateCommonAdminDomain}from"./implementation/common-admin-migrations.js";export*from"./__generated/model/index.js";export*from"./implementation/common-admin-expressions.js";export*from"./implementation/common-admin-publish.js";export*from"./schema/index.js";export const createCommonAdminRecipe=e.forAliases(i).forEntities(m.reflections).withDefaults({}).build();export const attachCommonAdminDomainComponent=o.from(i);export const commonAdminComponents=[attachCommonAdminDomainComponent.withEntity("Preset").withComponent(n,"category").attach((o,e)=>{let n=e.entities.filter(t.is);return null===o.categoryId?{value:a,options:n.map(o=>({value:o.id,label:o.name})).concat([{value:a,label:{$lang:{en:"Draft"}}}])}:{value:o.categoryId,options:n.map(o=>({value:o.id,label:o.name}))}},o=>({categoryId:o.value===a?null:o.value}))];export const configuratorBuilder=null;
1
+ import{DomainComponentOpticBuilder as o,createRecipeFactory as e}from"../core/index.js";import{attributeSelectionComponent as n}from"../system-components/index.js";import{AnyDomainEntity as m,PresetCategory as t,aliases as i}from"./__generated/model/index.js";import{DraftId as a}from"./implementation/common-admin-expressions.js";export{migrateCommonAdminDomain}from"./implementation/common-admin-migrations.js";export*from"./__generated/model/index.js";export*from"./implementation/common-admin-expressions.js";export*from"./implementation/common-admin-publish.js";export*from"./schema/index.js";export const createCommonAdminRecipe=e(i,m.reflections,{});export const attachCommonAdminDomainComponent=o.from(i);export const commonAdminComponents=[attachCommonAdminDomainComponent.withEntity("Preset").withComponent(n,"category").attach((o,e)=>{let n=e.entities.filter(t.is);return null===o.categoryId?{value:a,options:n.map(o=>({value:o.id,label:o.name})).concat([{value:a,label:{$lang:{en:"Draft"}}}])}:{value:o.categoryId,options:n.map(o=>({value:o.id,label:o.name}))}},o=>({categoryId:o.value===a?null:o.value}))];export const configuratorBuilder=null;
@@ -8,7 +8,7 @@ import type { CellValue } from '@salsita-ai/contracts/webhook';
8
8
  import type { AdminIntegrationService } from '#package/react-sdk';
9
9
  import type { $DomainEntity, DataCellValue, DataSchema, DomainEntity, DomainFactory, ProductPreset } from '../core/index.js';
10
10
  import type { AnalyticsSystem, RegistrableTransformer, TransformerFactory } from '../domain-context/index.js';
11
- import type { ProjectModule } from '../domain-runtime/index.js';
11
+ import type { ElementRegistration, ProjectModule } from '../domain-runtime/index.js';
12
12
  import type { AssistantResolvedManifest } from './assistant/index.js';
13
13
  import type { WebComponentEventDescriptor } from './web-component-event.js';
14
14
  import type { WebComponentPropertyDescriptor } from './web-component-property.js';
@@ -292,6 +292,8 @@ export interface ApplicationConfig<ENTITIES extends DomainEntity<string>, ALLOWE
292
292
  /** The `src/handlers/` and `src/elements/` files as project modules; the runtime spec validates and flattens both. */
293
293
  readonly handlers: readonly ProjectModule[];
294
294
  readonly elements: readonly ProjectModule[];
295
+ /** The SDK's default element registrations; a project element with the same name replaces one. */
296
+ readonly defaultElements?: readonly ElementRegistration[];
295
297
  readonly mount: MountConfig<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES, CHAT_CONTEXT, PUBLISHED_DATA, SESSION_DATA, FRONTEND_DATA, ADMIN_ENTITIES, ADMIN_ALLOWED_ROOT_ENTITIES, ADMIN_$MAP, ADMIN_NAVIGATION_STATES, ADMIN_VIEW_STATES>;
296
298
  }
297
299
  export {};
@@ -0,0 +1,12 @@
1
+ import type { AssistantDeclaredField, AssistantResolvedField } from './assistant-resolved-manifest.js';
2
+ /** Combines the effective description with allowed string values. */
3
+ export declare const describeAssistantValues: (description: string | undefined, values: readonly string[] | undefined) => string | undefined;
4
+ /** Applies GraphQL field inheritance identically at parse time and after session narrowing. */
5
+ export declare const mergeAssistantFields: (inherited: ReadonlyArray<readonly AssistantDeclaredField[]>, own: readonly AssistantDeclaredField[], ownEnumValues: (source: string) => readonly string[] | undefined, conflict: (name: string, first: string, second: string) => void) => readonly AssistantDeclaredField[];
6
+ /**
7
+ * The serializable form of a merged field of one alias or type. Merging keeps the inherited entry of
8
+ * a field declared twice, so the lens tags are taken from `own`, the declarations of that alias or
9
+ * type itself: each lens condition then comes from its own declaration, at parse time and after
10
+ * session narrowing alike.
11
+ */
12
+ export declare const resolveAssistantField: (field: AssistantDeclaredField, own: readonly AssistantDeclaredField[]) => AssistantResolvedField;
@@ -0,0 +1 @@
1
+ export const describeAssistantValues=(e,s)=>{if(!s?.length)return e;let t=`One of: ${s.map(e=>`"${e}"`).join(", ")}.`;return e?`${e}${/[.!?]$/.test(e)?"":"."} ${t}`:t};export const mergeAssistantFields=(e,s,t,n)=>{let r=new Map,i=new Set(s);for(let t of[...e.flat(),...s]){let e=r.get(t.name);e?e.source!==t.source?n(t.name,e.source,t.source):r.set(t.name,{...e,...i.has(t)&&t.describedByManifest?{description:t.description,describedByManifest:!0,valueDescription:t.valueDescription}:{}}):r.set(t.name,t)}return[...r.values()].map(e=>{let s=e.enumValues&&t(e.source);return s?{...e,enumValues:s,description:describeAssistantValues(e.valueDescription,s)}:e})};export const resolveAssistantField=(e,s)=>{let t=s.find(s=>s.name===e.name&&s.source===e.source)?.lenses;return{name:e.name,source:e.source,localized:e.localized,type:e.type,...void 0===e.description?{}:{description:e.description},...t?.length?{lenses:t}:{}}};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * What an element of an assistant form collects: a `group` all its children, a `choice` exactly one
3
+ * of its options, a `choices` any number of them; an `option` is something to pick and an `input` a
4
+ * free value.
5
+ */
6
+ export type AssistantFormRole = 'group' | 'choice' | 'choices' | 'option' | 'input';
7
+ /** The type an attribute of a form element is validated and coerced to; the model writes every attribute as a string. */
8
+ export interface AssistantFormAttribute {
9
+ readonly type: 'string' | 'number' | 'integer' | 'boolean';
10
+ readonly enum?: readonly string[];
11
+ }
12
+ /**
13
+ * An element the assistant can write inside a ```` ```form ```` fence of its reply to ask the user
14
+ * something. The panel renders it, and the SDK prompt lists it, so the model and the panel agree on
15
+ * one set of elements.
16
+ */
17
+ export interface AssistantFormElementDescriptor {
18
+ /** The tag: lowercase, and never the name of an HTML element. */
19
+ readonly name: string;
20
+ readonly role: AssistantFormRole;
21
+ /** What the element is for, printed in the prompt after its signature. */
22
+ readonly description: string;
23
+ /** Attributes beyond the built-in `label` and, on an option or an input, `value`. */
24
+ readonly attributes: Readonly<Record<string, AssistantFormAttribute>>;
25
+ readonly required?: readonly string[];
26
+ }
27
+ /** The elements every assistant form understands, in the order the prompt lists them. */
28
+ export declare const ASSISTANT_BUILT_IN_FORM_ELEMENTS: readonly AssistantFormElementDescriptor[];
@@ -0,0 +1 @@
1
+ export const ASSISTANT_BUILT_IN_FORM_ELEMENTS=[{name:"group",role:"group",description:"Puts related questions together under its label.",attributes:{}},{name:"choice",role:"choice",description:"The user picks exactly one of its options.",attributes:{}},{name:"choices",role:"choices",description:"The user picks any number of its options.",attributes:{}},{name:"reply",role:"option",description:"A short answer shown as a button.",attributes:{}},{name:"text",role:"input",description:"A single line the user types.",attributes:{placeholder:{type:"string"}}}];
@@ -47,7 +47,11 @@ export interface AssistantFieldOptions {
47
47
  * means none; `replaceRecipes` lists the same for `meta { replaceRecipes }` and `replaceEntity`;
48
48
  * `fieldOptions` lists, per entity type, the options edges `meta` exposes for its
49
49
  * writable fields, and absent means none; `actions` maps each custom `Mutation` field to the
50
- * declared action it runs, and absent means none. Consumed by the configurator GraphQL system.
50
+ * declared action it runs, and absent means none; `lenses` holds the generated lens fragments, and
51
+ * absent means none: `declarations` is the text the prompt shows, each lens once with its relations
52
+ * spreading the lens itself, and `definitions` the valid GraphQL injected into an operation that
53
+ * spreads a lens, with the copies that unroll each lens to its depth. Consumed by the configurator
54
+ * GraphQL system.
51
55
  */
52
56
  export interface AssistantManifest {
53
57
  readonly sdl: string;
@@ -60,4 +64,8 @@ export interface AssistantManifest {
60
64
  readonly replaceRecipes?: Readonly<Record<string, readonly AssistantRecipeGroup[]>>;
61
65
  readonly fieldOptions?: Readonly<Record<string, readonly AssistantFieldOptions[]>>;
62
66
  readonly actions?: Readonly<Record<string, string>>;
67
+ readonly lenses?: {
68
+ readonly declarations: string;
69
+ readonly definitions: string;
70
+ };
63
71
  }
@@ -15,7 +15,11 @@ export interface AssistantRelationType {
15
15
  readonly target: string;
16
16
  readonly cardinality: '1-1' | '0-1' | '0-N' | '1-N';
17
17
  }
18
- /** A field's source and resolved type, carried in the application bundle without GraphQL instances. */
18
+ /**
19
+ * A field's source and resolved type, carried in the application bundle without GraphQL instances.
20
+ * `lenses` names the lenses the field's own declaration on this alias or type tags it with; a field
21
+ * only inherited from an alias carries none here, since the alias already selects it.
22
+ */
19
23
  export interface AssistantResolvedField {
20
24
  readonly name: string;
21
25
  readonly source: string;
@@ -25,6 +29,7 @@ export interface AssistantResolvedField {
25
29
  } | AssistantRelationType;
26
30
  readonly localized: boolean;
27
31
  readonly description?: string;
32
+ readonly lenses?: readonly string[];
28
33
  }
29
34
  /** Declared UI state values used to describe the navigation query. */
30
35
  export interface AssistantStates {
@@ -34,6 +39,7 @@ export interface AssistantStates {
34
39
  }
35
40
  /** Serializable resolved whitelist from which the browser or backend constructs the assistant schema. */
36
41
  export interface AssistantResolvedManifest {
42
+ readonly declarations: AssistantDeclarations;
37
43
  readonly entityTypes: readonly string[];
38
44
  readonly aliases: Readonly<Record<string, readonly string[]>>;
39
45
  readonly exampleType?: string;
@@ -45,6 +51,11 @@ export interface AssistantResolvedManifest {
45
51
  readonly replaceRecipes: Readonly<Record<string, AssistantResolvedRecipes>>;
46
52
  readonly optionsEdges: Readonly<Record<string, readonly AssistantResolvedOptionsEdge[]>>;
47
53
  readonly actionFields: readonly AssistantResolvedAction[];
54
+ /** The declared lenses by name: when to use each, and how many levels its tagged relations nest. */
55
+ readonly lenses: Readonly<Record<string, {
56
+ readonly description: string;
57
+ readonly maxDepth: number;
58
+ }>>;
48
59
  }
49
60
  /** Optional mutation input for one stored field, using its exposed name. */
50
61
  export interface AssistantWritableField {
@@ -59,7 +70,8 @@ export interface AssistantWritableType {
59
70
  readonly fields: readonly AssistantWritableField[];
60
71
  }
61
72
  /** Description hints resolved from recipe/option entries; no parse context is retained. */
62
- export type AssistantResolvedHint = 'sameForAllInstances' | 'constantDuringSession';
73
+ export declare const ASSISTANT_HINTS: readonly ['sameForAllInstances', 'constantDuringSession'];
74
+ export type AssistantResolvedHint = (typeof ASSISTANT_HINTS)[number];
63
75
  /** Recipe groups and their description hints for one entity type. */
64
76
  export interface AssistantResolvedRecipes {
65
77
  readonly groups: readonly AssistantRecipeGroup[];
@@ -93,3 +105,27 @@ export interface AssistantResolvedAction {
93
105
  }>>;
94
106
  readonly result: Readonly<Record<string, AssistantResolvedActionResult>>;
95
107
  }
108
+ /** Immutable, validated declaration bindings retained before alias expansion for session narrowing. */
109
+ export interface AssistantDeclarations {
110
+ readonly entities: Readonly<Record<string, readonly AssistantDeclaredField[]>>;
111
+ readonly enumValues: Readonly<Record<string, Readonly<Record<string, readonly string[]>>>>;
112
+ readonly deletable: readonly string[];
113
+ readonly writable: Readonly<Record<string, Readonly<Record<string, AssistantDeclaredWrite>>>>;
114
+ readonly childRecipes: Readonly<Record<string, AssistantResolvedRecipes>>;
115
+ readonly replaceRecipes: Readonly<Record<string, AssistantResolvedRecipes>>;
116
+ }
117
+ /** An original field declaration, including metadata needed to reapply inheritance and enum descriptions. */
118
+ export interface AssistantDeclaredField extends AssistantResolvedField {
119
+ readonly describedByManifest: boolean;
120
+ readonly enumValues?: readonly string[];
121
+ readonly valueDescription?: string;
122
+ }
123
+ /** Stored-property types and component bindings, resolved separately for each concrete member. */
124
+ export interface AssistantDeclaredWrite {
125
+ readonly members: Readonly<Record<string, {
126
+ readonly exposedDescription?: string;
127
+ readonly field: AssistantWritableField;
128
+ readonly options?: AssistantResolvedOptionsEdge;
129
+ }>>;
130
+ readonly defaultOptionsName: boolean;
131
+ }
@@ -1 +1 @@
1
- export{};
1
+ export const ASSISTANT_HINTS=["sameForAllInstances","constantDuringSession"];
@@ -0,0 +1,14 @@
1
+ import { type GraphQLSchema } from 'graphql';
2
+ import type { AssistantManifest } from './assistant-manifest.js';
3
+ import type { AssistantResolvedManifest } from './assistant-resolved-manifest.js';
4
+ /**
5
+ * Generates the lens fragments of a resolved manifest for the execution schema compiled from it. A
6
+ * declared lens becomes one fragment on `AnyDomainEntity`; one that session narrowing left without a
7
+ * tagged field is dropped, so the agent is never offered a lens that selects nothing. A built-in lens
8
+ * is present only when the schema has its type. A tagged relation spreads the lens itself in the
9
+ * declarations, which GraphQL forbids, so the definitions unroll it into copies down to `maxDepth`,
10
+ * where relations select only `id`. The definitions are checked here against the execution schema,
11
+ * with every declared lens spread on one entity, so a fault in them fails the build and not the
12
+ * operations that spread them.
13
+ */
14
+ export declare const buildAssistantLenses: (resolved: AssistantResolvedManifest, schema: GraphQLSchema) => NonNullable<AssistantManifest['lenses']>;
@@ -0,0 +1,5 @@
1
+ import{NoUnusedFragmentsRule as e,parse as t,specifiedRules as i,validate as n}from"graphql";let s="AnyDomainEntity",r=[{name:"RecipeGroup",description:"A recipe group with its recipes, without their dry-runs.",selections:["groupId","name","description","recipes { ...Recipe }"]},{name:"Recipe",description:"A recipe without its dry-run.",selections:["key","name","description","imageUrl"]},{name:"FieldOption",description:"A value a field accepts, without its dry-run.",selections:["value","name","description","imageUrl","color"]},{name:"DryRun",description:"What a dry-run would do, with the ids of the entities it would change instead of the entities.",selections:["ok","deletedEntityIds","sideEffects","errors { type entityId message }","changedEntities { id }"]}],a=(e,t)=>0===t?e:`${e}__${t}`,l=e=>e.split("\n").map(e=>`# ${e}`.trimEnd()).join("\n"),o=(e,t,i)=>[`fragment ${e} on ${t} {`,...i.map(e=>` ${e}`),"}"].join("\n"),p=(e,t,i)=>{let n=e=>"edge"===e.type.kind?`${e.name} { ${i} }`:e.name;return o(e,s,["id",...t.flatMap(({typeName:e,fields:t})=>e===s?t.map(n):[`... on ${e} {`,...t.map(e=>` ${n(e)}`),"}"])])};export const buildAssistantLenses=(d,m)=>{let c=Object.entries(d.lenses).flatMap(([e,t])=>{let i=[s,...Object.keys(d.aliases).filter(e=>e!==s),...d.entityTypes].flatMap(t=>{let i=(d.fields[t]??[]).filter(t=>t.lenses?.includes(e));return i.length>0?[{typeName:t,fields:i}]:[]});return i.length>0?[{name:e,...t,conditions:i}]:[]}),$=r.filter(({name:e})=>void 0!==m.getType(e)),h=[...c.map(({name:e,description:t,maxDepth:i,conditions:n})=>{let s=n.some(({fields:e})=>e.some(e=>"edge"===e.type.kind));return`${l(s?`${t} ${`Nested relations carry the same selection up to ${i} ${1===i?"level":"levels"}, below that only \`id\`.`}`:t)}
2
+ ${p(e,n,`...${e}`)}`}),...$.map(({name:e,description:t,selections:i})=>`${l(t)}
3
+ ${o(e,e,i)}`)].join("\n\n"),u=[...c.flatMap(({name:e,maxDepth:t,conditions:i})=>Array.from({length:t+1},(n,s)=>p(a(e,s),i,s<t?`...${a(e,s+1)}`:"id"))),...$.map(({name:e,selections:t})=>o(e,e,t))].join("\n\n");if(""!==u){let s=c.length>0?`entities { ${c.map(({name:e})=>`...${e}`).join(" ")} }`:"__typename",r=n(m,t(`${u}
4
+
5
+ { ${s} }`),i.filter(t=>t!==e));if(r.length>0)throw Error(`The lens fragments generated from "assistant.lenses" are not valid GraphQL: ${[...new Set(r.map(e=>e.message))].join(" ")}`)}return{declarations:h,definitions:u}};