@salsita-ai/sdk 0.50.0-develop.9ed52379e9 → 0.50.0-develop.a3e5495063

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 (1308) 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/index.d.ts +1 -0
  13. package/dist/application/index.js +1 -1
  14. package/dist/application/mount-application.d.ts +1 -1
  15. package/dist/application/mount-application.js +1 -1
  16. package/dist/application/mount-configurator.d.ts +19 -0
  17. package/dist/application/mount-configurator.js +1 -0
  18. package/dist/application/mounted-application-runtime.d.ts +4 -0
  19. package/dist/application/mounted-application-runtime.js +1 -0
  20. package/dist/application/register-web-component.d.ts +2 -0
  21. package/dist/application/register-web-component.js +1 -0
  22. package/dist/application-spec/caching/content-diff.js +1 -1
  23. package/dist/application-spec/core/application-file.d.ts +0 -2
  24. package/dist/application-spec/core/application-file.js +1 -1
  25. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  26. package/dist/application-spec/core/components/component-filter.js +1 -0
  27. package/dist/application-spec/core/components/index.d.ts +2 -0
  28. package/dist/application-spec/core/components/index.js +1 -0
  29. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  30. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  31. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  32. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  33. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  34. package/dist/application-spec/core/expressions/index.js +1 -0
  35. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  36. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  37. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  38. package/dist/application-spec/core/index.d.ts +2 -0
  39. package/dist/application-spec/core/index.js +1 -1
  40. package/dist/application-spec/core/json-value.d.ts +1 -1
  41. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  42. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  43. package/dist/application-spec/enhanced-json/index.js +1 -0
  44. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  45. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  46. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  47. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  48. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  49. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  50. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  51. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  52. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  53. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  54. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  55. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  56. package/dist/application-spec/errors/diagnostic-codes.d.ts +23 -0
  57. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  58. package/dist/application-spec/errors/diagnostic-messages.d.ts +27 -1
  59. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  60. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  61. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  62. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  63. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  64. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  65. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  66. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  67. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  68. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  69. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  70. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  71. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  72. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  73. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  74. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  75. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  76. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  77. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  78. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  79. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  80. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  81. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  82. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  83. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  90. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  91. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  92. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  93. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  94. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  95. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  96. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  97. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  98. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  99. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  100. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  101. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  102. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  103. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  104. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  105. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  106. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  107. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  108. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  109. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  110. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  111. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  112. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  113. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  114. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  115. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  116. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  117. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  118. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -4
  119. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  120. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  121. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  122. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  123. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  124. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  125. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  126. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  127. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  128. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  129. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  130. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  131. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  132. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +33 -7
  133. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  134. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  135. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  136. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  137. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  138. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  139. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  140. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  141. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  142. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  143. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  144. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  145. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  146. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  147. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  148. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  149. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  150. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  151. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  152. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  153. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  154. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  155. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  156. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  157. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  158. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  159. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  160. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  161. package/dist/application-spec/generate-application/index.d.ts +4 -0
  162. package/dist/application-spec/generate-application/index.js +1 -1
  163. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  164. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  165. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +12 -4
  166. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  167. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  168. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  169. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  170. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +35 -10
  171. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  172. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  173. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  174. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +7 -5
  175. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  176. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +12 -7
  177. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  178. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  179. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  180. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  181. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  182. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  183. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  184. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  185. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  186. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  187. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  188. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  189. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  190. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  191. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  192. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  193. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  194. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  195. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  196. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  197. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  198. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  199. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  200. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  201. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  202. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  203. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  204. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  205. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +15 -6
  206. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  207. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  208. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  209. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  210. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  211. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  212. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  213. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  214. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  215. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  216. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  217. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  218. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  219. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  220. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  221. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  222. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  223. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  224. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  225. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +28 -0
  226. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  227. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  228. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  229. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +103 -0
  230. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  231. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  232. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  233. package/dist/application-spec/index.d.ts +1 -0
  234. package/dist/application-spec/index.js +1 -1
  235. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  236. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  237. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  238. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  239. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  240. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  241. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  242. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  243. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  244. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +47 -4
  245. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  246. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  247. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  249. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  250. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  251. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  252. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  253. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  254. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  255. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  256. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  257. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  258. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  259. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  260. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  261. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  262. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  263. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  264. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  265. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  266. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  267. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  268. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  269. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  270. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  271. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  272. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  273. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  274. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  275. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  276. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  277. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  278. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  279. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  280. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  281. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  282. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  283. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  284. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  285. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  286. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  287. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  288. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  289. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  290. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  291. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  292. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  293. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  294. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  295. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  296. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  297. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  298. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  299. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  300. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  301. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  302. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  303. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  304. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  305. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  306. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  307. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  308. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  309. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  310. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  311. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  312. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  313. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  314. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  315. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  316. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  317. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  318. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  319. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  320. package/dist/client/authorized-client.d.ts +3 -1
  321. package/dist/client/authorized-client.js +1 -1
  322. package/dist/client/contract.d.ts +17 -0
  323. package/dist/client/index.d.ts +1 -1
  324. package/dist/client/local-authorized-client.d.ts +3 -1
  325. package/dist/client/local-authorized-client.js +1 -1
  326. package/dist/client/memory-authorized-client.d.ts +4 -1
  327. package/dist/client/memory-authorized-client.js +1 -1
  328. package/dist/client/phoenix-api.d.ts +809 -118
  329. package/dist/configurator/ConfiguratorApp.js +1 -1
  330. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  331. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  332. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  333. package/dist/configurator/app-loader-content/index.js +1 -0
  334. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  335. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  336. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  337. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +54 -3
  338. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  339. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +40 -7
  340. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  341. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  342. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  343. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  344. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  345. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  346. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  347. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  348. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  349. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  350. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  351. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  352. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  353. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +70 -7
  354. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  355. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  356. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  357. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  358. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  359. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  360. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  361. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  362. package/dist/configurator/common/configurator-interface.d.ts +145 -5
  363. package/dist/configurator/common/configurator-interface.js +1 -1
  364. package/dist/configurator/common/index.d.ts +3 -1
  365. package/dist/configurator/common/index.js +1 -1
  366. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  367. package/dist/configurator/common/use-reset-camera.js +1 -0
  368. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  369. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  370. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  371. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  372. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  373. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  374. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  375. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  376. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  377. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  378. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  379. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  380. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  381. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  382. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  383. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  384. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  385. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  386. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  387. package/dist/configurator/configurator-error-page/index.js +1 -0
  388. package/dist/configurator/index.d.ts +10 -0
  389. package/dist/configurator/index.js +1 -1
  390. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  391. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  392. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  393. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  394. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  395. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  396. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  397. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  398. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  399. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  400. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  401. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  402. package/dist/configurator/pages/RootPage.js +1 -1
  403. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  404. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  405. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  406. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  407. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  408. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  409. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  410. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  411. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  412. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  413. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  414. package/dist/configurator/pages/default-elements/index.js +1 -0
  415. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  416. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  417. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  418. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  419. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  420. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  421. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  422. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  423. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  424. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  425. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  426. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  427. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  428. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  429. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  430. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  431. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  432. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  433. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  434. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  435. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  436. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  437. package/dist/configurator/pages/index.d.ts +1 -0
  438. package/dist/configurator/pages/index.js +1 -1
  439. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  440. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  441. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  442. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  443. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  444. package/dist/configurator/preset-screen-elements/index.js +1 -0
  445. package/dist/configurator/scene/index.d.ts +1 -0
  446. package/dist/configurator/scene/index.js +1 -1
  447. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  448. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  449. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  450. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  451. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  452. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  453. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  454. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  455. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  456. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  457. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  458. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  459. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  460. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  461. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  462. package/dist/configurator/toolbar-actions/index.js +1 -0
  463. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  464. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  465. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  466. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  467. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  468. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  469. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  470. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  471. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -3
  472. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  473. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  474. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  475. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  476. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  477. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  478. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  479. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  480. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  481. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  482. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  483. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  484. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  485. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  486. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  487. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  488. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  489. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  490. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  491. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  492. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  493. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  494. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  495. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  496. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  497. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  498. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  499. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  500. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  501. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  502. package/dist/configurator/ui/assistant/form/index.js +1 -0
  503. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  504. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  505. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  506. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  507. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  508. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  509. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  510. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  511. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  512. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  513. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  514. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  515. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  516. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  517. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  518. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  519. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  520. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  521. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  522. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  523. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  524. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  525. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  526. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  527. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  528. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  529. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  530. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  531. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  532. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  533. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  534. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  535. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  536. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  537. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  538. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  539. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  540. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  541. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  542. package/dist/configurator/ui/assistant/index.js +1 -1
  543. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  544. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  545. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  546. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  547. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  548. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  549. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  550. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  551. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  552. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  553. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  554. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  555. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  556. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  557. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  558. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  559. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  560. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  561. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  562. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  563. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  564. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  565. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  566. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  567. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  568. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  569. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  570. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  571. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  572. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  573. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  574. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  575. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  576. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  577. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  578. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  579. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  580. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  581. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  582. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  583. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  584. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  585. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  586. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  587. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  588. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  589. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  590. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  591. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  592. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  593. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  594. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  595. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  596. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  597. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  598. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  599. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  600. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  601. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  602. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  603. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  604. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  605. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  606. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  607. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  608. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  609. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  610. package/dist/configurator/ui/index.d.ts +1 -0
  611. package/dist/configurator/ui/index.js +1 -1
  612. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  613. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  614. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  615. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  616. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  617. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  618. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  619. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  620. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  621. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  622. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  623. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  624. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  625. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  626. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  627. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  628. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  629. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  630. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  631. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  632. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  633. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  634. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  635. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  636. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  637. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  638. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  639. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  640. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  641. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  642. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  643. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  644. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  645. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  646. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  647. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  648. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  649. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  650. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  651. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  652. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  653. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  654. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  655. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  656. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  657. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  658. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  659. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  660. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  661. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  662. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  663. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  664. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  665. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  666. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  667. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  668. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  669. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  670. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  671. package/dist/configurator/ui/preset-layout/index.js +1 -1
  672. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  673. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  674. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  675. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  676. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  677. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  678. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  679. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  680. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  681. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  682. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  683. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  684. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  685. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  686. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  687. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  688. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  689. package/dist/docs/fabs/basic.mdx +6 -2
  690. package/dist/docs/index.json +136 -1
  691. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  692. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  693. package/dist/docs/layouts/custom-layout.mdx +2597 -0
  694. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  695. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  696. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  697. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  698. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  699. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  700. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  701. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  702. package/dist/docs/layouts/header/fixed.mdx +2 -2
  703. package/dist/docs/layouts/header/floating.mdx +2 -2
  704. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  705. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  706. package/dist/docs/other-features/client-side-rendering/declarative.mdx +2 -2
  707. package/dist/docs/other-features/error-5xx.mdx +1 -1
  708. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  709. package/dist/docs/other-features/not-found-404.mdx +1 -1
  710. package/dist/docs/other-features/side-effects.mdx +8 -11
  711. package/dist/docs/other-features/transformers.mdx +4 -0
  712. package/dist/docs/other-features/violation-messages.mdx +52 -56
  713. package/dist/docs/phoenix/application-states.mdx +9 -7
  714. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  715. package/dist/docs/phoenix/components.mdx +6 -0
  716. package/dist/docs/phoenix/configurator-interface.mdx +377 -83
  717. package/dist/docs/phoenix/deployments.mdx +2 -6
  718. package/dist/docs/phoenix/domain-model.mdx +6 -0
  719. package/dist/docs/phoenix/finalization.mdx +1 -1
  720. package/dist/docs/phoenix/getting-started.mdx +6 -3
  721. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  722. package/dist/docs/phoenix/localization.mdx +10 -6
  723. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  724. package/dist/docs/phoenix/phoenix-cli.mdx +88 -44
  725. package/dist/docs/phoenix/project-structure.mdx +78 -36
  726. package/dist/docs/phoenix/quickstart.mdx +9 -9
  727. package/dist/docs/phoenix/sdk-builder-workflow.mdx +13 -11
  728. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  729. package/dist/docs/phoenix/testing.mdx +148 -0
  730. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  731. package/dist/docs/phoenix/webhooks.mdx +23 -6
  732. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  733. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  734. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  735. package/dist/domain/admin-domain/index.js +1 -1
  736. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  737. package/dist/domain/application/application-config.d.ts +7 -3
  738. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  739. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  740. package/dist/domain/application/assistant/assistant-manifest.d.ts +25 -2
  741. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +46 -3
  742. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  743. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  744. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  745. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  746. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  747. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  748. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  749. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  750. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  751. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  752. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  753. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  754. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  755. package/dist/domain/application/assistant/form/index.js +1 -0
  756. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  757. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  758. package/dist/domain/application/assistant/index.d.ts +8 -2
  759. package/dist/domain/application/assistant/index.js +1 -1
  760. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  761. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  762. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  763. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  764. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +50 -0
  765. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  766. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  767. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  768. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  769. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  770. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  771. package/dist/domain/application/configurator-builder.d.ts +11 -2
  772. package/dist/domain/application/configurator-builder.js +1 -1
  773. package/dist/domain/application/create-initial-published-data.d.ts +5 -5
  774. package/dist/domain/application/index.d.ts +1 -2
  775. package/dist/domain/application/index.js +1 -1
  776. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  777. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  778. package/dist/domain/application/standard-properties.js +1 -1
  779. package/dist/domain/application/web-component-property.d.ts +3 -1
  780. package/dist/domain/application/web-component-property.js +1 -1
  781. package/dist/domain/available-system-components.d.ts +1 -1
  782. package/dist/domain/available-system-components.js +1 -1
  783. package/dist/domain/core/component/domain-component-optic.d.ts +1 -2
  784. package/dist/domain/core/component/domain-component-optic.js +2 -2
  785. package/dist/domain/core/component/system-component-filter.d.ts +15 -2
  786. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  787. package/dist/domain/core/expression/custom-expression.d.ts +16 -3
  788. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  789. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  790. package/dist/domain/core/invariant/violation.d.ts +50 -2
  791. package/dist/domain/core/invariant/violation.js +1 -1
  792. package/dist/domain/core/model/model.d.ts +1 -1
  793. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  794. package/dist/domain/core/recipe/recipes.js +1 -1
  795. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  796. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  797. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  798. package/dist/domain/core/relation/index.d.ts +0 -1
  799. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  800. package/dist/domain/core/relation/indirect-relation.js +1 -1
  801. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  802. package/dist/domain/core/relation/relation-factory.js +1 -1
  803. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  804. package/dist/domain/core/state/state.d.ts +1 -1
  805. package/dist/domain/domain-builder.d.ts +9 -3
  806. package/dist/domain/domain-builder.js +1 -1
  807. package/dist/domain/domain-context/index.d.ts +1 -1
  808. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  809. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  810. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  811. package/dist/domain/domain-context/undo-system.js +1 -1
  812. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  813. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  814. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  815. package/dist/domain/domain-runtime/access/types.js +1 -1
  816. package/dist/domain/domain-runtime/application.d.ts +39 -0
  817. package/dist/domain/domain-runtime/application.js +1 -0
  818. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +15 -13
  819. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  820. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  821. package/dist/domain/domain-runtime/domain-runtime.d.ts +76 -20
  822. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  823. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  824. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  825. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +21 -0
  826. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  827. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  828. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  829. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  830. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  831. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  832. package/dist/domain/domain-runtime/errors/index.js +1 -0
  833. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  834. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  835. package/dist/domain/domain-runtime/index.d.ts +2 -0
  836. package/dist/domain/domain-runtime/index.js +1 -1
  837. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  838. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  839. package/dist/domain/domain-runtime/spec/index.d.ts +2 -2
  840. package/dist/domain/domain-runtime/spec/index.js +1 -1
  841. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  842. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  843. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +27 -12
  844. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  845. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  846. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  847. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +4 -2
  848. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  849. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  850. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  851. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
  852. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
  853. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
  854. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  855. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  856. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +7 -7
  857. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
  858. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +2 -2
  859. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
  860. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  861. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  862. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  863. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  864. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  865. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  866. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  867. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  868. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  869. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  870. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  871. package/dist/domain/extensions/attribute-switch.js +1 -1
  872. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  873. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  874. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  875. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  876. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  877. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  878. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  879. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  880. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  881. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  882. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  883. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  884. package/dist/domain/extensions/export-images/index.js +1 -0
  885. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +4 -4
  886. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  887. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  888. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  889. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  890. package/dist/domain/extensions/index.d.ts +1 -2
  891. package/dist/domain/extensions/index.js +1 -1
  892. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  893. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  894. package/dist/domain/extensions/offset-indicator.js +1 -1
  895. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  896. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  897. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  898. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +27 -9
  899. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  900. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  901. package/dist/domain/mocks/create-mock-domain.js +1 -1
  902. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  903. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  904. package/dist/domain/mocks/create-test-application-config.js +1 -0
  905. package/dist/domain/mocks/index.d.ts +1 -0
  906. package/dist/domain/mocks/index.js +1 -1
  907. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  908. package/dist/domain/system-components/application-config.d.ts +2 -2
  909. package/dist/domain/system-components/child-entity-selection.js +1 -1
  910. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  911. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  912. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  913. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  914. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  915. package/dist/domain/system-components/common/recipes.js +1 -1
  916. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  917. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  918. package/dist/domain/system-components/constraint.d.ts +10 -23
  919. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  920. package/dist/domain/system-components/drag-handle.js +1 -1
  921. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  922. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  923. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  924. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  925. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  926. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  927. package/dist/domain/system-components/material-swatch.js +1 -1
  928. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  929. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  930. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  931. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  932. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  933. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  934. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  935. package/dist/domain/utils/eval-cache.d.ts +1 -1
  936. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  937. package/dist/editor/Editor.d.ts +7 -0
  938. package/dist/editor/Editor.js +1 -1
  939. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  940. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  941. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  942. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -16
  943. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  944. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  945. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  946. package/dist/editor/mocks/EditorMockContext.js +1 -1
  947. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  948. package/dist/globals/index.d.ts +2 -0
  949. package/dist/i18n/locales/cs/messages.js +1 -1
  950. package/dist/i18n/locales/da/messages.js +1 -1
  951. package/dist/i18n/locales/de/messages.js +1 -1
  952. package/dist/i18n/locales/de-AT/messages.js +1 -1
  953. package/dist/i18n/locales/en/messages.js +1 -1
  954. package/dist/i18n/locales/en-AU/messages.js +1 -1
  955. package/dist/i18n/locales/en-GB/messages.js +1 -1
  956. package/dist/i18n/locales/es/messages.js +1 -1
  957. package/dist/i18n/locales/fr/messages.js +1 -1
  958. package/dist/i18n/locales/hu/messages.js +1 -1
  959. package/dist/i18n/locales/it/messages.js +1 -1
  960. package/dist/i18n/locales/nl/messages.js +1 -1
  961. package/dist/i18n/locales/pl/messages.js +1 -1
  962. package/dist/i18n/locales/pt/messages.js +1 -1
  963. package/dist/i18n/locales/ro/messages.js +1 -1
  964. package/dist/i18n/locales/sk/messages.js +1 -1
  965. package/dist/i18n/locales/tr/messages.js +1 -1
  966. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  967. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
  968. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  969. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  970. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  971. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  972. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  973. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +176 -148
  974. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  975. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  976. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  977. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  978. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +13 -1
  979. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +15 -13
  980. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  981. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  982. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  983. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  984. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  985. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  986. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  987. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  988. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  989. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  990. package/dist/phoenix/application-spec/project-files.js +1 -1
  991. package/dist/phoenix/bin.d.ts +2 -0
  992. package/dist/phoenix/bin.js +2 -0
  993. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  994. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  995. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  996. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  997. package/dist/phoenix/check-configs/index.d.ts +8 -0
  998. package/dist/phoenix/check-configs/index.js +1 -0
  999. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1000. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1001. package/dist/phoenix/cli.d.ts +0 -1
  1002. package/dist/phoenix/cli.js +1 -2
  1003. package/dist/phoenix/commands/build.js +1 -1
  1004. package/dist/phoenix/commands/check.js +1 -1
  1005. package/dist/phoenix/commands/clean.js +1 -1
  1006. package/dist/phoenix/commands/deploy.js +2 -2
  1007. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1008. package/dist/phoenix/commands/deps/deps.js +3 -0
  1009. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1010. package/dist/phoenix/commands/deps/index.js +1 -0
  1011. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1012. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1013. package/dist/phoenix/commands/dev.js +5 -5
  1014. package/dist/phoenix/commands/fix.js +1 -1
  1015. package/dist/phoenix/commands/index.d.ts +1 -0
  1016. package/dist/phoenix/commands/index.js +1 -1
  1017. package/dist/phoenix/commands/init.d.ts +17 -5
  1018. package/dist/phoenix/commands/init.js +1 -1
  1019. package/dist/phoenix/commands/link.js +1 -1
  1020. package/dist/phoenix/commands/prettier.js +1 -1
  1021. package/dist/phoenix/commands/sync.js +1 -1
  1022. package/dist/phoenix/commands/unlink.js +1 -1
  1023. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  1024. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1025. package/dist/phoenix/services/lingui.d.ts +8 -0
  1026. package/dist/phoenix/services/lingui.js +1 -1
  1027. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1028. package/dist/phoenix/services/source-archive.js +1 -1
  1029. package/dist/phoenix/services/swc.js +1 -1
  1030. package/dist/phoenix/services/vite-config.js +1 -1
  1031. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1032. package/dist/phoenix/utils/git/index.js +1 -0
  1033. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1034. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1035. package/dist/phoenix/utils/index.d.ts +5 -2
  1036. package/dist/phoenix/utils/index.js +1 -1
  1037. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1038. package/dist/phoenix/utils/node-version/index.js +1 -0
  1039. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1040. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1041. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1042. package/dist/phoenix/utils/package-info.js +1 -1
  1043. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1044. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1045. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1046. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1047. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1048. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1049. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1050. package/dist/phoenix/utils/run-command.js +1 -1
  1051. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1052. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1053. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1054. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1055. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1056. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  1057. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1058. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1059. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1060. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1061. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  1062. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  1063. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  1064. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  1065. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  1066. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  1067. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  1068. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  1069. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  1070. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  1071. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  1072. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  1073. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  1074. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  1075. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  1076. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  1077. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  1078. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  1079. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  1080. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  1081. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  1082. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  1083. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  1084. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  1085. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +7 -0
  1086. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  1087. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1088. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  1089. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  1090. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  1091. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  1092. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  1093. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  1094. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  1095. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  1096. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  1097. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  1098. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  1099. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  1100. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  1101. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  1102. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  1103. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  1104. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  1105. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  1106. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  1107. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  1108. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  1109. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  1110. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  1111. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  1112. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  1113. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  1114. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  1115. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  1116. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  1117. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  1118. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  1119. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  1120. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  1121. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  1122. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  1123. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  1124. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  1125. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  1126. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1127. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  1128. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  1129. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  1130. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  1131. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  1132. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  1133. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  1134. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  1135. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  1136. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  1137. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  1138. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  1139. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  1140. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  1141. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1142. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1143. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1144. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +346 -26
  1145. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1146. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1147. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1148. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1149. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1150. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  1151. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1152. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  1153. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  1154. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1155. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1156. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -4
  1157. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1158. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1159. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1160. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1161. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1162. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1163. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1164. package/dist/react-sdk/domain-context/index.d.ts +9 -1
  1165. package/dist/react-sdk/domain-context/index.js +1 -1
  1166. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1167. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1168. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1169. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1170. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1171. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1172. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1173. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1174. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1175. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1176. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1177. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1178. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1179. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1180. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1181. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1182. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1183. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1184. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1185. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1186. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1187. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1188. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1189. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1190. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1191. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1192. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1193. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1194. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1195. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1196. package/dist/react-sdk/handlers/index.js +1 -1
  1197. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1198. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1199. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1200. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1201. package/dist/react-sdk/index.d.ts +2 -0
  1202. package/dist/react-sdk/index.js +1 -1
  1203. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  1204. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  1205. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  1206. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  1207. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  1208. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  1209. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  1210. package/dist/react-sdk/loading-state/index.js +1 -1
  1211. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  1212. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  1213. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  1214. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  1215. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  1216. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  1217. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  1218. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  1219. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  1220. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  1221. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  1222. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  1223. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  1224. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  1225. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  1226. package/dist/react-sdk/page-elements/index.js +1 -0
  1227. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1228. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1229. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1230. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1231. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1232. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1233. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1234. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1235. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1236. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1237. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1238. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1239. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1240. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1241. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1242. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1243. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1244. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1245. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1246. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1247. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  1248. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  1249. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1250. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1251. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1252. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1253. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1254. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1255. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1256. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1257. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1258. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1259. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1260. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1261. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1262. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1263. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  1264. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1265. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1266. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1267. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1268. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1269. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  1270. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1271. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1272. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1273. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1274. package/dist/webhook/builders/webhook-builder.js +1 -1
  1275. package/package.json +58 -36
  1276. package/schema/domain-spec.json +1341 -217
  1277. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1278. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1279. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1280. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1281. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1282. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1283. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1284. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1285. package/dist/configurator/common/frontend-analytics.js +0 -1
  1286. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1287. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1288. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1289. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1290. package/dist/domain/application/resource-builder.d.ts +0 -13
  1291. package/dist/domain/application/resource-builder.js +0 -1
  1292. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  1293. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -26
  1294. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  1295. package/dist/domain/extensions/client-side-image.d.ts +0 -14
  1296. package/dist/domain/extensions/client-side-image.js +0 -1
  1297. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1298. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1299. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1300. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1301. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1302. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1303. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  1304. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1305. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1306. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1307. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1308. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -0,0 +1,103 @@
1
+ import type { AdminSpec, ApplicationSpec, AssistantSpec, ConfiguratorSpec, DataSchemaEntry, DataSchemas, DataSpec, EntitySchema, Infra, ModelVersion, ResolvedModelVersion, ResolvedVersions, Shape } from '../../parse-application-files/index.js';
2
+ /**
3
+ * The part of a parsed entity schema the runtime reads: the entity type and the schema of its
4
+ * shape, from which it builds the entity's reflection. The full schema with `id` and `type` is
5
+ * only registered with a deployment, and the compiled shape validators only check presets and
6
+ * defaults while parsing.
7
+ */
8
+ export type RuntimeEntitySchema = Pick<EntitySchema, 'entityType' | 'shapeSchema'>;
9
+ /**
10
+ * The part of a parsed model version the runtime reads: the entity types, the aliases, the common
11
+ * types and the schema of every entity's shape. The shapes and the resolved shapes only serve the
12
+ * parser and the type generator, except the runtime schemas of the latest version's shapes (see
13
+ * `RuntimeLatestModelVersion`).
14
+ */
15
+ export type RuntimeModelVersion = Pick<ModelVersion, 'versionKey' | 'entityTypes' | 'rootEntityTypes' | 'aliases' | 'commonTypes'> & {
16
+ readonly entitySchemas: readonly RuntimeEntitySchema[];
17
+ };
18
+ /**
19
+ * The latest model version of a domain as the runtime reads it: a model version plus the runtime
20
+ * schema of every shape, which `phx.domain.model` reflects as `<Name>Shape`.
21
+ */
22
+ export type RuntimeLatestModelVersion = RuntimeModelVersion & {
23
+ readonly shapes: ReadonlyMap<Shape['name'], RuntimeShapeSchema>;
24
+ };
25
+ /** The part of a parsed shape the runtime reads: its name and its runtime JSON schema. */
26
+ export type RuntimeShapeSchema = Pick<Shape, 'name' | 'runtimeSchema'>;
27
+ /** One model version of a domain as the runtime reads it, with the migration file that leads to it. */
28
+ export type RuntimeResolvedModelVersion = Omit<ResolvedModelVersion, 'modelVersion'> & {
29
+ readonly modelVersion: RuntimeModelVersion;
30
+ };
31
+ /** Every model version of a domain as the runtime reads it; it builds the domain's migrations from them. */
32
+ export type RuntimeResolvedVersions = Pick<ResolvedVersions, 'latestVersion'> & {
33
+ readonly versionedModels: readonly RuntimeResolvedModelVersion[];
34
+ };
35
+ /** The model of a domain as the runtime reads it: the latest version and every earlier one. */
36
+ interface RuntimeDomainModel {
37
+ readonly latestModel: RuntimeLatestModelVersion;
38
+ readonly resolvedVersions: RuntimeResolvedVersions;
39
+ }
40
+ /** The part of a parsed data schema the runtime reads: the JSON schema it validates the data with. */
41
+ export type RuntimeDataSchemaEntry = Pick<DataSchemaEntry, 'runtimeSchema'>;
42
+ /**
43
+ * The data schemas as the runtime reads them: the JSON schema of each kind of data and the hash of
44
+ * the published data. The enhanced schemas, with Phoenix references, only serve the type generator.
45
+ */
46
+ export type RuntimeDataSchemas = Pick<DataSchemas, 'publishedDataHash'> & {
47
+ readonly [KIND in Exclude<keyof DataSchemas, 'publishedDataHash' | 'backendData'>]: RuntimeDataSchemaEntry;
48
+ } & {
49
+ readonly backendData: RuntimeDataSchemaEntry | undefined;
50
+ };
51
+ /**
52
+ * The assistant as the runtime reads it: its resolved manifest. The parsed assistant schema the
53
+ * manifest is resolved from only serves the parser.
54
+ */
55
+ export type RuntimeAssistantSpec = Pick<NonNullable<AssistantSpec>, 'resolved'> | null;
56
+ /**
57
+ * The data spec as the runtime reads it: the data entries and their chunks. The data entries and
58
+ * admin data pages the parser derives from them only serve the admin spec and the type generator.
59
+ */
60
+ export type RuntimeDataSpec = Pick<DataSpec, 'entries' | 'chunks'>;
61
+ /**
62
+ * The configurator part of the runtime spec. It leaves out the configuration schema and its
63
+ * version, which only a deployment registers, and the assistant's server settings (instructions
64
+ * and AI settings), which must never reach the browser of a customer.
65
+ */
66
+ export type RuntimeConfiguratorSpec = Pick<ConfiguratorSpec, 'components' | 'presets' | 'expressions' | 'actions' | 'invariants' | 'defaults' | 'states' | 'theme' | 'ui' | 'transformers'> & RuntimeDomainModel & {
67
+ readonly dataSchemas: RuntimeDataSchemas;
68
+ readonly assistant: RuntimeAssistantSpec;
69
+ };
70
+ /**
71
+ * The admin part of the runtime spec. It leaves out the configuration schema and its version, which
72
+ * only a deployment registers.
73
+ */
74
+ export type RuntimeAdminSpec = Pick<AdminSpec, 'components' | 'presets' | 'expressions' | 'invariants' | 'defaults' | 'states' | 'adminPages'> & RuntimeDomainModel;
75
+ /**
76
+ * The infrastructure settings the runtime reads: access control and resources. The environment
77
+ * variable declarations only drive the generated environment readers.
78
+ */
79
+ export type RuntimeInfra = Pick<Infra, 'acl' | 'resources' | 'resourcesConfig'>;
80
+ /**
81
+ * The parsed application spec as the runtime reads it: what `ApplicationRuntime` builds the
82
+ * configurator and admin runtimes from, and the sections an application needs besides its domains
83
+ * (data spec, app metadata, resources, access control, user interface settings, webhook data
84
+ * schemas, admin pages). `phoenix sync` and `phoenix build` write it to
85
+ * `.phoenix/application-spec.json` with `encodeRuntimeSpec`.
86
+ *
87
+ * It is derived from the parsed types, so a section the runtime reads keeps the parser's type. It
88
+ * leaves out what only the parser, the type generator or a deployment use, and holds plain data,
89
+ * Maps and Sets only, so it can be encoded as JSON.
90
+ */
91
+ export interface RuntimeSpec extends Pick<ApplicationSpec, 'appMetadata'> {
92
+ readonly dataSpec: RuntimeDataSpec;
93
+ readonly configurator: RuntimeConfiguratorSpec;
94
+ readonly admin: RuntimeAdminSpec;
95
+ readonly infra: RuntimeInfra;
96
+ }
97
+ /**
98
+ * Takes from a parsed application spec the part the runtime reads. It reuses the sections it keeps
99
+ * whole, and builds trimmed copies of the model versions, data schemas, assistant and data spec
100
+ * without what the runtime does not read.
101
+ */
102
+ export declare const toRuntimeSpec: (spec: ApplicationSpec) => RuntimeSpec;
103
+ export {};
@@ -0,0 +1 @@
1
+ let e=e=>({versionKey:e.versionKey,entityTypes:e.entityTypes,rootEntityTypes:e.rootEntityTypes,aliases:e.aliases,commonTypes:e.commonTypes,entitySchemas:e.entitySchemas.map(e=>({entityType:e.entityType,shapeSchema:e.shapeSchema}))}),s=e=>({runtimeSchema:e.runtimeSchema}),a=s=>{let a;return{latestModel:{...e(a=s.latestModel),shapes:new Map([...a.shapes].map(([e,s])=>[e,{name:s.name,runtimeSchema:s.runtimeSchema}]))},resolvedVersions:{latestVersion:s.resolvedVersions.latestVersion,versionedModels:s.resolvedVersions.versionedModels.map(s=>({version:s.version,key:s.key,isLatest:s.isLatest,migrationFile:s.migrationFile,modelVersion:e(s.modelVersion)}))}}};export const toRuntimeSpec=e=>{let t,{configurator:n,admin:i,infra:r}=e;return{configurator:{components:n.components,presets:n.presets,expressions:n.expressions,actions:n.actions,invariants:n.invariants,dataSchemas:{publishedDataHash:(t=n.dataSchemas).publishedDataHash,publishedData:s(t.publishedData),sessionData:s(t.sessionData),frontendData:s(t.frontendData),backendData:t.backendData&&s(t.backendData),finalizeData:s(t.finalizeData),prefetchedFinalizeData:s(t.prefetchedFinalizeData),finalizeResult:s(t.finalizeResult),callbackData:s(t.callbackData)},defaults:n.defaults,states:n.states,theme:n.theme,ui:n.ui,transformers:n.transformers,assistant:n.assistant&&{resolved:n.assistant.resolved},...a(n)},admin:{components:i.components,presets:i.presets,expressions:i.expressions,invariants:i.invariants,defaults:i.defaults,states:i.states,adminPages:i.adminPages,...a(i)},appMetadata:e.appMetadata,infra:{acl:r.acl,resources:r.resources,resourcesConfig:r.resourcesConfig},dataSpec:{entries:e.dataSpec.entries,chunks:e.dataSpec.chunks}}};
@@ -0,0 +1,40 @@
1
+ import type { MemoEvalPlan } from '../../parse-application-files/index.js';
2
+ /**
3
+ * The id under which the generated `.phoenix/spec-code.ts` holds one piece of code written in YAML,
4
+ * and under which the runtime looks it up. Ids are unique within one domain; the configurator and
5
+ * the admin domain each have their own map.
6
+ *
7
+ * An id is computed from what the runtime spec already carries, by the functions of this file, on
8
+ * both sides: the generator that writes the closures and the runtime that reads them. It names the
9
+ * entity or alias that owns the code, the expression or the component instance, the position of the
10
+ * code inside that one value, and a hash of the code's text. So it stays the same when anything
11
+ * else in the spec changes, and it changes whenever the code itself changes: a module generated from
12
+ * another version of the spec does not hold it, and the runtime compiles the text instead of running
13
+ * the wrong closure.
14
+ */
15
+ export type SpecCodeId = string;
16
+ /**
17
+ * The part of an id that names a value expression: `KitchenRange.$maxWidth`. Its constant, when it
18
+ * is one, shares the plan and so the ids.
19
+ */
20
+ export declare const specCodeExpressionKey: (typeOrAlias: string, expressionName: string) => string;
21
+ /**
22
+ * The part of an id that names a component instance: `KitchenRange.main:detail`. The component
23
+ * belongs to it because an instance name is unique per component, not per entity: one entity can
24
+ * attach `main` of several components.
25
+ */
26
+ export declare const specCodeComponentKey: (typeOrAlias: string, instanceName: string, componentName: string) => string;
27
+ /**
28
+ * The id of each dependency of a plan, by dependency index: `<key>#<n>@<hash>` for the `n`-th
29
+ * `$eval` dependency, `undefined` for a read. `key` is the expression or component key of the value
30
+ * the plan builds. The ordinal counts the plan's `$eval` dependencies only, so a `$read` added to
31
+ * the same value does not renumber them.
32
+ */
33
+ export declare const specCodeEvalIds: (plan: MemoEvalPlan, key: string) => ReadonlyArray<SpecCodeId | undefined>;
34
+ /**
35
+ * Id of the `$eval` of one filter criterion of a component instance:
36
+ * `KitchenRange.label:textValue#filter0.active@<hash>`. `componentKey` comes from
37
+ * {@link specCodeComponentKey}; `branch` is the index of the filter among the `$or` alternatives,
38
+ * 0 when the filter has none; `code` is the criterion's code.
39
+ */
40
+ export declare const specCodeFilterId: (componentKey: string, branch: number, criterion: string, code: string) => SpecCodeId;
@@ -0,0 +1 @@
1
+ let e=e=>{let t=e.trim(),o=0x811c9dc5;for(let e=0;e<t.length;e++)o^=t.charCodeAt(e),o=Math.imul(o,0x1000193)>>>0;return o.toString(16).padStart(8,"0")};export const specCodeExpressionKey=(e,t)=>`${e}.${t}`;export const specCodeComponentKey=(e,t,o)=>`${e}.${t}:${o}`;export const specCodeEvalIds=(t,o)=>{let r=0;return t.deps.map(t=>"eval"===t.kind?`${o}#${r++}@${e(t.code)}`:void 0)};export const specCodeFilterId=(t,o,r,d)=>`${t}#filter${o}.${r}@${e(d)}`;
@@ -1,4 +1,5 @@
1
1
  export * from './core/index.js';
2
+ export * from './enhanced-json/index.js';
2
3
  export * from './caching/index.js';
3
4
  export * from './errors/index.js';
4
5
  export * from './generate-application/index.js';
@@ -1 +1 @@
1
- export*from"./core/index.js";export*from"./caching/index.js";export*from"./errors/index.js";export*from"./generate-application/index.js";export*from"./parse-application-files/index.js";export*from"./webhook-boundary.js";
1
+ export*from"./core/index.js";export*from"./enhanced-json/index.js";export*from"./caching/index.js";export*from"./errors/index.js";export*from"./generate-application/index.js";export*from"./parse-application-files/index.js";export*from"./webhook-boundary.js";
@@ -58,12 +58,46 @@ export type CategorizedFiles = Branded<'CategorizedFiles', {
58
58
  readonly adminElementsChanged: boolean;
59
59
  readonly webhooks: readonly CategorizedFile[];
60
60
  readonly webhooksChanged: boolean;
61
+ /**
62
+ * Whether the project has its webhook entry, `src/webhooks/index.ts`, whose default export is the
63
+ * project's webhook. Generation reads it to decide the generated webhook entry: without it the
64
+ * entry holds the built-in inert webhook.
65
+ */
66
+ readonly hasWebhookEntry: boolean;
61
67
  readonly locales: readonly CategorizedFile[];
62
68
  readonly localesChanged: boolean;
63
69
  readonly mockTemplates: readonly CategorizedFile[];
64
70
  readonly mockTemplatesChanged: boolean;
65
71
  readonly projectFiles: readonly CategorizedFile[];
66
72
  readonly projectFilesChanged: boolean;
73
+ /**
74
+ * One-time migration: true only on a checkout's first sync with an SDK that contains this field;
75
+ * delete it once projects have synced with such an SDK.
76
+ *
77
+ * Whether the project's root `tsconfig.json` is the full file earlier SDK versions generated on
78
+ * every sync, before the TypeScript settings moved to `.phoenix/tsconfig.json`. Generation reads
79
+ * it to replace that file with the one-line `tsconfig.json` that extends `.phoenix/tsconfig.json`;
80
+ * any other root `tsconfig.json` is the project's own and is left as it is.
81
+ */
82
+ readonly hasEarlierGeneratedTsconfig: boolean;
83
+ /**
84
+ * One-time migration: true only on a checkout's first sync with an SDK that contains this field;
85
+ * delete it once projects have synced with such an SDK.
86
+ *
87
+ * Whether the project's root `eslint.config.js` is the file earlier SDK versions generated on
88
+ * every sync, before it became the project's. Generation reads it to replace that file once with
89
+ * the current one; any other root `eslint.config.js` is the project's own and is left as it is.
90
+ */
91
+ readonly hasEarlierGeneratedEslintConfig: boolean;
92
+ /**
93
+ * One-time migration: true only on a checkout's first sync with an SDK that contains this field;
94
+ * delete it once projects have synced with such an SDK.
95
+ *
96
+ * Whether the project's root `prettier.config.js` is the file earlier SDK versions generated on
97
+ * every sync, before it became the project's. Generation reads it to replace that file once with
98
+ * the current one; any other root `prettier.config.js` is the project's own and is left as it is.
99
+ */
100
+ readonly hasEarlierGeneratedPrettierConfig: boolean;
67
101
  readonly customCode: readonly CategorizedFile[];
68
102
  readonly customCodeChanged: boolean;
69
103
  readonly envs: Record<string, unknown>;
@@ -1 +1 @@
1
- import e from"lodash-es/isEqual.js";import{Branded as n}from"@salsita-ai/common/utils";import{computeFileDepHashes as s}from"../../caching/index.js";import{DiagnosticCode as o,diagnosticMessages as a}from"../../errors/index.js";import{findWebhookHandlerRegistration as i}from"./module-analysis.js";import{findWebhookSafetyViolation as t}from"./webhook-safety.js";export const buildProjectFileIndex=e=>new Map([...e.spec,...e.expressions,...e.actions,...e.handlers,...e.elements,...e.transformers,...e.components,...e.invariants,...e.migrations,...e.adminMigrations,...e.adminExpressions,...e.adminInvariants,...e.adminComponents,...e.adminElements,...e.webhooks,...e.locales,...e.mockTemplates,...e.projectFiles,...e.customCode].map(e=>[e.file.name,e]));let r=e=>/\/_[^/]+\//.test(e),m=[{path:"spec/",key:"spec"},{path:"src/admin/expressions/",key:"adminExpressions"},{path:"src/admin/invariants/",key:"adminInvariants"},{path:"src/admin/components/",key:"adminComponents"},{path:"src/admin/elements/",key:"adminElements"},{path:"src/admin/migrations/",key:"adminMigrations"},{path:"src/expressions/",key:"expressions"},{path:"src/actions/",key:"actions"},{path:"src/handlers/",key:"handlers"},{path:"src/elements/",key:"elements"},{path:"src/transformers/",key:"transformers"},{path:"src/components/",key:"components"},{path:"src/invariants/",key:"invariants"},{path:"src/migrations/",key:"migrations"},{path:"src/webhooks/",key:"webhooks"},{path:"src/locales/",key:"locales"},{path:"mocks/",key:"mockTemplates"}],l=new Set(["package.json",".gitignore","CLAUDE.md",".cursor/rules/phoenix.mdc"]),d=new Set(["migrations","adminMigrations"]),c=m.filter(({path:e,key:n})=>e.startsWith("src/")&&d.has(n)),p=(e,n)=>{let s=e.slice(n.length).split("/");return!(s.length<=1)&&s.slice(0,-1).some(e=>!e.startsWith("_"))},h=/\.(ts|tsx|js|jsx)$/,f=(e,n)=>{if("components"===e||"adminComponents"===e)return n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (no 'use webhook' directive)"};if("handlers"===e){let e=i(n);return void 0!==e?{membership:"named-handler",logSuffix:`webhook (the ${e} registration)`}:n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (not a named handler or pin)"}}};export const CategorizedFiles=(i,d,g,u)=>{let k={spec:[],expressions:[],actions:[],handlers:[],elements:[],transformers:[],components:[],invariants:[],migrations:[],adminMigrations:[],adminExpressions:[],adminInvariants:[],adminComponents:[],adminElements:[],webhooks:[],locales:[],mockTemplates:[],projectFiles:[],customCode:[]},b=[];for(let e of i.files){if("text"!==e.kind)continue;if(r(e.name)){k.customCode.push({file:e,category:"customCode"});continue}if(l.has(e.name)){k.projectFiles.push({file:e,category:"projectFiles"});continue}let n=!1;for(let{path:s,key:o}of m)if(e.name.startsWith(s)){k[o].push({file:e,category:o}),n=!0;break}n||b.push(e.name)}for(let e of b)e.startsWith("src/")&&g.error(o.UNKNOWN_SRC_PATH,a.UNKNOWN_SRC_PATH(e));for(let{path:e,key:n}of c)for(let s of k[n])p(s.file.name,e)&&g.error(o.INVALID_SUBDIRECTORY,a.INVALID_SUBDIRECTORY(s.file.name,e));if(k.webhooks.length>0&&!k.webhooks.some(e=>"src/webhooks/index.ts"===e.file.name)&&g.error(o.MISSING_WEBHOOK_INDEX,a.MISSING_WEBHOOK_INDEX()),g.hasErrors)return;let C=[];for(let e of Object.values(k))for(let n of e)C.push(n.file.name);let v=s(i,C),{analyzer:x,logger:y}=u,E=d.createBuilder("categorizedFiles/moduleAnalysis",{build:e=>{try{return{analysis:x(e.name,e.content)}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},getKey:e=>e.name,compare:(e,n)=>e.content===n.content}),I=new Set,w=e=>{if(!h.test(e.name))return;I.add(e.name);let n=E.build({name:e.name,content:e.content}).output;return void 0!==n.error?void g.error(o.MODULE_ANALYSIS_FAILED,a[o.MODULE_ANALYSIS_FAILED](e.name,n.error)):n.analysis},S={},j={};for(let[e,s]of Object.entries(k)){let o=d.createBuilder(`categorizedFiles/${e}`,{build:e=>e,getKey:e=>e.name,compare:(e,n)=>e.depHash===n.depHash}),a=new Set;S[e]=s.map(e=>{let s=v[e.file.name]??{deps:[],hash:""},{changed:i}=o.build({name:e.file.name,depHash:s.hash});a.add(e.file.name);let t=w(e.file),r=void 0===t?void 0:f(e.category,t);return void 0!==r&&y.debug(`Webhook membership: ${e.file.name} -> ${r.logSuffix}`),n({file:e.file,category:e.category,deps:s.deps,depHash:s.hash,changed:i,analysis:t,webhookMembership:r?.membership})}),j[e]=o.cleanup(a)}E.cleanup(I);let _=(e,n)=>n.some(e=>e.changed)||!0===j[e],F=d.createBuilder("categorizedFiles/envs",{build:e=>e.envs,getKey:()=>"singleton",compare:(n,s)=>e(n.envs,s.envs)}).build({envs:i.envs}),M=n({spec:S.spec,specChanged:_("spec",S.spec),expressions:S.expressions,expressionsChanged:_("expressions",S.expressions),actions:S.actions,actionsChanged:_("actions",S.actions),handlers:S.handlers,handlersChanged:_("handlers",S.handlers),elements:S.elements,elementsChanged:_("elements",S.elements),transformers:S.transformers,transformersChanged:_("transformers",S.transformers),components:S.components,componentsChanged:_("components",S.components),invariants:S.invariants,invariantsChanged:_("invariants",S.invariants),migrations:S.migrations,migrationsChanged:_("migrations",S.migrations),adminMigrations:S.adminMigrations,adminMigrationsChanged:_("adminMigrations",S.adminMigrations),adminExpressions:S.adminExpressions,adminExpressionsChanged:_("adminExpressions",S.adminExpressions),adminInvariants:S.adminInvariants,adminInvariantsChanged:_("adminInvariants",S.adminInvariants),adminComponents:S.adminComponents,adminComponentsChanged:_("adminComponents",S.adminComponents),adminElements:S.adminElements,adminElementsChanged:_("adminElements",S.adminElements),webhooks:S.webhooks,webhooksChanged:_("webhooks",S.webhooks),locales:S.locales,localesChanged:_("locales",S.locales),mockTemplates:S.mockTemplates,mockTemplatesChanged:_("mockTemplates",S.mockTemplates),projectFiles:S.projectFiles,projectFilesChanged:_("projectFiles",S.projectFiles),customCode:S.customCode,customCodeChanged:_("customCode",S.customCode),envs:F.output,envsChanged:F.changed}),O=buildProjectFileIndex(M);for(let e of O.values()){if("pinned"!==e.webhookMembership&&"named-handler"!==e.webhookMembership)continue;let n=t(e,O);void 0!==n&&g.error(o.WEBHOOK_UNSAFE_IMPORT,a[o.WEBHOOK_UNSAFE_IMPORT](n.fileName,n.inclusionReason,n.importer,n.specifier))}return M};
1
+ import e from"lodash-es/isEqual.js";import{Branded as n}from"@salsita-ai/common/utils";import{computeFileDepHashes as s}from"../../caching/index.js";import{DiagnosticCode as o,diagnosticMessages as i}from"../../errors/index.js";import{isEarlierGeneratedEslintConfig as t,isEarlierGeneratedPrettierConfig as a}from"./earlier-generated-editor-configs.js";import{isEarlierGeneratedTsconfig as r}from"./earlier-generated-tsconfig.js";import{findWebhookHandlerRegistration as m}from"./module-analysis.js";import{findWebhookSafetyViolation as l}from"./webhook-safety.js";export const buildProjectFileIndex=e=>new Map([...e.spec,...e.expressions,...e.actions,...e.handlers,...e.elements,...e.transformers,...e.components,...e.invariants,...e.migrations,...e.adminMigrations,...e.adminExpressions,...e.adminInvariants,...e.adminComponents,...e.adminElements,...e.webhooks,...e.locales,...e.mockTemplates,...e.projectFiles,...e.customCode].map(e=>[e.file.name,e]));let d=e=>/\/_[^/]+\//.test(e),c=[{path:"spec/",key:"spec"},{path:"src/admin/expressions/",key:"adminExpressions"},{path:"src/admin/invariants/",key:"adminInvariants"},{path:"src/admin/components/",key:"adminComponents"},{path:"src/admin/elements/",key:"adminElements"},{path:"src/admin/migrations/",key:"adminMigrations"},{path:"src/expressions/",key:"expressions"},{path:"src/actions/",key:"actions"},{path:"src/handlers/",key:"handlers"},{path:"src/elements/",key:"elements"},{path:"src/transformers/",key:"transformers"},{path:"src/components/",key:"components"},{path:"src/invariants/",key:"invariants"},{path:"src/migrations/",key:"migrations"},{path:"src/webhooks/",key:"webhooks"},{path:"src/locales/",key:"locales"},{path:"mocks/",key:"mockTemplates"}],p="tsconfig.json",h="eslint.config.js",f="prettier.config.js",g=new Set([".gitignore",p,h,f,"CLAUDE.md",".cursor/rules/phoenix.mdc"]),u=new Set(["migrations","adminMigrations"]),k=c.filter(({path:e,key:n})=>e.startsWith("src/")&&u.has(n)),b=(e,n)=>{let s=e.slice(n.length).split("/");return!(s.length<=1)&&s.slice(0,-1).some(e=>!e.startsWith("_"))},C=/\.(ts|tsx|js|jsx)$/,v=(e,n)=>{if("components"===e||"adminComponents"===e)return n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (no 'use webhook' directive)"};if("handlers"===e){let e=m(n);return void 0!==e?{membership:"named-handler",logSuffix:`webhook (the ${e} registration)`}:n.hasUseWebhookDirective?{membership:"pinned",logSuffix:"webhook ('use webhook' directive)"}:{membership:"frontend",logSuffix:"frontend only (not a named handler or pin)"}}};export const CategorizedFiles=(m,u,x,y)=>{let E={spec:[],expressions:[],actions:[],handlers:[],elements:[],transformers:[],components:[],invariants:[],migrations:[],adminMigrations:[],adminExpressions:[],adminInvariants:[],adminComponents:[],adminElements:[],webhooks:[],locales:[],mockTemplates:[],projectFiles:[],customCode:[]},j=[];for(let e of m.files){if("text"!==e.kind)continue;if(d(e.name)){E.customCode.push({file:e,category:"customCode"});continue}if(g.has(e.name)){E.projectFiles.push({file:e,category:"projectFiles"});continue}let n=!1;for(let{path:s,key:o}of c)if(e.name.startsWith(s)){E[o].push({file:e,category:o}),n=!0;break}n||j.push(e.name)}for(let e of j)e.startsWith("src/")&&x.error(o.UNKNOWN_SRC_PATH,i.UNKNOWN_SRC_PATH(e));for(let{path:e,key:n}of k)for(let s of E[n])b(s.file.name,e)&&x.error(o.INVALID_SUBDIRECTORY,i.INVALID_SUBDIRECTORY(s.file.name,e));let I=E.webhooks.some(e=>"src/webhooks/index.ts"===e.file.name);if(E.webhooks.length>0&&!I&&x.error(o.MISSING_WEBHOOK_INDEX,i.MISSING_WEBHOOK_INDEX()),x.hasErrors)return;let w=E.projectFiles.find(e=>e.file.name===p),S=void 0!==w&&r(w.file.content),F=E.projectFiles.find(e=>e.file.name===h),_=void 0!==F&&t(F.file.content),M=E.projectFiles.find(e=>e.file.name===f),O=void 0!==M&&a(M.file.content),N=[];for(let e of Object.values(E))for(let n of e)N.push(n.file.name);let A=s(m,N),{analyzer:T,logger:D}=y,W=u.createBuilder("categorizedFiles/moduleAnalysis",{build:e=>{try{return{analysis:T(e.name,e.content)}}catch(e){return{error:e instanceof Error?e.message:String(e)}}},getKey:e=>e.name,compare:(e,n)=>e.content===n.content}),U=new Set,H=e=>{if(!C.test(e.name))return;U.add(e.name);let n=W.build({name:e.name,content:e.content}).output;return void 0!==n.error?void x.error(o.MODULE_ANALYSIS_FAILED,i[o.MODULE_ANALYSIS_FAILED](e.name,n.error)):n.analysis},B={},K={};for(let[e,s]of Object.entries(E)){let o=u.createBuilder(`categorizedFiles/${e}`,{build:e=>e,getKey:e=>e.name,compare:(e,n)=>e.depHash===n.depHash}),i=new Set;B[e]=s.map(e=>{let s=A[e.file.name]??{deps:[],hash:""},{changed:t}=o.build({name:e.file.name,depHash:s.hash});i.add(e.file.name);let a=H(e.file),r=void 0===a?void 0:v(e.category,a);return void 0!==r&&D.debug(`Webhook membership: ${e.file.name} -> ${r.logSuffix}`),n({file:e.file,category:e.category,deps:s.deps,depHash:s.hash,changed:t,analysis:a,webhookMembership:r?.membership})}),K[e]=o.cleanup(i)}W.cleanup(U);let L=(e,n)=>n.some(e=>e.changed)||!0===K[e],R=u.createBuilder("categorizedFiles/envs",{build:e=>e.envs,getKey:()=>"singleton",compare:(n,s)=>e(n.envs,s.envs)}).build({envs:m.envs}),P=n({spec:B.spec,specChanged:L("spec",B.spec),expressions:B.expressions,expressionsChanged:L("expressions",B.expressions),actions:B.actions,actionsChanged:L("actions",B.actions),handlers:B.handlers,handlersChanged:L("handlers",B.handlers),elements:B.elements,elementsChanged:L("elements",B.elements),transformers:B.transformers,transformersChanged:L("transformers",B.transformers),components:B.components,componentsChanged:L("components",B.components),invariants:B.invariants,invariantsChanged:L("invariants",B.invariants),migrations:B.migrations,migrationsChanged:L("migrations",B.migrations),adminMigrations:B.adminMigrations,adminMigrationsChanged:L("adminMigrations",B.adminMigrations),adminExpressions:B.adminExpressions,adminExpressionsChanged:L("adminExpressions",B.adminExpressions),adminInvariants:B.adminInvariants,adminInvariantsChanged:L("adminInvariants",B.adminInvariants),adminComponents:B.adminComponents,adminComponentsChanged:L("adminComponents",B.adminComponents),adminElements:B.adminElements,adminElementsChanged:L("adminElements",B.adminElements),webhooks:B.webhooks,webhooksChanged:L("webhooks",B.webhooks),hasWebhookEntry:I,locales:B.locales,localesChanged:L("locales",B.locales),mockTemplates:B.mockTemplates,mockTemplatesChanged:L("mockTemplates",B.mockTemplates),projectFiles:B.projectFiles,projectFilesChanged:L("projectFiles",B.projectFiles),hasEarlierGeneratedTsconfig:S,hasEarlierGeneratedEslintConfig:_,hasEarlierGeneratedPrettierConfig:O,customCode:B.customCode,customCodeChanged:L("customCode",B.customCode),envs:R.output,envsChanged:R.changed}),$=buildProjectFileIndex(P);for(let e of $.values()){if("pinned"!==e.webhookMembership&&"named-handler"!==e.webhookMembership)continue;let n=l(e,$);void 0!==n&&x.error(o.WEBHOOK_UNSAFE_IMPORT,i[o.WEBHOOK_UNSAFE_IMPORT](n.fileName,n.inclusionReason,n.importer,n.specifier))}return P};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * One-time migration, see the top of this module: true only before a checkout's first sync with this SDK.
3
+ *
4
+ * Whether the content of a project's root `eslint.config.js` is the file earlier SDK versions
5
+ * generated. Whitespace, semicolons and the quote style do not count; any other difference makes the
6
+ * file the project's own.
7
+ */
8
+ export declare const isEarlierGeneratedEslintConfig: (content: string) => boolean;
9
+ /**
10
+ * One-time migration, see the top of this module: true only before a checkout's first sync with this SDK.
11
+ *
12
+ * Whether the content of a project's root `prettier.config.js` is the file earlier SDK versions
13
+ * generated. Whitespace, semicolons and the quote style do not count; any other difference makes the
14
+ * file the project's own.
15
+ */
16
+ export declare const isEarlierGeneratedPrettierConfig: (content: string) => boolean;
@@ -0,0 +1,9 @@
1
+ let e=`/**
2
+ * Auto-generated file.
3
+ * Do not modify this file manually.
4
+ * Version: 1
5
+ */`,t=["@salsita-ai/sdk/common","@salsita-ai/platform-common","@salsita-ai/common"],a=(a,r)=>t.map(t=>`${e}
6
+ import { ${a} } from '${t}/${r}'
7
+
8
+ export default ${a}
9
+ `),r=e=>e.replace(/\s+/g,"").replace(/;/g,"").replace(/"/g,"'"),i=new Set(a("eslintrc","eslint").map(r)),o=new Set(a("prettierrc","prettier").map(r));export const isEarlierGeneratedEslintConfig=e=>i.has(r(e));export const isEarlierGeneratedPrettierConfig=e=>o.has(r(e));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * One-time migration, see the top of this module: true only before a checkout's first sync with this SDK.
3
+ *
4
+ * Whether the content of a project's root `tsconfig.json` is the file earlier SDK versions generated.
5
+ * The comparison is by meaning: comments, formatting and key order do not count, so a generated
6
+ * file that an editor or formatter rewrote is still recognised. Content that does not parse, or that
7
+ * differs in any setting, is the project's own.
8
+ */
9
+ export declare const isEarlierGeneratedTsconfig: (content: string) => boolean;
@@ -0,0 +1 @@
1
+ import e from"lodash-es/isEqual.js";let l={compilerOptions:{noEmit:!0,module:"ESNext",moduleResolution:"Bundler",lib:["ES2022","DOM"],esModuleInterop:!0,isolatedModules:!0,resolveJsonModule:!0,allowJs:!1,skipLibCheck:!0,strict:!0,noImplicitOverride:!0,noImplicitReturns:!0,noPropertyAccessFromIndexSignature:!0,noUncheckedIndexedAccess:!0,allowUnreachableCode:!1,allowUnusedLabels:!1,noFallthroughCasesInSwitch:!0,noUnusedLocals:!0,noUnusedParameters:!0,useDefineForClassFields:!0,jsx:"react-jsx",paths:{}},include:["src",".phoenix","prettier.config.js","eslint.config.js","./.phoenix/globals.d.ts"]},s=(e,l)=>{let s=l+1;for(;s<e.length&&'"'!==e[s];)s+="\\"===e[s]?2:1;return s+1};export const isEarlierGeneratedTsconfig=t=>e((e=>{try{return JSON.parse((e=>{let l="",t=0;for(;t<e.length;){let n=e[t];if('"'===n){let n=s(e,t);l+=e.slice(t,n),t=n;continue}","===n&&/^\s*[}\]]/.test(e.slice(t+1))||(l+=n),t++}return l})((e=>{let l="",t=0;for(;t<e.length;){let n=e[t],o=e[t+1];if('"'===n){let n=s(e,t);l+=e.slice(t,n),t=n}else if("/"===n&&"/"===o){let l=e.indexOf("\n",t);t=-1===l?e.length:l}else if("/"===n&&"*"===o){let l=e.indexOf("*/",t+2);t=-1===l?e.length:l+2}else l+=n,t++}return l})(e)))}catch{return}})(t),l);
@@ -43,6 +43,6 @@ export declare const analyzeParsedModule: (module: Module) => ModuleAnalysis;
43
43
  /** The explicit webhook classification of one authored file. */
44
44
  export type WebhookMembership = 'pinned' | 'named-handler' | 'frontend';
45
45
  /** Handler registrations that keep implicit webhook membership for legacy-CLI parity. */
46
- export declare const WEBHOOK_HANDLER_REGISTRATIONS: readonly ['createMapPublishedRevisionDataHandler', 'createMapPublishedChunkedDataHandler', 'createDataRowValidatorHandler', 'createSheetValidatorHandler'];
46
+ export declare const WEBHOOK_HANDLER_REGISTRATIONS: readonly ['phx.domain.createAssistantSetupHandler', 'phx.domain.admin.createMapPublishedRevisionDataHandler', 'phx.domain.admin.createMapPublishedChunkedDataHandler', 'phx.domain.admin.createDataRowValidatorHandler', 'phx.domain.admin.createSheetValidatorHandler'];
47
47
  /** Returns the named webhook handler registration a handler module calls, if any. */
48
48
  export declare const findWebhookHandlerRegistration: (analysis: ModuleAnalysis) => string | undefined;
@@ -1 +1 @@
1
- import{Visitor as e}from"@swc/core/Visitor.js";export const getModuleParseOptions=()=>({syntax:"typescript",tsx:!0,target:"es2022"});let t=e=>{if("Identifier"===e.type)return e.value;if("ParenthesisExpression"===e.type)return t(e.expression);if("MemberExpression"!==e.type||"Identifier"!==e.property.type)return;let r=t(e.object);return void 0===r?void 0:`${r}.${e.property.value}`},r=e=>e.length>0&&e.every(e=>"isTypeOnly"in e&&!0===e.isTypeOnly),i=class ProjectSourceVisitor extends e{imports=[];calledMemberPaths=new Set;visitTsType(e){return e}visitImportDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),e}visitExportNamedDeclaration(e){return null!=e.source&&this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),super.visitExportNamedDeclaration(e)}visitExportAllDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:"typeOnly"in e&&!0===e.typeOnly}),e}visitCallExpression(e){var r;let i=(r=e.arguments[0]?.expression,r?.type==="StringLiteral"?r.value:r?.type==="TemplateLiteral"&&0===r.expressions.length?r.quasis[0]?.cooked??r.quasis[0]?.raw:void 0);if("Import"===e.callee.type&&void 0!==i)this.imports.push({specifier:i,typeOnly:!1});else if("Super"!==e.callee.type&&"Import"!==e.callee.type){let r=t(e.callee);void 0!==r&&this.calledMemberPaths.add(r),"require"===r&&void 0!==i&&this.imports.push({specifier:i,typeOnly:!1})}return super.visitCallExpression(e)}};export const analyzeParsedModule=e=>{let t=new i;t.visitModule(e);let r=e.body[0];return{imports:t.imports,calledMemberPaths:[...t.calledMemberPaths].sort(),hasUseWebhookDirective:r?.type==="ExpressionStatement"&&"StringLiteral"===r.expression.type&&"use webhook"===r.expression.value}};export const WEBHOOK_HANDLER_REGISTRATIONS=["createMapPublishedRevisionDataHandler","createMapPublishedChunkedDataHandler","createDataRowValidatorHandler","createSheetValidatorHandler"];export const findWebhookHandlerRegistration=e=>WEBHOOK_HANDLER_REGISTRATIONS.find(t=>e.calledMemberPaths.includes(`phx.domain.admin.${t}`));
1
+ import{Visitor as e}from"@swc/core/Visitor.js";export const getModuleParseOptions=()=>({syntax:"typescript",tsx:!0,target:"es2022"});let t=e=>{if("Identifier"===e.type)return e.value;if("ParenthesisExpression"===e.type)return t(e.expression);if("MemberExpression"!==e.type||"Identifier"!==e.property.type)return;let r=t(e.object);return void 0===r?void 0:`${r}.${e.property.value}`},r=e=>e.length>0&&e.every(e=>"isTypeOnly"in e&&!0===e.isTypeOnly),i=class ProjectSourceVisitor extends e{imports=[];calledMemberPaths=new Set;visitTsType(e){return e}visitImportDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),e}visitExportNamedDeclaration(e){return null!=e.source&&this.imports.push({specifier:e.source.value,typeOnly:e.typeOnly||r(e.specifiers)}),super.visitExportNamedDeclaration(e)}visitExportAllDeclaration(e){return this.imports.push({specifier:e.source.value,typeOnly:"typeOnly"in e&&!0===e.typeOnly}),e}visitCallExpression(e){var r;let i=(r=e.arguments[0]?.expression,r?.type==="StringLiteral"?r.value:r?.type==="TemplateLiteral"&&0===r.expressions.length?r.quasis[0]?.cooked??r.quasis[0]?.raw:void 0);if("Import"===e.callee.type&&void 0!==i)this.imports.push({specifier:i,typeOnly:!1});else if("Super"!==e.callee.type&&"Import"!==e.callee.type){let r=t(e.callee);void 0!==r&&this.calledMemberPaths.add(r),"require"===r&&void 0!==i&&this.imports.push({specifier:i,typeOnly:!1})}return super.visitCallExpression(e)}};export const analyzeParsedModule=e=>{let t=new i;t.visitModule(e);let r=e.body[0];return{imports:t.imports,calledMemberPaths:[...t.calledMemberPaths].sort(),hasUseWebhookDirective:r?.type==="ExpressionStatement"&&"StringLiteral"===r.expression.type&&"use webhook"===r.expression.value}};export const WEBHOOK_HANDLER_REGISTRATIONS=["phx.domain.createAssistantSetupHandler","phx.domain.admin.createMapPublishedRevisionDataHandler","phx.domain.admin.createMapPublishedChunkedDataHandler","phx.domain.admin.createDataRowValidatorHandler","phx.domain.admin.createSheetValidatorHandler"];export const findWebhookHandlerRegistration=e=>WEBHOOK_HANDLER_REGISTRATIONS.find(t=>e.calledMemberPaths.includes(t));
@@ -1 +1 @@
1
- import{parse as r}from"yaml";import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as n}from"../../errors/index.js";export const parseYamlSpecFile=(o,a)=>{try{let i=r(o.file.content,{merge:!0});if(null===i)return a.warning(t.EMPTY_SPEC_FILE,n.EMPTY_SPEC_FILE()),e({name:o.file.name,content:{}});if("object"!=typeof i||Array.isArray(i))return void a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR("File did not parse to an object"));return e({name:o.file.name,content:i})}catch(r){a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR(r instanceof Error?r.message:String(r)));return}};
1
+ import{parse as r}from"yaml";import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as n}from"../../errors/index.js";let o=(r,e,i)=>{if("number"==typeof r)return!Number.isFinite(r)&&(i.at(...e).error(t.NON_FINITE_NUMBER,n.NON_FINITE_NUMBER(e.join("."),String(r))),!0);if("object"!=typeof r||null===r)return!1;let a=!1;for(let[t,n]of Object.entries(r))a=o(n,[...e,t],i)||a;return a};export const parseYamlSpecFile=(i,a)=>{try{let E=r(i.file.content,{merge:!0});if(null===E)return a.warning(t.EMPTY_SPEC_FILE,n.EMPTY_SPEC_FILE()),e({name:i.file.name,content:{}});if("object"!=typeof E||Array.isArray(E))return void a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR("File did not parse to an object"));if(o(E,[],a))return;return e({name:i.file.name,content:E})}catch(r){a.error(t.YAML_PARSE_ERROR,n.YAML_PARSE_ERROR(r instanceof Error?r.message:String(r)));return}};
@@ -1,13 +1,41 @@
1
1
  import { z } from 'zod';
2
2
  import { type AssistantAiSettings } from '@salsita-ai/contracts/assistant';
3
+ import { ASSISTANT_HINTS, type AssistantFormAttribute, type AssistantFormRole } from '#package/domain';
3
4
  /**
4
5
  * One whitelisted field in the assistant manifest. `description` overrides the JSON Schema
5
- * description of the shape property; `as` exposes the field under a different GraphQL name. An empty
6
+ * description of the shape property; `as` exposes the field under a different GraphQL name; `lenses`
7
+ * names the lenses declared under `assistant.lenses` whose selection includes the field. An empty
6
8
  * entry (`length:` in YAML) whitelists the field with its defaults.
7
9
  */
8
10
  export interface RawAssistantField {
9
11
  readonly description?: string;
10
12
  readonly as?: string;
13
+ readonly lenses?: readonly string[];
14
+ }
15
+ /**
16
+ * One of the project's own elements of an assistant form, keyed under `assistant.formElements` by
17
+ * its tag, and implemented by the component a file in `src/elements/` registers under the same name
18
+ * with `phx.frontend.createAssistantFormElement`. `role` decides the props the component gets, how
19
+ * the form collects it into the answer and where the prompt lists it, with `description` after its
20
+ * signature. `attributes` are flat scalars beside the built-in `label`, each a JSON Schema of the
21
+ * keywords `AssistantFormAttribute` allows, and `required` names those the model must write. An
22
+ * option or an input that takes a `value` declares it like any other attribute.
23
+ */
24
+ export interface RawAssistantFormElement {
25
+ readonly description: string;
26
+ readonly role: AssistantFormRole;
27
+ readonly attributes?: Readonly<Record<string, AssistantFormAttribute>>;
28
+ readonly required?: readonly string[];
29
+ }
30
+ /**
31
+ * One lens of the assistant `lenses` map, keyed by the name the agent spreads it by: a named
32
+ * selection made of the `entities` entries tagged with that name. `description` tells the agent when
33
+ * to use the lens; `maxDepth` is how many levels of tagged relations carry the same selection before
34
+ * they reduce to `id`, 1 by default.
35
+ */
36
+ export interface RawAssistantLens {
37
+ readonly description: string;
38
+ readonly maxDepth?: number;
11
39
  }
12
40
  /**
13
41
  * One entry of the assistant `deletable` map. It takes no options yet; an empty entry (`Cabinet:` in
@@ -23,7 +51,6 @@ export type AssistantOptionComponentType = (typeof ASSISTANT_OPTION_COMPONENT_TY
23
51
  * does not change during a session. A hint only adds a sentence to a generated description; nothing
24
52
  * verifies it.
25
53
  */
26
- export declare const ASSISTANT_HINTS: readonly ['sameForAllInstances', 'constantDuringSession'];
27
54
  export type AssistantHint = (typeof ASSISTANT_HINTS)[number];
28
55
  /**
29
56
  * The component that holds the choices of a writable field: the instance `instanceName` of the
@@ -78,6 +105,16 @@ export interface RawAssistantAction {
78
105
  readonly description?: string;
79
106
  readonly as?: string;
80
107
  }
108
+ /**
109
+ * One view of the assistant `screenshots` map, keyed by the instance name of an `agentScreenshot`
110
+ * component: it lets the agent take a screenshot of the entity from that view under `meta`.
111
+ * `description` tells the agent what the view shows; `as` is the name the agent asks for the view
112
+ * by, the instance name by default.
113
+ */
114
+ export interface RawAssistantScreenshot {
115
+ readonly description: string;
116
+ readonly as?: string;
117
+ }
81
118
  /**
82
119
  * Experimental assistant manifest authored under the `assistant` root key. `entities` whitelists the
83
120
  * stored fields the generated GraphQL schema exposes, keyed by entity type or alias name and then by
@@ -88,8 +125,11 @@ export interface RawAssistantAction {
88
125
  * entity type or alias, the `childEntityRecipes` groups whose recipes the agent may list and add
89
126
  * with `addChild`. `replaceRecipes` names, per entity type or alias, the `replaceEntityRecipes`
90
127
  * groups whose recipes the agent may list and replace the entity by with `replaceEntity`. `actions`
91
- * names the declared actions the agent may run as custom mutations. Nothing is exposed without an
92
- * entry.
128
+ * names the declared actions the agent may run as custom mutations. `screenshots` names, per entity
129
+ * type or alias, the `agentScreenshot` views the agent may take a screenshot of the entity from.
130
+ * Nothing is exposed without an entry. `lenses` declares the named selections that `entities`
131
+ * entries are tagged with, and `formElements` the project's own elements of the forms the agent
132
+ * asks the user with.
93
133
  *
94
134
  * `ai` and `instructions` are for the server only: the provider, model tier and reasoning level the
95
135
  * deployment's assistant runs with, and the integrator's own guidance for it, appended to the system
@@ -102,6 +142,9 @@ export interface RawAssistant {
102
142
  readonly childRecipes?: Readonly<Record<string, RawAssistantRecipes>>;
103
143
  readonly replaceRecipes?: Readonly<Record<string, RawAssistantRecipes>>;
104
144
  readonly actions?: Readonly<Record<string, RawAssistantAction | null>>;
145
+ readonly screenshots?: Readonly<Record<string, Readonly<Record<string, RawAssistantScreenshot>>>>;
146
+ readonly lenses?: Readonly<Record<string, RawAssistantLens>>;
147
+ readonly formElements?: Readonly<Record<string, RawAssistantFormElement>>;
105
148
  readonly instructions?: string;
106
149
  readonly ai: AssistantAiSettings;
107
150
  }
@@ -1 +1 @@
1
- import{z as t}from"zod";import{ASSISTANT_AI_PROVIDERS as e,ASSISTANT_MODEL_TIERS as o,ASSISTANT_REASONING_LEVELS as i}from"@salsita-ai/contracts/assistant";export const ASSISTANT_OPTION_COMPONENT_TYPES=["materialSwatch","attributeSelection","distanceDimensionSelect"];export const ASSISTANT_HINTS=["sameForAllInstances","constantDuringSession"];let n=t.string().regex(/^(?!__)[_A-Za-z][_0-9A-Za-z]*$/,'must be a GraphQL name: letters, digits and "_", not starting with a digit or "__"'),r=e=>t.enum(e,{errorMap:()=>({message:`must be one of: ${e.join(", ")}`})}),s=t.object({description:t.string().optional(),as:n.optional()}).strict(),a=t.array(r(ASSISTANT_HINTS)),l=t.object({options:t.object({componentType:r(ASSISTANT_OPTION_COMPONENT_TYPES),instanceName:t.string().min(1,"must not be empty; name the component instance that holds the choices"),as:n.optional(),validate:t.boolean().optional(),allowDryRuns:t.boolean().optional(),hints:a.optional()}).strict().optional()}).strict(),c=t.object({as:t.string().trim().min(1,"must not be empty; remove the key to use the instance name").optional(),description:t.string().optional(),allowDryRuns:t.boolean().optional()}).strict(),p=e=>t.object({hints:a.optional(),groups:t.record(t.string(),c.nullable(),{required_error:`is required: the recipe groups of the type go under "groups", keyed by the instance name of a "${e}" component`})}).strict(),m=t.object({description:t.string().optional(),as:n.optional()}).strict(),d=`is required: declare provider (${e.join(", ")}), model (${o.join(", ")}) and reasoning (${i.join(", ")})`,u="must be a positive whole number of input tokens; remove the key to use the default of the server",b=t.object({provider:r(e),model:r(o),reasoning:r(i),maxThreadSize:t.number({invalid_type_error:u}).int(u).positive(u).optional()},{required_error:d,invalid_type_error:d}).strict();export const rawAssistantSchema=t.object({entities:t.record(t.string(),t.record(t.string(),s.nullable())).optional(),deletable:t.record(t.string(),t.object({}).strict().nullable()).optional(),writable:t.record(t.string(),t.record(t.string(),l.nullable())).optional(),childRecipes:t.record(t.string(),p("childEntityRecipes")).optional(),replaceRecipes:t.record(t.string(),p("replaceEntityRecipes")).optional(),actions:t.record(t.string(),m.nullable()).optional(),instructions:t.string().trim().min(1,"must not be empty; remove the key when there are no instructions").optional(),ai:b}).strict();
1
+ import{z as e}from"zod";import{ASSISTANT_AI_PROVIDERS as t,ASSISTANT_MODEL_TIERS as n,ASSISTANT_REASONING_LEVELS as o}from"@salsita-ai/contracts/assistant";import{ASSISTANT_FORM_NAME_PATTERN as i,ASSISTANT_HINTS as r}from"#package/domain";export const ASSISTANT_OPTION_COMPONENT_TYPES=["materialSwatch","attributeSelection","distanceDimensionSelect"];let s=e.string().regex(/^(?!__)[_A-Za-z][_0-9A-Za-z]*$/,'must be a GraphQL name: letters, digits and "_", not starting with a digit or "__"'),a=t=>e.enum(t,{errorMap:()=>({message:`must be one of: ${t.join(", ")}`})}),m=e.object({description:e.string().optional(),as:s.optional(),lenses:e.array(e.string()).optional()}).strict(),l="must be a whole number of at least 1; remove the key to nest tagged relations one level",p=e.object({description:e.string().trim().min(1,"must not be empty; say when the agent should use the lens"),maxDepth:e.number({invalid_type_error:l}).int(l).min(1,l).optional()}).strict(),c=s.refine(e=>!e.includes("__"),'must not contain "__", which names the generated copies of a lens'),u=e.array(a(r)),d=e.object({options:e.object({componentType:a(ASSISTANT_OPTION_COMPONENT_TYPES),instanceName:e.string().min(1,"must not be empty; name the component instance that holds the choices"),as:s.optional(),validate:e.boolean().optional(),allowDryRuns:e.boolean().optional(),hints:u.optional()}).strict().optional()}).strict(),g=e.object({as:e.string().trim().min(1,"must not be empty; remove the key to use the instance name").optional(),description:e.string().optional(),allowDryRuns:e.boolean().optional()}).strict(),h=t=>e.object({hints:u.optional(),groups:e.record(e.string(),g.nullable(),{required_error:`is required: the recipe groups of the type go under "groups", keyed by the instance name of a "${t}" component`})}).strict(),b=e.object({description:e.string().optional(),as:s.optional()}).strict(),y=["enum","pattern","minimum","maximum","minLength","maxLength"],f=["enum","pattern","minLength","maxLength"],_=["enum","minimum","maximum"],v=e.object({type:a(["string","number","integer","boolean"]),enum:e.array(e.union([e.string(),e.number()])).min(1,"must list at least one value").optional(),pattern:e.string().refine(e=>{try{return RegExp(e,"u"),!0}catch{return!1}},"must be a regular expression, as in JSON Schema").optional(),minimum:e.number().optional(),maximum:e.number().optional(),minLength:e.number().int().nonnegative().optional(),maxLength:e.number().int().nonnegative().optional()}).strict().superRefine((t,n)=>{let o="string"===t.type?f:"boolean"===t.type?[]:_;for(let i of y)void 0===t[i]||o.includes(i)||n.addIssue({code:e.ZodIssueCode.custom,path:[i],message:`does not apply to an attribute of type "${t.type}"; remove it or change the type`});let i="string"===t.type?"string":"number";for(let[o,r]of("boolean"!==t.type&&t.enum?.some(e=>typeof e!==i||"integer"===t.type&&!Number.isInteger(e))&&n.addIssue({code:e.ZodIssueCode.custom,path:["enum"],message:`must list only ${"integer"===t.type?"whole number":i}s, since the attribute is of type "${t.type}"`}),[["minimum","maximum"],["minLength","maxLength"]])){let[i,s]=[t[o],t[r]];void 0!==i&&void 0!==s&&i>s&&n.addIssue({code:e.ZodIssueCode.custom,path:[o],message:`must not be greater than "${r}", or no value could satisfy the attribute`})}}),w=e.string().regex(i,'must start with a lowercase letter and hold only lowercase letters, digits and "-", since the panel reads form markup in lowercase'),j=e.object({description:e.string().trim().min(1,"must not be empty; say what the element is for and where the agent may use it"),role:a(["group","choice","choices","option","input"]),attributes:e.record(w,v).optional(),required:e.array(e.string()).optional()}).strict(),x=e.object({description:e.string().trim().min(1,"must not be empty; say what the view shows"),as:s.optional()}).strict(),S=`is required: declare provider (${t.join(", ")}), model (${n.join(", ")}) and reasoning (${o.join(", ")})`,T="must be a positive whole number of input tokens; remove the key to use the default of the server",I=e.object({provider:a(t),model:a(n),reasoning:a(o),maxThreadSize:e.number({invalid_type_error:T}).int(T).positive(T).optional()},{required_error:S,invalid_type_error:S}).strict();export const rawAssistantSchema=e.object({entities:e.record(e.string(),e.record(e.string(),m.nullable())).optional(),deletable:e.record(e.string(),e.object({}).strict().nullable()).optional(),writable:e.record(e.string(),e.record(e.string(),d.nullable())).optional(),childRecipes:e.record(e.string(),h("childEntityRecipes")).optional(),replaceRecipes:e.record(e.string(),h("replaceEntityRecipes")).optional(),actions:e.record(e.string(),b.nullable()).optional(),screenshots:e.record(e.string(),e.record(e.string(),x)).optional(),lenses:e.record(c,p).optional(),formElements:e.record(w,j).optional(),instructions:e.string().trim().min(1,"must not be empty; remove the key when there are no instructions").optional(),ai:I}).strict();
@@ -1 +1 @@
1
- import{z as o}from"zod";import{Branded as a}from"@salsita-ai/common/utils";import{enhancedJsonObjectSchema as t,validateNoLegacyCodeRef as e}from"../../core/index.js";import{DiagnosticCode as n,diagnosticMessages as i}from"../../errors/index.js";import{rawAclSchema as r}from"./raw-acl.js";import{rawActionsSchema as s}from"./raw-actions.js";import{rawAdminPagesSchema as l}from"./raw-admin-pages.js";import{rawAssistantSchema as p}from"./raw-assistant.js";import{rawBudgetsSchema as m}from"./raw-budgets.js";import{rawChunksSchema as c}from"./raw-chunks.js";import{rawComponentsSchema as f}from"./raw-components.js";import{rawConstantsSchema as d}from"./raw-constants.js";import{rawDataSpecSchema as u}from"./raw-data.js";import{rawDefaultsSchema as j}from"./raw-defaults.js";import{rawEnvSchema as w}from"./raw-env.js";import{rawExpressionsSchema as b}from"./raw-expressions.js";import{rawInvariantsSchema as g}from"./raw-invariants.js";import{rawModelSchema as S}from"./raw-model.js";import{rawPresetsSchema as D}from"./raw-presets.js";import{rawRelationsSchema as h}from"./raw-relations.js";import{rawResourcesConfigSchema as v,rawResourcesSchema as O}from"./raw-resources.js";import{rawStateValuesSchema as E}from"./raw-states.js";import{rawTransformersSchema as R}from"./raw-transformers.js";export const DATA_SCHEMA_KEYS=["publishedData","sessionData","frontendData","backendData","finalizeData","prefetchedFinalizeData","finalizeResult","callbackData"];let k=o.object({$admin:o.boolean().optional(),model:S.optional(),components:f.optional(),presets:D.optional(),$data:u.optional(),expressions:b.optional(),actions:s.optional(),invariants:g.optional(),constants:d.optional(),relations:h.optional(),defaults:j.optional(),publishedData:t.optional(),sessionData:t.optional(),frontendData:t.optional(),backendData:t.optional(),finalizeData:t.optional(),prefetchedFinalizeData:t.optional(),finalizeResult:t.optional(),callbackData:t.optional(),navigationStates:E.optional(),viewStates:E.optional(),toolStates:E.optional(),exportStates:E.optional(),themePreset:o.string().optional(),themeOptions:o.record(o.unknown()).optional(),preview:o.enum(["always","never","auto","hide"]).optional(),alwaysExpand:o.boolean().optional(),availableLocales:o.array(o.string()).optional(),textLanguages:o.array(o.string()).optional(),transformers:R.optional(),project:o.string().regex(/^[a-z0-9-]{3,}$/,"must be a project slug (lowercase letters, digits and dashes, at least 3) or `default`").optional(),applicationVersion:o.string().optional(),workspace:o.boolean().optional(),webComponentTag:o.string().optional(),pageTitle:o.string().optional(),useAuthHook:o.boolean().optional(),useClerk:o.boolean().optional(),enableAdminRelease:o.boolean().optional(),jsonSchemaValidator:o.enum(["ajv","csp-compatible"]).optional(),gltfDecoder:o.enum(["js","wasm"]).optional(),appLoader:o.enum(["legacy","universal"]).optional(),collectFinalizeData:o.boolean().optional(),env:w.optional(),acl:r.optional(),resources:O.optional(),resourcesConfig:v.optional(),budgets:m.optional(),chunks:c.optional(),assistant:p.optional(),$adminPages:l.optional()}).strict();export const parseRawSpecFile=(o,t)=>{e(o.content,t);let r=k.safeParse(o.content);if(!r.success){for(let o of r.error.issues)t.error(n.SCHEMA_PARSE_ERROR,i.SCHEMA_PARSE_ERROR(o.path.join("."),o.message));return}let{constants:s,...l}=r.data,p=((o,a)=>{let t=Object.fromEntries(Object.entries(o.expressions??{}).map(([o,a])=>[o,{...a}]));if(void 0===o.constants)return Object.keys(t).length>0?t:void 0;for(let[e,r]of Object.entries(o.constants))for(let[o,s]of(t[e]||(t[e]={}),Object.entries(r))){if(void 0!==t[e][o]){a.at("constants",e,o).error(n.CONSTANTS_EXPRESSION_CONFLICT,i[n.CONSTANTS_EXPRESSION_CONFLICT](e,o));continue}t[e][o]={kind:"value",constant:!0,value:s,schema:{}}}return Object.keys(t).length>0?t:void 0})(r.data,t);return a({name:o.name,content:{...l,expressions:p}})};
1
+ import{z as o}from"zod";import{Branded as a}from"@salsita-ai/common/utils";import{enhancedJsonObjectSchema as t}from"../../core/index.js";import{validateNoLegacyCodeRef as e}from"../../enhanced-json/index.js";import{DiagnosticCode as n,diagnosticMessages as i}from"../../errors/index.js";import{rawAclSchema as r}from"./raw-acl.js";import{rawActionsSchema as s}from"./raw-actions.js";import{rawAdminPagesSchema as l}from"./raw-admin-pages.js";import{rawAssistantSchema as p}from"./raw-assistant.js";import{rawBudgetsSchema as m}from"./raw-budgets.js";import{rawChunksSchema as c}from"./raw-chunks.js";import{rawComponentsSchema as f}from"./raw-components.js";import{rawConstantsSchema as d}from"./raw-constants.js";import{rawDataSpecSchema as j}from"./raw-data.js";import{rawDefaultsSchema as u}from"./raw-defaults.js";import{rawEnvSchema as w}from"./raw-env.js";import{rawExpressionsSchema as b}from"./raw-expressions.js";import{rawInvariantsSchema as g}from"./raw-invariants.js";import{rawModelSchema as S}from"./raw-model.js";import{rawPresetsSchema as h}from"./raw-presets.js";import{rawRelationsSchema as D}from"./raw-relations.js";import{rawResourcesConfigSchema as v,rawResourcesSchema as O}from"./raw-resources.js";import{rawStateValuesSchema as E}from"./raw-states.js";import{rawTransformersSchema as R}from"./raw-transformers.js";export const DATA_SCHEMA_KEYS=["publishedData","sessionData","frontendData","backendData","finalizeData","prefetchedFinalizeData","finalizeResult","callbackData"];let k=o.object({$admin:o.boolean().optional(),model:S.optional(),components:f.optional(),presets:h.optional(),$data:j.optional(),expressions:b.optional(),actions:s.optional(),invariants:g.optional(),constants:d.optional(),relations:D.optional(),defaults:u.optional(),publishedData:t.optional(),sessionData:t.optional(),frontendData:t.optional(),backendData:t.optional(),finalizeData:t.optional(),prefetchedFinalizeData:t.optional(),finalizeResult:t.optional(),callbackData:t.optional(),navigationStates:E.optional(),viewStates:E.optional(),toolStates:E.optional(),exportStates:E.optional(),themePreset:o.string().optional(),themeOptions:o.record(o.unknown()).optional(),preview:o.enum(["always","never","auto","hide"]).optional(),alwaysExpand:o.boolean().optional(),availableLocales:o.array(o.string()).optional(),textLanguages:o.array(o.string()).optional(),transformers:R.optional(),project:o.string().regex(/^[a-z0-9-]{3,}$/,"must be a project slug (lowercase letters, digits and dashes, at least 3) or `default`").optional(),applicationVersion:o.string().optional(),workspace:o.boolean().optional(),webComponentTag:o.string().optional(),pageTitle:o.string().optional(),useAuthHook:o.boolean().optional(),useClerk:o.boolean().optional(),enableAdminRelease:o.boolean().optional(),jsonSchemaValidator:o.enum(["ajv","csp-compatible"]).optional(),gltfDecoder:o.enum(["js","wasm"]).optional(),appLoader:o.enum(["legacy","universal"]).optional(),collectFinalizeData:o.boolean().optional(),env:w.optional(),acl:r.optional(),resources:O.optional(),resourcesConfig:v.optional(),budgets:m.optional(),chunks:c.optional(),assistant:p.optional(),$adminPages:l.optional()}).strict();export const parseRawSpecFile=(o,t)=>{e(o.content,t);let r=k.safeParse(o.content);if(!r.success){for(let o of r.error.issues)t.error(n.SCHEMA_PARSE_ERROR,i.SCHEMA_PARSE_ERROR(o.path.join("."),o.message));return}let{constants:s,...l}=r.data,p=((o,a)=>{let t=Object.fromEntries(Object.entries(o.expressions??{}).map(([o,a])=>[o,{...a}]));if(void 0===o.constants)return Object.keys(t).length>0?t:void 0;for(let[e,r]of Object.entries(o.constants))for(let[o,s]of(t[e]||(t[e]={}),Object.entries(r))){if(void 0!==t[e][o]){a.at("constants",e,o).error(n.CONSTANTS_EXPRESSION_CONFLICT,i[n.CONSTANTS_EXPRESSION_CONFLICT](e,o));continue}t[e][o]={kind:"value",constant:!0,value:s,schema:{}}}return Object.keys(t).length>0?t:void 0})(r.data,t);return a({name:o.name,content:{...l,expressions:p}})};
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as s}from"../../../../errors/index.js";import{Components as n,UserComponents as r}from"../../components/index.js";import{Expressions as o}from"../../expressions/index.js";import{Invariants as i}from"../../invariants/index.js";import{ConfigurationSchema as a,Defaults as m,ModelVersion as l,Presets as p}from"../../model/index.js";import{Relations as d}from"../../relations/index.js";import{ResolvedVersions as f}from"../resolved-versions.js";import{AdminPages as S}from"./admin-pages.js";import{AdminStates as v}from"./states.js";export const AdminSpec=(g,x)=>{let{rawModel:u,rawPresets:I,rawExpressions:N,rawInvariants:T,rawRelations:_,rawDefaults:c,migrationFiles:j,rawComponents:A,rawAdminPages:C,dataSpec:E,phxDefinitions:M,evalExpressionParser:h,label:L,requireMigrationFiles:y}=g;if(0===Object.keys(u).length)return void x.at(L).error(t.MISSING_MODEL,s.MISSING_MODEL(L));u.latest||x.at(L).error(t.MISSING_LATEST,s.MISSING_LATEST(L));let G=new Map;for(let[e,t]of Object.entries(u)){let s=l(e,t,M,x.at(L,e));s&&G.set(s.versionKey,s)}if(x.hasErrors)return;let O=f(G,j,x,{requireMigrationFiles:y});if(!O)return;let D=O.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!D)return;let V=O.latestVersion,P=a(D,V),b=d(_,D,x),w=i({rawInvariants:T,rawExpressions:N,rawRelations:_,rawComponents:A},D,x),F=p(I,D,b,x),k=S(C,{latestModel:D,parsingContext:x.at(L,"$adminPages")},E);if(!k)return;let K=r(A,{allNames:D.allNames,resolvedShapes:D.resolvedShapes,parsingContext:x}),$=m(c,D,x.at(L,"defaults")),q=o({rawExpressions:N,inferredExpressions:[...b.expressions,...w.expressions,...K.expressions]},{latestModel:D,aliases:D.aliases,entityTypes:D.entityTypes,evalExpressionParser:h,parsingContext:x}),z=n({userComponents:K.components,generatedComponents:[...b.components,...k.components],invariantComponents:w.components},{aliases:D.aliases,parsingContext:x});if(void 0!==$&&void 0!==q&&void 0!==z)return e({latestModel:D,schemaVersion:V,resolvedVersions:O,components:z,configurationSchema:P,presets:F,expressions:q,invariants:w,defaults:$,states:v(((n,r,o)=>{if(0===r.length)return n;let i=1===n.navigationStates.length&&"Default"===n.navigationStates[0]?[]:n.navigationStates,a=i.filter(e=>r.includes(e));return a.length>0&&o.error(t.ADMIN_PAGES_NAV_STATE_CONFLICT,s.ADMIN_PAGES_NAV_STATE_CONFLICT(a)),e({...n,navigationStates:[...i,...r]})})(g.rawStates,k.navigationStates,x),x),adminPages:k})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as t,diagnosticMessages as s}from"../../../../errors/index.js";import{Components as n,UserComponents as r}from"../../components/index.js";import{Expressions as o}from"../../expressions/index.js";import{Invariants as i}from"../../invariants/index.js";import{ConfigurationSchema as a,Defaults as m,ModelVersion as p,Presets as l}from"../../model/index.js";import{Relations as d}from"../../relations/index.js";import{ResolvedVersions as f}from"../resolved-versions.js";import{AdminPages as S}from"./admin-pages.js";import{AdminStates as x}from"./states.js";export const AdminSpec=(g,v)=>{let{rawModel:u,rawPresets:I,rawExpressions:T,rawInvariants:_,rawRelations:c,rawDefaults:j,migrationFiles:A,rawComponents:C,rawAdminPages:E,dataSpec:M,phxDefinitions:N,evalExpressionParser:L,label:y,requireMigrationFiles:G}=g;if(0===Object.keys(u).length)return void v.at(y).error(t.MISSING_MODEL,s.MISSING_MODEL(y));u.latest||v.at(y).error(t.MISSING_LATEST,s.MISSING_LATEST(y));let O=new Map;for(let[e,t]of Object.entries(u)){let s=p(e,t,N,v.at(y,e));s&&O.set(s.versionKey,s)}if(v.hasErrors)return;let h=f(O,A,v,{requireMigrationFiles:G});if(!h)return;let D=h.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!D)return;let V=h.latestVersion,P=a(D,V),b=d(c,D,N,v),w=i({rawInvariants:_,rawExpressions:T,rawRelations:c,rawComponents:C},D,N,v),F=l(I,D,b,v),R=S(E,{latestModel:D,parsingContext:v.at(y,"$adminPages")},M);if(!R)return;let k=r(C,{latestModel:D,phxDefinitions:N,parsingContext:v}),K=m(j,D,v.at(y,"defaults")),$=o({rawExpressions:T,inferredExpressions:[...b.expressions,...w.expressions,...k.expressions],expressionReads:k.expressionReads},{latestModel:D,aliases:D.aliases,entityTypes:D.entityTypes,evalExpressionParser:L,phxDefinitions:N,parsingContext:v}),q=n({userComponents:k.components,generatedComponents:[...b.components,...R.components],invariantComponents:w.components},{aliases:D.aliases,parsingContext:v});if(void 0!==K&&void 0!==$&&void 0!==q)return e({latestModel:D,schemaVersion:V,resolvedVersions:h,components:q,configurationSchema:P,presets:F,expressions:$,invariants:w,defaults:K,states:x(((n,r,o)=>{if(0===r.length)return n;let i=1===n.navigationStates.length&&"Default"===n.navigationStates[0]?[]:n.navigationStates,a=i.filter(e=>r.includes(e));return a.length>0&&o.error(t.ADMIN_PAGES_NAV_STATE_CONFLICT,s.ADMIN_PAGES_NAV_STATE_CONFLICT(a)),e({...n,navigationStates:[...i,...r]})})(g.rawStates,R.navigationStates,v),v),adminPages:R})};
@@ -1 +1 @@
1
- import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as s,diagnosticMessages as t}from"../../../../errors/index.js";import{Components as o,UserComponents as r}from"../../components/index.js";import{Expressions as i}from"../../expressions/index.js";import{Invariants as n}from"../../invariants/index.js";import{ConfigurationSchema as a,DataSchemas as m,Defaults as p,ModelVersion as l,Presets as d}from"../../model/index.js";import{Relations as f}from"../../relations/index.js";import{Actions as x,AssistantServerSettings as S,AssistantSpec as v,Theme as c,Transformers as j,Ui as u}from"../../sections/index.js";import{ResolvedVersions as g}from"../resolved-versions.js";import{ConfiguratorStates as C}from"./states.js";export const ConfiguratorSpec=(I,M)=>{let{rawModel:h,rawPresets:y,rawExpressions:E,rawActions:N,rawInvariants:T,rawRelations:L,rawDefaults:G,dataSchemas:O,dataSpec:_,appMetadata:b,rawTheme:w,rawUi:A,rawTransformers:D,rawAssistant:V,migrationFiles:k,transformerFiles:K,rawComponents:q,phxDefinitions:z,evalExpressionParser:B,label:F}=I;if(0===Object.keys(h).length)return void M.at(F).error(s.MISSING_MODEL,t.MISSING_MODEL(F));h.latest||M.at(F).error(s.MISSING_LATEST,t.MISSING_LATEST(F));let H=new Map;for(let[e,s]of Object.entries(h)){let t=l(e,s,z,M.at(F,e));t&&H.set(t.versionKey,t)}if(M.hasErrors)return;let J=g(H,k,M);if(!J)return;let P=J.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!P)return;let Q=J.latestVersion,R=a(P,Q),U=f(L,P,M),W=n({rawInvariants:T,rawExpressions:E,rawRelations:L,rawComponents:q},P,M),X=d(y,P,U,M),Y=r(q,{allNames:P.allNames,resolvedShapes:P.resolvedShapes,parsingContext:M}),Z=p(G,P,M.at(F,"defaults")),$=j(D,K,M),ee=i({rawExpressions:E,inferredExpressions:[...U.expressions,...W.expressions,...Y.expressions]},{latestModel:P,aliases:P.aliases,entityTypes:P.entityTypes,evalExpressionParser:B,parsingContext:M}),es=o({userComponents:Y.components,generatedComponents:U.components,invariantComponents:W.components},{aliases:P.aliases,parsingContext:M}),et=m({merged:O,dataSpec:_,appMetadata:b,phxDefinitions:z,parsingContext:M}),eo=C(I.rawStates,M.at("states")),er=x(N,{latestModel:P,phxDefinitions:z},M.at("actions"));if(void 0!==Z&&void 0!==ee&&void 0!==er&&void 0!==es&&void 0!==et)return e({latestModel:P,schemaVersion:Q,dataSchemas:et,resolvedVersions:J,components:es,configurationSchema:R,presets:X,expressions:ee,actions:er,invariants:W,defaults:Z,states:eo,theme:c(w),ui:u(A),transformers:$,assistant:v(V,{model:P,states:eo,phxDefinitions:z,expressions:ee,components:es,actions:er},M),assistantServerSettings:S(V)})};
1
+ import{Branded as e}from"@salsita-ai/common/utils";import{DiagnosticCode as s,diagnosticMessages as t}from"../../../../errors/index.js";import{Components as o,UserComponents as r}from"../../components/index.js";import{Expressions as i}from"../../expressions/index.js";import{Invariants as n}from"../../invariants/index.js";import{ConfigurationSchema as a,DataSchemas as m,Defaults as p,ModelVersion as d,Presets as l}from"../../model/index.js";import{Relations as f}from"../../relations/index.js";import{Actions as x,AssistantServerSettings as S,AssistantSpec as v,Theme as c,Transformers as j,Ui as u}from"../../sections/index.js";import{ResolvedVersions as g}from"../resolved-versions.js";import{ConfiguratorStates as C}from"./states.js";export const ConfiguratorSpec=(I,M)=>{let{rawModel:y,rawPresets:E,rawExpressions:T,rawActions:L,rawInvariants:h,rawRelations:G,rawDefaults:N,dataSchemas:O,dataSpec:_,appMetadata:b,rawTheme:w,rawUi:A,rawTransformers:D,rawAssistant:R,migrationFiles:V,transformerFiles:k,rawComponents:K,phxDefinitions:q,evalExpressionParser:z,label:B}=I;if(0===Object.keys(y).length)return void M.at(B).error(s.MISSING_MODEL,t.MISSING_MODEL(B));y.latest||M.at(B).error(s.MISSING_LATEST,t.MISSING_LATEST(B));let F=new Map;for(let[e,s]of Object.entries(y)){let t=d(e,s,q,M.at(B,e));t&&F.set(t.versionKey,t)}if(M.hasErrors)return;let H=g(F,V,M);if(!H)return;let J=H.versionedModels.find(e=>e.isLatest)?.modelVersion;if(!J)return;let P=H.latestVersion,Q=a(J,P),U=f(G,J,q,M),W=n({rawInvariants:h,rawExpressions:T,rawRelations:G,rawComponents:K},J,q,M),X=l(E,J,U,M),Y=r(K,{latestModel:J,phxDefinitions:q,parsingContext:M}),Z=p(N,J,M.at(B,"defaults")),$=j(D,k,M),ee=i({rawExpressions:T,inferredExpressions:[...U.expressions,...W.expressions,...Y.expressions],expressionReads:Y.expressionReads},{latestModel:J,aliases:J.aliases,entityTypes:J.entityTypes,evalExpressionParser:z,phxDefinitions:q,parsingContext:M}),es=o({userComponents:Y.components,generatedComponents:U.components,invariantComponents:W.components},{aliases:J.aliases,parsingContext:M}),et=m({merged:O,dataSpec:_,appMetadata:b,phxDefinitions:q,parsingContext:M}),eo=C(I.rawStates,M.at("states")),er=x(L,{latestModel:J,phxDefinitions:q},M.at("actions"));if(void 0!==Z&&void 0!==ee&&void 0!==er&&void 0!==es&&void 0!==et)return e({latestModel:J,schemaVersion:P,dataSchemas:et,resolvedVersions:H,components:es,configurationSchema:Q,presets:X,expressions:ee,actions:er,invariants:W,defaults:Z,states:eo,theme:c(w),ui:u(A),transformers:$,assistant:v(R,{model:J,states:eo,phxDefinitions:q,expressions:ee,components:es,actions:er},M),assistantServerSettings:S(R)})};
@@ -1,2 +1,3 @@
1
1
  export * from './schema-ref-resolver.js';
2
2
  export * from './validate-schema-refs.js';
3
+ export * from './value-type/index.js';
@@ -1 +1 @@
1
- export*from"./schema-ref-resolver.js";export*from"./validate-schema-refs.js";
1
+ export*from"./schema-ref-resolver.js";export*from"./validate-schema-refs.js";export*from"./value-type/index.js";
@@ -0,0 +1,3 @@
1
+ import type { ValueType } from './value-type.js';
2
+ /** Writes a type the way TypeScript would, for diagnostics. Deeply nested objects read `object`. */
3
+ export declare const formatValueType: (type: ValueType) => string;
@@ -0,0 +1 @@
1
+ let e=(n,r)=>0===n.length?"never":[...new Set(n.map(n=>((n,r)=>{switch(n.kind){case"unknown":return"unknown";case"string":if(n.named){let e=n.named.entityTypes;return void 0===e?n.named.name:`${n.named.name}<${[...e].map(e=>`'${e}'`).join(" | ")}>`}return void 0===n.literal?"string":`'${n.literal}'`;case"number":case"boolean":return void 0===n.literal?n.kind:String(n.literal);case"null":return"null";case"array":{let t=e(n.element,r+1);return n.element.length>1?`readonly (${t})[]`:`readonly ${t}[]`}case"object":{if(r>=2)return"object";if(n.index)return`Record<string, ${e(n.index,r+1)}>`;if(!n.properties)return"Record<string, unknown>";let t=[...n.properties].map(([n,t])=>`${n}${t.required?"":"?"}: ${e(t.type,r+1)}`);return`{ ${t.join("; ")} }`}}})(n,r)))].join(" | ");export const formatValueType=n=>e(n,0);
@@ -0,0 +1,5 @@
1
+ export * from './format-value-type.js';
2
+ export * from './intersect-value-types.js';
3
+ export * from './is-assignable-value-type.js';
4
+ export * from './value-type-at.js';
5
+ export * from './value-type.js';
@@ -0,0 +1 @@
1
+ export*from"./format-value-type.js";export*from"./intersect-value-types.js";export*from"./is-assignable-value-type.js";export*from"./value-type-at.js";export*from"./value-type.js";
@@ -0,0 +1,6 @@
1
+ import type { ValueType } from './value-type.js';
2
+ /**
3
+ * The values two types have in common, as a union: an empty union when no value is of both. A
4
+ * member the schemas do not describe (`unknown`) is assumed to share values with any other.
5
+ */
6
+ export declare const intersectValueTypes: (left: ValueType, right: ValueType) => ValueType;
@@ -0,0 +1 @@
1
+ let e=[{kind:"unknown"}],n="DomainEntityId",i=(e,n)=>void 0!==n.literal?n.literal===e.literal?[e]:[]:!n.named||n.named.acceptsLiteral?.(e.literal)?[e]:[],t=e=>"object"===e.kind&&void 0===e.index&&void 0!==e.properties&&e.properties.size>0&&[...e.properties.values()].every(e=>!e.required);export const intersectValueTypes=(r,l)=>r.flatMap(r=>l.flatMap(l=>((r,l)=>{if("unknown"===r.kind||"unknown"===l.kind)return e;if("string"===r.kind&&"string"===l.kind)return((t,r)=>{let{literal:l}=t;return void 0!==l?i({...t,literal:l},r):void 0!==r.literal?i({...r,literal:r.literal},t):t.named&&r.named?((i,t)=>{let r,l;if(i.name!==t.name)return i.name===n||t.name===n?[]:e;if(void 0===i.entityTypes||void 0===t.entityTypes)return[{kind:"string",named:void 0===i.entityTypes?t:i}];let d=(r=i.entityTypes,l=t.entityTypes,new Set([...r].filter(e=>l.has(e))));return 0===d.size?[]:[{kind:"string",named:{...i,entityTypes:d}}]})(t.named,r.named):[t.named?t:r]})(r,l);if("number"===r.kind&&"number"===l.kind||"boolean"===r.kind&&"boolean"===l.kind){let e,n;return e=r,n=l,void 0===e.literal?[n]:void 0===n.literal||n.literal===e.literal?[e]:[]}if("null"===r.kind&&"null"===l.kind)return[r];if("array"===r.kind&&"array"===l.kind)return[{kind:"array",element:intersectValueTypes(r.element,l.element)}];if("object"===r.kind&&"object"===l.kind){let e=new Map(r.properties??[]);for(let[n,i]of l.properties??[]){let t=e.get(n);if(!t){e.set(n,i);continue}let r=intersectValueTypes(t.type,i.type),l=t.required||i.required;if(0===r.length&&l)return[];e.set(n,{type:r,required:l})}return r.properties||l.properties?[{kind:"object",properties:e}]:[r.index?r:l]}return t(r)&&"null"!==l.kind?[l]:t(l)&&"null"!==r.kind?[r]:[]})(r,l)));
@@ -0,0 +1,8 @@
1
+ import type { ValueType } from './value-type.js';
2
+ /**
3
+ * Whether TypeScript accepts a value of the source type where the target type is expected: every
4
+ * member of the source union fits some member of the target union. A member the schemas do not
5
+ * describe (`unknown`) on either side fits, so the answer is `false` only when the types are known
6
+ * to disagree.
7
+ */
8
+ export declare const isAssignableValueType: (source: ValueType, target: ValueType) => boolean;
@@ -0,0 +1 @@
1
+ let e=(e,r)=>e.filter(e=>e.kind===r),r=(r,i)=>e(i,"boolean").some(e=>void 0===e.literal||e.literal===r),i=e=>"null"===e.kind?[e]:"boolean"===e.kind?void 0===e.literal?[{kind:"boolean",literal:!0},{kind:"boolean",literal:!1}]:[e]:("string"===e.kind||"number"===e.kind)&&void 0!==e.literal?[e]:void 0,t=(r,n)=>{if(e(n,"object").some(e=>{if(void 0!==e.index){var i;return i=e.index,r.properties||r.index?[...r.properties?.values()??[]].every(e=>isAssignableValueType(e.type,i))&&(void 0===r.index||isAssignableValueType(r.index,i)):i.some(e=>"unknown"===e.kind)}return void 0===e.properties||(0===e.properties.size?void 0!==r.properties&&0===r.properties.size&&void 0===r.index:((e,r,i)=>{let t=e.properties;if(!t)return[...r.values()].every(e=>!e.required);for(let[e,i]of r){let r=t.get(e);if(!r){if(i.required)return!1;continue}if(i.required&&!r.required||!isAssignableValueType(r.type,i.type))return!1}let n=!i&&r.size>0&&[...r.values()].every(e=>!e.required),l=[...t.keys()].some(e=>r.has(e));return!n||0===t.size||l})(r,e.properties,e.open??!1))}))return!0;let l=(e=>{for(let[r,t]of e.properties??[]){let n=t.type.map(i);if(!(0===n.length||n.some(e=>void 0===e))&&!(n.flat().length<2))return n.flatMap(e=>e??[]).map(i=>({...e,properties:new Map([...e.properties??[],[r,{...t,type:[i]}]])}))}})(r);return void 0!==l&&l.every(e=>t(e,n))};export const isAssignableValueType=(i,n)=>n.some(e=>"unknown"===e.kind)||i.every(i=>((i,n)=>{switch(i.kind){case"unknown":return!0;case"string":return e(n,"string").some(e=>{if(i.named){var r,t;let n,l;return e.named?(r=i.named,t=e.named,r.name===t.name&&(void 0===t.entityTypes||void 0!==r.entityTypes&&(n=r.entityTypes,l=t.entityTypes,[...n].every(e=>l.has(e))))):void 0===e.literal}return void 0!==i.literal?e.named?e.named.acceptsLiteral?.(i.literal)??!1:void 0===e.literal||e.literal===i.literal:void 0===e.literal&&void 0===e.named});case"number":return e(n,"number").some(e=>void 0===e.literal||e.literal===i.literal);case"boolean":return void 0===i.literal?r(!0,n)&&r(!1,n):r(i.literal,n);case"null":return e(n,"null").length>0;case"array":return e(n,"array").some(e=>isAssignableValueType(i.element,e.element));case"object":return t(i,n)}})(i,n));
@@ -0,0 +1,10 @@
1
+ import type { SchemaPathSegment } from '../../../../core/index.js';
2
+ import type { ValueType } from './value-type.js';
3
+ /**
4
+ * The type expected at a path inside a value of `type`: a number segment indexes an array, a string
5
+ * segment names an object property. Through a union, the path is followed into every member that
6
+ * has it, and the result is the union of what they expect. A value written there must fit one of
7
+ * them; which member the rest of the value selects is not considered, so the answer is never
8
+ * narrower than what TypeScript expects. A path that no member has yields `unknown`.
9
+ */
10
+ export declare const valueTypeAt: (type: ValueType, path: readonly SchemaPathSegment[]) => ValueType;
@@ -0,0 +1 @@
1
+ let e=[{kind:"unknown"}],n=(n,t)=>"unknown"===n.kind?e:"number"==typeof t?"array"===n.kind?n.element:[]:"object"!==n.kind?[]:n.index?n.index:n.properties?n.properties.get(t)?.type??[]:e;export const valueTypeAt=(t,r)=>{let o=t;for(let t of r){let r=o.flatMap(e=>n(e,t));if(0===r.length)return e;o=r}return o};