@salsita-ai/sdk 0.50.0-develop.8f6deac646 → 0.50.0-develop.9267bdc12e

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 (273) hide show
  1. package/README.md +2 -2
  2. package/dist/application-spec/errors/diagnostic-codes.d.ts +5 -0
  3. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  4. package/dist/application-spec/errors/diagnostic-messages.d.ts +5 -0
  5. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  6. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  7. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  8. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  9. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +48 -48
  10. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  11. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  12. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  13. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  14. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  15. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  16. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  17. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  18. package/dist/application-spec/generate-application/code/templates/globals.js +5 -4
  19. package/dist/application-spec/generate-application/code/templates/index.d.ts +0 -7
  20. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  21. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  22. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +8 -2
  23. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +9 -10
  24. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -4
  25. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +1 -3
  26. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +1 -3
  27. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  28. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  29. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  30. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  31. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  32. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +1 -1
  33. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  34. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  35. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  36. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  37. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  38. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  39. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  40. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  41. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  42. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  43. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  44. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  45. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  46. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  47. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  48. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  49. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  50. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +3 -1
  51. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  52. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +3 -1
  53. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  54. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  55. package/dist/configurator/common/configurator-interface.d.ts +5 -1
  56. package/dist/configurator/common/configurator-interface.js +1 -1
  57. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  58. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  59. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  60. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +1 -75
  61. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  62. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  63. package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.d.ts +92 -0
  64. package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.js +16 -0
  65. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  66. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  67. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  68. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  69. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  70. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  71. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  72. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  73. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  74. package/dist/docs/index.json +11 -1
  75. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  76. package/dist/docs/layouts/custom-layout.mdx +981 -0
  77. package/dist/docs/other-features/side-effects.mdx +8 -11
  78. package/dist/docs/other-features/violation-messages.mdx +52 -56
  79. package/dist/docs/phoenix/configurator-interface.mdx +105 -65
  80. package/dist/docs/phoenix/domain-model.mdx +4 -0
  81. package/dist/docs/phoenix/getting-started.mdx +1 -1
  82. package/dist/docs/phoenix/phoenix-cli.mdx +19 -26
  83. package/dist/docs/phoenix/project-structure.mdx +16 -10
  84. package/dist/docs/phoenix/quickstart.mdx +2 -2
  85. package/dist/docs/phoenix/sdk-builder-workflow.mdx +2 -2
  86. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  87. package/dist/docs/phoenix/webhooks.mdx +2 -2
  88. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  89. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  90. package/dist/domain/admin-domain/index.js +1 -1
  91. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  92. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  93. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  94. package/dist/domain/application/application-config.d.ts +5 -3
  95. package/dist/domain/application/assistant/assistant-fields.d.ts +5 -0
  96. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  97. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +27 -1
  98. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  99. package/dist/domain/application/assistant/index.d.ts +4 -1
  100. package/dist/domain/application/assistant/index.js +1 -1
  101. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  102. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  103. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  104. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  105. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  106. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  107. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  108. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  109. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  110. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  111. package/dist/domain/application/configurator-builder.d.ts +2 -2
  112. package/dist/domain/application/configurator-builder.js +1 -1
  113. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  114. package/dist/domain/application/index.d.ts +0 -4
  115. package/dist/domain/application/index.js +1 -1
  116. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  117. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  118. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  119. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  120. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  121. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  122. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  123. package/dist/domain/core/component/domain-component-optic.d.ts +11 -19
  124. package/dist/domain/core/component/domain-component-optic.js +2 -2
  125. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  126. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  127. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  128. package/dist/domain/core/expression/constant-expressions.js +1 -1
  129. package/dist/domain/core/expression/custom-expression.d.ts +17 -4
  130. package/dist/domain/core/expression/custom-expression.js +1 -1
  131. package/dist/domain/core/expression/expression.d.ts +1 -2
  132. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  133. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  134. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  135. package/dist/domain/core/recipe/recipes.js +1 -1
  136. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  137. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  138. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  139. package/dist/domain/core/relation/index.d.ts +0 -1
  140. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  141. package/dist/domain/core/relation/indirect-relation.js +1 -1
  142. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  143. package/dist/domain/core/relation/relation-factory.js +1 -1
  144. package/dist/domain/core/state/migrations.d.ts +14 -45
  145. package/dist/domain/core/state/migrations.js +1 -1
  146. package/dist/domain/core/state/state.d.ts +1 -1
  147. package/dist/domain/domain-builder.d.ts +1 -1
  148. package/dist/domain/domain-builder.js +1 -1
  149. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  150. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  151. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  152. package/dist/domain/domain-runtime/access/types.js +1 -1
  153. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +14 -13
  154. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  155. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  156. package/dist/domain/domain-runtime/domain-runtime.d.ts +56 -40
  157. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  158. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  159. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  160. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  161. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  162. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  163. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  164. package/dist/domain/domain-runtime/errors/index.js +1 -0
  165. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  166. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  167. package/dist/domain/domain-runtime/index.d.ts +1 -0
  168. package/dist/domain/domain-runtime/index.js +1 -1
  169. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  170. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  171. package/dist/domain/domain-runtime/spec/index.d.ts +2 -5
  172. package/dist/domain/domain-runtime/spec/index.js +1 -1
  173. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  174. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +2 -2
  175. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  176. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  177. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  178. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  179. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  180. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -1
  181. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  182. package/dist/domain/domain-runtime/spec/{resolve-action-modules.d.ts → module-checks/resolve-action-modules.d.ts} +2 -2
  183. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  184. package/dist/domain/domain-runtime/spec/{resolve-component-optic-modules.d.ts → module-checks/resolve-component-optic-modules.d.ts} +2 -2
  185. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  186. package/dist/domain/domain-runtime/spec/{resolve-expression-modules.d.ts → module-checks/resolve-expression-modules.d.ts} +2 -2
  187. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  188. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  189. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  190. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  191. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  192. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  193. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  194. package/dist/domain/domain-runtime/spec/types.d.ts +2 -1
  195. package/dist/domain/index.d.ts +0 -1
  196. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  197. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +18 -9
  198. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  199. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  200. package/dist/domain/mocks/create-mock-domain.js +1 -1
  201. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  202. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  203. package/dist/domain/utils/eval-cache.d.ts +1 -1
  204. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  205. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  206. package/dist/editor/mocks/EditorMockContext.js +1 -1
  207. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  208. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  209. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  210. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  211. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  212. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  213. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  214. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  215. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  216. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  217. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  218. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +1 -0
  219. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  220. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  221. package/dist/phoenix/commands/init.d.ts +4 -4
  222. package/dist/phoenix/commands/init.js +1 -1
  223. package/dist/phoenix/commands/prettier.js +1 -1
  224. package/dist/phoenix/utils/git/index.d.ts +1 -0
  225. package/dist/phoenix/utils/git/index.js +1 -0
  226. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  227. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  228. package/dist/phoenix/utils/index.d.ts +1 -0
  229. package/dist/phoenix/utils/index.js +1 -1
  230. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  231. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  232. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  233. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +33 -16
  234. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  235. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +4 -4
  236. package/dist/react-sdk/domain-context/index.d.ts +1 -1
  237. package/dist/react-sdk/domain-context/index.js +1 -1
  238. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +6 -0
  239. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  240. package/dist/webhook/builders/webhook-builder.js +1 -1
  241. package/package.json +3 -3
  242. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  243. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  244. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  245. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -94
  246. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  247. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  248. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  249. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  250. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  251. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  252. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  253. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  254. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  255. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  256. package/dist/domain/application/element-registration.js +0 -1
  257. package/dist/domain/application/handler-registration.js +0 -1
  258. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -22
  259. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  260. package/dist/domain/application/resource-builder.d.ts +0 -13
  261. package/dist/domain/application/resource-builder.js +0 -1
  262. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  263. package/dist/domain/core/relation/relation-implementation.js +0 -1
  264. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -26
  265. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  266. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +0 -1
  267. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +0 -1
  268. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +0 -1
  269. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +0 -6
  270. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +0 -1
  271. package/dist/domain/project-modules/index.d.ts +0 -1
  272. package/dist/domain/project-modules/index.js +0 -1
  273. package/dist/domain/project-modules/project-modules.js +0 -1
@@ -46,25 +46,22 @@ countersinkNotAvailable:
46
46
  ```
47
47
 
48
48
  ```ts
49
- const violationExpressions = invariantBuilder
50
- .withInvariants(
51
- implementCustomInvariants({
52
- Plate: {
53
- finishNotAvailable: s => {
54
- return availableMaterials.some(state => state.material === s.material && state.finish === s.finish)
55
- },
56
- thicknessNotAvailable: s => {
57
- return availableMaterials.some(
58
- state => state.material === s.material && state.finish === s.finish && state.thickness === s.thickness
59
- )
60
- },
61
- countersinkNotAvailable: s => {
62
- return !s.someCounterSinkAdded || counterSinkThicknesses.includes(s.thickness)
63
- },
64
- },
65
- })
66
- )
67
- .buildViolationExpressions()
49
+ // src/invariants/invariants.ts
50
+ export default phx.domain.implementCustomInvariants({
51
+ Plate: {
52
+ finishNotAvailable: s => {
53
+ return availableMaterials.some(state => state.material === s.material && state.finish === s.finish)
54
+ },
55
+ thicknessNotAvailable: s => {
56
+ return availableMaterials.some(
57
+ state => state.material === s.material && state.finish === s.finish && state.thickness === s.thickness
58
+ )
59
+ },
60
+ countersinkNotAvailable: s => {
61
+ return !s.someCounterSinkAdded || counterSinkThicknesses.includes(s.thickness)
62
+ },
63
+ },
64
+ })
68
65
  ```
69
66
 
70
67
  With following control structure. Note the hierarchy of `fixableViolations`. The top input "fixes" all violations as it should never be disabled.
@@ -669,44 +669,6 @@ import { Model, attachComponent, configuratorBuilder } from './domain/index.js'
669
669
  // ... identical to the Code section above ...
670
670
  ```
671
671
 
672
- ### Domain Setup (`domain/index.ts`)
673
-
674
- ```typescript
675
- import { memoEval } from '@salsita-ai/sdk/domain'
676
-
677
- import { adminDomainBuilder } from './__generated/admin-implementation.js'
678
- import { generatedConfiguratorBuilder } from './__generated/configurator-builder.js'
679
- import {
680
- domainBuilder,
681
- implementCustomExpressions,
682
- implementCustomInvariants,
683
- invariantBuilder,
684
- } from './__generated/implementation.js'
685
-
686
- const violationExpressions = invariantBuilder.withInvariants(implementCustomInvariants({})).buildViolationExpressions()
687
-
688
- const customExpressions = implementCustomExpressions({
689
- // ... as shown in Code section ...
690
- })
691
-
692
- const domainFactory = domainBuilder.withExpressions(violationExpressions).withExpressions(customExpressions).build()
693
- const adminDomainFactory = adminDomainBuilder.build()
694
-
695
- export const configuratorBuilder = generatedConfiguratorBuilder
696
- .withDomainFactory(domainFactory)
697
- .withAdminDomainFactory(adminDomainFactory)
698
-
699
- export * as AdminEnhancedDomain from './__generated/admin-enhanced-model.js'
700
- export * as AdminModel from './__generated/admin-model/index.js'
701
- export * as ApplicationTypes from './__generated/application-types.js'
702
- export * as EnhancedDomain from './__generated/enhanced-model.js'
703
- export * as Model from './__generated/model/index.js'
704
-
705
- export { attachAdminComponent, createAdminRecipe } from './__generated/admin-implementation.js'
706
- export { attachComponent, createRecipe } from './__generated/implementation.js'
707
- export { createPresets } from './__generated/presets.js'
708
- ```
709
-
710
672
  ### Domain Configuration (`domain/domain.yaml`)
711
673
 
712
674
  ```yaml
@@ -99,19 +99,15 @@ components:
99
99
  Optionally disable specific options using invariants. The control performs a dry run for each option and disables those that would violate your rules. Provide a clear message; if multiple violations apply, messages are concatenated.
100
100
 
101
101
  ```typescript
102
- // domain/index.ts (extract)
103
- const violationExpressions = invariantBuilder
104
- .withInvariants(
105
- implementCustomInvariants({
106
- Table: {
107
- trunkDisabled: s =>
108
- s.edgeFinish === 'TreeTrunk'
109
- ? [{ type: 'trunkDisabled', severity: 'fatal', message: 'TreeTrunk finish is disabled because stuff!' }]
110
- : [],
111
- },
112
- })
113
- )
114
- .buildViolationExpressions()
102
+ // src/invariants/trunk-disabled.ts
103
+ export default phx.domain.implementCustomInvariants({
104
+ Table: {
105
+ trunkDisabled: s =>
106
+ s.edgeFinish === 'TreeTrunk'
107
+ ? [{ type: 'trunkDisabled', severity: 'fatal', message: 'TreeTrunk finish is disabled because stuff!' }]
108
+ : [],
109
+ },
110
+ })
115
111
  ```
116
112
 
117
113
  Register the invariant type in YAML so the system knows about it.
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-10-13T17:25:35.625Z",
2
+ "generatedAt": "2026-10-14T10:17:41.158Z",
3
3
  "categories": [
4
4
  {
5
5
  "name": "Phoenix",
@@ -686,6 +686,16 @@
686
686
  ],
687
687
  "source": "storybook-example"
688
688
  },
689
+ {
690
+ "title": "Custom Layout",
691
+ "description": "Make the configurator look like the brand's own product page. A furniture shop wants its table configurator to read like the rest of its site: a floating panel on the left with the product's name,...",
692
+ "path": "docs/layouts/custom-layout.mdx",
693
+ "category": [
694
+ "Layouts",
695
+ "Custom Layout"
696
+ ],
697
+ "source": "storybook-example"
698
+ },
689
699
  {
690
700
  "title": "Custom Price",
691
701
  "description": "The custom price footer component replaces the standard price display in the sidebar footer with a fully customizable React component. This allows you to create custom pricing interfaces, add...",
@@ -133,7 +133,7 @@ The value of `WOOCOMMERCE_API_KEY` must correspond to the value of the 'API key'
133
133
  settings page and `WOOCOMMERCE_PRODUCT_NAME` must correspond to the name of the product template you created.
134
134
 
135
135
  - run development server (from this repo): `pnpm dev:server`
136
- - prepare local deployment (from the implementation project): `pnpm deployment:prepare-local`
136
+ - prepare local deployment (from the implementation project): `pnpm phoenix deployment:prepare-local`
137
137
  - start the dev process (from the implementation project): `pnpm dev`
138
138
  - run bundle build (from the implementation project): `pnpm build`
139
139