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

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 (1065) hide show
  1. package/README.md +3 -3
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +12 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  39. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  40. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  41. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  42. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  43. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  44. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  45. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  46. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  47. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  48. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  49. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  50. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  51. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  52. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  53. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  56. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  57. package/dist/application-spec/generate-application/code/templates/globals.js +5 -4
  58. package/dist/application-spec/generate-application/code/templates/index.d.ts +0 -8
  59. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  60. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  61. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  62. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +8 -2
  63. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +20 -15
  65. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  66. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  67. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  68. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  69. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  70. package/dist/application-spec/generate-application/index.d.ts +2 -0
  71. package/dist/application-spec/generate-application/index.js +1 -1
  72. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +6 -2
  73. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  74. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -3
  75. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  76. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +5 -3
  77. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  78. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  79. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  80. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  81. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  82. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  83. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  84. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  85. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  86. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  87. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  88. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  89. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  90. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  91. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  92. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  93. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  94. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  95. package/dist/application-spec/index.d.ts +1 -0
  96. package/dist/application-spec/index.js +1 -1
  97. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +6 -0
  98. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  99. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  100. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  101. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  102. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  103. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  104. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  105. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  106. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  107. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  108. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  109. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  110. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  111. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  112. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  113. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  114. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  115. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  116. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  117. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  118. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  119. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  120. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  121. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  122. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  123. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  124. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  125. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  126. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  127. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  128. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  129. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  130. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  131. package/dist/client/authorized-client.d.ts +3 -1
  132. package/dist/client/authorized-client.js +1 -1
  133. package/dist/client/contract.d.ts +34 -0
  134. package/dist/client/contract.js +1 -1
  135. package/dist/client/index.d.ts +2 -2
  136. package/dist/client/index.js +1 -1
  137. package/dist/client/local-authorized-client.d.ts +3 -1
  138. package/dist/client/local-authorized-client.js +1 -1
  139. package/dist/client/memory-authorized-client.d.ts +3 -1
  140. package/dist/client/memory-authorized-client.js +1 -1
  141. package/dist/client/phoenix-api.d.ts +311 -2
  142. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  143. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  144. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  145. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +121 -3
  146. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  147. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  148. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  149. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  150. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  151. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  152. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  153. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  154. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  155. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  156. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  157. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  158. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  159. package/dist/configurator/common/configurator-interface.js +1 -1
  160. package/dist/configurator/common/frontend-analytics.d.ts +2 -0
  161. package/dist/configurator/common/frontend-analytics.js +1 -1
  162. package/dist/configurator/common/index.d.ts +2 -0
  163. package/dist/configurator/common/index.js +1 -1
  164. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  165. package/dist/configurator/common/use-finalize-action.js +1 -0
  166. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  167. package/dist/configurator/common/use-reset-camera.js +1 -0
  168. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  169. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  170. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  171. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  172. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  173. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  174. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -0
  175. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  176. package/dist/configurator/pages/index.d.ts +1 -0
  177. package/dist/configurator/pages/index.js +1 -1
  178. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  179. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  180. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  181. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  182. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  183. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  184. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  185. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  186. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  187. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  188. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  189. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  190. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  191. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  192. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  193. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  194. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  195. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  196. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  197. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  198. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  199. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  200. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  201. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  202. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  203. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  204. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  205. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  206. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  207. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  208. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  209. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  210. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  211. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  212. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  213. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  214. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  215. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  216. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  217. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  218. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  219. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  220. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  221. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  222. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  223. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  224. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  225. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  226. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  227. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  228. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  229. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  230. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  231. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  232. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  233. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  234. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  235. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  236. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  237. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  238. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  239. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  240. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  241. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  242. package/dist/docs/index.json +42 -1
  243. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  244. package/dist/docs/layouts/custom-layout.mdx +2125 -0
  245. package/dist/docs/layouts/header/fixed.mdx +2 -2
  246. package/dist/docs/layouts/header/floating.mdx +2 -2
  247. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  248. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  249. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  250. package/dist/docs/other-features/side-effects.mdx +8 -11
  251. package/dist/docs/other-features/transformers.mdx +4 -0
  252. package/dist/docs/other-features/violation-messages.mdx +52 -56
  253. package/dist/docs/phoenix/application-states.mdx +9 -7
  254. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  255. package/dist/docs/phoenix/deployments.mdx +1 -1
  256. package/dist/docs/phoenix/domain-model.mdx +4 -0
  257. package/dist/docs/phoenix/expression-context.mdx +11 -3
  258. package/dist/docs/phoenix/finalization.mdx +1 -1
  259. package/dist/docs/phoenix/getting-started.mdx +1 -1
  260. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  261. package/dist/docs/phoenix/phoenix-cli.mdx +68 -54
  262. package/dist/docs/phoenix/project-structure.mdx +26 -14
  263. package/dist/docs/phoenix/quickstart.mdx +2 -2
  264. package/dist/docs/phoenix/sdk-builder-workflow.mdx +8 -8
  265. package/dist/docs/phoenix/testing.mdx +140 -0
  266. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  267. package/dist/docs/phoenix/webhooks.mdx +19 -2
  268. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  269. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  270. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -12
  271. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  272. package/dist/domain/admin-domain/index.d.ts +9 -5
  273. package/dist/domain/admin-domain/index.js +1 -1
  274. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  275. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  276. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  277. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  278. package/dist/domain/application/application-config.d.ts +9 -26
  279. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  280. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  281. package/dist/domain/application/assistant/assistant-manifest.d.ts +11 -1
  282. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  283. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  284. package/dist/domain/application/assistant/assistant-value-type.js +1 -1
  285. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  286. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  287. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  288. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  289. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  290. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -11
  291. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  292. package/dist/domain/application/assistant/index.d.ts +6 -1
  293. package/dist/domain/application/assistant/index.js +1 -1
  294. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  295. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  296. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  297. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  298. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  299. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  300. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  301. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  302. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  303. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  304. package/dist/domain/application/assistant-mutations.d.ts +2 -2
  305. package/dist/domain/application/assistant-mutations.js +1 -1
  306. package/dist/domain/application/assistant-recipe-groups.d.ts +2 -4
  307. package/dist/domain/application/configurator-builder.d.ts +5 -2
  308. package/dist/domain/application/configurator-builder.js +1 -1
  309. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  310. package/dist/domain/application/index.d.ts +2 -6
  311. package/dist/domain/application/index.js +1 -1
  312. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  313. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  314. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  315. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  316. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  317. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  318. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  319. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  320. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  321. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  322. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  323. package/dist/domain/available-system-components.js +1 -1
  324. package/dist/domain/core/action/action-factory.d.ts +11 -0
  325. package/dist/domain/core/{action.d.ts → action/action.d.ts} +21 -16
  326. package/dist/domain/core/action/index.d.ts +2 -0
  327. package/dist/domain/core/action/index.js +1 -0
  328. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -1
  329. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  330. package/dist/domain/core/component/debug-state-component.js +1 -0
  331. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  332. package/dist/domain/core/component/domain-component-optic.js +16 -0
  333. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  334. package/dist/domain/core/component/drag-state-component.js +1 -0
  335. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  336. package/dist/domain/core/component/export-state-component.js +1 -0
  337. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  338. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  339. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -1
  340. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  341. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  342. package/dist/domain/core/component/hover-state-component.js +1 -0
  343. package/dist/domain/core/component/index.d.ts +18 -0
  344. package/dist/domain/core/component/index.js +1 -0
  345. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -18
  346. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  347. package/dist/domain/core/component/navigation-state-component.js +1 -0
  348. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  349. package/dist/domain/core/component/selection-state-component.js +1 -0
  350. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -1
  351. package/dist/domain/core/component/system-component-builder.js +1 -0
  352. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -18
  353. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  354. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  355. package/dist/domain/core/component/tool-state-component.js +1 -0
  356. package/dist/domain/{components → core/component}/updates.d.ts +1 -1
  357. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  358. package/dist/domain/core/component/view-state-component.js +1 -0
  359. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  360. package/dist/domain/core/component/viewport-state-component.js +1 -0
  361. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  362. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  363. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  364. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  365. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  366. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  367. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  368. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  369. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  370. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  371. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  372. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  373. package/dist/domain/core/data-schema/data-schema.js +1 -0
  374. package/dist/domain/core/data-schema/index.d.ts +7 -0
  375. package/dist/domain/core/data-schema/index.js +1 -0
  376. package/dist/domain/core/domain-factory.d.ts +1 -1
  377. package/dist/domain/core/domain.d.ts +2 -2
  378. package/dist/domain/core/emission/index.d.ts +8 -0
  379. package/dist/domain/core/emission/index.js +1 -0
  380. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  381. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  382. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  383. package/dist/domain/core/emission/state-emission.js +1 -0
  384. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  385. package/dist/domain/core/emission/state-update-emission.js +1 -0
  386. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  387. package/dist/domain/core/emission/state-validation-result.js +1 -0
  388. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  389. package/dist/domain/core/emission/transformation-log.js +1 -0
  390. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  391. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  392. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  393. package/dist/domain/core/emission/transformer-log.js +1 -0
  394. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  395. package/dist/domain/core/emission/transformer-phase.js +1 -0
  396. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  397. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  398. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  399. package/dist/domain/core/expression/constant-expressions.js +1 -1
  400. package/dist/domain/core/expression/custom-expression.d.ts +21 -8
  401. package/dist/domain/core/expression/custom-expression.js +1 -1
  402. package/dist/domain/core/expression/expression.d.ts +15 -17
  403. package/dist/domain/core/expression/index.d.ts +1 -2
  404. package/dist/domain/core/expression/index.js +1 -1
  405. package/dist/domain/core/index.d.ts +7 -1
  406. package/dist/domain/core/index.js +1 -1
  407. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -1
  408. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  409. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  410. package/dist/domain/core/invariant/index.d.ts +5 -0
  411. package/dist/domain/core/invariant/index.js +1 -0
  412. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  413. package/dist/domain/core/invariant/invariants.js +1 -0
  414. package/dist/domain/core/invariant/violation-component.js +1 -0
  415. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  416. package/dist/domain/core/invariant/violation.js +1 -0
  417. package/dist/domain/core/model/model.d.ts +1 -1
  418. package/dist/domain/core/recipe/index.d.ts +1 -0
  419. package/dist/domain/core/recipe/index.js +1 -0
  420. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  421. package/dist/domain/core/recipe/recipes.js +1 -0
  422. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  423. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  424. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -1
  425. package/dist/domain/core/relation/component-factories.js +1 -0
  426. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  427. package/dist/domain/core/relation/composed-of.js +1 -0
  428. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  429. package/dist/domain/core/relation/index.d.ts +8 -0
  430. package/dist/domain/core/relation/index.js +1 -0
  431. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  432. package/dist/domain/core/relation/indirect-relation.js +1 -0
  433. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -4
  434. package/dist/domain/core/relation/reference-component.js +1 -0
  435. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  436. package/dist/domain/core/relation/reference-field.js +1 -0
  437. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  438. package/dist/domain/core/relation/relation-factory.js +1 -0
  439. package/dist/domain/core/state/migrations.d.ts +14 -45
  440. package/dist/domain/core/state/migrations.js +1 -1
  441. package/dist/domain/core/state/state.d.ts +1 -1
  442. package/dist/domain/domain-builder.d.ts +2 -5
  443. package/dist/domain/domain-builder.js +1 -1
  444. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  445. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  446. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  447. package/dist/domain/domain-context/action-system/index.js +1 -0
  448. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  449. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  450. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  451. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  452. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  453. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  454. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  455. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  456. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  457. package/dist/domain/domain-context/index.d.ts +8 -18
  458. package/dist/domain/domain-context/index.js +1 -1
  459. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  460. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  461. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -7
  462. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  463. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  464. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  465. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  466. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  467. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  468. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  469. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  470. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  471. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  472. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  473. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  474. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  475. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  476. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  477. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  478. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  479. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  480. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -2
  481. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  482. package/dist/domain/domain-context/store-system/index.js +1 -0
  483. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -2
  484. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  485. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  486. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -37
  487. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  488. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -2
  489. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  490. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  491. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  492. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -9
  493. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  494. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  495. package/dist/domain/domain-context/transformers/context.d.ts +2 -5
  496. package/dist/domain/domain-context/transformers/context.js +1 -1
  497. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  498. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  499. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  500. package/dist/domain/domain-context/transformers/index.js +1 -1
  501. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  502. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -8
  503. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  504. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  505. package/dist/domain/domain-context/undo-system.js +1 -1
  506. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  507. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  508. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  509. package/dist/domain/domain-runtime/access/types.js +1 -1
  510. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  511. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  512. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -2
  513. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  514. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  515. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  516. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  517. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  518. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  519. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  520. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -24
  521. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  522. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  523. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  524. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  525. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  526. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  527. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  528. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  529. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  530. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  531. package/dist/domain/domain-runtime/errors/index.js +1 -0
  532. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  533. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  534. package/dist/domain/domain-runtime/index.d.ts +1 -0
  535. package/dist/domain/domain-runtime/index.js +1 -1
  536. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  537. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  538. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  539. package/dist/domain/domain-runtime/spec/index.js +1 -1
  540. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  541. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  542. package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  543. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +2 -2
  544. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  545. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  546. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  547. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  548. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  549. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  550. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  551. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  552. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  553. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  554. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  555. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  556. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  557. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  558. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  559. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  560. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  561. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  562. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  563. package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  564. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  565. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  566. package/dist/domain/domain-runtime/spec/types.d.ts +6 -4
  567. package/dist/domain/extensions/angle-indicator.js +1 -0
  568. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  569. package/dist/domain/extensions/attribute-switch.js +1 -0
  570. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  571. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  572. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  573. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  574. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  575. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  576. package/dist/domain/extensions/canvas-config.js +1 -0
  577. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  578. package/dist/domain/extensions/canvas-padding.js +1 -0
  579. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  580. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  581. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  582. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  583. package/dist/domain/extensions/client-side-image.js +1 -0
  584. package/dist/domain/extensions/color-value.js +1 -0
  585. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  586. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  587. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  588. package/dist/domain/extensions/common/index.d.ts +4 -0
  589. package/dist/domain/extensions/common/index.js +1 -0
  590. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  591. package/dist/domain/extensions/custom-header.js +1 -0
  592. package/dist/domain/extensions/custom-price-footer.js +1 -0
  593. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  594. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  595. package/dist/domain/extensions/dimension-indicator.js +1 -0
  596. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  597. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  598. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  599. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  600. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  601. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  602. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  603. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  604. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  605. package/dist/domain/extensions/entity-header.js +1 -0
  606. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  607. package/dist/domain/extensions/finalize-action.js +1 -0
  608. package/dist/domain/extensions/finalize-component.js +1 -0
  609. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  610. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  611. package/dist/domain/extensions/fixed-header.js +1 -0
  612. package/dist/domain/extensions/floating-header.js +1 -0
  613. package/dist/domain/extensions/hidden-header.js +1 -0
  614. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  615. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  616. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  617. package/dist/domain/extensions/index.d.ts +69 -0
  618. package/dist/domain/extensions/index.js +1 -0
  619. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  620. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  621. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  622. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  623. package/dist/domain/extensions/navigation-steps.js +1 -0
  624. package/dist/domain/extensions/offset-anchors.js +1 -0
  625. package/dist/domain/extensions/offset-indicator.js +1 -0
  626. package/dist/domain/extensions/offset.js +1 -0
  627. package/dist/domain/extensions/other-action.js +1 -0
  628. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  629. package/dist/domain/extensions/property-page.js +1 -0
  630. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  631. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  632. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  633. package/dist/domain/extensions/rotatable.js +1 -0
  634. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  635. package/dist/domain/extensions/rotation-handle.js +1 -0
  636. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  637. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  638. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  639. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  640. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  641. package/dist/domain/extensions/scene-entity-control.js +1 -0
  642. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  643. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  644. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  645. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  646. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  647. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  648. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  649. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  650. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  651. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  652. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  653. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  654. package/dist/domain/extensions/selectable-component.js +1 -0
  655. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  656. package/dist/domain/extensions/simple-summary.js +1 -0
  657. package/dist/domain/extensions/size.js +1 -0
  658. package/dist/domain/extensions/sketching-draw.js +1 -0
  659. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  660. package/dist/domain/extensions/sketching-edit.js +1 -0
  661. package/dist/domain/extensions/summary-component.js +1 -0
  662. package/dist/domain/extensions/text-value.js +1 -0
  663. package/dist/domain/extensions/tool-controls.js +1 -0
  664. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  665. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  666. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  667. package/dist/domain/extensions/toolbar.js +1 -0
  668. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  669. package/dist/domain/extensions/view-controls.js +1 -0
  670. package/dist/domain/index.d.ts +2 -31
  671. package/dist/domain/index.js +1 -1
  672. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  673. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  674. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  675. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  676. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  677. package/dist/domain/mocks/create-mock-domain.js +1 -1
  678. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  679. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  680. package/dist/domain/mocks/create-test-application-config.js +1 -0
  681. package/dist/domain/mocks/index.d.ts +1 -0
  682. package/dist/domain/mocks/index.js +1 -1
  683. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  684. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  685. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  686. package/dist/domain/projections/collision-projections.d.ts +1 -1
  687. package/dist/domain/projections/composition-projections.d.ts +1 -1
  688. package/dist/domain/projections/composition-projections.js +1 -1
  689. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  690. package/dist/domain/projections/index.d.ts +1 -1
  691. package/dist/domain/projections/position-projections.d.ts +1 -1
  692. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  693. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  694. package/dist/domain/projections/validation-projections.d.ts +3 -20
  695. package/dist/domain/projections/validation-projections.js +1 -1
  696. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  697. package/dist/domain/system-components/admin-sidebar.js +1 -1
  698. package/dist/domain/system-components/angle-dimension.js +1 -1
  699. package/dist/domain/system-components/application-config.d.ts +2 -2
  700. package/dist/domain/system-components/application-config.js +1 -1
  701. package/dist/domain/system-components/attribute-selection.js +1 -1
  702. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  703. package/dist/domain/system-components/bounding-box-component.js +1 -1
  704. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  705. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  706. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  707. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  708. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  709. package/dist/domain/system-components/child-entity-selection.js +1 -1
  710. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  711. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  712. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  713. package/dist/domain/system-components/collision-geometry.js +1 -1
  714. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  715. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  716. package/dist/domain/system-components/common/index.d.ts +0 -4
  717. package/dist/domain/system-components/common/index.js +1 -1
  718. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  719. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  720. package/dist/domain/system-components/common/recipes.js +1 -1
  721. package/dist/domain/system-components/constraint.d.ts +11 -24
  722. package/dist/domain/system-components/constraint.js +1 -1
  723. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  724. package/dist/domain/system-components/detail.js +1 -1
  725. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  726. package/dist/domain/system-components/distance-dimension.js +1 -1
  727. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  728. package/dist/domain/system-components/drag-handle.js +1 -1
  729. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  730. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  731. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  732. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  733. package/dist/domain/system-components/generic-dimension.js +1 -1
  734. package/dist/domain/system-components/hidden-entity.js +1 -1
  735. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  736. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  737. package/dist/domain/system-components/index.d.ts +0 -68
  738. package/dist/domain/system-components/index.js +1 -1
  739. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  740. package/dist/domain/system-components/material-override-transformer.js +1 -1
  741. package/dist/domain/system-components/material-swatch.js +1 -1
  742. package/dist/domain/system-components/navigation-page.js +1 -1
  743. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  744. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  745. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  746. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  747. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  748. package/dist/domain/system-components/pivot-point.js +1 -1
  749. package/dist/domain/system-components/price.js +1 -1
  750. package/dist/domain/system-components/projected-entities.js +1 -1
  751. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  752. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  753. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  754. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  755. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  756. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  757. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  758. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  759. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  760. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  761. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  762. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  763. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  764. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  765. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  766. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  767. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  768. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  769. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  770. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  771. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  772. package/dist/domain/system-components/scene-entity-object.js +1 -1
  773. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  774. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  775. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  776. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  777. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  778. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  779. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  780. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  781. package/dist/domain/system-components/sketching-line.js +1 -1
  782. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  783. package/dist/domain/system-components/sketching.js +1 -1
  784. package/dist/domain/system-components/snap-axis.js +1 -1
  785. package/dist/domain/system-components/snap-edge.js +1 -1
  786. package/dist/domain/system-components/snap-plane.js +1 -1
  787. package/dist/domain/system-components/snap-point.js +1 -1
  788. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  789. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  790. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  791. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  792. package/dist/domain/utils/eval-cache.d.ts +1 -1
  793. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  794. package/dist/domain/utils/memo-eval.d.ts +2 -2
  795. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  796. package/dist/editor/mocks/EditorMockContext.js +1 -1
  797. package/dist/i18n/locales/cs/messages.js +1 -1
  798. package/dist/i18n/locales/da/messages.js +1 -1
  799. package/dist/i18n/locales/de/messages.js +1 -1
  800. package/dist/i18n/locales/de-AT/messages.js +1 -1
  801. package/dist/i18n/locales/en/messages.js +1 -1
  802. package/dist/i18n/locales/en-AU/messages.js +1 -1
  803. package/dist/i18n/locales/en-GB/messages.js +1 -1
  804. package/dist/i18n/locales/es/messages.js +1 -1
  805. package/dist/i18n/locales/fr/messages.js +1 -1
  806. package/dist/i18n/locales/hu/messages.js +1 -1
  807. package/dist/i18n/locales/it/messages.js +1 -1
  808. package/dist/i18n/locales/nl/messages.js +1 -1
  809. package/dist/i18n/locales/pl/messages.js +1 -1
  810. package/dist/i18n/locales/pt/messages.js +1 -1
  811. package/dist/i18n/locales/ro/messages.js +1 -1
  812. package/dist/i18n/locales/sk/messages.js +1 -1
  813. package/dist/i18n/locales/tr/messages.js +1 -1
  814. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  815. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  816. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  817. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  818. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  819. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  820. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  821. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  822. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +81 -68
  823. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  824. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  825. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  826. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  827. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  828. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  829. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  830. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -16
  831. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  832. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +13 -11
  833. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  834. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  835. package/dist/phoenix/commands/check.js +1 -1
  836. package/dist/phoenix/commands/deploy.js +1 -1
  837. package/dist/phoenix/commands/dev.js +5 -5
  838. package/dist/phoenix/commands/fix.js +1 -1
  839. package/dist/phoenix/commands/init.d.ts +4 -4
  840. package/dist/phoenix/commands/init.js +1 -1
  841. package/dist/phoenix/commands/prettier.js +1 -1
  842. package/dist/phoenix/scripts/build-admin.js +1 -1
  843. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -0
  844. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  845. package/dist/phoenix/services/source-archive.d.ts +1 -0
  846. package/dist/phoenix/services/source-archive.js +1 -1
  847. package/dist/phoenix/services/swc.js +1 -1
  848. package/dist/phoenix/utils/git/index.d.ts +1 -0
  849. package/dist/phoenix/utils/git/index.js +1 -0
  850. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  851. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  852. package/dist/phoenix/utils/index.d.ts +1 -0
  853. package/dist/phoenix/utils/index.js +1 -1
  854. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  855. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  856. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  857. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  858. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  859. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  860. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  861. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  862. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  863. package/dist/react-sdk/domain-context/index.js +1 -1
  864. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  865. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  866. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  867. package/dist/ui-sdk/theme/types.d.ts +1 -1
  868. package/dist/webhook/builders/common.d.ts +5 -0
  869. package/dist/webhook/builders/webhook-builder.js +1 -1
  870. package/package.json +33 -26
  871. package/schema/domain-spec.json +1115 -209
  872. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  873. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  874. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  875. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  876. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  877. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  878. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  879. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  880. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  881. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  882. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  883. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  884. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  885. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  886. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  887. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  888. package/dist/domain/actions/action-factory.d.ts +0 -10
  889. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  890. package/dist/domain/application/element-registration.js +0 -1
  891. package/dist/domain/application/handler-registration.js +0 -1
  892. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  893. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  894. package/dist/domain/application/resource-builder.d.ts +0 -13
  895. package/dist/domain/application/resource-builder.js +0 -1
  896. package/dist/domain/components/debug-state-component.js +0 -1
  897. package/dist/domain/components/domain-component-optic.d.ts +0 -74
  898. package/dist/domain/components/domain-component-optic.js +0 -16
  899. package/dist/domain/components/drag-state-component.js +0 -1
  900. package/dist/domain/components/export-state-component.js +0 -1
  901. package/dist/domain/components/fullscreen-state-component.js +0 -1
  902. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  903. package/dist/domain/components/hover-state-component.js +0 -1
  904. package/dist/domain/components/index.d.ts +0 -2
  905. package/dist/domain/components/index.js +0 -1
  906. package/dist/domain/components/navigation-state-component.js +0 -1
  907. package/dist/domain/components/selection-state-component.js +0 -1
  908. package/dist/domain/components/system-component-builder.js +0 -1
  909. package/dist/domain/components/system-virtual-entity.js +0 -1
  910. package/dist/domain/components/tool-state-component.js +0 -1
  911. package/dist/domain/components/view-state-component.js +0 -1
  912. package/dist/domain/components/viewport-state-component.js +0 -1
  913. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -55
  914. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  915. package/dist/domain/invariants/custom-invariants.d.ts +0 -20
  916. package/dist/domain/invariants/custom-invariants.js +0 -1
  917. package/dist/domain/invariants/invariants.d.ts +0 -74
  918. package/dist/domain/invariants/invariants.js +0 -1
  919. package/dist/domain/invariants/violation-component.js +0 -1
  920. package/dist/domain/invariants/violation.js +0 -1
  921. package/dist/domain/project-modules/index.d.ts +0 -1
  922. package/dist/domain/project-modules/index.js +0 -1
  923. package/dist/domain/project-modules/project-modules.js +0 -1
  924. package/dist/domain/relations/all-of-type-relation.d.ts +0 -30
  925. package/dist/domain/relations/all-of-type-relation.js +0 -1
  926. package/dist/domain/relations/component-factories.js +0 -1
  927. package/dist/domain/relations/composed-of.js +0 -1
  928. package/dist/domain/relations/direct-relation.d.ts +0 -27
  929. package/dist/domain/relations/indirect-relation.d.ts +0 -78
  930. package/dist/domain/relations/indirect-relation.js +0 -1
  931. package/dist/domain/relations/reference-component.js +0 -1
  932. package/dist/domain/relations/relation-factory.d.ts +0 -17
  933. package/dist/domain/relations/relation-factory.js +0 -1
  934. package/dist/domain/relations/relation-implementation.d.ts +0 -5
  935. package/dist/domain/system-components/angle-indicator.js +0 -1
  936. package/dist/domain/system-components/attribute-switch.js +0 -1
  937. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  938. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  939. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  940. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  941. package/dist/domain/system-components/canvas-config.js +0 -1
  942. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  943. package/dist/domain/system-components/canvas-padding.js +0 -1
  944. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  945. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  946. package/dist/domain/system-components/client-side-image.js +0 -1
  947. package/dist/domain/system-components/color-value.js +0 -1
  948. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  949. package/dist/domain/system-components/custom-header.js +0 -1
  950. package/dist/domain/system-components/custom-price-footer.js +0 -1
  951. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  952. package/dist/domain/system-components/dimension-indicator.js +0 -1
  953. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  954. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  955. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  956. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  957. package/dist/domain/system-components/entity-header.js +0 -1
  958. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  959. package/dist/domain/system-components/finalize-action.js +0 -1
  960. package/dist/domain/system-components/finalize-component.js +0 -1
  961. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  962. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  963. package/dist/domain/system-components/fixed-header.js +0 -1
  964. package/dist/domain/system-components/floating-header.js +0 -1
  965. package/dist/domain/system-components/hidden-header.js +0 -1
  966. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  967. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  968. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  969. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  970. package/dist/domain/system-components/navigation-steps.js +0 -1
  971. package/dist/domain/system-components/offset-anchors.js +0 -1
  972. package/dist/domain/system-components/offset-indicator.js +0 -1
  973. package/dist/domain/system-components/offset.js +0 -1
  974. package/dist/domain/system-components/other-action.js +0 -1
  975. package/dist/domain/system-components/property-page.js +0 -1
  976. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  977. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  978. package/dist/domain/system-components/rotatable.js +0 -1
  979. package/dist/domain/system-components/rotation-handle.js +0 -1
  980. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  981. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  982. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  983. package/dist/domain/system-components/scene-entity-control.js +0 -1
  984. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  985. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  986. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  987. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  988. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  989. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  990. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  991. package/dist/domain/system-components/selectable-component.js +0 -1
  992. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  993. package/dist/domain/system-components/simple-summary.js +0 -1
  994. package/dist/domain/system-components/size.js +0 -1
  995. package/dist/domain/system-components/sketching-draw.js +0 -1
  996. package/dist/domain/system-components/sketching-edit.js +0 -1
  997. package/dist/domain/system-components/summary-component.js +0 -1
  998. package/dist/domain/system-components/text-value.js +0 -1
  999. package/dist/domain/system-components/tool-controls.js +0 -1
  1000. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1001. package/dist/domain/system-components/toolbar.js +0 -1
  1002. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1003. package/dist/domain/system-components/view-controls.js +0 -1
  1004. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1005. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1006. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1007. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1008. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1009. /package/dist/domain/core/{action.js → action/action.js} +0 -0
  1010. /package/dist/domain/{relations/reference-field.js → core/component/component-reader-types.js} +0 -0
  1011. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1012. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1013. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1014. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1015. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-cell-value.js} +0 -0
  1016. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1017. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1018. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1019. /package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.js +0 -0
  1020. /package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1021. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  1022. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  1023. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1024. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1025. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1026. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  1027. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  1028. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1029. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  1030. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1031. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1032. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1033. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1034. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1035. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  1036. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  1037. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  1038. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1039. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1040. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1041. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  1042. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  1043. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  1044. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  1045. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1046. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  1047. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  1048. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  1049. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  1050. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  1051. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1052. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1053. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1054. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1055. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1056. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1057. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  1058. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1059. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  1060. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  1061. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1062. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1063. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1064. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  1065. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- export const generateRelationExpressionsCode=(e,n)=>{let t=new Map;for(let[n,o]of e.expressions)for(let[,e]of o){if("relation"!==e.implementation.kind)continue;let o=String(n);t.has(o)||t.set(o,[]);let[r]=e.implementation.params;t.get(o).push({relName:String(e.name),rawRelation:r})}if(0===t.size)return"{} as const";let o=[];for(let[e,r]of t){let t=r.map(({relName:t,rawRelation:o})=>{let{target:r}=o,i=JSON.stringify(o,null,2).replace(/\n/g,"\n ");return` ${t}: ${n}<'${e}', '${r}'>(${i}),`});o.push(` ${e}: {
1
+ export const generateRelationExpressionsCode=(e,n)=>{let t=new Map;for(let[n,o]of e.expressions)for(let[,e]of o){if("relation"!==e.implementation.kind)continue;let o=String(n);t.has(o)||t.set(o,[]);let[r]=e.implementation.params;t.get(o).push({relName:String(e.name),rawRelation:r})}if(0===t.size)return"{} as const";let o=[];for(let[e,r]of t){let t=r.map(({relName:e,rawRelation:t})=>{let o=JSON.stringify(t,null,2).replace(/\n/g,"\n ");return` ${e}: ${n}(${o}),`});o.push(` ${e}: {
2
2
  ${t.join("\n")}
3
3
  },`)}return`{
4
4
  ${o.join("\n")}
@@ -1,20 +1,18 @@
1
1
  import type { ApplicationSpec } from '../../../../parse-application-files/index.js';
2
2
  import type { RawResourceEntry } from '../../../../parse-application-files/raw-spec/raw-resources.js';
3
3
  /**
4
- * Emits a `new ResourceBuilder().addX({...})...build()` chain mirroring the
5
- * declared resources. The builder's `const` generics carry every resource name
6
- * as a string literal, so `typeof generatedResources` infers the full typed
7
- * union that the downstream `ConfiguratorBuilder.withResources(...)` call
8
- * propagates into webhook handlers and frontend code.
4
+ * Emits the declared resources as an array literal with `as const`. The assertion
5
+ * keeps every resource name as a string literal, so `typeof generatedResources`
6
+ * carries the union of names that the downstream `ConfiguratorBuilder.withResources(...)`
7
+ * call propagates into webhook handlers and frontend code. That call is also what
8
+ * checks each entry against the resource types.
9
9
  */
10
- export declare const generateResourceBuilderChain: (resources: readonly RawResourceEntry[]) => string;
10
+ export declare const generateResourcesLiteral: (resources: readonly RawResourceEntry[]) => string;
11
11
  export interface ResourcesCodegen {
12
12
  /** Block to inject before the `baseConfiguratorBuilder` declaration — empty when no resources. */
13
13
  readonly preBlock: string;
14
14
  /** Chain call to append to the builder — empty when no resources. */
15
15
  readonly builderCall: string;
16
- /** True when the spec declares at least one resource and `ResourceBuilder` must be imported. */
17
- readonly hasResources: boolean;
18
16
  }
19
17
  /**
20
18
  * Builds the full resources codegen surface: the `export const generatedResources`
@@ -1,34 +1,34 @@
1
- import{P as e,match as t}from"ts-pattern";export const generateResourceBuilderChain=r=>{let n=r.map(r=>t(r).with({type:"ConfigurationLink"},e=>` .addLink({
1
+ import{P as e,match as t}from"ts-pattern";export const generateResourcesLiteral=r=>{let n=r.map(r=>t(r).with({type:"ConfigurationLink"},e=>` {
2
2
  type: 'ConfigurationLink',
3
3
  name: '${e.name}',
4
- })`).with({type:"Csv"},e=>{let t=e.s3Key?`,
5
- s3Key: '${e.s3Key}'`:"";return` .addCsv({
4
+ },`).with({type:"Csv"},e=>{let t=e.s3Key?`,
5
+ s3Key: '${e.s3Key}'`:"";return` {
6
6
  type: 'Csv',
7
7
  name: '${e.name}'${t},
8
- })`}).with({type:"Pdf"},e=>{let t=e.s3Key?`,
9
- s3Key: '${e.s3Key}'`:"";return` .addPdf({
8
+ },`}).with({type:"Pdf"},e=>{let t=e.s3Key?`,
9
+ s3Key: '${e.s3Key}'`:"";return` {
10
10
  type: 'Pdf',
11
11
  name: '${e.name}'${t},
12
- })`}).with({type:"Image",clientGenerated:!0,s3Key:e.string},e=>` .addClientGeneratedImage({
12
+ },`}).with({type:"Image",clientGenerated:!0,s3Key:e.string},e=>` {
13
13
  type: 'Image',
14
14
  name: '${e.name}',
15
15
  clientGenerated: true,
16
16
  s3Key: '${e.s3Key}',
17
- })`).with({type:"Image",exists:!0,url:e.string},e=>` .addExistingImage({
17
+ },`).with({type:"Image",exists:!0,url:e.string},e=>` {
18
18
  type: 'Image',
19
19
  name: '${e.name}',
20
20
  exists: true,
21
21
  url: '${e.url}',
22
- })`).with({type:"Image"},e=>` .addGeneratedImage({
22
+ },`).with({type:"Image"},e=>` {
23
23
  type: 'Image',
24
24
  name: '${e.name}',
25
25
  s3Key: '${e.s3Key}',
26
- })`).exhaustive());return`new ResourceBuilder()
26
+ },`).exhaustive());return`[
27
27
  ${n.join("\n")}
28
- .build()`};export const generateResourcesCodegen=e=>{let t=e.infra.resources;if(!(void 0!==t&&t.length>0))return{preBlock:"",builderCall:"",hasResources:!1};let r=generateResourceBuilderChain(t);return{preBlock:`
28
+ ] as const`};export const generateResourcesCodegen=e=>{let t=e.infra.resources;if(void 0===t||0===t.length)return{preBlock:"",builderCall:""};let r=generateResourcesLiteral(t);return{preBlock:`
29
29
  // ---- Resources ----
30
30
 
31
31
  export const generatedResources = ${r}
32
32
 
33
33
  export type Resource = (typeof generatedResources)[number]['name']
34
- `,builderCall:"\n .withResources(generatedResources)",hasResources:!0}};
34
+ `,builderCall:"\n .withResources(generatedResources)"}};
@@ -13,7 +13,7 @@ export { generatePhxExportsBlock, generatePhxGlobalsBlock } from './generate-phx
13
13
  export { generatePresetsCode } from './generate-presets.js';
14
14
  export { generateRelationExpressionsCode } from './generate-relation-expressions.js';
15
15
  export { generateMemoEvalPlanCode } from './generate-memo-eval-plan-code.js';
16
- export { generateResourceBuilderChain, generateResourcesCodegen, type ResourcesCodegen } from './generate-resources.js';
16
+ export { generateResourcesLiteral, generateResourcesCodegen, type ResourcesCodegen } from './generate-resources.js';
17
17
  export { generateResourcesConfigCall } from './generate-resources-config.js';
18
18
  export { generateImportedStateConstants, generateStateConstants, generateStateTypeDecls, type StateConstantsGenerator, } from './generate-states.js';
19
19
  export { generateTextLanguagesCall } from './generate-text-languages.js';
@@ -1 +1 @@
1
- export{generateAclCall}from"./generate-acl.js";export{generateApplicationMetadataBlock}from"./generate-application-metadata.js";export{generateAssistantBlock}from"./generate-assistant.js";export{generateBaseConfiguratorBuilder}from"./generate-base-configurator-builder.js";export{generateComponentOpticsCode}from"./generate-component-optics.js";export{generateDataSchemaConstants}from"./generate-data-schemas.js";export{generateChunksSpec,generateDataSpec}from"./generate-data-spec.js";export{generateDefaultsBlock}from"./generate-defaults.js";export{generateDomainBlock}from"./generate-domain-block.js";export{generateInvariantsBlock}from"./generate-invariants.js";export{generateLocaleCodegen}from"./generate-locale.js";export{generatePhxExportsBlock,generatePhxGlobalsBlock}from"./generate-phx-globals.js";export{generatePresetsCode}from"./generate-presets.js";export{generateRelationExpressionsCode}from"./generate-relation-expressions.js";export{generateMemoEvalPlanCode}from"./generate-memo-eval-plan-code.js";export{generateResourceBuilderChain,generateResourcesCodegen}from"./generate-resources.js";export{generateResourcesConfigCall}from"./generate-resources-config.js";export{generateImportedStateConstants,generateStateConstants,generateStateTypeDecls}from"./generate-states.js";export{generateTextLanguagesCall}from"./generate-text-languages.js";
1
+ export{generateAclCall}from"./generate-acl.js";export{generateApplicationMetadataBlock}from"./generate-application-metadata.js";export{generateAssistantBlock}from"./generate-assistant.js";export{generateBaseConfiguratorBuilder}from"./generate-base-configurator-builder.js";export{generateComponentOpticsCode}from"./generate-component-optics.js";export{generateDataSchemaConstants}from"./generate-data-schemas.js";export{generateChunksSpec,generateDataSpec}from"./generate-data-spec.js";export{generateDefaultsBlock}from"./generate-defaults.js";export{generateDomainBlock}from"./generate-domain-block.js";export{generateInvariantsBlock}from"./generate-invariants.js";export{generateLocaleCodegen}from"./generate-locale.js";export{generatePhxExportsBlock,generatePhxGlobalsBlock}from"./generate-phx-globals.js";export{generatePresetsCode}from"./generate-presets.js";export{generateRelationExpressionsCode}from"./generate-relation-expressions.js";export{generateMemoEvalPlanCode}from"./generate-memo-eval-plan-code.js";export{generateResourcesLiteral,generateResourcesCodegen}from"./generate-resources.js";export{generateResourcesConfigCall}from"./generate-resources-config.js";export{generateImportedStateConstants,generateStateConstants,generateStateTypeDecls}from"./generate-states.js";export{generateTextLanguagesCall}from"./generate-text-languages.js";
@@ -1,38 +1,38 @@
1
- import{CodeImports as e,autoHeader as a,skipApplicationTypeImports as i}from"../common/index.js";import{generateApplicationMetadataBlock as o,generateAssistantBlock as n,generateBaseConfiguratorBuilder as t,generateChunksSpec as s,generateDataSchemaConstants as r,generateDataSpec as p,generateDomainBlock as m,generateLocaleCodegen as d,generatePhxGlobalsBlock as c,generateResourcesCodegen as l,generateStateConstants as u}from"./domain-spec/index.js";let x="@salsita-ai/sdk/domain",g="@salsita-ai/sdk/i18n";export const globalDomainSpecPhxBinding={generateBindingBlock:c,generateStateConstants:u,registerApplicationTypeImports:i};export const generateApplicationSpecDomainSpecFile=(i,c=globalDomainSpecPhxBinding)=>{let u=new e,{registerApplicationTypeImports:f}=c,E=m({domainSpec:i.configurator,invariants:i.configurator.invariants,actions:i.configurator.actions,typePrefix:"",versionNsPrefix:"ModelV",isAdmin:!1,modelVersionsExportName:"modelVersions",relationExpressionsExportName:"relationExpressions",componentOpticsExportName:"componentOptics",valueExpressionsExportName:"valueExpressions",createRecipeExportName:"createRecipe",imports:u,registerApplicationTypeImports:f}),S=m({domainSpec:i.admin,invariants:i.admin.invariants,actions:void 0,typePrefix:"Admin",versionNsPrefix:"AdminV",isAdmin:!0,modelVersionsExportName:"adminModelVersions",relationExpressionsExportName:"adminRelationExpressions",componentOpticsExportName:"adminComponentOptics",valueExpressionsExportName:"adminValueExpressions",createRecipeExportName:"createAdminRecipe",imports:u,registerApplicationTypeImports:f}),{hasResources:$}=l(i);u.addImport(x,"ConfiguratorBuilder"),u.addImport(x,"EnumReflection"),u.addTypeImport(x,"AssistantResolvedManifest"),u.addTypeImport(x,"ChunksSpec"),u.addTypeImport(x,"DataSpec"),u.addTypeImport(x,"EnumLike"),$&&u.addImport(x,"ResourceBuilder"),u.addImport(g,"mergeCatalogs"),u.addImport(g,"sdkCatalog"),u.addImport("@lingui/core","setupI18n");let v=r(i.configurator.dataSchemas,u,f),k=c.generateStateConstants({configuratorStates:i.configurator.states,adminStates:i.admin.states},u,f),I=o(i),{importBlock:N,catalogBlock:h,createI18nExport:A}=d(i.configurator.ui.availableLocales),{preBlock:B,builderBlock:C}=t(i,u,f),R=c.generateBindingBlock();return`${a("domain-spec.ts","Domain builders, model schemas, component optics and expression definitions derived from the spec.")}
2
- ${u.toString()}${N}
1
+ import{CodeImports as e,autoHeader as a,skipApplicationTypeImports as i}from"../common/index.js";import{generateApplicationMetadataBlock as o,generateAssistantBlock as n,generateBaseConfiguratorBuilder as t,generateChunksSpec as s,generateDataSchemaConstants as r,generateDataSpec as p,generateDomainBlock as m,generateLocaleCodegen as d,generatePhxGlobalsBlock as c,generateStateConstants as l}from"./domain-spec/index.js";let x="@salsita-ai/sdk/domain",u="@salsita-ai/sdk/i18n";export const globalDomainSpecPhxBinding={generateBindingBlock:c,generateStateConstants:l,registerApplicationTypeImports:i};export const generateApplicationSpecDomainSpecFile=(i,c=globalDomainSpecPhxBinding)=>{let l=new e,{registerApplicationTypeImports:g}=c,f=m({domainSpec:i.configurator,invariants:i.configurator.invariants,actions:i.configurator.actions,typePrefix:"",versionNsPrefix:"ModelV",isAdmin:!1,modelVersionsExportName:"modelVersions",relationExpressionsExportName:"relationExpressions",componentOpticsExportName:"componentOptics",valueExpressionsExportName:"valueExpressions",createRecipeExportName:"createRecipe",imports:l,registerApplicationTypeImports:g}),E=m({domainSpec:i.admin,invariants:i.admin.invariants,actions:void 0,typePrefix:"Admin",versionNsPrefix:"AdminV",isAdmin:!0,modelVersionsExportName:"adminModelVersions",relationExpressionsExportName:"adminRelationExpressions",componentOpticsExportName:"adminComponentOptics",valueExpressionsExportName:"adminValueExpressions",createRecipeExportName:"createAdminRecipe",imports:l,registerApplicationTypeImports:g});l.addImport(x,"ConfiguratorBuilder"),l.addImport(x,"EnumReflection"),l.addTypeImport(x,"AssistantResolvedManifest"),l.addTypeImport(x,"ChunksSpec"),l.addTypeImport(x,"DataSpec"),l.addTypeImport(x,"EnumLike"),l.addImport(u,"mergeCatalogs"),l.addImport(u,"sdkCatalog"),l.addImport("@lingui/core","setupI18n");let S=r(i.configurator.dataSchemas,l,g),$=c.generateStateConstants({configuratorStates:i.configurator.states,adminStates:i.admin.states},l,g),v=o(i),{importBlock:k,catalogBlock:N,createI18nExport:I}=d(i.configurator.ui.availableLocales),{preBlock:h,builderBlock:A}=t(i,l,g),B=c.generateBindingBlock();return`${a("domain-spec.ts","Domain builders, model schemas, component optics and expression definitions derived from the spec.")}
2
+ ${l.toString()}${k}
3
3
 
4
4
  // ---- Data schemas ----
5
5
 
6
- ${v}
6
+ ${S}
7
7
 
8
8
  // ---- Admin domain ----
9
9
 
10
- ${S}
10
+ ${E}
11
11
 
12
12
  // ---- Configurator domain ----
13
13
 
14
- ${E}
14
+ ${f}
15
15
 
16
16
  // ---- i18n ----
17
17
 
18
- ${h}
18
+ ${N}
19
19
 
20
- ${A}
20
+ ${I}
21
21
 
22
22
  // ---- Application metadata ----
23
23
 
24
- ${I}
24
+ ${v}
25
25
 
26
26
  // ---- State enums ----
27
27
 
28
- ${k}
28
+ ${$}
29
29
 
30
30
  const $dataSpec: DataSpec = ${p(i.dataSpec.entries)}
31
31
 
32
32
  const $chunks: ChunksSpec = ${s(i.dataSpec.chunks)}
33
33
 
34
34
  ${n(i.configurator.assistant)}
35
- ${B}
36
- ${C}
35
+ ${h}
36
+ ${A}
37
37
 
38
- ${R}`};
38
+ ${B}`};
@@ -1,9 +1,9 @@
1
- import{CodeImports as i}from"../common/code-imports.js";import{autoHeader as o}from"../common/file-headers.js";let n=/v(\d+)\.ts$/,t=(i,o)=>i.versionedModels.filter(i=>void 0!==i.migrationFile).map(i=>({version:i.version,file:i.migrationFile,importName:o?`${o}MigrateToV${i.version}`:`migrateToV${i.version}`})),s=i=>i.map(i=>{let o=i.file.replace(n,`v${i.version}.js`),t=`migrateToV${i.version}`,s=i.importName!==t?` as ${i.importName}`:"";return`import { ${t}${s} } from '../${o}'`}).join("\n"),e=(i,o,n,t)=>[`const ${t}Migrations = {`,...i.map(i=>` ${i.version}: ${i.importName},`),"}","",`const ${t} = MigrateFunctionBuilder`,` .fromVersions(${o})`,` .to(${n})`,` .using(${t}Migrations)`," .build()"].join("\n");export const generateApplicationSpecDomainFile=n=>{let r=new i,a="./domain-spec.js",m="./configurator-domain-code.js",d="./admin-domain-code.js",p=i=>[...i.expressions.values()].some(i=>[...i.values()].some(i=>"relation"===i.implementation.kind)),l=p(n.configurator.expressions),c=p(n.admin.expressions),u=t(n.configurator.resolvedVersions,""),g=t(n.admin.resolvedVersions,"admin"),h=u.length>0,I=g.length>0;r.addImport(a,"baseConfiguratorBuilder"),r.addImport(a,"domainBuilder"),r.addImport(a,"adminDomainBuilder"),r.addImport(a,"attachComponent"),r.addImport(a,"attachAdminComponent"),r.addImport(a,"implementCustomExpressions"),r.addImport(a,"implementAdminCustomExpressions"),r.addImport(a,"createI18n"),r.addImport(a,"componentOptics"),r.addImport(a,"adminComponentOptics"),r.addImport(a,"invariantBuilder"),r.addImport(a,"adminInvariantBuilder"),r.addImport(m,"customExpressions"),r.addImport(m,"customInvariants"),r.addImport(m,"customActions"),r.addImport(d,"customAdminExpressions"),r.addImport(d,"customAdminInvariants"),l&&r.addImport(a,"relationExpressions"),c&&r.addImport(a,"adminRelationExpressions"),(h||I)&&r.addImport("@salsita-ai/sdk/domain","MigrateFunctionBuilder"),h&&r.addImport(a,"modelVersions"),I&&r.addImport(a,"adminModelVersions");let x=[];h&&x.push(s(u)),I&&x.push(s(g));let v=x.length>0?"\n"+x.join("\n")+"\n":"",$=[];h&&$.push(e(u,"modelVersions",n.configurator.schemaVersion,"migrate")),I&&$.push(e(g,"adminModelVersions",n.admin.schemaVersion,"migrateAdmin"));let E=$.length>0?"\n"+$.join("\n\n")+"\n":"",f=["const domainFactory = domainBuilder",l?" .withExpressions(relationExpressions)":null," .withExpressions(invariantBuilder.withInvariantModules(customInvariants).buildViolationExpressions())"," .withExpressionModules(customExpressions)"," .withActionModules(customActions)",h?" .withMigrate(migrate)":null," .build()"].filter(Boolean).join("\n"),A=["const adminDomainFactory = adminDomainBuilder",c?" .withExpressions(adminRelationExpressions)":null," .withExpressions(adminInvariantBuilder.withInvariantModules(customAdminInvariants).buildViolationExpressions())"," .withExpressionModules(customAdminExpressions)",I?" .withMigrate(migrateAdmin)":null," .build()"].filter(Boolean).join("\n");return`${o("domain.ts","Assembles domain and admin domain factories from builders, migrations, expressions and invariants.")}
2
- ${r.toString()}
1
+ import{CodeImports as o}from"../common/code-imports.js";import{autoHeader as i}from"../common/file-headers.js";let n=/v(\d+)\.ts$/,s=(o,i)=>o.versionedModels.filter(o=>void 0!==o.migrationFile).map(o=>({version:o.version,file:o.migrationFile,importName:i?`${i}MigrateToV${o.version}`:`migrateToV${o.version}`})),t=o=>o.map(o=>{let i=o.file.replace(n,`v${o.version}.js`),s=`migrateToV${o.version}`,t=o.importName!==s?` as ${o.importName}`:"";return`import { ${s}${t} } from '../${i}'`}).join("\n"),e=(o,i,n,s)=>[`const ${s}Migrations = {`,...o.map(o=>` ${o.version}: ${o.importName},`),"}","",`const ${s} = createMigrateFunction(${i}, ${n}, ${s}Migrations)`].join("\n");export const generateApplicationSpecDomainFile=n=>{let a=new o,r="./domain-spec.js",m="./configurator-domain-code.js",d="./admin-domain-code.js",p="@salsita-ai/sdk/domain",l=o=>[...o.expressions.values()].some(o=>[...o.values()].some(o=>"relation"===o.implementation.kind)),c=l(n.configurator.expressions),u=l(n.admin.expressions),x=s(n.configurator.resolvedVersions,""),I=s(n.admin.resolvedVersions,"admin"),g=x.length>0,h=I.length>0;a.addImport(r,"baseConfiguratorBuilder"),a.addImport(r,"domainBuilder"),a.addImport(r,"adminDomainBuilder"),a.addImport(r,"attachComponent"),a.addImport(r,"attachAdminComponent"),a.addImport(r,"implementCustomExpressions"),a.addImport(r,"implementAdminCustomExpressions"),a.addImport(r,"createI18n"),a.addImport(r,"componentOptics"),a.addImport(r,"adminComponentOptics"),a.addImport(r,"aliases"),a.addImport(r,"adminAliases"),a.addImport(r,"commonAdminInvariants"),a.addImport(p,"createViolationExpressions"),a.addImport(m,"customExpressions"),a.addImport(m,"customInvariants"),a.addImport(m,"customActions"),a.addImport(d,"customAdminExpressions"),a.addImport(d,"customAdminInvariants"),c&&a.addImport(r,"relationExpressions"),u&&a.addImport(r,"adminRelationExpressions"),(g||h)&&a.addImport(p,"createMigrateFunction"),g&&a.addImport(r,"modelVersions"),h&&a.addImport(r,"adminModelVersions");let $=[];g&&$.push(t(x)),h&&$.push(t(I));let v=$.length>0?"\n"+$.join("\n")+"\n":"",A=[];g&&A.push(e(x,"modelVersions",n.configurator.schemaVersion,"migrate")),h&&A.push(e(I,"adminModelVersions",n.admin.schemaVersion,"migrateAdmin"));let E=A.length>0?"\n"+A.join("\n\n")+"\n":"",f=["const domainFactory = domainBuilder",c?" .withExpressions(relationExpressions)":null," .withExpressions(createViolationExpressions(aliases, customInvariants))"," .withExpressionModules(customExpressions)"," .withActionModules(customActions)",g?" .withMigrate(migrate)":null," .build()"].filter(Boolean).join("\n"),w=["const adminDomainFactory = adminDomainBuilder",u?" .withExpressions(adminRelationExpressions)":null," .withExpressions(createViolationExpressions(adminAliases, customAdminInvariants, commonAdminInvariants))"," .withExpressionModules(customAdminExpressions)",h?" .withMigrate(migrateAdmin)":null," .build()"].filter(Boolean).join("\n");return`${i("domain.ts","Assembles domain and admin domain factories from builders, migrations, expressions and invariants.")}
2
+ ${a.toString()}
3
3
  ${v}export { attachComponent, attachAdminComponent, implementCustomExpressions, implementAdminCustomExpressions, createI18n }
4
4
  ${E}
5
5
  ${f}
6
- ${A}
6
+ ${w}
7
7
 
8
8
  export const configuratorBuilder = baseConfiguratorBuilder
9
9
  .withDomainFactory(domainFactory)
@@ -1,9 +1,9 @@
1
- import{autoHeader as e}from"../common/file-headers.js";import{generateApplicationSpecTypeDeclarations as a}from"./application-types.js";export const generateApplicationSpecGlobals=(o,n)=>{let t,i,l,r,d,s,p,m,y,{declarations:c,imports:f}=a(o,n,2);f.addTypeImport("@salsita-ai/sdk/domain","EnumLike");let h=[c,(t=o.configurator.latestModel,i=o.admin.latestModel,l=t.entityTypes.map(String),r=[...t.aliases].map(([e])=>String(e)),d=[...t.commonTypes].map(([e])=>String(e)),s=i.entityTypes.map(String),p=[...i.aliases].map(([e])=>String(e)),m=[...i.commonTypes].map(([e])=>String(e)),y=(e,a)=>e.map(e=>` ${a(e)}`).join("\n"),` interface Model {
2
- ${y([...l,...d,...r],e=>`readonly ${e}: ${e}`)}
1
+ import{autoHeader as e}from"../common/file-headers.js";import{generateApplicationSpecTypeDeclarations as a}from"./application-types.js";export const generateApplicationSpecGlobals=(o,t)=>{let n,i,r,l,d,s,p,m,y,{declarations:c,imports:f}=a(o,t,2);f.addTypeImport("@salsita-ai/sdk/domain","EnumLike");let u=[c,(n=o.configurator.latestModel,i=o.admin.latestModel,r=n.entityTypes.map(String),l=[...n.aliases].map(([e])=>String(e)),d=[...n.commonTypes].map(([e])=>String(e)),s=i.entityTypes.map(String),p=[...i.aliases].map(([e])=>String(e)),m=[...i.commonTypes].map(([e])=>String(e)),y=(e,a)=>e.map(e=>` ${a(e)}`).join("\n"),` interface Model {
2
+ ${y([...r,...d,...l],e=>`readonly ${e}: ${e}`)}
3
3
  }
4
4
 
5
5
  interface EnhancedModel {
6
- ${y([...l,...r],e=>`readonly $${e}: $${e}`)}
6
+ ${y([...r,...l],e=>`readonly $${e}: $${e}`)}
7
7
  }
8
8
 
9
9
  interface AdminModel {
@@ -44,7 +44,7 @@ ${y([...s,...p],e=>`readonly $${e}: Admin.$${e}`)}
44
44
  ${f.toTypeOnlyString(".phoenix/globals.d.ts")}
45
45
 
46
46
  declare global {
47
- ${h}
47
+ ${u}
48
48
 
49
49
  interface PhxGlobal {
50
50
  readonly frontendEnv: import('./frontend.config.js').RuntimeConfig
@@ -74,6 +74,7 @@ ${h}
74
74
  readonly implementCustomExpressions: typeof import('./domain-spec.js').implementCustomExpressions
75
75
  readonly implementCustomInvariants: typeof import('./domain-spec.js').implementCustomInvariants
76
76
  readonly implementActions: typeof import('./domain-spec.js').implementActions
77
+ readonly createAssistantSetupHandler: typeof import('./domain-spec.js').createAssistantSetupHandler
77
78
  readonly attachComponent: typeof import('./domain-spec.js').attachComponent
78
79
  readonly createRecipe: typeof import('./domain-spec.js').createRecipe
79
80
 
@@ -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,9 @@ 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';
57
50
  export { generateApplicationSpecStoryDevDeclaration, generateApplicationSpecStoryPhxModule, generateApplicationSpecStoryRawProjectFiles, generateApplicationSpecStoryWrapper, } from './story/index.js';
58
51
  export { generateApplicationSpecTsconfig } from './tsconfig.js';
59
52
  export { generateApplicationSpecWebhookBuilders } from './webhook-builders.js';
60
- export { generateApplicationSpecWebhookImplementation } from './webhook-implementation.js';
61
53
  export { generateApplicationSpecWebhookIndex } from './webhook-index.js';
62
54
  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{generateApplicationSpecStoryDevDeclaration,generateApplicationSpecStoryPhxModule,generateApplicationSpecStoryRawProjectFiles,generateApplicationSpecStoryWrapper}from"./story/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 @@
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,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)
@@ -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]});