@salsita-ai/sdk 0.50.0-develop.97a772d197 → 0.50.0-develop.98166fe7c3

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 (1046) hide show
  1. package/README.md +14 -13
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/admin/default-admin-elements.d.ts +9 -0
  4. package/dist/admin/default-admin-elements.js +1 -0
  5. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  6. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  7. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  8. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  9. package/dist/admin/default-elements/index.d.ts +2 -0
  10. package/dist/admin/default-elements/index.js +1 -0
  11. package/dist/admin/index.d.ts +1 -0
  12. package/dist/admin/index.js +1 -1
  13. package/dist/application-spec/caching/content-diff.js +1 -1
  14. package/dist/application-spec/core/application-file.d.ts +0 -2
  15. package/dist/application-spec/core/application-file.js +1 -1
  16. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  17. package/dist/application-spec/core/components/component-filter.js +1 -0
  18. package/dist/application-spec/core/components/index.d.ts +2 -0
  19. package/dist/application-spec/core/components/index.js +1 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  21. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  22. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  23. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  24. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  25. package/dist/application-spec/core/expressions/index.js +1 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +17 -0
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  52. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  53. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  54. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +19 -9
  55. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  56. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  57. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  59. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  60. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  61. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  62. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  63. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  64. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  65. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  66. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  67. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  68. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  69. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  72. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  73. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  74. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  75. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  76. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  77. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  78. package/dist/application-spec/generate-application/code/templates/globals.js +7 -4
  79. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -8
  80. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  82. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  83. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  84. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  85. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  86. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  87. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  90. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  91. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  92. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +24 -18
  93. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  94. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  95. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  96. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  97. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  98. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  99. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  100. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  101. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  102. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  103. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  104. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  105. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  106. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  107. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  108. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  109. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  110. package/dist/application-spec/generate-application/index.d.ts +2 -0
  111. package/dist/application-spec/generate-application/index.js +1 -1
  112. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +4 -3
  113. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +7 -3
  114. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  115. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  116. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +13 -7
  117. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  118. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +4 -3
  119. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +6 -4
  120. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  121. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  122. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  123. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  124. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  125. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  126. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  127. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  128. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  129. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  130. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  131. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  132. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  133. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  134. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  135. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  136. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  137. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  138. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  139. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +3 -2
  140. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  142. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  143. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  144. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  145. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  146. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  147. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  148. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  149. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  150. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  151. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  152. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  153. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  154. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  155. package/dist/application-spec/index.d.ts +1 -0
  156. package/dist/application-spec/index.js +1 -1
  157. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  158. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  159. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  160. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  161. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  162. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  163. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  164. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  165. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  166. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  167. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  168. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  169. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  170. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  171. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  172. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  173. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  174. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  175. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  176. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  177. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  178. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  179. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  180. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  181. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  182. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  183. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  184. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  185. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  186. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  187. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  188. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  189. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  190. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  191. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  192. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  193. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  194. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  195. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  196. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  197. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  198. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  199. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  200. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  201. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  202. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  203. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  204. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  205. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  206. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  207. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  208. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  209. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  210. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  211. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  212. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  213. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  214. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  215. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  216. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  217. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  218. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  219. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  220. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  221. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  222. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  223. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  224. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  225. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  226. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  227. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  228. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  229. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  230. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  231. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  232. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  233. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  234. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  235. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  236. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  237. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  238. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  239. package/dist/client/authorized-client.d.ts +3 -1
  240. package/dist/client/authorized-client.js +1 -1
  241. package/dist/client/contract.d.ts +34 -0
  242. package/dist/client/contract.js +1 -1
  243. package/dist/client/index.d.ts +2 -2
  244. package/dist/client/index.js +1 -1
  245. package/dist/client/local-authorized-client.d.ts +3 -1
  246. package/dist/client/local-authorized-client.js +1 -1
  247. package/dist/client/memory-authorized-client.d.ts +3 -1
  248. package/dist/client/memory-authorized-client.js +1 -1
  249. package/dist/client/phoenix-api.d.ts +797 -121
  250. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  251. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  252. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  253. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +126 -2
  254. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  255. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  256. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  257. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  258. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  259. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  260. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  261. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  262. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  263. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  264. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  265. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  266. package/dist/configurator/common/configurator-interface.js +1 -1
  267. package/dist/configurator/common/frontend-analytics.d.ts +2 -0
  268. package/dist/configurator/common/frontend-analytics.js +1 -1
  269. package/dist/configurator/common/index.d.ts +2 -0
  270. package/dist/configurator/common/index.js +1 -1
  271. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  272. package/dist/configurator/common/use-finalize-action.js +1 -0
  273. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  274. package/dist/configurator/common/use-reset-camera.js +1 -0
  275. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  276. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  277. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  278. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  279. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  280. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  281. package/dist/configurator/pages/default-configurator-elements.d.ts +8 -0
  282. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  283. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  284. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  285. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  286. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  287. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  288. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  289. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  290. package/dist/configurator/pages/default-elements/index.js +1 -0
  291. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  292. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  293. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  294. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  295. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  296. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  297. package/dist/configurator/pages/index.d.ts +1 -0
  298. package/dist/configurator/pages/index.js +1 -1
  299. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  300. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  301. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  302. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  303. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  304. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  305. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  306. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  307. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  308. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  309. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  310. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  311. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  312. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  313. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  314. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  315. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  316. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  317. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  318. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  319. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  320. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  321. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  322. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  323. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  324. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  325. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  326. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  327. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  328. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  329. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  330. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  331. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  332. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  333. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  334. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  335. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  336. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  337. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  338. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  339. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  340. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  341. package/dist/configurator/ui/assistant/form/index.js +1 -0
  342. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  343. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  344. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  345. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  346. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  347. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  348. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  349. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  350. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  351. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  352. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  353. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  354. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  355. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  356. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  357. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  358. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  359. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  360. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  361. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  362. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  363. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  364. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  365. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  366. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  367. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  368. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  369. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  370. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  371. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  372. package/dist/configurator/ui/assistant/thread-items.d.ts +21 -3
  373. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  374. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  375. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  376. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  377. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  378. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  379. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  380. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  381. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  382. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  383. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  384. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  385. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  386. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  387. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  388. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  389. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  390. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  391. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  392. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  393. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  394. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  395. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  396. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  397. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  398. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  399. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  400. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  401. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  402. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  403. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  404. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  405. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  406. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  407. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  408. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  409. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  410. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  411. package/dist/docs/fabs/basic.mdx +2 -2
  412. package/dist/docs/index.json +42 -1
  413. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  414. package/dist/docs/layouts/custom-layout.mdx +2434 -0
  415. package/dist/docs/layouts/header/fixed.mdx +2 -2
  416. package/dist/docs/layouts/header/floating.mdx +2 -2
  417. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  418. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  419. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  420. package/dist/docs/other-features/side-effects.mdx +8 -11
  421. package/dist/docs/other-features/transformers.mdx +4 -0
  422. package/dist/docs/other-features/violation-messages.mdx +52 -56
  423. package/dist/docs/phoenix/application-states.mdx +9 -7
  424. package/dist/docs/phoenix/components.mdx +6 -0
  425. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  426. package/dist/docs/phoenix/deployments.mdx +2 -6
  427. package/dist/docs/phoenix/domain-model.mdx +6 -0
  428. package/dist/docs/phoenix/expression-context.mdx +11 -3
  429. package/dist/docs/phoenix/finalization.mdx +1 -1
  430. package/dist/docs/phoenix/getting-started.mdx +3 -2
  431. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  432. package/dist/docs/phoenix/localization.mdx +10 -6
  433. package/dist/docs/phoenix/migration-guide.mdx +21 -8
  434. package/dist/docs/phoenix/phoenix-cli.mdx +73 -37
  435. package/dist/docs/phoenix/project-structure.mdx +46 -20
  436. package/dist/docs/phoenix/quickstart.mdx +2 -2
  437. package/dist/docs/phoenix/sdk-builder-workflow.mdx +3 -3
  438. package/dist/docs/phoenix/testing.mdx +140 -0
  439. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  440. package/dist/docs/phoenix/webhooks.mdx +23 -6
  441. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  442. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  443. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  444. package/dist/domain/admin-domain/index.d.ts +7 -2
  445. package/dist/domain/admin-domain/index.js +1 -1
  446. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  447. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  448. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  449. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  450. package/dist/domain/application/application-config.d.ts +9 -26
  451. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  452. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  453. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  454. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  455. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  456. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  457. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  458. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  459. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  460. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  461. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  462. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  463. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  464. package/dist/domain/application/assistant/index.d.ts +8 -1
  465. package/dist/domain/application/assistant/index.js +1 -1
  466. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  467. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  468. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  469. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  470. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  471. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  472. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  473. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  474. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  475. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  476. package/dist/domain/application/assistant-mutations.d.ts +2 -1
  477. package/dist/domain/application/assistant-recipe-groups.d.ts +4 -2
  478. package/dist/domain/application/configurator-builder.d.ts +5 -2
  479. package/dist/domain/application/configurator-builder.js +1 -1
  480. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  481. package/dist/domain/application/index.d.ts +1 -5
  482. package/dist/domain/application/index.js +1 -1
  483. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  484. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  485. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  486. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  487. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  488. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  489. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  490. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  491. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  492. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  493. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  494. package/dist/domain/available-system-components.js +1 -1
  495. package/dist/domain/core/action/action-factory.d.ts +2 -2
  496. package/dist/domain/core/action/action.d.ts +19 -14
  497. package/dist/domain/core/component/domain-component-optic.d.ts +29 -40
  498. package/dist/domain/core/component/domain-component-optic.js +2 -2
  499. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  500. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  501. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  502. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  503. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  504. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  505. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  506. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  507. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  508. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  509. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  510. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  511. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  512. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  513. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  514. package/dist/domain/core/data-schema/data-schema.js +1 -0
  515. package/dist/domain/core/data-schema/index.d.ts +7 -0
  516. package/dist/domain/core/data-schema/index.js +1 -0
  517. package/dist/domain/core/domain.d.ts +2 -2
  518. package/dist/domain/core/emission/index.d.ts +8 -0
  519. package/dist/domain/core/emission/index.js +1 -0
  520. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  521. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  522. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  523. package/dist/domain/core/emission/state-emission.js +1 -0
  524. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  525. package/dist/domain/core/emission/state-update-emission.js +1 -0
  526. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  527. package/dist/domain/core/emission/state-validation-result.js +1 -0
  528. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  529. package/dist/domain/core/emission/transformation-log.js +1 -0
  530. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  531. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  532. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  533. package/dist/domain/core/emission/transformer-log.js +1 -0
  534. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  535. package/dist/domain/core/emission/transformer-phase.js +1 -0
  536. package/dist/domain/core/expression/aliased-expressions.d.ts +2 -2
  537. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  538. package/dist/domain/core/expression/constant-expressions.js +1 -1
  539. package/dist/domain/core/expression/custom-expression.d.ts +20 -7
  540. package/dist/domain/core/expression/custom-expression.js +1 -1
  541. package/dist/domain/core/expression/expression.d.ts +15 -17
  542. package/dist/domain/core/index.d.ts +2 -0
  543. package/dist/domain/core/invariant/custom-invariants.d.ts +8 -16
  544. package/dist/domain/core/invariant/index.d.ts +1 -1
  545. package/dist/domain/core/invariant/index.js +1 -1
  546. package/dist/domain/core/invariant/invariants.d.ts +4 -70
  547. package/dist/domain/core/invariant/invariants.js +1 -1
  548. package/dist/domain/core/invariant/violation.d.ts +51 -3
  549. package/dist/domain/core/invariant/violation.js +1 -1
  550. package/dist/domain/core/model/model.d.ts +1 -1
  551. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  552. package/dist/domain/core/recipe/recipes.js +1 -1
  553. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  554. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  555. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  556. package/dist/domain/core/relation/index.d.ts +0 -1
  557. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  558. package/dist/domain/core/relation/indirect-relation.js +1 -1
  559. package/dist/domain/core/relation/reference-component.d.ts +2 -2
  560. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  561. package/dist/domain/core/relation/relation-factory.js +1 -1
  562. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  563. package/dist/domain/core/state/migrations.d.ts +14 -45
  564. package/dist/domain/core/state/migrations.js +1 -1
  565. package/dist/domain/core/state/state.d.ts +1 -1
  566. package/dist/domain/domain-builder.d.ts +1 -1
  567. package/dist/domain/domain-builder.js +1 -1
  568. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  569. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  570. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  571. package/dist/domain/domain-context/action-system/index.js +1 -0
  572. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  573. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  574. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  575. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  576. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  577. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  578. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  579. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  580. package/dist/domain/domain-context/index.d.ts +8 -17
  581. package/dist/domain/domain-context/index.js +1 -1
  582. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  583. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  584. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  585. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  586. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  587. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  588. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  589. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  590. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  591. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  592. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  593. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  594. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  595. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  596. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  597. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  598. package/dist/domain/domain-context/store-system/index.js +1 -0
  599. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  600. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -35
  601. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  602. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  603. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  604. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  605. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  606. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  607. package/dist/domain/domain-context/transformers/context.d.ts +2 -3
  608. package/dist/domain/domain-context/transformers/context.js +1 -1
  609. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  610. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  611. package/dist/domain/domain-context/transformers/index.js +1 -1
  612. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  613. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  614. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  615. package/dist/domain/domain-context/undo-system.js +1 -1
  616. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  617. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  618. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  619. package/dist/domain/domain-runtime/access/types.js +1 -1
  620. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  621. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  622. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  623. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  624. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  625. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  626. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  627. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  628. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +18 -22
  629. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  630. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  631. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  632. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  633. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  634. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  635. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  636. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  637. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  638. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  639. package/dist/domain/domain-runtime/errors/index.js +1 -0
  640. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  641. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  642. package/dist/domain/domain-runtime/index.d.ts +1 -0
  643. package/dist/domain/domain-runtime/index.js +1 -1
  644. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  645. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  646. package/dist/domain/domain-runtime/spec/index.d.ts +2 -0
  647. package/dist/domain/domain-runtime/spec/index.js +1 -1
  648. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  649. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  650. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +2 -2
  651. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  652. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  653. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  654. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  655. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  656. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  657. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  658. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  659. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  660. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  661. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  662. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  663. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  664. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  665. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  666. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  667. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  668. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  669. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  670. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  671. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  672. package/dist/domain/extensions/attribute-switch.js +1 -0
  673. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  674. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +1 -1
  675. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  676. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  677. package/dist/domain/{system-components → extensions}/client-side-image.js +1 -1
  678. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  679. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  680. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  681. package/dist/domain/extensions/common/index.d.ts +4 -0
  682. package/dist/domain/extensions/common/index.js +1 -0
  683. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  684. package/dist/domain/extensions/custom-header.js +1 -0
  685. package/dist/domain/{system-components → extensions}/custom-price-footer.js +1 -1
  686. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  687. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  688. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  689. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  690. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  691. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  692. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  693. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  694. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  695. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  696. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  697. package/dist/domain/extensions/entity-header.js +1 -0
  698. package/dist/domain/{system-components → extensions}/finalize-component.js +1 -1
  699. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  700. package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.js +1 -1
  701. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  702. package/dist/domain/extensions/index.d.ts +69 -0
  703. package/dist/domain/extensions/index.js +1 -0
  704. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  705. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  706. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  707. package/dist/domain/extensions/offset-indicator.js +1 -0
  708. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  709. package/dist/domain/extensions/property-page.js +1 -0
  710. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +1 -1
  711. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  712. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  713. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  714. package/dist/domain/{system-components → extensions}/save-template-thumbnail.js +1 -1
  715. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  716. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  717. package/dist/domain/{system-components → extensions}/scene-entity-animation.js +1 -1
  718. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  719. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  720. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  721. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  722. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  723. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  724. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  725. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  726. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  727. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  728. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  729. package/dist/domain/extensions/sketching-edit.js +1 -0
  730. package/dist/domain/{system-components → extensions}/summary-component.js +1 -1
  731. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  732. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  733. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  734. package/dist/domain/extensions/toolbar.js +1 -0
  735. package/dist/domain/index.d.ts +1 -1
  736. package/dist/domain/index.js +1 -1
  737. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  738. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  739. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  740. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  741. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  742. package/dist/domain/mocks/create-mock-domain.js +1 -1
  743. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  744. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  745. package/dist/domain/mocks/create-test-application-config.js +1 -0
  746. package/dist/domain/mocks/index.d.ts +1 -0
  747. package/dist/domain/mocks/index.js +1 -1
  748. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  749. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  750. package/dist/domain/projections/collision-projections.d.ts +1 -1
  751. package/dist/domain/projections/composition-projections.d.ts +1 -1
  752. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  753. package/dist/domain/projections/index.d.ts +1 -1
  754. package/dist/domain/projections/position-projections.d.ts +1 -1
  755. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  756. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  757. package/dist/domain/projections/validation-projections.d.ts +3 -19
  758. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  759. package/dist/domain/system-components/application-config.d.ts +2 -2
  760. package/dist/domain/system-components/child-entity-selection.js +1 -1
  761. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  762. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  763. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  764. package/dist/domain/system-components/common/index.d.ts +0 -4
  765. package/dist/domain/system-components/common/index.js +1 -1
  766. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  767. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  768. package/dist/domain/system-components/common/recipes.js +1 -1
  769. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  770. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  771. package/dist/domain/system-components/constraint.d.ts +10 -23
  772. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  773. package/dist/domain/system-components/drag-handle.js +1 -1
  774. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  775. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  776. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  777. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  778. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  779. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  780. package/dist/domain/system-components/index.d.ts +0 -68
  781. package/dist/domain/system-components/index.js +1 -1
  782. package/dist/domain/system-components/material-swatch.js +1 -1
  783. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  784. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  785. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  786. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  787. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  788. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  789. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  790. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  791. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  792. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  793. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  794. package/dist/domain/utils/eval-cache.d.ts +1 -1
  795. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  796. package/dist/domain/utils/memo-eval.d.ts +2 -2
  797. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  798. package/dist/editor/mocks/EditorMockContext.js +1 -1
  799. package/dist/globals/index.d.ts +2 -0
  800. package/dist/i18n/locales/cs/messages.js +1 -1
  801. package/dist/i18n/locales/da/messages.js +1 -1
  802. package/dist/i18n/locales/de/messages.js +1 -1
  803. package/dist/i18n/locales/de-AT/messages.js +1 -1
  804. package/dist/i18n/locales/en/messages.js +1 -1
  805. package/dist/i18n/locales/en-AU/messages.js +1 -1
  806. package/dist/i18n/locales/en-GB/messages.js +1 -1
  807. package/dist/i18n/locales/es/messages.js +1 -1
  808. package/dist/i18n/locales/fr/messages.js +1 -1
  809. package/dist/i18n/locales/hu/messages.js +1 -1
  810. package/dist/i18n/locales/it/messages.js +1 -1
  811. package/dist/i18n/locales/nl/messages.js +1 -1
  812. package/dist/i18n/locales/pl/messages.js +1 -1
  813. package/dist/i18n/locales/pt/messages.js +1 -1
  814. package/dist/i18n/locales/ro/messages.js +1 -1
  815. package/dist/i18n/locales/sk/messages.js +1 -1
  816. package/dist/i18n/locales/tr/messages.js +1 -1
  817. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  818. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  819. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  820. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  821. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  822. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  823. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  824. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  825. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  826. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  827. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  828. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  829. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  830. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  831. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  832. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  833. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  834. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  835. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  836. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  837. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  838. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  839. package/dist/phoenix/application-spec/project-files.js +1 -1
  840. package/dist/phoenix/bin.d.ts +2 -0
  841. package/dist/phoenix/bin.js +2 -0
  842. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  843. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  844. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  845. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  846. package/dist/phoenix/check-configs/index.d.ts +8 -0
  847. package/dist/phoenix/check-configs/index.js +1 -0
  848. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  849. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  850. package/dist/phoenix/cli.d.ts +0 -1
  851. package/dist/phoenix/cli.js +1 -2
  852. package/dist/phoenix/commands/check.js +1 -1
  853. package/dist/phoenix/commands/deploy.js +1 -1
  854. package/dist/phoenix/commands/deps/deps.d.ts +52 -0
  855. package/dist/phoenix/commands/deps/deps.js +3 -0
  856. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  857. package/dist/phoenix/commands/deps/index.js +1 -0
  858. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  859. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  860. package/dist/phoenix/commands/dev.js +5 -5
  861. package/dist/phoenix/commands/fix.js +1 -1
  862. package/dist/phoenix/commands/index.d.ts +1 -0
  863. package/dist/phoenix/commands/index.js +1 -1
  864. package/dist/phoenix/commands/init.d.ts +4 -4
  865. package/dist/phoenix/commands/init.js +1 -1
  866. package/dist/phoenix/commands/prettier.js +1 -1
  867. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -0
  868. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  869. package/dist/phoenix/services/lingui.d.ts +8 -0
  870. package/dist/phoenix/services/lingui.js +1 -1
  871. package/dist/phoenix/services/source-archive.d.ts +1 -0
  872. package/dist/phoenix/services/source-archive.js +1 -1
  873. package/dist/phoenix/services/swc.js +1 -1
  874. package/dist/phoenix/services/vite-config.js +1 -1
  875. package/dist/phoenix/utils/git/index.d.ts +1 -0
  876. package/dist/phoenix/utils/git/index.js +1 -0
  877. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  878. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  879. package/dist/phoenix/utils/index.d.ts +3 -1
  880. package/dist/phoenix/utils/index.js +1 -1
  881. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  882. package/dist/phoenix/utils/node-version/index.js +1 -0
  883. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  884. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  885. package/dist/phoenix/utils/run-command.d.ts +11 -0
  886. package/dist/phoenix/utils/run-command.js +1 -1
  887. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  888. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  889. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  890. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  891. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  892. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  893. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  894. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  895. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  896. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  897. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  898. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  899. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  900. package/dist/react-sdk/domain-context/index.js +1 -1
  901. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  902. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  903. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  904. package/dist/ui-sdk/theme/types.d.ts +1 -1
  905. package/dist/webhook/builders/common.d.ts +5 -0
  906. package/dist/webhook/builders/webhook-builder.js +1 -1
  907. package/package.json +46 -35
  908. package/schema/domain-spec.json +1201 -217
  909. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  910. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  911. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  912. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  913. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  914. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  915. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  916. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  917. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  918. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  919. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  920. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  921. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  922. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  923. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  924. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  925. package/dist/domain/application/element-registration.js +0 -1
  926. package/dist/domain/application/handler-registration.js +0 -1
  927. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  928. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  929. package/dist/domain/application/resource-builder.d.ts +0 -13
  930. package/dist/domain/application/resource-builder.js +0 -1
  931. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  932. package/dist/domain/project-modules/index.d.ts +0 -1
  933. package/dist/domain/project-modules/index.js +0 -1
  934. package/dist/domain/project-modules/project-modules.js +0 -1
  935. package/dist/domain/system-components/attribute-switch.js +0 -1
  936. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  937. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  938. package/dist/domain/system-components/custom-header.js +0 -1
  939. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  940. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  941. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  942. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  943. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  944. package/dist/domain/system-components/entity-header.js +0 -1
  945. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  946. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  947. package/dist/domain/system-components/offset-indicator.js +0 -1
  948. package/dist/domain/system-components/property-page.js +0 -1
  949. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  950. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  951. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  952. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  953. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  954. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  955. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  956. package/dist/domain/system-components/sketching-edit.js +0 -1
  957. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  958. package/dist/domain/system-components/toolbar.js +0 -1
  959. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  960. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  961. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  962. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  963. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  964. /package/dist/domain/{system-components → extensions}/angle-indicator.js +0 -0
  965. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +0 -0
  966. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.js +0 -0
  967. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  968. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.js +0 -0
  969. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  970. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.js +0 -0
  971. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  972. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.js +0 -0
  973. /package/dist/domain/{system-components → extensions}/canvas-config.js +0 -0
  974. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  975. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.js +0 -0
  976. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  977. /package/dist/domain/{system-components → extensions}/canvas-padding.js +0 -0
  978. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  979. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.js +0 -0
  980. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  981. /package/dist/domain/{system-components → extensions}/color-value.js +0 -0
  982. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  983. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  984. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  985. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  986. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  987. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  988. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  989. /package/dist/domain/{system-components → extensions}/dimension-indicator.js +0 -0
  990. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  991. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.js +0 -0
  992. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  993. /package/dist/domain/{system-components → extensions}/finalize-action.js +0 -0
  994. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  995. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  996. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  997. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  998. /package/dist/domain/{system-components → extensions}/fixed-header.js +0 -0
  999. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  1000. /package/dist/domain/{system-components → extensions}/floating-header.js +0 -0
  1001. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  1002. /package/dist/domain/{system-components → extensions}/hidden-header.js +0 -0
  1003. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  1004. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.js +0 -0
  1005. /package/dist/domain/{system-components → extensions}/horizontal-tabs.js +0 -0
  1006. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1007. /package/dist/domain/{system-components → extensions}/multilingual-text-value.js +0 -0
  1008. /package/dist/domain/{system-components → extensions}/navigation-steps.js +0 -0
  1009. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  1010. /package/dist/domain/{system-components → extensions}/offset-anchors.js +0 -0
  1011. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  1012. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  1013. /package/dist/domain/{system-components → extensions}/offset.js +0 -0
  1014. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  1015. /package/dist/domain/{system-components → extensions}/other-action.js +0 -0
  1016. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  1017. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.js +0 -0
  1018. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1019. /package/dist/domain/{system-components → extensions}/rotatable.js +0 -0
  1020. /package/dist/domain/{system-components → extensions}/rotation-handle.js +0 -0
  1021. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1022. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1023. /package/dist/domain/{system-components → extensions}/scene-entity-control.js +0 -0
  1024. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1025. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.js +0 -0
  1026. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1027. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.js +0 -0
  1028. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1029. /package/dist/domain/{system-components → extensions}/selectable-component.js +0 -0
  1030. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  1031. /package/dist/domain/{system-components → extensions}/sidebar-tabs.js +0 -0
  1032. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1033. /package/dist/domain/{system-components → extensions}/simple-summary.js +0 -0
  1034. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  1035. /package/dist/domain/{system-components → extensions}/size.js +0 -0
  1036. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  1037. /package/dist/domain/{system-components → extensions}/sketching-draw.js +0 -0
  1038. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1039. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1040. /package/dist/domain/{system-components → extensions}/text-value.js +0 -0
  1041. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1042. /package/dist/domain/{system-components → extensions}/tool-controls.js +0 -0
  1043. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  1044. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.js +0 -0
  1045. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
  1046. /package/dist/domain/{system-components → extensions}/view-controls.js +0 -0
@@ -12,7 +12,6 @@
12
12
  * @module
13
13
  */
14
14
  export { stripSdkMarkerContent } from './common/strip-sdk-marker-content.js';
15
- export { generateAgentsMd } from './skills/agents-md.js';
16
15
  export { generateApplicationSpecAdminConfig } from './admin-config.js';
17
16
  export { generateApplicationSpecAdminCode } from './admin-domain-code.js';
18
17
  export { generateApplicationSpecAdminFrontendCode } from './admin-frontend-code.js';
@@ -30,8 +29,6 @@ export { generateApplicationSpecDomainFile } from './domain.js';
30
29
  export { generateApplicationSpecEditorFile } from './editor.js';
31
30
  export { generateApplicationSpecEmbeddedAdmin } from './embedded-admin.js';
32
31
  export { generateApplicationSpecEmbeddedConfigurator } from './embedded-configurator.js';
33
- export { generateApplicationSpecEnvCi } from './env-ci.js';
34
- export { generateApplicationSpecEnvExample } from './env-example.js';
35
32
  export { generateApplicationSpecEslintConfig } from './eslint-config.js';
36
33
  export { generateApplicationSpecFavicon } from './favicon.js';
37
34
  export { generateApplicationSpecFrontendConfig } from './frontend-config.js';
@@ -49,14 +46,12 @@ export { generatePhoenixReviewSkill } from './skills/phoenix-review-skill.js';
49
46
  export { type PhoenixSkillOptions, followsCanaryBuilds, generatePhoenixSkill } from './skills/phoenix-skill.js';
50
47
  export { generatePhoenixVariantsSkill } from './skills/phoenix-variants-skill.js';
51
48
  export { generateApplicationSpecPrettierConfig } from './prettier-config.js';
52
- export { generateApplicationSpecPrettierIgnore } from './prettier-ignore.js';
53
- export { generateApplicationSpecPrivateAssetsReadme } from './private-assets-readme.js';
54
- export { generateApplicationSpecPublicAssetsReadme } from './public-assets-readme.js';
55
- export { generateApplicationSpecReadme } from './readme.js';
56
49
  export { generateApplicationSpecRobotsTxt } from './robots-txt.js';
50
+ export { generateApplicationSpecRootTsconfig } from './root-tsconfig.js';
57
51
  export { generateApplicationSpecStoryDevDeclaration, generateApplicationSpecStoryPhxModule, generateApplicationSpecStoryRawProjectFiles, generateApplicationSpecStoryWrapper, } from './story/index.js';
52
+ export { generateApplicationSpecCodeFile } from './spec-code/index.js';
53
+ export { generateApplicationSpecMessagesFile } from './spec-messages/index.js';
58
54
  export { generateApplicationSpecTsconfig } from './tsconfig.js';
59
55
  export { generateApplicationSpecWebhookBuilders } from './webhook-builders.js';
60
- export { generateApplicationSpecWebhookImplementation } from './webhook-implementation.js';
61
56
  export { generateApplicationSpecWebhookIndex } from './webhook-index.js';
62
57
  export { generateApplicationSpecWebhooksConfig } from './webhooks-config.js';
@@ -1 +1 @@
1
- export{stripSdkMarkerContent}from"./common/strip-sdk-marker-content.js";export{generateAgentsMd}from"./skills/agents-md.js";export{generateApplicationSpecAdminConfig}from"./admin-config.js";export{generateApplicationSpecAdminCode}from"./admin-domain-code.js";export{generateApplicationSpecAdminFrontendCode}from"./admin-frontend-code.js";export{generateAdminGlobalBindingBlock,generateApplicationSpecAdminGlobals}from"./admin-globals.js";export{generateApplicationSpecTypesModule}from"./application-types.js";export{generateApplicationSpecAdminFile}from"./admin.js";export{generateApplicationSpecConfiguratorConfig}from"./configurator-config.js";export{generateApplicationSpecConfiguratorCode}from"./configurator-domain-code.js";export{generateApplicationSpecConfiguratorFrontendCode}from"./configurator-frontend-code.js";export{generateApplicationSpecConfiguratorGlobals,generateConfiguratorGlobalBindingBlock}from"./configurator-globals.js";export{generateApplicationSpecConfiguratorFile}from"./configurator.js";export{generateApplicationSpecDomainSpecFile}from"./domain-spec.js";export{generateImportedStateConstants,generatePhxExportsBlock,generatePhxGlobalsBlock,generateStateConstants}from"./domain-spec/index.js";export{generateApplicationSpecDomainFile}from"./domain.js";export{generateApplicationSpecEditorFile}from"./editor.js";export{generateApplicationSpecEmbeddedAdmin}from"./embedded-admin.js";export{generateApplicationSpecEmbeddedConfigurator}from"./embedded-configurator.js";export{generateApplicationSpecEnvCi}from"./env-ci.js";export{generateApplicationSpecEnvExample}from"./env-example.js";export{generateApplicationSpecEslintConfig}from"./eslint-config.js";export{generateApplicationSpecFavicon}from"./favicon.js";export{generateApplicationSpecFrontendConfig}from"./frontend-config.js";export{generateApplicationSpecGitignore}from"./gitignore.js";export{generateApplicationSpecGlobals}from"./globals.js";export{generateApplicationSpecHtmlAdminIndex}from"./html-admin-index.js";export{generateApplicationSpecHtmlIndex}from"./html-index.js";export{generateLinguiRcFile}from"./lingui-rc.js";export{generateApplicationSpecNvmrc}from"./nvmrc.js";export{generateApplicationSpecPackageJson}from"./package-json.js";export{generatePhoenixCliSkill}from"./skills/phoenix-cli-skill.js";export{generatePhoenixCreateConfiguratorSkill,generatePhoenixCreateConfiguratorSkillReferences}from"./skills/phoenix-create-configurator-skill.js";export{generatePhoenixFeedbackSkill}from"./skills/phoenix-feedback-skill.js";export{generatePhoenixReviewSkill}from"./skills/phoenix-review-skill.js";export{followsCanaryBuilds,generatePhoenixSkill}from"./skills/phoenix-skill.js";export{generatePhoenixVariantsSkill}from"./skills/phoenix-variants-skill.js";export{generateApplicationSpecPrettierConfig}from"./prettier-config.js";export{generateApplicationSpecPrettierIgnore}from"./prettier-ignore.js";export{generateApplicationSpecPrivateAssetsReadme}from"./private-assets-readme.js";export{generateApplicationSpecPublicAssetsReadme}from"./public-assets-readme.js";export{generateApplicationSpecReadme}from"./readme.js";export{generateApplicationSpecRobotsTxt}from"./robots-txt.js";export{generateApplicationSpecStoryDevDeclaration,generateApplicationSpecStoryPhxModule,generateApplicationSpecStoryRawProjectFiles,generateApplicationSpecStoryWrapper}from"./story/index.js";export{generateApplicationSpecTsconfig}from"./tsconfig.js";export{generateApplicationSpecWebhookBuilders}from"./webhook-builders.js";export{generateApplicationSpecWebhookImplementation}from"./webhook-implementation.js";export{generateApplicationSpecWebhookIndex}from"./webhook-index.js";export{generateApplicationSpecWebhooksConfig}from"./webhooks-config.js";
1
+ export{stripSdkMarkerContent}from"./common/strip-sdk-marker-content.js";export{generateApplicationSpecAdminConfig}from"./admin-config.js";export{generateApplicationSpecAdminCode}from"./admin-domain-code.js";export{generateApplicationSpecAdminFrontendCode}from"./admin-frontend-code.js";export{generateAdminGlobalBindingBlock,generateApplicationSpecAdminGlobals}from"./admin-globals.js";export{generateApplicationSpecTypesModule}from"./application-types.js";export{generateApplicationSpecAdminFile}from"./admin.js";export{generateApplicationSpecConfiguratorConfig}from"./configurator-config.js";export{generateApplicationSpecConfiguratorCode}from"./configurator-domain-code.js";export{generateApplicationSpecConfiguratorFrontendCode}from"./configurator-frontend-code.js";export{generateApplicationSpecConfiguratorGlobals,generateConfiguratorGlobalBindingBlock}from"./configurator-globals.js";export{generateApplicationSpecConfiguratorFile}from"./configurator.js";export{generateApplicationSpecDomainSpecFile}from"./domain-spec.js";export{generateImportedStateConstants,generatePhxExportsBlock,generatePhxGlobalsBlock,generateStateConstants}from"./domain-spec/index.js";export{generateApplicationSpecDomainFile}from"./domain.js";export{generateApplicationSpecEditorFile}from"./editor.js";export{generateApplicationSpecEmbeddedAdmin}from"./embedded-admin.js";export{generateApplicationSpecEmbeddedConfigurator}from"./embedded-configurator.js";export{generateApplicationSpecEslintConfig}from"./eslint-config.js";export{generateApplicationSpecFavicon}from"./favicon.js";export{generateApplicationSpecFrontendConfig}from"./frontend-config.js";export{generateApplicationSpecGitignore}from"./gitignore.js";export{generateApplicationSpecGlobals}from"./globals.js";export{generateApplicationSpecHtmlAdminIndex}from"./html-admin-index.js";export{generateApplicationSpecHtmlIndex}from"./html-index.js";export{generateLinguiRcFile}from"./lingui-rc.js";export{generateApplicationSpecNvmrc}from"./nvmrc.js";export{generateApplicationSpecPackageJson}from"./package-json.js";export{generatePhoenixCliSkill}from"./skills/phoenix-cli-skill.js";export{generatePhoenixCreateConfiguratorSkill,generatePhoenixCreateConfiguratorSkillReferences}from"./skills/phoenix-create-configurator-skill.js";export{generatePhoenixFeedbackSkill}from"./skills/phoenix-feedback-skill.js";export{generatePhoenixReviewSkill}from"./skills/phoenix-review-skill.js";export{followsCanaryBuilds,generatePhoenixSkill}from"./skills/phoenix-skill.js";export{generatePhoenixVariantsSkill}from"./skills/phoenix-variants-skill.js";export{generateApplicationSpecPrettierConfig}from"./prettier-config.js";export{generateApplicationSpecRobotsTxt}from"./robots-txt.js";export{generateApplicationSpecRootTsconfig}from"./root-tsconfig.js";export{generateApplicationSpecStoryDevDeclaration,generateApplicationSpecStoryPhxModule,generateApplicationSpecStoryRawProjectFiles,generateApplicationSpecStoryWrapper}from"./story/index.js";export{generateApplicationSpecCodeFile}from"./spec-code/index.js";export{generateApplicationSpecMessagesFile}from"./spec-messages/index.js";export{generateApplicationSpecTsconfig}from"./tsconfig.js";export{generateApplicationSpecWebhookBuilders}from"./webhook-builders.js";export{generateApplicationSpecWebhookIndex}from"./webhook-index.js";export{generateApplicationSpecWebhooksConfig}from"./webhooks-config.js";
@@ -1 +1,6 @@
1
+ /**
2
+ * The project's Lingui configuration, generated to `.phoenix/.linguirc` and, for a Storybook story, to
3
+ * the story's root. Lingui resolves its paths against the directory it runs in, the project or story
4
+ * root, so they hold in either place; `<rootDir>` would be the folder that holds the file.
5
+ */
1
6
  export declare const generateLinguiRcFile: (availableLocales: readonly string[]) => string;
@@ -1,12 +1,12 @@
1
- import{DEFAULT_FALLBACK_LOCALE as e,LOCALE_FALLBACK_MAP as a}from"#package/i18n";export const generateLinguiRcFile=o=>{let s;return`{
1
+ import{DEFAULT_FALLBACK_LOCALE as e,LOCALE_FALLBACK_MAP as a}from"#package/i18n";export const generateLinguiRcFile=s=>{let o;return`{
2
2
  "sourceLocale": "en",
3
- "locales": [${o.map(e=>`"${e}"`).join(", ")}],
3
+ "locales": [${s.map(e=>`"${e}"`).join(", ")}],
4
4
  "fallbackLocales": {
5
- ${(s=Object.entries(a).map(([e,a])=>{let o=Array.isArray(a)?`[${a.map(e=>`"${e}"`).join(", ")}]`:`"${a}"`;return` "${e}": ${o}`})).push(` "default": "${e}"`),s.join(",\n")}
5
+ ${(o=Object.entries(a).map(([e,a])=>{let s=Array.isArray(a)?`[${a.map(e=>`"${e}"`).join(", ")}]`:`"${a}"`;return` "${e}": ${s}`})).push(` "default": "${e}"`),o.join(",\n")}
6
6
  },
7
7
  "catalogs": [
8
8
  {
9
- "path": "<rootDir>/src/locales/{locale}/messages",
9
+ "path": "./src/locales/{locale}/messages",
10
10
  "include": [
11
11
  "./src",
12
12
  "./.phoenix"
@@ -1 +1 @@
1
- let e=["@salsita-ai/platform-project-sdk","@salsita-ai/platform-common","@salsita-ai/platform-contracts","@salsita-ai/common","@salsita-ai/contracts"],t=(e,t)=>e>t?1:e<t?-1:0,r={private:!0,type:"module",packageManager:"pnpm@11.1.3",engines:{node:"24.14.1",pnpm:"11.1.3"}},i={"babel-plugin-macros":"3.1.0",vite:"6.4.3","@vitejs/plugin-react":"5.2.0","@swc/cli":"0.8.1","@swc/core":"1.15.40",typescript:"npm:@typescript/typescript6@6.0.2","@lingui/cli":"5.9.5","@types/lodash-es":"4.17.12","@lingui/macro":"5.9.5","@lingui/swc-plugin":"5.11.0","@types/node":"24.12.2","@types/react":"18.3.8","@types/react-dom":"18.3.0","@types/three":"0.160.0","@typescript/native":"npm:typescript@7.0.2",envalid:"8.1.1",eslint:"9.39.4",prettier:"3.8.3",vitest:"4.1.11"},n={build:"phoenix build",clean:"phoenix clean",dev:"phoenix dev","dev:local":"phoenix dev --persistence local-storage",sync:"phoenix sync",check:"phoenix check",fix:"phoenix fix","verify:fix":"phoenix build && phoenix fix && phoenix check --types",test:"vitest --passWithNoTests run","test:watch":"vitest","prepare:ci":"phoenix prepare:ci","deployment:prepare-local":"phoenix deployment:prepare-local"},s=["environment:create","environment:list","deployment:register","deployment:register:skip","lint:check","prettify:check","ts:check","lint:fix","prettify:fix"],c=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),o=e=>{if(!c(e))return;let t=[];for(let[r,i]of Object.entries(e)){if("string"!=typeof i)return;t.push([r,i])}return Object.fromEntries(t)},a=e=>e.replace(/^[\^~]/,""),p=(r,i)=>{let n={};for(let[e,t]of Object.entries(r))n[e]=a(t);if(i)for(let[e,t]of Object.entries(i))e in n||(n[e]=a(t));return Object.fromEntries(Object.entries(n).filter(([t])=>!e.includes(t)).sort(([e],[r])=>t(e,r)))};export const generateApplicationSpecPackageJson=e=>{let{sdkVersion:a,useWorkspace:l,useClerk:f=!1,name:m,description:d,existingContent:u}=e,y=(e=>{if(!e)return{};try{let t=JSON.parse(e);if(c(t))return t}catch{}return{}})(u),h=p({...f?{"@clerk/clerk-react":"5.61.8"}:{},"camera-controls":"2.4.2","lodash-es":"4.18.1",react:"18.3.1","react-dom":"18.3.1","@emotion/react":"11.11.3","@emotion/styled":"11.11.0","@mui/material":"5.15.5","@mui/system":"5.16.7","@lingui/core":"5.9.5","@lingui/react":"5.9.5",three:"0.160.1","@react-three/fiber":"8.15.16","@react-three/drei":"9.97.6","@react-three/postprocessing":"2.16.3",motion:"12.34.0","@tanstack/react-query":"5.100.14",rxjs:"7.8.2",uuid:"14.0.0","ts-pattern":"5.9.0","@salsita-ai/sdk":l?"workspace:^":a,zod:"3.25.76"},o(y.dependencies)),g=p(i,o(y.devDependencies)),x=((e,r)=>{let i={};for(let[t,r]of Object.entries(e))i[t]=r;if(r)for(let[e,t]of Object.entries(r))e in i||(i[e]=t);return Object.fromEntries(Object.entries(i).filter(([e])=>!s.includes(e)).sort(([e],[r])=>t(e,r)))})({...n,...l?{dev:"phoenix dev --local"}:{}},o(y.scripts)),v=y.name,b=m?m.toLowerCase().replace(/[^a-z0-9-]/g,"-"):"string"==typeof v?v:"project-name",j={...y,name:b,...r,scripts:x,dependencies:h,devDependencies:g};return void 0!==d&&(j.description=d),JSON.stringify(j,null,2)+"\n"};
1
+ let e=["@salsita-ai/platform-project-sdk","@salsita-ai/platform-common","@salsita-ai/platform-contracts","@salsita-ai/common","@salsita-ai/contracts"],t={private:!0,type:"module",packageManager:"pnpm@11.1.3",engines:{node:"24.14.1",pnpm:"11.1.3"}},r={"babel-plugin-macros":"3.1.0",vite:"6.4.3","@vitejs/plugin-react":"5.2.0","@swc/cli":"0.8.1","@swc/core":"1.15.40",typescript:"npm:@typescript/typescript6@6.0.2","@lingui/cli":"5.9.5","@types/lodash-es":"4.17.12","@lingui/macro":"5.9.5","@lingui/swc-plugin":"5.11.0","@types/node":"24.12.2","@types/react":"18.3.8","@types/react-dom":"18.3.0","@types/three":"0.160.0","@typescript/native":"npm:typescript@7.0.2",envalid:"8.1.1",eslint:"9.39.4",prettier:"3.8.3",vitest:"4.1.11"},i=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),s=e=>{if(!i(e))return;let t=[];for(let[r,i]of Object.entries(e)){if("string"!=typeof i)return;t.push([r,i])}return Object.fromEntries(t)},a=e=>e.replace(/^[\^~]/,""),n=(t,r)=>{let i={};for(let[e,r]of Object.entries(t))i[e]=a(r);if(r)for(let[e,t]of Object.entries(r))e in i||(i[e]=a(t));return Object.fromEntries(Object.entries(i).filter(([t])=>!e.includes(t)).sort(([e],[t])=>e>t?1:e<t?-1:0))};export const generateApplicationSpecPackageJson=e=>{let{sdkVersion:a,useWorkspace:c,useClerk:o=!1,name:p,description:l,existingContent:m}=e,u=(e=>{if(!e)return{};try{let t=JSON.parse(e);if(i(t))return t}catch{}return{}})(m),f=n({...o?{"@clerk/clerk-react":"5.61.8"}:{},"camera-controls":"2.4.2","lodash-es":"4.18.1",react:"18.3.1","react-dom":"18.3.1","@emotion/react":"11.11.3","@emotion/styled":"11.11.0","@mui/material":"5.15.5","@mui/system":"5.16.7","@lingui/core":"5.9.5","@lingui/react":"5.9.5",three:"0.160.1","@react-three/fiber":"8.15.16","@react-three/drei":"9.97.6","@react-three/postprocessing":"2.16.3",postprocessing:"6.36.3",motion:"12.34.0","@tanstack/react-query":"5.100.14",rxjs:"7.8.2",uuid:"14.0.0","ts-pattern":"5.9.0","@salsita-ai/sdk":c?"workspace:^":a,zod:"3.25.76"},s(u.dependencies)),d=n(r,s(u.devDependencies)),y=u.name,g=p?p.toLowerCase().replace(/[^a-z0-9-]/g,"-"):"string"==typeof y?y:"project-name",j={...u,name:g,...t,dependencies:f,devDependencies:d};return void 0!==l&&(j.description=l),JSON.stringify(j,null,2)+"\n"};
@@ -1 +1,6 @@
1
+ /**
2
+ * The project's `prettier.config.js`, written once when the project has none. It re-exports the SDK's
3
+ * shared Prettier configuration so editors find it in the project root; the project may change it
4
+ * afterwards. `phoenix check` and `phoenix fix` use the SDK's configuration when the file is missing.
5
+ */
1
6
  export declare const generateApplicationSpecPrettierConfig: () => string;
@@ -1,8 +1,7 @@
1
- let e=`/**
2
- * Auto-generated file.
3
- * Do not modify this file manually.
4
- * Version: 1
5
- */`;export const generateApplicationSpecPrettierConfig=()=>`${e}
1
+ export const generateApplicationSpecPrettierConfig=()=>`/**
2
+ * The project's Prettier configuration. It re-exports the shared configuration of the Phoenix SDK;
3
+ * change it to adjust the formatting of this project.
4
+ */
6
5
  import { prettierrc } from '@salsita-ai/sdk/common/prettier'
7
6
 
8
7
  export default prettierrc
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The project's root `tsconfig.json`, written once when the project has none: it extends the
3
+ * generated settings in `.phoenix/tsconfig.json`, so editors and tools that look for a
4
+ * `tsconfig.json` in the project root find them. It is the project's afterwards, to add to.
5
+ */
6
+ export declare const generateApplicationSpecRootTsconfig: () => string;
@@ -0,0 +1,2 @@
1
+ export const generateApplicationSpecRootTsconfig=()=>`{ "extends": "./.phoenix/tsconfig.json" }
2
+ `;
@@ -1 +1 @@
1
- import{renderAgentSkill as e}from"./agent-skill.js";import{sdkGuidanceSections as n}from"./sdk-content.js";export const generatePhoenixCliSkill=()=>e({name:"phoenix-cli",description:"Phoenix CLI tooling for building and inspecting this configurator, covering build, dev and sync commands, dev logs, glTF asset inspection, screenshots, runtime state, data and scene inspection, variant previews, and Playwright MCP setup. Use when building, debugging build or runtime errors, checking 3D assets, or inspecting the running configurator.",sections:[n.buildCommands,n.devLogs,n.assetInspection,n.screenshotCli,n.inspectState,n.inspectData,n.inspectScene,n.variantPreviews,n.playwrightMcpSetup]});
1
+ import{renderAgentSkill as e}from"./agent-skill.js";import{sdkGuidanceSections as n}from"./sdk-content.js";export const generatePhoenixCliSkill=()=>e({name:"phoenix-cli",description:"Phoenix CLI tooling for building and inspecting this configurator, covering build, dev, sync and deps commands, dev logs, glTF asset inspection, screenshots, runtime state, data and scene inspection, variant previews, and Playwright MCP setup. Use when building, debugging build or runtime errors, checking 3D assets, or inspecting the running configurator.",sections:[n.buildCommands,n.devLogs,n.assetInspection,n.screenshotCli,n.inspectState,n.inspectData,n.inspectScene,n.variantPreviews,n.playwrightMcpSetup]});
@@ -1,36 +1,6 @@
1
1
  import{renderAgentSkill as e}from"./agent-skill.js";import{sdkGuidanceSections as t}from"./sdk-content.js";let n=`Guide the client through five stages: a representative first slice, the overall configuration flow, iterative options and features, finalization, and a complete review. Make the client comfortable, informed, and in control while taking responsibility for platform research, implementation, and verification.
2
2
 
3
- “Client” means the person creating the configurator. “Configurator user” means its intended user, such as a buyer, salesperson, or designer. Tailor the experience to that audience; do not assume a purchasing journey.`,i=`## Foundations
4
-
5
- ### Communicate the journey and expectations
6
-
7
- Explain all five stages at the start in plain language. Before each stage or increment, say what you will work on, what the client will be able to try, what remains for later, and when you will return for feedback. During longer work, give meaningful progress updates, including what is already usable.
8
-
9
- Read supplied information before asking questions. Treat an interview request as permission to gather necessary information throughout the work, not a requirement to ask about every decision before building. Use source-backed facts directly. Choose reversible design defaults yourself, state them briefly, and proceed; do not ask permission to use an illustrated starting configuration, follow supplied branding, or choose a standard Phoenix control.
10
-
11
- Before asking, decide whether the answer would materially change the work due now and whether a useful slice can proceed without it. Ask only for a blocking ambiguity, a consequential business decision needed now, or a material departure from the accepted design. Otherwise record the open issue for the relevant stage. When a question is necessary, explain its consequence and recommend an answer; keep it focused. A client's agreement should lead to the promised work, not another routine approval question. Teach relevant Phoenix approaches through the client's product, without asking them to choose SDK components or operate developer tools.
12
-
13
- At each preview, explain what changed, give a focused action to try, and recommend the next step conditional on feedback. End the turn and wait before expanding the agreed increment unless the client requested a larger autonomous batch. Let them redirect, revisit decisions, or pause; overall scope approval does not remove these feedback points.
14
-
15
- ### Study Phoenix and use its intended patterns
16
-
17
- Before generating the first slice, study the complete Phoenix documentation available for the project's installed version, including UX guidance and documented examples. Discover the full inventory with \`pnpm phoenix docs -l\` and read each document with \`pnpm phoenix docs -r <returned-path>\`; use \`pnpm phoenix docs -s '<topic>'\` to locate material again. In hosted environments, use the available documentation list/search/read tools instead. An index or search result alone is not a completed study. Track coverage in the specification so you can resume without rereading unchanged material.
18
-
19
- Use Phoenix's existing components, features, and supported workflows whenever they provide the required capability. Guide the client toward those approaches and explain their benefits. Use custom implementations only when the required capability is unavailable: verify the gap in the documentation, explain it and the proposed approach to the client, and keep the solution compatible with Phoenix's architecture. Missing documentation is not proof that a feature is unavailable.
20
-
21
- Revisit the relevant implementation examples as you build. [Phoenix UX guidance](references/phoenix-ux.md) provides navigation back to common topics; platform usage belongs in Phoenix docs rather than a parallel manual in this skill. Disclose inaccessible documentation and the resulting uncertainty instead of claiming full coverage or inventing APIs. Do not assume access to Phoenix's source repository or internal processes.
22
-
23
- ### Maintain a living Markdown specification
24
-
25
- After inspecting the materials, create \`configurator-spec.md\` in the intended project, or update its existing equivalent. Keep it outside public/user-facing assets and use it as the single record of:
26
-
27
- - Product scope, intended users, source materials, assets, and confirmed product facts.
28
- - Configurable options, dependencies, compatibility rules, dimensions, and commercial rules.
29
- - Unknowns, conflicting information, proposals, agent-chosen design defaults, and explicitly agreed provisional business assumptions, distinguished from confirmed facts and client-approved decisions.
30
- - Accepted visual direction, navigation, interaction patterns, and finalization decisions, with their rationale.
31
- - The five-stage plan, current stage, implemented and remaining scope, documentation coverage, verification results, and next increment.
32
-
33
- Update it whenever new information, a decision, or completed work changes the plan. Keep it concise and current, not a conversation transcript. Read it when resuming, inspect the existing draft, and briefly remind the client where things stand. Preserve accepted behavior and styling; explain and agree on material departures before applying them. The specification supports collaboration without making every edit an approval step.`,a=`## 1. Gather inputs and present a representative first slice
3
+ “Client” means the person creating the configurator. “Configurator user” means its intended user, such as a buyer, salesperson, or designer. Tailor the experience to that audience; do not assume a purchasing journey.`,i=`## 1. Gather inputs and present a representative first slice
34
4
 
35
5
  If no materials are supplied, explain the journey briefly and ask only for existing product documents, prices, pictures, drawings, models, or a plain-language description. Accept incomplete material; do not combine this opening with a setup questionnaire. If materials are already supplied, inspect them first.
36
6
 
@@ -38,19 +8,19 @@ Use [Product discovery](references/product-discovery.md) to extract facts and id
38
8
 
39
9
  Inspect the working environment internally: intended project, existing work, attachment access, editing, preview, and verification capabilities. Clarify ambiguous project identity before mutation. If a required capability is missing, do useful analysis, name the blocker, and distinguish a proposal from an implemented result.
40
10
 
41
- Complete the documentation study and start the specification before implementation. Explain the first slice and the likely milestones that follow. Build a limited but representative configuration with a meaningful visible interaction. Establish visual quality immediately: theme the UI for the product and brand, and give the 3D scene appropriate materials, lighting, background, and camera framing using Phoenix's supported features. The product must look right, not merely be present; apply Visual inspection before presenting the slice. Limited scope should not mean an arbitrary or visually neglected demo.
11
+ Complete the core documentation study and start the specification before implementation. Explain the first slice and the likely milestones that follow. Build a limited but representative configuration with a meaningful visible interaction. Establish visual quality immediately: theme the UI for the product and brand, and give the 3D scene appropriate materials, lighting, background, and camera framing using Phoenix's supported features. The product must look right, not merely be present; apply Visual inspection before presenting the slice. Limited scope should not mean an arbitrary or visually neglected demo.
42
12
 
43
13
  Use confirmed information and supplied assets. Keep a known arrangement when layout limits are unknown; settle only questions that block this slice. Defer quote fields, delivery areas, tax handling, and other finalization details unless they prevent this preview from being useful. An unresolved price component can remain out of the slice rather than prompting an early commercial interview. When supplied models need conversion or repair before use, follow [Asset conversion](references/asset-conversion.md). Missing assets may require an agreed temporary proxy or a non-3D draft, clearly described as such, rather than invented production geometry.
44
14
 
45
15
  Once the materials establish a usable scope, the next handoff should normally be the first preview. Announce reversible choices together and build: “I'll use the illustrated sideboard and the brief's styling, with body and door finish controls. We'll review the appearance in the preview; delivery details can wait until finalization.” Invite correction without ending the turn to seek approval of these defaults.
46
16
 
47
- Start the preview as soon as it is useful, share its address once reachable, and keep it available through subsequent work where the environment permits. Present what the client can try and seek feedback on product representation and visual direction before moving on.`,o=`## 2. Plan the complete configuration experience
17
+ Start the preview as soon as it is useful, share its address once reachable, and keep it available through subsequent work where the environment permits. Present what the client can try and seek feedback on product representation and visual direction before moving on.`,a=`## 2. Plan the complete configuration experience
48
18
 
49
19
  Identify all the main things users need to configure across the intended scope, including dependencies and unresolved areas. Group and order decisions by what users understand and choose first, and by actual product dependencies. Cover the whole experience in the plan without requiring every detailed business rule to be settled now.
50
20
 
51
21
  Use the Phoenix UX guidelines to choose the interaction model. Consider in-scene controls for actions tied to a visible part or location; use the sidebar for simpler or global options, selected-part details, and keeping track of the configuration. When there are more than a few choices, choose meaningful groups or navigation; an ordered flow should reflect a useful decision sequence, not merely the agent's interview stages. Do not force selection or assembly controls onto a simple fixed product.
52
22
 
53
- Record the proposed flow and its platform patterns in the specification. Demonstrate its structure through a representative working path in the preview rather than implementing every option or showing nonfunctional controls. Explain the complete proposed experience in product language, its key tradeoffs, and the implementation order. Get the client's feedback and agreement before expanding individual features.`,r=`## 3. Iteratively add options and features
23
+ Record the proposed flow and its platform patterns in the specification. Demonstrate its structure through a representative working path in the preview rather than implementing every option or showing nonfunctional controls. Explain the complete proposed experience in product language, its key tradeoffs, and the implementation order. Get the client's feedback and agreement before expanding individual features.`,o=`## 3. Iteratively add options and features
54
24
 
55
25
  Implement the experience plan in small, useful increments. Establish the core interactions before multiplying secondary options; revisit priorities when new facts affect feasibility or cause substantial rework. Keep all agreed scope visible in the specification until implemented or explicitly deferred by the client.
56
26
 
@@ -60,13 +30,14 @@ For each increment:
60
30
  2. Revisit the applicable Phoenix examples and implement the chosen increment within the accepted design.
61
31
  3. Exercise the new interaction and affected existing behavior in the running preview, alongside the project's relevant automated checks. Check that controls apply to existing targets, selection changes update the editing context, and global versus per-part changes behave as intended.
62
32
  4. Apply Visual inspection to the configuration that best represents the product, not only to the part you changed.
63
- 5. Update the specification and present the preview for feedback, including any verification gaps and the recommended next increment.
33
+ 5. Run [Appearance review](references/appearance-review.md) when the increment added, removed, or swapped a part, and before any hand-over.
34
+ 6. Update the specification and present the preview for feedback, including any verification gaps and the recommended next increment.
64
35
 
65
36
  Keep the domain rules, scene, selected options, dimensions, and pricing consistent as features become available. Preserve existing selections and accepted UI behavior; adding an option is not permission to redesign the experience. When an agreed rule changes, update the affected model, interface, pricing, and checks together.`,s=`## 4. Implement finalization
66
37
 
67
38
  Establish what completing the configuration means: saving, sharing, requesting a quote, ordering, or another agreed outcome. Determine the information collected, what is submitted and where, what the user receives, and how progress, success, failure, and recovery are communicated. Discover requirements earlier if they affect preceding design decisions, while keeping finalization implementation in this stage.
68
39
 
69
- Use Phoenix's supported finalization mechanisms and implement the agreed journey. Test payloads and outcomes without sending real messages or creating real orders unless explicitly authorized. Keep unfinished rules or commercial assumptions identifiable and prevent them from producing a misleading real quote or order.`,c=`## 5. Review the complete configurator and hand over
40
+ Use Phoenix's supported finalization mechanisms and implement the agreed journey. Test payloads and outcomes without sending real messages or creating real orders unless explicitly authorized. Keep unfinished rules or commercial assumptions identifiable and prevent them from producing a misleading real quote or order.`,r=`## 5. Review the complete configurator and hand over
70
41
 
71
42
  Walk through the whole journey as the intended user: start, explore and change options, recover from mistakes, and finalize. Review product representation, visual quality, flow, discoverability, contextual controls, accessibility, and desktop/mobile behavior against the specification and client feedback.
72
43
 
@@ -74,9 +45,9 @@ Check representative valid and invalid combinations, boundaries, dependent chang
74
45
 
75
46
  Fix gaps and regressions, update the specification, and present the complete experience for the client's final review. State what is implemented, what remains provisional or unverified, and whether it is a working draft or ready for its intended users. Publishing and connecting live systems remain separate actions governed by the client's authorization and the environment's rules; obtain any required approval against the concrete result.
76
47
 
77
- Once the client says they are done, or the configurator is live and they confirm the work is finished, follow the \`phoenix-feedback\` skill to interview them for an evaluation of the run. Ask for it once, and send it only with their approval.`,l=`## Verification evidence
48
+ Once the client says they are done, or the configurator is live and they confirm the work is finished, follow the \`phoenix-feedback\` skill to interview them for an evaluation of the run. Ask for it once, and send it only with their approval.`,d=`## Verification evidence
78
49
 
79
- Use the project's documented verification commands and available tools throughout. Distinguish automated checks, your actual preview observations, and client feedback. A successful build does not prove preview access or interaction quality, and neither automated checks nor interaction checks cover rendered appearance: Visual inspection is the only evidence for it. Missing browser automation need not prevent the client from using a preview: offer a focused check and record their result as client feedback. Disclose anything you cannot test; a generic “OK” is not evidence that an untested interaction works.`,d=`# Asset conversion
50
+ Use the project's documented verification commands and available tools throughout. Distinguish automated checks, your actual preview observations, and client feedback. A successful build does not prove preview access or interaction quality, and neither automated checks nor interaction checks cover rendered appearance: Visual inspection is the only evidence for it. Missing browser automation need not prevent the client from using a preview: offer a focused check and record their result as client feedback. Disclose anything you cannot test; a generic “OK” is not evidence that an untested interaction works.`,c=`# Asset conversion
80
51
 
81
52
  Supplied models usually need work before they can be configured. Conversion is part of the product's appearance, not a preliminary chore: a converted model that is misplaced, incomplete, or stripped of its detail becomes a visible defect that the client sees before anything else.
82
53
 
@@ -103,9 +74,61 @@ Keep full detail on parts that are small, curved, and always visible, such as ca
103
74
 
104
75
  ## Verify every model, not the first one
105
76
 
106
- Inspect each converted model with the project's asset inspection tooling, and check the clauses above for every model in the set. A batch that reuses a script verified on one file still needs each result looked at: source files in one delivery frequently differ in origin, scale, and structure.`,h=`# Phoenix UX guidance
77
+ Inspect each converted model with the project's asset inspection tooling, and check the clauses above for every model in the set. A batch that reuses a script verified on one file still needs each result looked at: source files in one delivery frequently differ in origin, scale, and structure.`,l=`# Appearance review
78
+
79
+ An independent reviewer opens the running configurator, tries to find everything wrong with how it looks, and hands what it finds back to you to challenge and fix. This exists because an implementer judges its own rendered output badly: it inspects the state it is already in, and it reads its own intent into what it sees. Visual inspection covers what follows from the change you just made; this covers what you failed to notice.
80
+
81
+ ## Roles
82
+
83
+ The reviewer is a fresh context with no memory of the implementation. It drives the preview itself and takes its own screenshots. It never works from screenshots you captured, because choosing what to look at is most of the judgement. It does not fix anything.
84
+
85
+ You prepare the packet, challenge every candidate it returns, fix the ones that survive, and report. A candidate you reject is recorded with the reason, never silently dropped.
86
+
87
+ ## When it runs
88
+
89
+ Before the first slice is presented, before hand-over, and after any increment that adds, removes, or swaps a part. Composition between parts is where appearance defects concentrate, and it is the one thing an inspection of a single state cannot see.
90
+
91
+ ## The packet
92
+
93
+ Give the reviewer this, and not the conversation:
94
+
95
+ 1. How to start the preview and reach it.
96
+ 2. The client's own photographs, renders, drawings, and published dimensions.
97
+ 3. The control inventory from the specification: every property, its options, and which of those options add, remove, or swap a part.
98
+ 4. The states to cover: the default, one state for every option that changes which parts are present, and the extremes of any dimension or quantity.
99
+ 5. Whatever the specification records as deferred, provisional, or unknown.
100
+
101
+ Item 4 is the point of the exercise. When the starting configuration has a part absent, the default view can never show that part, and no amount of looking at the default will reveal how it is composed.
102
+
103
+ ## What counts as a defect
104
+
105
+ A defect is anchored to a named state and a screenshot the reviewer took, and cites one of:
106
+
107
+ 1. a divergence from the client's own material or published dimensions;
108
+ 2. a violation of a requirement the specification states; or
109
+ 3. a self-evident flaw: something floating, intersecting, clipped, overlapping, missing, mis-scaled, or unreadable.
110
+
111
+ Everything else is a taste note. Collect taste notes in a separate list, each phrased as what you would change and why, and do not act on them: they are the client's call, and an implementation that chases them never finishes. Preference presented as defect is what makes an adversarial pass worthless, and it fails in both directions — a reviewer that cannot separate the two either floods you or stays silent.
112
+
113
+ Do not re-report what the specification already records as deferred. Do say when a deferred item is worse than its record suggests.
114
+
115
+ ## Challenging what comes back
116
+
117
+ For each defect, write the strongest case against it before you accept it. Is it visible in the screenshot cited? Is it caused by this build rather than by a limit of the supplied asset? Is it already recorded as deferred? Is the proposed correction the smallest one that resolves it? Record confirmed, refuted, or unresolved, with the evidence. An unresolved candidate is not a defect: if it would be serious, raise it as an open question instead of fixing speculatively.
118
+
119
+ Merge candidates that describe the same underlying failure. The same defect described in different words is not a second defect.
120
+
121
+ ## Budget
122
+
123
+ One reviewer pass, one challenge pass, and one re-inspection of the fixed defects in the states where they were found. Nothing wider unless the client asks for it. A correction that changes the agreed design is a decision for the client, not another round of review.
124
+
125
+ ## When the tools are not there
126
+
127
+ With no way to run an independent reviewer, work through the same checks yourself as a separate pass against the packet alone, and record in the report that the review was not independent.
128
+
129
+ With no browser automation, \`phoenix screenshot\` captures the canvas but not the interface around it, and \`phoenix inspect:state\` and \`phoenix inspect:scene\` only read, so no state other than the default can be reached. Review what you can reach and say which of the above went unchecked, rather than reporting a clean result.`,h=`# Phoenix UX guidance
107
130
 
108
- Use this lookup to revisit guidance after the complete documentation study required by the skill. Discover actual document paths through Phoenix docs; titles and search terms below are not paths. Read the relevant guideline and linked implementation example for the project's installed version before applying it.
131
+ Use this lookup to revisit guidance after the core documentation study required by the skill. Discover actual document paths through Phoenix docs; titles and search terms below are not paths. Read the relevant guideline and linked implementation example for the project's installed version before applying it.
109
132
 
110
133
  | Decision | Documentation to find |
111
134
  | ----------------------------------------- | --------------------------------------------------------- |
@@ -116,7 +139,8 @@ Use this lookup to revisit guidance after the complete documentation study requi
116
139
  | Editing, selection, and review modes | Interaction Modes |
117
140
  | Swatches, cards, and other controls | Choosing a Control |
118
141
  | Product visibility and selection | Canvas and Feedback, Canvas Selection, Selection Hotspots |
119
- | Add/remove actions with visual choices | FABs, childEntityRecipes, thumbnailUrl |
142
+ | Adding or removing where position matters | FABs (scene add/delete), Choosing a Control |
143
+ | Adding from a catalogue, position aside | childEntityRecipes, thumbnailUrl, Choosing a Control |
120
144
  | Contextual controls and dependent options | Component Filters, FilteredControls |
121
145
  | Keep the edited part in view | Camera Fit Selection, Camera Transitions |
122
146
  | Submission and completion | Finalization |
@@ -139,4 +163,4 @@ Keep facts traceable to sources. Geometry proves shape, not commercial availabil
139
163
  Extract available facts now; unresolved entries are not a queue of questions to ask next. Follow the skill's question threshold and defer unknowns that do not block the current work. Use reversible experience defaults without inventing business facts. When a business rule is needed now, explain the consequence and ask for the fact or an explicitly agreed provisional assumption. Continue independent work within the agreed increment; elapsed time is not agreement. For example, resolve whether a shelf is included or charged separately when implementing its pricing, not before a finish-only preview.
140
164
 
141
165
  Translate confirmed rules into representative allowed/disallowed combinations, boundary checks, and hand-calculated totals as their features are implemented.
142
- `;export const generatePhoenixCreateConfiguratorSkill=()=>e({name:"phoenix-create-configurator",description:"Guide a client from product documents and assets to a reviewed Phoenix configurator through a representative first slice, an overall experience plan, iterative implementation, and finalization. Use when creating a configurator, and for every later change that adds or reworks products, options, features or finalization, however small the increment; not for an isolated code fix.",sections:[n,i,a,o,r,s,c,t.visualInspection,l]});export const generatePhoenixCreateConfiguratorSkillReferences=()=>[{path:"references/phoenix-ux.md",content:h},{path:"references/product-discovery.md",content:p},{path:"references/asset-conversion.md",content:d}];
166
+ `;export const generatePhoenixCreateConfiguratorSkill=()=>e({name:"phoenix-create-configurator",description:"Guide a client from product documents and assets to a reviewed Phoenix configurator through a representative first slice, an overall experience plan, iterative implementation, and finalization. Use when creating a configurator, and for every later change that adds or reworks products, options, features or finalization, however small the increment; not for an isolated code fix.",sections:[n,"## Foundations\n\n### Communicate the journey and expectations\n\nExplain all five stages at the start in plain language. Before each stage or increment, say what you will work on, what the client will be able to try, what remains for later, and when you will return for feedback. During longer work, give meaningful progress updates, including what is already usable.\n\nRead supplied information before asking questions. Treat an interview request as permission to gather necessary information throughout the work, not a requirement to ask about every decision before building. Use source-backed facts directly. Choose reversible design defaults yourself, state them briefly, and proceed; do not ask permission to use an illustrated starting configuration, follow supplied branding, or choose a standard Phoenix control.\n\nBefore asking, decide whether the answer would materially change the work due now and whether a useful slice can proceed without it. Ask only for a blocking ambiguity, a consequential business decision needed now, or a material departure from the accepted design. Otherwise record the open issue for the relevant stage. When a question is necessary, explain its consequence and recommend an answer; keep it focused. A client's agreement should lead to the promised work, not another routine approval question. Teach relevant Phoenix approaches through the client's product, without asking them to choose SDK components or operate developer tools.\n\nAt each preview, explain what changed, give a focused action to try, and recommend the next step conditional on feedback. End the turn and wait before expanding the agreed increment unless the client requested a larger autonomous batch. Let them redirect, revisit decisions, or pause; overall scope approval does not remove these feedback points.\n\n### Study Phoenix and use its intended patterns\n\nStudy the documentation in two parts: a core before the first slice, and the rest keyed to what you are about to build. Take the inventory first with `pnpm phoenix docs -l`, which prints every path and title; browse one area with `pnpm phoenix docs -c '<category>'`, read a document with `pnpm phoenix docs -r <returned-path>`, and locate material again with `pnpm phoenix docs -s '<topic>'`. In hosted environments, use the available documentation list/search/read tools instead.\n\nRead the core in full before the first slice: the documents listed as Key Docs in the `phoenix` skill's SDK Documentation section, which carry getting started, the domain model, components, project structure, state, expressions, webhooks, finalization, and migrations, together with the `UX Guidelines` category. That list is maintained there; do not keep a second copy of it here.\n\nRead the rest when an increment reaches it, and before implementing that increment: the remaining `Phoenix` documents for what the increment touches, such as theming and localization when you brand or translate the interface, sharing and sessions when its users receive links, and deployments before going live; `Layouts` and `Controls` for the interface; `3d scene` for the scene; `Relations`, `Recipes & Delete`, `Fabs`, `Drag & Drop`, and `Selection & Highlight` for a product assembled from parts; `Other features` and `Integrations` for finalization and external data; `Performance` before hand-over; and `Complex Use Cases` and `Demos` as worked examples. Take the names from the inventory you listed; this version may group its documentation differently. Judge a category you are deferring by what its documents say they are for, which `pnpm phoenix docs -c '<category>'` prints, not by its name or by how many documents it holds: a small category can hold the one control the product needs.\n\nRecord in the specification which categories you have read and which ones the remaining plan still needs, so a later turn resumes instead of starting again. An index or a search result alone is not a completed study, and reading the core is not permission to skip a category when the increment that needs it arrives.\n\nUse Phoenix's existing components, features, and supported workflows whenever they provide the required capability. Guide the client toward those approaches and explain their benefits. Use custom implementations only when the required capability is unavailable: verify the gap in the documentation, explain it and the proposed approach to the client, and keep the solution compatible with Phoenix's architecture. Missing documentation is not proof that a feature is unavailable.\n\nRevisit the relevant implementation examples as you build. [Phoenix UX guidance](references/phoenix-ux.md) provides navigation back to common topics; platform usage belongs in Phoenix docs rather than a parallel manual in this skill. Disclose inaccessible documentation and the resulting uncertainty instead of claiming full coverage or inventing APIs. Do not assume access to Phoenix's source repository or internal processes.\n\n### Maintain a living Markdown specification\n\nAfter inspecting the materials, create `configurator-spec.md` in the intended project, or update its existing equivalent. Keep it outside public/user-facing assets and use it as the single record of:\n\n- Product scope, intended users, source materials, assets, and confirmed product facts.\n- Configurable options, dependencies, compatibility rules, dimensions, and commercial rules.\n- Unknowns, conflicting information, proposals, agent-chosen design defaults, and explicitly agreed provisional business assumptions, distinguished from confirmed facts and client-approved decisions.\n- Accepted visual direction, navigation, interaction patterns, and finalization decisions, with their rationale.\n- The five-stage plan, current stage, implemented and remaining scope, documentation coverage, verification results, and next increment.\n\nUpdate it whenever new information, a decision, or completed work changes the plan. Keep it concise and current, not a conversation transcript. Read it when resuming, inspect the existing draft, and briefly remind the client where things stand. Preserve accepted behavior and styling; explain and agree on material departures before applying them. The specification supports collaboration without making every edit an approval step.",i,a,o,s,r,t.visualInspection,d]});export const generatePhoenixCreateConfiguratorSkillReferences=()=>[{path:"references/phoenix-ux.md",content:h},{path:"references/product-discovery.md",content:p},{path:"references/asset-conversion.md",content:c},{path:"references/appearance-review.md",content:l}];
@@ -1,4 +1,4 @@
1
- import{renderAgentSkill as e}from"./agent-skill.js";let i=`Review all current git changes for correctness, Phoenix pattern violations, and security issues.
1
+ import{renderAgentSkill as e}from"./agent-skill.js";let s=`Review all current git changes for correctness, Phoenix pattern violations, and security issues.
2
2
 
3
3
  ## Phoenix-Specific Review
4
4
 
@@ -28,6 +28,12 @@ import{renderAgentSkill as e}from"./agent-skill.js";let i=`Review all current gi
28
28
  - [ ] No unnecessary React re-renders (stable object references via memoEval)
29
29
  - [ ] Export pattern correct: default export of single component or array
30
30
 
31
+ ### Assistant setup (src/handlers/)
32
+
33
+ - [ ] At most one phx.domain.createAssistantSetupHandler, synchronous, pure and deterministic over manifest and session inputs
34
+ - [ ] Only removes original declaration entries, exposes descriptions and restriction flags, and rejects immutable keys
35
+ - [ ] Narrows fields on the declaring alias before expansion; runs in browser execution and the webhook; browser GraphQL, tools and change recording use session narrowing while UI retains pure spec selectors; empty server instructions clear the baseline
36
+
31
37
  ### Webhooks (src/webhooks/)
32
38
 
33
39
  - [ ] Use phx.webhooks.\\*Builder pattern (finalizeHandlerBuilder, authHandlerBuilder)
@@ -60,7 +66,7 @@ import{renderAgentSkill as e}from"./agent-skill.js";let i=`Review all current gi
60
66
 
61
67
  ## Auto-Generated Files — DO NOT modify
62
68
 
63
- - .phoenix/ directory (except the option files in .phoenix/variants/, which the phoenix-variants skill writes), tsconfig.json, eslint.config.js, prettier.config.js
69
+ - .phoenix/ directory (except the option files in .phoenix/variants/, which the phoenix-variants skill writes)
64
70
  - src/locales/\\*.ts files
65
71
 
66
72
  ### Runtime Verification
@@ -106,4 +112,4 @@ import{renderAgentSkill as e}from"./agent-skill.js";let i=`Review all current gi
106
112
  - **Overall assessment**: <1-2 sentence summary>
107
113
  \`\`\`
108
114
 
109
- If no findings at a severity level, omit that section. If no findings at all, state "No issues found" with a brief note on what was checked.`;export const generatePhoenixReviewSkill=()=>e({name:"phoenix-review",description:"Phoenix-specific code review checklist and report format for specs, expressions, invariants, components, webhooks, TypeScript and React code. Use when reviewing changes in this Phoenix configurator project, before committing or when asked for a code review.",sections:[i]});
115
+ If no findings at a severity level, omit that section. If no findings at all, state "No issues found" with a brief note on what was checked.`;export const generatePhoenixReviewSkill=()=>e({name:"phoenix-review",description:"Phoenix-specific code review checklist and report format for specs, expressions, invariants, components, webhooks, TypeScript and React code. Use when reviewing changes in this Phoenix configurator project, before committing or when asked for a code review.",sections:[s]});
@@ -1 +1 @@
1
- import{renderAgentSkill as e}from"./agent-skill.js";import{sdkGuidanceSections as t}from"./sdk-content.js";export const followsCanaryBuilds=e=>!e.useWorkspace&&e.sdkVersion.includes("-develop.");export const generatePhoenixSkill=({checkLatestCanary:n})=>e({name:"phoenix",description:`Phoenix SDK project conventions, covering project structure, architecture principles, key patterns, file and export rules, webhook membership, versioning the domain model once it is deployed, showing the user the dev preview and the build of a deploy, the run evaluation that follows a live deploy, inspecting the rendered result, and how to search the SDK documentation${n?", and the internal-beta check for the latest canary SDK build":""}. Use before writing or changing specs or source code in this Phoenix configurator project.`,sections:[...n?["## Stay on the Latest Canary\nDuring the internal beta this project uses the `canary` build of the SDK, which is published from every change to the platform. Once per conversation, before you change anything, compare the installed version with the newest canary:\n```bash\npnpm list @salsita-ai/sdk --depth 0\nnpm view @salsita-ai/sdk@canary version\n```\nWhen they differ, tell the user which version you are moving to, then update the project and regenerate its files:\n```bash\npnpm add @salsita-ai/sdk@canary\npnpm phoenix sync\n```\n`sync` rewrites the Phoenix skills, so read the ones you use again after it. When the user runs a globally installed `phoenix`, update that too with `npm install -g @salsita-ai/sdk@canary`. If the project no longer builds after the update, stop and tell the user; the `phoenix-feedback` skill covers reporting it."]:[],t.projectStructure,t.architecturePrinciples,t.keyPatterns,t.fileConventions,t.exportRules,t.webhookMembership,t.doNotEdit,t.modelVersioning,"## Show the Preview While You Work\nThe user should see the configurator change as you build it. Before your first change in a conversation, make sure `pnpm phoenix dev` is running (start it in the background when it is not) and open the address it prints as `Preview: <url>` (also written to `.phoenix/phoenix-dev.log`) in the user's browser: `open '<url>'` on macOS, `xdg-open '<url>'` on Linux, `Start-Process '<url>'` in PowerShell, `start \"\" \"<url>\"` in cmd. Keep the quotes, the shell would otherwise read a `?` in the address as a pattern. The log keeps the lines of earlier runs, so when you have just started dev, wait for the `Preview:` line written after your start and use the last one. Open it once; the preview reloads on every change, so tell the user to keep that tab open instead of opening it again.",t.visualInspection,'## Show the Build After a Deploy\n`pnpm phoenix deploy` starts a build on the server and waits for it to go live. Right after `Build <id> started` it prints `Follow the build in Studio: <url>`. Run the deploy so that you can read its output while it runs, and open that link in the user\'s browser, quoted as above, as soon as it appears, so they can follow the build they just triggered. When the line is missing, the sign-in is older than the link: tell the user the build is listed under Deployments in Studio, and that `pnpm phoenix login <workspace>` brings the link back.\n\nWhen the deploy reports the configurator live, load the `phoenix-feedback` skill before you write your final message and follow its "Evaluate the Run" section, so the user is asked about the run while they are still there. It is asked once per conversation, and only once the user has nothing more to build.',"## Code Review\nUse the `phoenix-review` skill to review code changes before committing.",t.sdkDocumentation]});
1
+ import{renderAgentSkill as e}from"./agent-skill.js";import{sdkGuidanceSections as t}from"./sdk-content.js";export const followsCanaryBuilds=e=>!e.useWorkspace&&e.sdkVersion.includes("-develop.");export const generatePhoenixSkill=({checkLatestCanary:n})=>e({name:"phoenix",description:`Phoenix SDK project conventions, covering project structure, architecture principles, key patterns, file and export rules, webhook membership, versioning the domain model once it is deployed, showing the user the dev preview and the build of a deploy, the run evaluation that follows a live deploy, inspecting the rendered result, and how to search the SDK documentation${n?", and the internal-beta check for the latest canary SDK build":""}. Use before writing or changing specs or source code, or deploying this Phoenix configurator project.`,sections:[...n?["## Stay on the Latest Canary\nDuring the internal beta this project uses the `canary` build of the SDK, which is published from every change to the platform. Once per conversation, before you change anything, compare the installed version with the newest canary:\n```bash\npnpm list @salsita-ai/sdk --depth 0\nnpm view @salsita-ai/sdk@canary version\n```\nWhen they differ, tell the user which version you are moving to, then update the project and regenerate its files:\n```bash\npnpm add @salsita-ai/sdk@canary\npnpm phoenix sync\n```\n`sync` rewrites the Phoenix skills, so read the ones you use again after it. When the user runs a globally installed `phoenix`, update that too with `npm install -g @salsita-ai/sdk@canary`. If the project no longer builds after the update, stop and tell the user; the `phoenix-feedback` skill covers reporting it."]:[],t.projectStructure,t.architecturePrinciples,t.keyPatterns,t.fileConventions,t.exportRules,t.webhookMembership,t.doNotEdit,t.modelVersioning,"## Show the Preview While You Work\nThe user should see the configurator change as you build it. Before your first change in a conversation, make sure `pnpm phoenix dev` is running (start it in the background when it is not) and open the address it prints as `Preview: <url>` (also written to `.phoenix/phoenix-dev.log`) in the user's browser: `open '<url>'` on macOS, `xdg-open '<url>'` on Linux, `Start-Process '<url>'` in PowerShell, `start \"\" \"<url>\"` in cmd. Keep the quotes, the shell would otherwise read a `?` in the address as a pattern. The log keeps the lines of earlier runs, so when you have just started dev, wait for the `Preview:` line written after your start and use the last one. Open it once; the preview reloads on every change, so tell the user to keep that tab open instead of opening it again.",t.visualInspection,"## Show the Build After a Deploy\nImmediately before invoking `pnpm phoenix deploy`, refresh `conversation.log` in the project root with the current conversation. Prefer the agent application's native session export when available; do not invent an export command or scan unrelated sessions. Otherwise write the messages still available in context and label the log `reconstructed; incomplete`. Never present a compaction summary as verbatim earlier messages.\n\nUse UTF-8 text with a header naming the agent, export time, source (native export or reconstructed), covered session and known omissions. Preserve user and assistant messages in chronological order, plus tool names, arguments and results when available. Keep each tool result to at most 16 KiB of text, marking truncation explicitly; describe image attachments by reference rather than embedding binary/base64 data, and mark references whose files are not uploaded. Exclude internal instructions, hidden reasoning, credentials and unrelated sensitive content; mark redactions without repeating the removed content. Refresh the current session's log rather than appending duplicate copies or silently carrying over a previous session.\n\nShow the user the exact file to review or redact and obtain approval to include it before deploying; do not ask again when they have already approved that file. If they decline, move it out of the project root before deployment so it cannot be collected. Deploy includes the file in the build's private source archive, downloadable by those authorized to download that build's sources, and leaves it out when extracting build inputs. A missing log warns but does not block deployment. The CLI does not export, redact or validate the transcript's completeness for you.\n\n`pnpm phoenix deploy` starts a build on the server and waits for it to go live. Right after `Build <id> started` it prints `Follow the build in Studio: <url>`. Run the deploy so that you can read its output while it runs, and open that link in the user's browser, quoted as above, as soon as it appears, so they can follow the build they just triggered. When the line is missing, the sign-in is older than the link: tell the user the build is listed under Deployments in Studio, and that `pnpm phoenix login <workspace>` brings the link back.\n\nWhen the deploy reports the configurator live, load the `phoenix-feedback` skill before you write your final message and follow its \"Evaluate the Run\" section, so the user is asked about the run while they are still there. It is asked once per conversation, and only once the user has nothing more to build.","## Code Review\nUse the `phoenix-review` skill to review code changes before committing.",t.sdkDocumentation]});
@@ -1,20 +1,17 @@
1
1
  /**
2
2
  * Documented Phoenix SDK guidance, one Markdown section per entry.
3
3
  *
4
- * The agent guidance shipped into generated projects — the starter `AGENTS.md` and the Phoenix-owned
5
- * agent skills — is composed from these sections, so each documented fact has exactly one home and
6
- * the generated files differ only in which sections they carry.
4
+ * The agent guidance shipped into generated projects — the Phoenix-owned agent skills — is composed
5
+ * from these sections, so each documented fact has exactly one home and the generated files differ
6
+ * only in which sections they carry.
7
7
  */
8
8
  export declare const sdkGuidanceSections: {
9
- /** Opening description of what a Phoenix configurator project is. */
10
- readonly projectIntro: `## Phoenix Configurator Project
11
-
12
- Declarative 3D product configurator built with Phoenix SDK. Domain model defined in YAML, custom logic in TypeScript.`;
13
- /** The three everyday `phoenix` package scripts. */
9
+ /** The everyday `phoenix` commands, and the one that brings `package.json` in line with the SDK. */
14
10
  readonly buildCommands: `## Build Commands
15
11
  - \`pnpm phoenix build\` — Full production build
16
12
  - \`pnpm phoenix dev\` — Development mode with hot reload
17
- - \`pnpm phoenix sync\` — Sync generated files without full build`;
13
+ - \`pnpm phoenix sync\` — Sync generated files without full build
14
+ - \`pnpm phoenix deps\` — Add the SDK's missing peer dependencies to \`package.json\` and move out-of-range ones into the SDK's range; it installs nothing, so run \`pnpm install\` after it`;
18
15
  /** Where `phoenix dev` writes its log and how to read it. */
19
16
  readonly devLogs: `## Dev Logs
20
17
  - \`pnpm phoenix dev\` writes all logs to \`.phoenix/phoenix-dev.log\`
@@ -30,8 +27,15 @@ Declarative 3D product configurator built with Phoenix SDK. Domain model defined
30
27
  - \`src/transformers/\` — Automatic state fixers (\`phx.frontend.transformerBuilder\`)
31
28
  - \`src/components/\` — ECS system components (\`phx.domain.attachComponent.withEntity()\`)
32
29
  - \`src/elements/\` — Page-level React components (\`phx.frontend.createCustomPhoenixLayoutElement()\`)
30
+ - \`ConfiguratorLayout\`: a layout element with this name replaces everything the built-in layout renders for a loaded configuration, in owner and read mode, finalization included. Prefer arranging the spec's layout components; write one for shell-level changes, such as moving the sidebar or adding an area the built-in layout has no place for
31
+ - Mount \`LayoutSlots.SharedCanvas\` (from \`@salsita-ai/sdk/configurator\`) in a positioned root covering the page, or the app loader stays on screen; put the UI above it, positioned and after it in the markup. Call \`useSceneSafeArea()\` (same import) and put \`containerRef\` on the element covering the whole canvas and \`safeAreaRef\` on the region the UI leaves free, with \`pointerEvents: 'none'\`, so the camera frames the scene there
32
+ - Sidebar moved, contents as the spec configures them: mount \`LayoutSlots.DesktopSidebar\` in a positioned container that sets its size, with \`side="start"\` on the left; \`docs/layouts/sidebar/in-a-custom-layout.mdx\` is the whole layout
33
+ - Your own UI: "Hooks for a Project Layout" in \`docs/phoenix/configurator-interface.mdx\` lists the hooks with what each returns (\`pnpm phoenix docs -r docs/phoenix/configurator-interface.mdx\`), \`docs/phoenix/layout-slots.mdx\` the built-in pieces you can still mount, and \`docs/layouts/custom-layout.mdx\` is a worked example
34
+ - Messages: mount \`LayoutSlots.Services\` for the built-in snackbars, or show violations, side-effect hints and errors yourself with \`phx.frontend.useConfiguratorMessages(onMessage)\`, not both. Either way mount a snackbar root (\`LayoutSlots.DesktopSnackbarsRoot\` or \`LayoutSlots.MobileSnackbarsRoot\`): save and built-in action errors are always snackbars
35
+ - Finalize over the spec's \`finalizeAction\` components, each naming a handler registered with \`phx.frontend.createPhoenixHandler\`: run each with \`phx.frontend.useFinalizeAction(handler)\` in a component of its own wrapped in \`PhoenixHandlerBoundary\` (from \`@salsita-ai/sdk/react\`), or mount \`FinalizeActions\` (from \`@salsita-ai/sdk/configurator\`) for the built-in buttons. \`finalizePage\` and \`finalizeButton\` are legacy
36
+ - Read mode and fullscreen are the layout's job, no hook enforces them: hide what a viewer must not change while \`phx.frontend.useAccessService().accessInfo.viewMode\` is \`true\`, and remove panels while \`phx.frontend.useIsFullscreenActive()\` is set; \`phx.frontend.useSetFullscreen()\` returns its setter
33
37
  - \`src/handlers/\` — Event & lifecycle handlers
34
- - \`src/webhooks/\` — Server-side webhook handlers (\`phx.webhooks.*Builder\`)
38
+ - \`src/webhooks/\` — Server-side webhook handlers (\`phx.webhooks.*Builder\`); the webhook is the default export of \`src/webhooks/index.ts\`, which you create when the project needs its own handlers — without it the build uses a built-in inert webhook that answers only anonymous auth, so create the file before setting \`useAuthHook\` or \`useClerk\`
35
39
  - \`src/migrations/\` — Schema version migrations (v*.ts)
36
40
  - \`src/locales/\` — Locale catalogs (authored .po sources; compiled .ts, do not edit)
37
41
  - \`src/admin/\` — Admin interface (mirrors main src/ structure)
@@ -70,15 +74,17 @@ The default export must be what the folder's phx factory returns (for example \`
70
74
  /** Which components and handlers are bundled into the webhook. */
71
75
  readonly webhookMembership: `## Webhook Membership
72
76
  - User-authored components, admin components, and handlers are frontend-only by default.
73
- - A handler that registers \`createMapPublishedRevisionDataHandler\`, \`createMapPublishedChunkedDataHandler\`, \`createDataRowValidatorHandler\`, or \`createSheetValidatorHandler\` is included in the webhook automatically.
77
+ - A handler that registers \`phx.domain.createAssistantSetupHandler\`, \`createMapPublishedRevisionDataHandler\`, \`createMapPublishedChunkedDataHandler\`, \`createDataRowValidatorHandler\`, or \`createSheetValidatorHandler\` is included in the webhook automatically.
78
+ - An assistant setup handler receives the declaration-shaped whitelist and { role, sessionData, access }. Keep the exact entity/alias split from YAML; inherited fields and expanded member entries are absent. Narrow original declarations, then the SDK expands them. Use project-defined role/session data for per-user customization. Keep the handler synchronous, pure and deterministic. The handler runs in the browser and webhook. Return null to disable assistant execution, or omit whitelist entries to restrict them. Button and panel visibility use spec presence; project developers own dynamic UI filtering through normal layout mechanics such as $filter. Leaves expose optional descriptions; writable options allow only validate: true and allowDryRuns: false; recipe groups allow descriptions and allowDryRuns: false. Deletable entries are {}. Names, component bindings, hints and types are internal. Omitted overrides retain baseline values. Existing entity, enhanced-entity and action types constrain the handler; no separate generated manifest types. Browser GraphQL, tools and change recording use the session-derived manifest; rejected setup fails closed. UI reads the pure spec selector. Omitted server instructions or AI fields preserve the baseline. An empty server instructions string clears it.
74
79
  - To include another component or handler in the webhook, put \`'use webhook'\` as its first statement (leading comments are allowed).
75
80
  - A webhook-included file and its runtime local-import closure must not import browser SDK entrypoints (\`application\`, \`admin\`, \`configurator\`, \`editor\`, \`react\`, \`ui\`) or style/font/image assets. Spec parsing reports the unsafe import and inclusion reason as a diagnostic.
76
81
  - Keep browser rendering in an unpinned file. Move shared server-safe logic into a separate module when both frontend and webhook code need it.`;
77
82
  /** Generated files a project must not edit. */
78
83
  readonly doNotEdit: `## Do Not Edit
79
- - \`.phoenix/\` directory — completely regenerated on each build. The one exception is \`.phoenix/variants/\`, where the \`phoenix-variants\` skill has you write option files; a rebuild keeps it
80
- - \`tsconfig.json\`, \`eslint.config.js\`, \`prettier.config.js\`, \`.prettierignore\`, \`.linguirc\`, \`.nvmrc\`
81
- - \`src/locales/\` .ts files — compiled from .po files`;
84
+ - \`.phoenix/\` directory — completely regenerated on each build. The one exception is \`.phoenix/variants/\`, where the \`phoenix-variants\` skill has you write option files; a rebuild keeps it. The project's TypeScript settings come from \`.phoenix/tsconfig.json\`; the root \`tsconfig.json\` is the project's and extends it. \`phoenix dev\`, \`phoenix build\` and the webhook bundle do not resolve \`paths\` aliases, so an alias added to the root file passes \`phoenix check\` and fails the build; use relative imports
85
+ - \`.nvmrc\`
86
+ - \`src/locales/\` .ts files — compiled from .po files
87
+ - \`phoenix\` and \`phoenix-*\` folders under \`.claude/skills/\` and \`.agents/skills/\` — Phoenix rewrites its skills on every sync, removes anything else inside their folders and removes any other \`phoenix-*\` skill folder. To customise a skill, copy it to a folder whose name does not start with \`phoenix\``;
82
88
  /** When and how a deployed domain model gets a new version and a migration, with the recipe for replacing the starter. */
83
89
  readonly modelVersioning: `## Version the Domain Model Once It Is Deployed
84
90
  A deployed model version cannot change, because saved configurations depend on it. \`pnpm phoenix deploy\` is refused, before anything is uploaded, when the model differs from the one already deployed under the same version. The version is not written anywhere: \`model.latest\` is always the highest numbered version plus one, so a spec with only \`latest\` is v1, and \`applicationVersion\` plays no part. \`pnpm phoenix dev\` accepts every model change, so a working preview does not show that the deploy will pass.
@@ -284,10 +290,10 @@ Rendered appearance is a deliverable, not a side effect. Before presenting any p
284
290
  Inspect and report:
285
291
 
286
292
  1. Geometry. Every part rests on its support. Name where the product meets the ground and confirm its shadow and any selection indicator sit there too. Nothing floats, intersects, or protrudes. Scale and orientation are consistent between parts and match the stated dimensions. Each part is complete and present.
287
- 2. Fidelity. The result matches the client's own photographs, renders, and drawings where supplied. Name any divergence.
288
- 3. Response. Every configurable surface of every part reacts to its control, not only the parts you just changed.
289
- 4. Density. Every decision the user must make is reachable without hunting, and no single property's options dominate the surface holding them.
290
- 5. Loading. How long until a meaningful first frame, and whether anything indicates progress meanwhile.
293
+ 2. Response. Every configurable surface of every part reacts to its control, not only the parts you just changed.
294
+ 3. Loading. How long until a meaningful first frame, and whether anything indicates progress meanwhile.
295
+
296
+ This covers what follows from the change you just made, in the state you are already in. Fidelity against the client's own material, the density of the controls, and every state you did not open belong to an independent reviewer, which the \`phoenix-create-configurator\` skill's Appearance review covers.
291
297
 
292
298
  Report defects you are deferring as defects. Do not call work done, verified, or complete while any of the above is unchecked or failing: say which, and recommend fixing now or later.
293
299