@salsita-ai/sdk 0.50.0-develop.bfba230ad7 → 0.50.0-develop.d37f5db8ff

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 (922) 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/errors/diagnostic-codes.d.ts +4 -0
  4. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  5. package/dist/application-spec/errors/diagnostic-messages.d.ts +4 -0
  6. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  7. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  8. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  9. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  10. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  11. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  12. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  13. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  14. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  15. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  16. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  17. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  18. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  19. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  20. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  21. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  22. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  23. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  24. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +46 -44
  25. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  26. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  28. package/dist/application-spec/generate-application/code/templates/domain.js +5 -5
  29. package/dist/application-spec/generate-application/code/templates/index.d.ts +0 -7
  30. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  31. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  32. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  33. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +1 -1
  34. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +13 -14
  35. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -9
  36. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  37. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  38. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  39. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  40. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  41. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  42. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  43. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +5 -0
  44. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  45. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  46. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  47. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  48. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  49. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  50. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  51. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  52. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  53. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  54. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  55. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  56. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  57. package/dist/client/authorized-client.d.ts +3 -1
  58. package/dist/client/authorized-client.js +1 -1
  59. package/dist/client/contract.d.ts +34 -0
  60. package/dist/client/contract.js +1 -1
  61. package/dist/client/index.d.ts +2 -2
  62. package/dist/client/index.js +1 -1
  63. package/dist/client/local-authorized-client.d.ts +3 -1
  64. package/dist/client/local-authorized-client.js +1 -1
  65. package/dist/client/memory-authorized-client.d.ts +3 -1
  66. package/dist/client/memory-authorized-client.js +1 -1
  67. package/dist/client/phoenix-api.d.ts +271 -30
  68. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +104 -5
  69. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  70. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  71. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  72. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  73. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  74. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  75. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  76. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  77. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  78. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  79. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  80. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  81. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  82. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  83. package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
  84. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  85. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +4 -4
  86. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  87. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  88. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  89. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  90. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  91. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  92. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  93. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  94. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  95. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  96. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  97. package/dist/docs/index.json +1 -1
  98. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  99. package/dist/docs/layouts/custom-price.mdx +14 -16
  100. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  101. package/dist/docs/other-features/domain-actions.mdx +1 -1
  102. package/dist/docs/other-features/side-effects.mdx +50 -45
  103. package/dist/docs/other-features/transformers.mdx +1 -1
  104. package/dist/docs/other-features/violation-messages.mdx +52 -56
  105. package/dist/docs/phoenix/admin.mdx +9 -24
  106. package/dist/docs/phoenix/configurator-interface.mdx +100 -65
  107. package/dist/docs/phoenix/deployments.mdx +1 -1
  108. package/dist/docs/phoenix/domain-model.mdx +4 -0
  109. package/dist/docs/phoenix/expression-context.mdx +11 -3
  110. package/dist/docs/phoenix/getting-started.mdx +1 -1
  111. package/dist/docs/phoenix/localization.mdx +3 -22
  112. package/dist/docs/phoenix/phoenix-cli.mdx +43 -47
  113. package/dist/docs/phoenix/project-structure.mdx +22 -10
  114. package/dist/docs/phoenix/quickstart.mdx +2 -2
  115. package/dist/docs/phoenix/sdk-builder-workflow.mdx +8 -8
  116. package/dist/docs/phoenix/webhooks.mdx +1 -1
  117. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  118. package/dist/docs/relations/hierarchy.mdx +13 -2
  119. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  120. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  121. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  122. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  123. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  124. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  125. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  126. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  127. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  128. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  129. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  130. package/dist/domain/admin-domain/index.d.ts +9 -5
  131. package/dist/domain/admin-domain/index.js +1 -1
  132. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  133. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  134. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  135. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  136. package/dist/domain/application/application-config.d.ts +24 -95
  137. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  138. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  139. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  140. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  141. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  142. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  143. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  144. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  145. package/dist/domain/application/assistant/index.d.ts +4 -0
  146. package/dist/domain/application/assistant/index.js +1 -0
  147. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  148. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  149. package/dist/domain/application/assistant-mutations.js +1 -1
  150. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  151. package/dist/domain/application/configurator-builder.d.ts +33 -18
  152. package/dist/domain/application/configurator-builder.js +1 -1
  153. package/dist/domain/application/create-initial-published-data.d.ts +1 -2
  154. package/dist/domain/application/index.d.ts +3 -5
  155. package/dist/domain/application/index.js +1 -1
  156. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  157. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  158. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  159. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  160. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  161. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  162. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  163. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  164. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  165. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  166. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  167. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  168. package/dist/domain/available-system-components.js +1 -1
  169. package/dist/domain/core/action/action-factory.d.ts +11 -0
  170. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  171. package/dist/domain/core/action/index.d.ts +2 -0
  172. package/dist/domain/core/action/index.js +1 -0
  173. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  174. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  175. package/dist/domain/core/component/debug-state-component.js +1 -0
  176. package/dist/domain/core/component/domain-component-optic.d.ts +66 -0
  177. package/dist/domain/core/component/domain-component-optic.js +16 -0
  178. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  179. package/dist/domain/core/component/drag-state-component.js +1 -0
  180. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  181. package/dist/domain/core/component/export-state-component.js +1 -0
  182. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  183. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  184. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  185. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  186. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  187. package/dist/domain/core/component/hover-state-component.js +1 -0
  188. package/dist/domain/core/component/index.d.ts +18 -0
  189. package/dist/domain/core/component/index.js +1 -0
  190. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  191. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  192. package/dist/domain/core/component/navigation-state-component.js +1 -0
  193. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  194. package/dist/domain/core/component/selection-state-component.js +1 -0
  195. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  196. package/dist/domain/core/component/system-component-builder.js +1 -0
  197. package/dist/domain/{components → core/component}/system-component-filter.d.ts +25 -20
  198. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  199. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  200. package/dist/domain/core/component/tool-state-component.js +1 -0
  201. package/dist/domain/{components → core/component}/updates.d.ts +1 -2
  202. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  203. package/dist/domain/core/component/view-state-component.js +1 -0
  204. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  205. package/dist/domain/core/component/viewport-state-component.js +1 -0
  206. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  207. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  208. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  209. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  210. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  211. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  212. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  213. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  214. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  215. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  216. package/dist/domain/core/data-schema/data-schema.js +1 -0
  217. package/dist/domain/core/data-schema/index.d.ts +7 -0
  218. package/dist/domain/core/data-schema/index.js +1 -0
  219. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  220. package/dist/domain/core/decoder/create-decoder.js +1 -0
  221. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  222. package/dist/domain/core/decoder/decoder.js +1 -0
  223. package/dist/domain/core/decoder/index.d.ts +2 -0
  224. package/dist/domain/core/decoder/index.js +1 -0
  225. package/dist/domain/core/domain-factory.d.ts +4 -5
  226. package/dist/domain/core/domain-factory.js +1 -1
  227. package/dist/domain/core/domain.d.ts +4 -5
  228. package/dist/domain/core/domain.js +1 -1
  229. package/dist/domain/core/emission/index.d.ts +8 -0
  230. package/dist/domain/core/emission/index.js +1 -0
  231. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  232. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  233. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  234. package/dist/domain/core/emission/state-emission.js +1 -0
  235. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  236. package/dist/domain/core/emission/state-update-emission.js +1 -0
  237. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  238. package/dist/domain/core/emission/state-validation-result.js +1 -0
  239. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  240. package/dist/domain/core/emission/transformation-log.js +1 -0
  241. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  242. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  243. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  244. package/dist/domain/core/emission/transformer-log.js +1 -0
  245. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  246. package/dist/domain/core/emission/transformer-phase.js +1 -0
  247. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  248. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  249. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +3 -4
  250. package/dist/domain/core/expression/constant-expressions.js +1 -0
  251. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  252. package/dist/domain/core/expression/custom-expression.js +1 -0
  253. package/dist/domain/core/expression/expression.d.ts +46 -0
  254. package/dist/domain/core/expression/expression.js +1 -0
  255. package/dist/domain/core/expression/index.d.ts +4 -0
  256. package/dist/domain/core/expression/index.js +1 -0
  257. package/dist/domain/core/index.d.ts +13 -17
  258. package/dist/domain/core/index.js +1 -1
  259. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  260. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  261. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  262. package/dist/domain/core/invariant/index.d.ts +5 -0
  263. package/dist/domain/core/invariant/index.js +1 -0
  264. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  265. package/dist/domain/core/invariant/invariants.js +1 -0
  266. package/dist/domain/core/invariant/violation-component.js +1 -0
  267. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  268. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  269. package/dist/domain/core/model/index.d.ts +6 -0
  270. package/dist/domain/core/model/index.js +1 -0
  271. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  272. package/dist/domain/core/model/reflection.js +1 -0
  273. package/dist/domain/core/recipe/index.d.ts +1 -0
  274. package/dist/domain/core/recipe/index.js +1 -0
  275. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  276. package/dist/domain/core/recipe/recipes.js +1 -0
  277. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  278. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  279. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  280. package/dist/domain/core/relation/component-factories.js +1 -0
  281. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  282. package/dist/domain/core/relation/composed-of.js +1 -0
  283. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  284. package/dist/domain/core/relation/index.d.ts +9 -0
  285. package/dist/domain/core/relation/index.js +1 -0
  286. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  287. package/dist/domain/core/relation/indirect-relation.js +1 -0
  288. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  289. package/dist/domain/core/relation/reference-component.js +1 -0
  290. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  291. package/dist/domain/core/relation/reference-field.js +1 -0
  292. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  293. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  294. package/dist/domain/core/relation/relation-implementation.js +1 -0
  295. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  296. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  297. package/dist/domain/core/schema/index.d.ts +3 -0
  298. package/dist/domain/core/schema/index.js +1 -0
  299. package/dist/domain/core/schema/schema-validator.js +1 -0
  300. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  301. package/dist/domain/core/state/id-sequence.js +1 -0
  302. package/dist/domain/core/state/index.d.ts +3 -0
  303. package/dist/domain/core/state/index.js +1 -0
  304. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  305. package/dist/domain/core/state/migrations.js +1 -0
  306. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  307. package/dist/domain/domain-builder.d.ts +11 -11
  308. package/dist/domain/domain-builder.js +1 -1
  309. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  310. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  311. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  312. package/dist/domain/domain-context/action-system/index.js +1 -0
  313. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  314. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  315. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  316. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  317. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  318. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  319. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  320. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  321. package/dist/domain/domain-context/domain-context-systems.d.ts +8 -10
  322. package/dist/domain/domain-context/index.d.ts +8 -18
  323. package/dist/domain/domain-context/index.js +1 -1
  324. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  325. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  326. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  327. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  328. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  329. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  330. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  331. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  332. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  333. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  334. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  335. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  336. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  337. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  338. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  339. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  340. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  341. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  342. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  343. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  344. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  345. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  346. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  347. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  348. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  349. package/dist/domain/domain-context/store-system/index.js +1 -0
  350. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  351. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  352. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  353. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  354. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  355. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  356. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  357. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  358. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  359. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  360. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  361. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  362. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  363. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  364. package/dist/domain/domain-context/transformers/context.js +1 -1
  365. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  366. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  367. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  368. package/dist/domain/domain-context/transformers/index.js +1 -1
  369. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  370. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  371. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  372. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  373. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  374. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  375. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  376. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  377. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  378. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  379. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  380. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  381. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  382. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  383. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  384. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +6 -13
  385. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  386. package/dist/domain/domain-runtime/domain-runtime.d.ts +56 -56
  387. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  388. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  389. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  390. package/dist/domain/domain-runtime/spec/index.js +1 -1
  391. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  392. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  393. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  394. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  395. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  396. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  397. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  398. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  399. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +25 -0
  400. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  401. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  402. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  403. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  404. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  405. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  406. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  407. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  408. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  409. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  410. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  411. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  412. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  413. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  414. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  415. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  416. package/dist/domain/domain-runtime/spec/types.d.ts +6 -6
  417. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  418. package/dist/domain/extensions/angle-indicator.js +1 -0
  419. package/dist/domain/extensions/attribute-switch.js +1 -0
  420. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  421. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  422. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  423. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  424. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  425. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  426. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  427. package/dist/domain/extensions/canvas-config.js +1 -0
  428. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  429. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  430. package/dist/domain/extensions/canvas-padding.js +1 -0
  431. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  432. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  433. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  434. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  435. package/dist/domain/extensions/client-side-image.js +1 -0
  436. package/dist/domain/extensions/color-value.js +1 -0
  437. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  438. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  439. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  440. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  441. package/dist/domain/extensions/common/index.d.ts +4 -0
  442. package/dist/domain/extensions/common/index.js +1 -0
  443. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  444. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  445. package/dist/domain/extensions/custom-price-footer.js +1 -0
  446. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  447. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  448. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  449. package/dist/domain/extensions/dimension-indicator.js +1 -0
  450. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  451. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  452. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  453. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  454. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  455. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  456. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  457. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  458. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  459. package/dist/domain/extensions/entity-header.js +1 -0
  460. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  461. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  462. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  463. package/dist/domain/extensions/finalize-action.js +1 -0
  464. package/dist/domain/extensions/finalize-component.js +1 -0
  465. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  466. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  467. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  468. package/dist/domain/extensions/fixed-header.js +1 -0
  469. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  470. package/dist/domain/extensions/floating-header.js +1 -0
  471. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  472. package/dist/domain/extensions/hidden-header.js +1 -0
  473. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  474. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  475. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  476. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  477. package/dist/domain/extensions/index.d.ts +69 -0
  478. package/dist/domain/extensions/index.js +1 -0
  479. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  480. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  481. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  482. package/dist/domain/extensions/navigation-steps.js +1 -0
  483. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  484. package/dist/domain/extensions/offset-anchors.js +1 -0
  485. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  486. package/dist/domain/extensions/offset-indicator.js +1 -0
  487. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  488. package/dist/domain/extensions/offset.js +1 -0
  489. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  490. package/dist/domain/extensions/other-action.js +1 -0
  491. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  492. package/dist/domain/extensions/property-page.js +1 -0
  493. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  494. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  495. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  496. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  497. package/dist/domain/extensions/rotatable.js +1 -0
  498. package/dist/domain/extensions/rotation-handle.js +1 -0
  499. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  500. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  501. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  502. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  503. package/dist/domain/extensions/scene-entity-control.js +1 -0
  504. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  505. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  506. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  507. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  508. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  509. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  510. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  511. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  512. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  513. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  514. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  515. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  516. package/dist/domain/extensions/selectable-component.js +1 -0
  517. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  518. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  519. package/dist/domain/extensions/simple-summary.js +1 -0
  520. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  521. package/dist/domain/extensions/size.js +1 -0
  522. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  523. package/dist/domain/extensions/sketching-draw.js +1 -0
  524. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  525. package/dist/domain/extensions/sketching-edit.js +1 -0
  526. package/dist/domain/extensions/summary-component.js +1 -0
  527. package/dist/domain/extensions/text-value.js +1 -0
  528. package/dist/domain/extensions/tool-controls.js +1 -0
  529. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  530. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  531. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  532. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  533. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  534. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  535. package/dist/domain/extensions/view-controls.js +1 -0
  536. package/dist/domain/index.d.ts +2 -32
  537. package/dist/domain/index.js +1 -1
  538. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  539. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +13 -13
  540. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  541. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  542. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  543. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  544. package/dist/domain/projections/collision-projections.d.ts +1 -1
  545. package/dist/domain/projections/composition-projections.d.ts +1 -1
  546. package/dist/domain/projections/composition-projections.js +1 -1
  547. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  548. package/dist/domain/projections/index.d.ts +1 -1
  549. package/dist/domain/projections/position-projections.d.ts +1 -1
  550. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  551. package/dist/domain/projections/snap-matching.d.ts +1 -2
  552. package/dist/domain/projections/snap-utils.d.ts +1 -2
  553. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  554. package/dist/domain/projections/validation-projections.d.ts +3 -20
  555. package/dist/domain/projections/validation-projections.js +1 -1
  556. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  557. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  558. package/dist/domain/system-components/admin-sidebar.js +1 -1
  559. package/dist/domain/system-components/angle-dimension.js +1 -1
  560. package/dist/domain/system-components/application-config.d.ts +1 -1
  561. package/dist/domain/system-components/application-config.js +1 -1
  562. package/dist/domain/system-components/attribute-selection.js +1 -1
  563. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  564. package/dist/domain/system-components/bounding-box-component.js +1 -1
  565. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  566. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  567. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  568. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  569. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  570. package/dist/domain/system-components/child-entity-selection.js +1 -1
  571. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  572. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  573. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  574. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  575. package/dist/domain/system-components/collision-geometry.js +1 -1
  576. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  577. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  578. package/dist/domain/system-components/common/index.d.ts +0 -4
  579. package/dist/domain/system-components/common/index.js +1 -1
  580. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  581. package/dist/domain/system-components/constraint.d.ts +1 -1
  582. package/dist/domain/system-components/constraint.js +1 -1
  583. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  584. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  585. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  586. package/dist/domain/system-components/detail.js +1 -1
  587. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  588. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  589. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  590. package/dist/domain/system-components/distance-dimension.js +1 -1
  591. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  592. package/dist/domain/system-components/drag-handle.js +1 -1
  593. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  594. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  595. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  596. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  597. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  598. package/dist/domain/system-components/generic-dimension.js +1 -1
  599. package/dist/domain/system-components/hidden-entity.js +1 -1
  600. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  601. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  602. package/dist/domain/system-components/index.d.ts +0 -68
  603. package/dist/domain/system-components/index.js +1 -1
  604. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  605. package/dist/domain/system-components/material-override-transformer.js +1 -1
  606. package/dist/domain/system-components/material-swatch.js +1 -1
  607. package/dist/domain/system-components/navigation-page.js +1 -1
  608. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  609. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  610. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  611. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  612. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  613. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  614. package/dist/domain/system-components/pivot-point.js +1 -1
  615. package/dist/domain/system-components/price.js +1 -1
  616. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  617. package/dist/domain/system-components/projected-entities.js +1 -1
  618. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  619. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  620. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  621. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  622. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  623. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  624. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  625. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  626. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  627. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  628. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  629. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  630. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  631. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  632. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  633. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  634. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  635. package/dist/domain/system-components/scene-entity-object.js +1 -1
  636. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  637. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  638. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  639. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  640. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  641. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  642. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  643. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  644. package/dist/domain/system-components/sketching-line.js +1 -1
  645. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  646. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  647. package/dist/domain/system-components/sketching.d.ts +1 -1
  648. package/dist/domain/system-components/sketching.js +1 -1
  649. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  650. package/dist/domain/system-components/snap-axis.js +1 -1
  651. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  652. package/dist/domain/system-components/snap-edge.js +1 -1
  653. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  654. package/dist/domain/system-components/snap-plane.js +1 -1
  655. package/dist/domain/system-components/snap-point.d.ts +1 -1
  656. package/dist/domain/system-components/snap-point.js +1 -1
  657. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  658. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  659. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  660. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  661. package/dist/domain/utils/eval-cache.d.ts +1 -2
  662. package/dist/domain/utils/memo-eval.d.ts +2 -4
  663. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  664. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  665. package/dist/i18n/locales/cs/messages.js +1 -1
  666. package/dist/i18n/locales/da/messages.js +1 -1
  667. package/dist/i18n/locales/de/messages.js +1 -1
  668. package/dist/i18n/locales/de-AT/messages.js +1 -1
  669. package/dist/i18n/locales/en/messages.js +1 -1
  670. package/dist/i18n/locales/en-AU/messages.js +1 -1
  671. package/dist/i18n/locales/en-GB/messages.js +1 -1
  672. package/dist/i18n/locales/es/messages.js +1 -1
  673. package/dist/i18n/locales/fr/messages.js +1 -1
  674. package/dist/i18n/locales/hu/messages.js +1 -1
  675. package/dist/i18n/locales/it/messages.js +1 -1
  676. package/dist/i18n/locales/nl/messages.js +1 -1
  677. package/dist/i18n/locales/pl/messages.js +1 -1
  678. package/dist/i18n/locales/pt/messages.js +1 -1
  679. package/dist/i18n/locales/ro/messages.js +1 -1
  680. package/dist/i18n/locales/sk/messages.js +1 -1
  681. package/dist/i18n/locales/tr/messages.js +1 -1
  682. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  683. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  684. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  685. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  686. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  687. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  688. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  689. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  690. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  691. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +1 -0
  692. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  693. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  694. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  695. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  696. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  697. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  698. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  699. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  700. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  701. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  702. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  703. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  704. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  705. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  706. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  707. package/dist/phoenix/commands/init.d.ts +4 -4
  708. package/dist/phoenix/commands/init.js +1 -1
  709. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  710. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  711. package/dist/phoenix/commands/prettier.js +1 -1
  712. package/dist/phoenix/scripts/build-admin.js +1 -1
  713. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  714. package/dist/phoenix/services/variant-file-session.js +1 -1
  715. package/dist/phoenix/utils/git/index.d.ts +1 -0
  716. package/dist/phoenix/utils/git/index.js +1 -0
  717. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  718. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  719. package/dist/phoenix/utils/index.d.ts +1 -0
  720. package/dist/phoenix/utils/index.js +1 -1
  721. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  722. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  723. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  724. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  725. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +24 -24
  726. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -5
  727. package/dist/ui-sdk/theme/types.d.ts +1 -1
  728. package/dist/webhook/builders/common.d.ts +8 -0
  729. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  730. package/dist/webhook/builders/webhook-builder.js +1 -1
  731. package/package.json +3 -3
  732. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  733. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  734. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  735. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  736. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  737. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  738. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  739. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  740. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  741. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  742. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  743. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  744. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  745. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  746. package/dist/domain/actions/action-factory.d.ts +0 -10
  747. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  748. package/dist/domain/application/element-registration.js +0 -1
  749. package/dist/domain/application/handler-registration.js +0 -1
  750. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  751. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  752. package/dist/domain/components/debug-state-component.js +0 -1
  753. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  754. package/dist/domain/components/domain-component-optic.js +0 -16
  755. package/dist/domain/components/drag-state-component.js +0 -1
  756. package/dist/domain/components/export-state-component.js +0 -1
  757. package/dist/domain/components/fullscreen-state-component.js +0 -1
  758. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  759. package/dist/domain/components/hover-state-component.js +0 -1
  760. package/dist/domain/components/index.d.ts +0 -2
  761. package/dist/domain/components/index.js +0 -1
  762. package/dist/domain/components/navigation-state-component.js +0 -1
  763. package/dist/domain/components/selection-state-component.js +0 -1
  764. package/dist/domain/components/system-component-builder.js +0 -1
  765. package/dist/domain/components/system-virtual-entity.js +0 -1
  766. package/dist/domain/components/tool-state-component.js +0 -1
  767. package/dist/domain/components/view-state-component.js +0 -1
  768. package/dist/domain/components/viewport-state-component.js +0 -1
  769. package/dist/domain/core/expression.d.ts +0 -50
  770. package/dist/domain/core/json-schema.js +0 -1
  771. package/dist/domain/core/migrations.js +0 -1
  772. package/dist/domain/core/reflection.js +0 -1
  773. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  774. package/dist/domain/expressions/constant-expressions.js +0 -1
  775. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  776. package/dist/domain/expressions/custom-expression.js +0 -1
  777. package/dist/domain/expressions/index.d.ts +0 -1
  778. package/dist/domain/expressions/index.js +0 -1
  779. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  780. package/dist/domain/invariants/custom-invariants.js +0 -1
  781. package/dist/domain/invariants/invariants.d.ts +0 -68
  782. package/dist/domain/invariants/invariants.js +0 -1
  783. package/dist/domain/invariants/violation-component.js +0 -1
  784. package/dist/domain/relations/all-of-type-relation.js +0 -1
  785. package/dist/domain/relations/component-factories.js +0 -1
  786. package/dist/domain/relations/composed-of.js +0 -1
  787. package/dist/domain/relations/indirect-relation.js +0 -1
  788. package/dist/domain/relations/reference-component.js +0 -1
  789. package/dist/domain/system-components/angle-indicator.js +0 -1
  790. package/dist/domain/system-components/attribute-switch.js +0 -1
  791. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  792. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  793. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  794. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  795. package/dist/domain/system-components/canvas-config.js +0 -1
  796. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  797. package/dist/domain/system-components/canvas-padding.js +0 -1
  798. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  799. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  800. package/dist/domain/system-components/client-side-image.js +0 -1
  801. package/dist/domain/system-components/color-value.js +0 -1
  802. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  803. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  804. package/dist/domain/system-components/custom-price-footer.js +0 -1
  805. package/dist/domain/system-components/dimension-indicator.js +0 -1
  806. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  807. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  808. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  809. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  810. package/dist/domain/system-components/entity-header.js +0 -1
  811. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  812. package/dist/domain/system-components/finalize-action.js +0 -1
  813. package/dist/domain/system-components/finalize-component.js +0 -1
  814. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  815. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  816. package/dist/domain/system-components/fixed-header.js +0 -1
  817. package/dist/domain/system-components/floating-header.js +0 -1
  818. package/dist/domain/system-components/hidden-header.js +0 -1
  819. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  820. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  821. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  822. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  823. package/dist/domain/system-components/navigation-steps.js +0 -1
  824. package/dist/domain/system-components/offset-anchors.js +0 -1
  825. package/dist/domain/system-components/offset-indicator.js +0 -1
  826. package/dist/domain/system-components/offset.js +0 -1
  827. package/dist/domain/system-components/other-action.js +0 -1
  828. package/dist/domain/system-components/property-page.js +0 -1
  829. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  830. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  831. package/dist/domain/system-components/rotatable.js +0 -1
  832. package/dist/domain/system-components/rotation-handle.js +0 -1
  833. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  834. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  835. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  836. package/dist/domain/system-components/scene-entity-control.js +0 -1
  837. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  838. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  839. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  840. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  841. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  842. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  843. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  844. package/dist/domain/system-components/selectable-component.js +0 -1
  845. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  846. package/dist/domain/system-components/simple-summary.js +0 -1
  847. package/dist/domain/system-components/size.js +0 -1
  848. package/dist/domain/system-components/sketching-draw.js +0 -1
  849. package/dist/domain/system-components/sketching-edit.js +0 -1
  850. package/dist/domain/system-components/summary-component.js +0 -1
  851. package/dist/domain/system-components/text-value.js +0 -1
  852. package/dist/domain/system-components/tool-controls.js +0 -1
  853. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  854. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  855. package/dist/domain/system-components/view-controls.js +0 -1
  856. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -13
  857. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  858. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  859. /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  860. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  861. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  862. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  863. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  864. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  865. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  866. /package/dist/domain/{components → core/component}/updates.js +0 -0
  867. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  868. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  869. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  870. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  871. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  872. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  873. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  874. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  875. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  876. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  877. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  878. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  879. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  880. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  881. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  882. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  883. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  884. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  885. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  886. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  887. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  888. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  889. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  890. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  891. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  892. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  893. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  894. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  895. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  896. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  897. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  898. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  899. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  900. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  901. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  902. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  903. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  904. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  905. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  906. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  907. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  908. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  909. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  910. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  911. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  912. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  913. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  914. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  915. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  916. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  917. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  918. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  919. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  920. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  921. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  922. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { AssistantSpec } from '../../../../parse-application-files/index.js';
2
2
  /**
3
- * Emits the `$assistant` constant handed to `baseConfiguratorBuilder.withAssistant()`: the parse-time
4
- * assistant manifest with its GraphQL SDL, or `null` when the spec declares no `assistant` section.
3
+ * Emits the `$assistant` constant handed to `baseConfiguratorBuilder.withAssistant()`: the resolved
4
+ * JSON manifest, or `null` when the spec declares no `assistant` section.
5
5
  */
6
6
  export declare const generateAssistantBlock: (assistant: AssistantSpec) => string;
@@ -1 +1 @@
1
- export const generateAssistantBlock=s=>`const $assistant: AssistantManifest | null = ${JSON.stringify(s,null,2)}`;
1
+ export const generateAssistantBlock=s=>`const $assistant: AssistantResolvedManifest | null = ${JSON.stringify(s?.resolved??null,null,2)}`;
@@ -1,42 +1,42 @@
1
- import{skipApplicationTypeImports as e}from"../../common/index.js";import{generateComponentOpticsCode as n}from"./generate-component-optics.js";import{generateDefaultsBlock as t}from"./generate-defaults.js";import{generateInvariantsBlock as i}from"./generate-invariants.js";import{generateRelationExpressionsCode as a}from"./generate-relation-expressions.js";import{generateStaticValueCode as o}from"./generate-static-value-code.js";import{generateValueExpressionsCode as s}from"./generate-value-expressions.js";let r="@salsita-ai/sdk/domain",m=(e,n,t)=>{let i=[],a=[];for(let o of e.modelVersion.entitySchemas){let e=JSON.stringify(o.shapeSchema,null,2);i.push(`${t}const ${o.entityType} = new DomainEntityReflection<${n}${o.entityType}>('${o.entityType}', [${e}])`),a.push(String(o.entityType))}return{entityDecls:i.join("\n"),entityNames:a}};export const generateDomainBlock=l=>{let{domainSpec:$,invariants:p,actions:c,typePrefix:d,versionNsPrefix:u,isAdmin:y,modelVersionsExportName:h,relationExpressionsExportName:f,componentOpticsExportName:D,valueExpressionsExportName:E,createRecipeExportName:S,imports:R,registerApplicationTypeImports:g=e}=l;R.addImport(r,"$DomainEntityReflection"),R.addImport(r,"DomainBuilder"),R.addImport(r,"DomainComponentOpticBuilder"),R.addImport(r,"DomainEntityReflection"),R.addImport(r,"EnhancedAliasReflection"),R.addImport(r,"InvariantBuilder"),R.addImport(r,"RawAliasReflection"),R.addImport(r,"SchemaReflection"),R.addImport(r,"createCustomExpressionFactory"),R.addImport(r,"createCustomInvariantFactory"),y&&(R.addImport(r,"commonAdminCustomExpressions"),R.addImport(r,"commonAdminViolationExpressions"),R.addImport(r,"createMapPublishedRevisionDataHandlerFactory"),R.addImport(r,"createMapPublishedChunkedDataHandlerFactory"),R.addImport(r,"createDataRowValidatorHandler"),R.addImport(r,"createSheetValidatorHandler")),R.addTypeImport(r,"SchemaOfObject"),c&&(R.addImport(r,"createActionFactory"),R.addTypeImport(r,"ActionDefinition"));let{entityTypes:v,entitySchemas:x}=$.latestModel,A=[...$.latestModel.aliases],j=A.map(([e])=>String(e)),C=j.includes("RootEntity")?"RootEntity":"AnyDomainEntity",{resolvedVersions:I}=$,M=I.latestVersion,w=d?`${d}.`:"",B=new Map([...$.expressions.constants].map(([e,n])=>[String(e),n])),b=(e,n)=>{let t=[...B.get(n)?.keys()??[]],i=t.length>0?`, ${t.map(e=>`'${e}'`).join(" | ")}`:"";return`${e}<${w}$${n}${i}>`},P=e=>{let n=B.get(e);if(!n)return"{}";let t=[...n].map(([e,n])=>{let t=o(n,R).replaceAll("\n","\n ");return` ${e}: ${t},`});return`{
1
+ import{skipApplicationTypeImports as e}from"../../common/index.js";import{generateComponentOpticsCode as n}from"./generate-component-optics.js";import{generateDefaultsBlock as t}from"./generate-defaults.js";import{generateInvariantsBlock as o}from"./generate-invariants.js";import{generateRelationExpressionsCode as i}from"./generate-relation-expressions.js";import{generateStaticValueCode as a}from"./generate-static-value-code.js";import{generateValueExpressionsCode as s}from"./generate-value-expressions.js";let r="@salsita-ai/sdk/domain",m=(e,n,t)=>{let o=[],i=[];for(let a of e.modelVersion.entitySchemas){let e=JSON.stringify(a.shapeSchema,null,2);o.push(`${t}const ${a.entityType} = new DomainEntityReflection<${n}${a.entityType}>('${a.entityType}', [${e}])`),i.push(String(a.entityType))}return{entityDecls:o.join("\n"),entityNames:i}};export const generateDomainBlock=l=>{let{domainSpec:$,invariants:p,actions:c,typePrefix:d,versionNsPrefix:u,isAdmin:y,modelVersionsExportName:h,relationExpressionsExportName:f,componentOpticsExportName:E,valueExpressionsExportName:D,createRecipeExportName:S,imports:R,registerApplicationTypeImports:g=e}=l;R.addImport(r,"$DomainEntityReflection"),R.addImport(r,"DomainBuilder"),R.addImport(r,"DomainComponentOpticBuilder"),R.addImport(r,"DomainEntityReflection"),R.addImport(r,"EnhancedAliasReflection"),R.addImport(r,"RawAliasReflection"),R.addImport(r,"SchemaReflection"),R.addImport(r,"createCustomExpressionFactory"),R.addImport(r,"createCustomInvariantFactory"),y&&(R.addImport(r,"commonAdminCustomExpressions"),R.addImport(r,"commonAdminViolationExpressions"),R.addImport(r,"createMapPublishedRevisionDataHandlerFactory"),R.addImport(r,"createMapPublishedChunkedDataHandlerFactory"),R.addImport(r,"createDataRowValidatorHandler"),R.addImport(r,"createSheetValidatorHandler")),R.addTypeImport(r,"RuntimeExpressionContext"),R.addTypeImport(r,"SchemaOfObject"),c&&(R.addImport(r,"createActionFactory"),R.addTypeImport(r,"ActionDefinition"),R.addTypeImport(r,"DomainContextSystems"));let{entityTypes:x,entitySchemas:A}=$.latestModel,v=[...$.latestModel.aliases],j=v.map(([e])=>String(e)),C=j.includes("RootEntity")?"RootEntity":"AnyDomainEntity",{resolvedVersions:I}=$,M=I.latestVersion,w=d?`${d}.`:"",b=new Map([...$.expressions.constants].map(([e,n])=>[String(e),n])),P=(e,n)=>{let t=[...b.get(n)?.keys()??[]],o=t.length>0?`, ${t.map(e=>`'${e}'`).join(" | ")}`:"";return`${e}<${w}$${n}${o}>`},k=e=>{let n=b.get(e);if(!n)return"{}";let t=[...n].map(([e,n])=>{let t=a(n,R).replaceAll("\n","\n ");return` ${e}: ${t},`});return`{
2
2
  ${t.join("\n")}
3
- }`},k=x.map(e=>{let n=JSON.stringify(e.shapeSchema,null,2);return` const ${e.entityType} = new DomainEntityReflection<${w}${e.entityType}>('${e.entityType}', [${n}])`}),F=A.map(([e,n])=>{let t=n.map(String).join(", ");return` const ${e} = new RawAliasReflection<${w}${e}>('${e}', [${t}])`}),H=[...$.latestModel.commonTypes],V=H.map(([e])=>String(e)),O=I.versionedModels.filter(e=>!e.isLatest).map(e=>`${u}${e.version}`);g(R,[...y?["Admin",...O]:[...v.map(String),...j,...V,...v.map(e=>`$${String(e)}`),...j.map(e=>`$${e}`),"Aliases","$Map",...O,...c?["ActionTypes","NavigationState","ViewState","ToolState","ExportState"]:[]],"PublishedData","SessionData","FrontendData",...y?[]:["BackendData"]]);let T=H.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?` const ${e}: EnumLike<${w}${e}> = new EnumReflection('${e}', ${t}) as EnumLike<${w}${e}>`:` const ${e}: SchemaReflection<${w}${e}> = new SchemaReflection('${e}', ${t})`}),N=[...$.latestModel.shapes],J=N.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return` const ${e}Shape = new SchemaReflection('${e}Shape', ${t})`}),L=N.map(([e])=>`${e}Shape`),_=j.map(e=>` ${e}: ${e}.types,`).join("\n"),z=j.map(e=>` ${e},`).join("\n"),G=V.map(e=>` ${e},`).join("\n"),q=L.map(e=>` ${e},`).join("\n"),K=v.map(e=>` ${e},`).join("\n"),Q=[];for(let[e,n]of $.expressions.expressions)n.size>0&&Q.push(` const ${e}Expressions = ${JSON.stringify([...n.keys()])}`);let U=v.map(e=>{let n=$.expressions.entityExpressions.get(e),t=(n?.shapeGroups??[]).map(e=>`${e}Expressions`),i=t.length>0?t.map(e=>`...${e}`).join(", "):"",a=b("$DomainEntityReflection",String(e));return` const $${e}: ${a} = new ${a}('${e}', [${i}], ${P(String(e))})`}).join("\n"),W=v.map(e=>` ${e}: $${e},`).join("\n"),X=A.map(([e,n])=>{let t=n.map(e=>JSON.stringify(String(e))).join(", "),i=b("EnhancedAliasReflection",String(e));return` const $${e}: ${i} = new ${i}('$${e}', [${t}], ${P(String(e))})`}).join("\n"),Y=[...v.map(String),...j].map(e=>` $${e},`).join("\n"),Z=[],ee=[];for(let e of I.versionedModels)if(e.isLatest)Z.push(` ${e.version}: entities,`),ee.push(` readonly ${e.version}: {
4
- ${v.map(e=>` readonly ${String(e)}: DomainEntityReflection<${w}${String(e)}>`).join("\n")}
5
- }`);else{let n=`${u}${e.version}.`,{entityDecls:t,entityNames:i}=m(e,n," "),a=i.map(e=>` ${e},`).join("\n");Z.push(` ${e.version}: (() => {
3
+ }`},F=A.map(e=>{let n=JSON.stringify(e.shapeSchema,null,2);return` const ${e.entityType} = new DomainEntityReflection<${w}${e.entityType}>('${e.entityType}', [${n}])`}),H=v.map(([e,n])=>{let t=n.map(String).join(", ");return` const ${e} = new RawAliasReflection<${w}${e}>('${e}', [${t}])`}),T=[...$.latestModel.commonTypes],V=T.map(([e])=>String(e)),O=I.versionedModels.filter(e=>!e.isLatest).map(e=>`${u}${e.version}`);g(R,[...y?["Admin",...O]:[...x.map(String),...j,...V,...x.map(e=>`$${String(e)}`),...j.map(e=>`$${e}`),"Aliases","$Map",...O,...c?["ActionTypes","NavigationState","ViewState","ToolState","ExportState"]:[]],"PublishedData","SessionData","FrontendData",...y?[]:["BackendData"]]);let B=T.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?` const ${e}: EnumLike<${w}${e}> = new EnumReflection('${e}', ${t}) as EnumLike<${w}${e}>`:` const ${e}: SchemaReflection<${w}${e}> = new SchemaReflection('${e}', ${t})`}),N=[...$.latestModel.shapes],J=N.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return` const ${e}Shape = new SchemaReflection('${e}Shape', ${t})`}),L=N.map(([e])=>`${e}Shape`),_=j.map(e=>` ${e}: ${e}.types,`).join("\n"),z=j.map(e=>` ${e},`).join("\n"),G=V.map(e=>` ${e},`).join("\n"),q=L.map(e=>` ${e},`).join("\n"),K=x.map(e=>` ${e},`).join("\n"),Q=[];for(let[e,n]of $.expressions.expressions)n.size>0&&Q.push(` const ${e}Expressions = ${JSON.stringify([...n.keys()])}`);let U=x.map(e=>{let n=$.expressions.entityExpressions.get(e),t=(n?.shapeGroups??[]).map(e=>`${e}Expressions`),o=t.length>0?t.map(e=>`...${e}`).join(", "):"",i=P("$DomainEntityReflection",String(e));return` const $${e}: ${i} = new ${i}('${e}', [${o}], ${k(String(e))})`}).join("\n"),W=x.map(e=>` ${e}: $${e},`).join("\n"),X=v.map(([e,n])=>{let t=n.map(e=>JSON.stringify(String(e))).join(", "),o=P("EnhancedAliasReflection",String(e));return` const $${e}: ${o} = new ${o}('$${e}', [${t}], ${k(String(e))})`}).join("\n"),Y=[...x.map(String),...j].map(e=>` $${e},`).join("\n"),Z=[],ee=[];for(let e of I.versionedModels)if(e.isLatest)Z.push(` ${e.version}: entities,`),ee.push(` readonly ${e.version}: {
4
+ ${x.map(e=>` readonly ${String(e)}: DomainEntityReflection<${w}${String(e)}>`).join("\n")}
5
+ }`);else{let n=`${u}${e.version}.`,{entityDecls:t,entityNames:o}=m(e,n," "),i=o.map(e=>` ${e},`).join("\n");Z.push(` ${e.version}: (() => {
6
6
  ${t}
7
7
  return {
8
- ${a}
8
+ ${i}
9
9
  } as const
10
10
  })(),`),ee.push(` readonly ${e.version}: {
11
- ${i.map(e=>` readonly ${e}: DomainEntityReflection<${n}${e}>`).join("\n")}
12
- }`)}let en=y?"adminDomainBuilder":"domainBuilder",et=y?"attachAdminComponent":"attachComponent",ei=y?"implementAdminCustomExpressions":"implementCustomExpressions",ea=y?"implementCustomAdminInvariants":"implementCustomInvariants",eo=y?"adminInvariantBuilder":"invariantBuilder",es=y?"adminModel":"model",er=y?"adminEnhancedModel":"enhancedModel",em=y?"implementAdminRelation":"implementRelation",el=y?"__adminDomain":"__configuratorDomain",e$="PublishedData, SessionData, FrontendData",ep=`${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, ${e$}, ${w}Aliases`,ec=`<${ep}>`,ed=i(p,ep,R),eu=(e,n)=>e===n?e:`${e}: ${n}`,ey=[...$.expressions.expressions.values()].some(e=>[...e.values()].some(e=>"relation"===e.implementation.kind));ey&&R.addImport(r,"createRelationFactory");let eh=ey?`
11
+ ${o.map(e=>` readonly ${e}: DomainEntityReflection<${n}${e}>`).join("\n")}
12
+ }`)}let en=y?"adminDomainBuilder":"domainBuilder",et=y?"attachAdminComponent":"attachComponent",eo=y?"implementAdminCustomExpressions":"implementCustomExpressions",ei=y?"implementCustomAdminInvariants":"implementCustomInvariants",ea=y?"adminAliases":"aliases",es=y?"adminModel":"model",er=y?"adminEnhancedModel":"enhancedModel",em=y?"implementAdminRelation":"implementRelation",el=y?"__adminDomain":"__configuratorDomain",e$="PublishedData, SessionData, FrontendData",ep=`${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, ${e$}, ${w}Aliases`,ec=`<${ep}>`,ed=`RuntimeExpressionContext<${w}AnyDomainEntity>`,eu=`<${ep}, ${ed}>`,ey=`DomainContextSystems<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, NavigationState, ViewState, ToolState, ExportState>`,eh=o(p,ep,ed,R),ef=(e,n)=>e===n?e:`${e}: ${n}`,eE=[...$.expressions.expressions.values()].some(e=>[...e.values()].some(e=>"relation"===e.implementation.kind));eE&&R.addImport(r,"createRelationFactory");let eD=eE?`
13
13
  const ${em} = createRelationFactory${ec}(aliases)
14
14
 
15
- const relationExpressions = ${a($.expressions,em)}`:"\n const relationExpressions = {} as const",ef=`
16
- const componentOptics = ${n($.components,R)}`,eD=`
17
- const valueExpressions = ${s($.expressions,R,"implementCustomExpressions",y?{PresetCategory:"commonAdminCustomExpressions.PresetCategory"}:{})}`;R.addImport(r,"RecipeFactoryBuilder");let eE=t($.defaults,R),eS=[...c?.values()??[]].map(e=>({name:String(e.name),...void 0===e.description?{}:{description:e.description},params:e.paramsSchema})),eR=c?`
18
- const actionDefinitions: readonly ActionDefinition[] = ${JSON.stringify(eS,null,2).replaceAll("\n","\n ")}
15
+ const relationExpressions = ${i($.expressions,em)}`:"\n const relationExpressions = {} as const",eS=`
16
+ const componentOptics = ${n($.components,R)}`,eR=`
17
+ const valueExpressions = ${s($.expressions,R,"implementCustomExpressions",y?{PresetCategory:"commonAdminCustomExpressions.PresetCategory"}:{})}`;R.addImport(r,"RecipeFactoryBuilder");let eg=t($.defaults,R),ex=[...c?.values()??[]].map(e=>({name:String(e.name),...void 0===e.description?{}:{description:e.description},params:e.paramsSchema})),eA=c?`
18
+ const actionDefinitions: readonly ActionDefinition[] = ${JSON.stringify(ex,null,2).replaceAll("\n","\n ")}
19
19
 
20
- const implementActions = createActionFactory<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, ${e$}, NavigationState, ViewState, ToolState, ExportState, ActionTypes>()`:"",eg=`
20
+ const implementActions = createActionFactory<${w}AnyDomainEntity, ${w}RootEntity, ${e$}, ActionTypes, ${ed}, ${ey}>()`:"",ev=`
21
21
  const createRecipe = RecipeFactoryBuilder.forAliases<${w}AnyDomainEntity, ${w}Aliases>(aliases)
22
22
  .forEntities(AnyDomainEntity.reflections)
23
23
  .withDefaults(defaults)
24
- .build()`,ev=[...v.map(e=>` readonly ${String(e)}: DomainEntityReflection<${w}${String(e)}>`),...j.map(e=>` readonly ${e}: RawAliasReflection<${w}${e}>`),...H.map(([e,n])=>{let t=n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?"EnumLike":"SchemaReflection";return` readonly ${e}: ${t}<${w}${e}>`}),...L.map(e=>` readonly ${e}: SchemaReflection<unknown>`)].join("\n"),ex=`{
25
- ${ev}
26
- }`,eA=[...v.map(e=>` readonly $${String(e)}: ${b("$DomainEntityReflection",String(e))}`),...j.map(e=>` readonly $${e}: ${b("EnhancedAliasReflection",e)}`)].join("\n"),ej=`{
27
- ${eA}
28
- }`,eC=`{
24
+ .build()`,ej=[...x.map(e=>` readonly ${String(e)}: DomainEntityReflection<${w}${String(e)}>`),...j.map(e=>` readonly ${e}: RawAliasReflection<${w}${e}>`),...T.map(([e,n])=>{let t=n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?"EnumLike":"SchemaReflection";return` readonly ${e}: ${t}<${w}${e}>`}),...L.map(e=>` readonly ${e}: SchemaReflection<unknown>`)].join("\n"),eC=`{
25
+ ${ej}
26
+ }`,eI=[...x.map(e=>` readonly $${String(e)}: ${P("$DomainEntityReflection",String(e))}`),...j.map(e=>` readonly $${e}: ${P("EnhancedAliasReflection",e)}`)].join("\n"),eM=`{
27
+ ${eI}
28
+ }`,ew=`{
29
29
  ${ee.join("\n")}
30
30
  }`;return`const ${el} = (() => {
31
31
  const modelVersion = ${M}
32
32
 
33
- ${eE}
34
-
35
- ${k.join("\n")}
33
+ ${eg}
36
34
 
37
35
  ${F.join("\n")}
38
36
 
39
- ${T.join("\n")}
37
+ ${H.join("\n")}
38
+
39
+ ${B.join("\n")}
40
40
 
41
41
  ${J.join("\n")}
42
42
 
@@ -66,22 +66,22 @@ ${W}
66
66
  ${Y}
67
67
  } as const
68
68
 
69
- const implementCustomExpressions = createCustomExpressionFactory${ec}({})
70
- ${eR}${eh}
71
- ${eD}
69
+ const implementCustomExpressions = createCustomExpressionFactory${eu}()
70
+ ${eA}${eD}
71
+ ${eR}
72
72
 
73
73
  const modelVersions = {
74
74
  ${Z.join("\n")}
75
75
  } as const
76
- const attachComponent = DomainComponentOpticBuilder.from${ec}(aliases)
76
+ const attachComponent = DomainComponentOpticBuilder.from${eu}(aliases)
77
+
78
+ ${eh}
79
+ ${y?` const commonInvariants = implementCustomInvariants(commonAdminViolationExpressions)
77
80
 
78
- ${ed}
79
- const invariantBuilder = new InvariantBuilder${ec}(aliases)${y?"\n .withInvariants(implementCustomInvariants(commonAdminViolationExpressions))":""}
80
- ${y?`
81
81
  const createMapPublishedRevisionDataHandler = createMapPublishedRevisionDataHandlerFactory<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, PublishedData>()
82
82
  const createMapPublishedChunkedDataHandler = createMapPublishedChunkedDataHandlerFactory<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map>()
83
- `:""}${ef}
84
- ${eg}
83
+ `:""}${eS}
84
+ ${ev}
85
85
 
86
86
  return {
87
87
  domainBuilder: DomainBuilder.from${ec}(
@@ -99,7 +99,8 @@ ${eg}
99
99
  attachComponent,${c?"\n implementActions,":""}
100
100
  implementCustomExpressions,
101
101
  implementCustomInvariants,
102
- invariantBuilder,${y?`
102
+ aliases,${y?`
103
+ commonInvariants,
103
104
  createMapPublishedRevisionDataHandler,
104
105
  createMapPublishedChunkedDataHandler,`:""}
105
106
  model,
@@ -113,21 +114,22 @@ ${eg}
113
114
  })()
114
115
 
115
116
  const {
116
- ${eu("domainBuilder",en)},
117
- ${eu("attachComponent",et)},
118
- ${eu("implementCustomExpressions",ei)},
119
- ${eu("implementCustomInvariants",ea)},
120
- ${eu("invariantBuilder",eo)},${y?`
117
+ ${ef("domainBuilder",en)},
118
+ ${ef("attachComponent",et)},
119
+ ${ef("implementCustomExpressions",eo)},
120
+ ${ef("implementCustomInvariants",ei)},
121
+ ${ef("aliases",ea)},${y?`
122
+ commonInvariants: commonAdminInvariants,
121
123
  createMapPublishedRevisionDataHandler,
122
124
  createMapPublishedChunkedDataHandler,`:`
123
125
  implementActions,`}
124
- ${eu("relationExpressions",f)},
125
- ${eu("valueExpressions",E)},
126
- ${eu("componentOptics",D)},
127
- ${eu("createRecipe",S)},
126
+ ${ef("relationExpressions",f)},
127
+ ${ef("valueExpressions",D)},
128
+ ${ef("componentOptics",E)},
129
+ ${ef("createRecipe",S)},
128
130
  } = ${el}
129
131
 
130
- const ${es}: ${ex} = ${el}.model
131
- const ${er}: ${ej} = ${el}.enhancedModel
132
- const ${h}: ${eC} = ${el}.modelVersions
133
- export { ${en}, ${et}, ${ei}, ${ea}, ${eo}, ${es}, ${er}, ${f}, ${E}, ${D}, ${h}, ${S}${y?", createMapPublishedRevisionDataHandler, createMapPublishedChunkedDataHandler, createDataRowValidatorHandler, createSheetValidatorHandler":", implementActions"} }`};
132
+ const ${es}: ${eC} = ${el}.model
133
+ const ${er}: ${eM} = ${el}.enhancedModel
134
+ const ${h}: ${ew} = ${el}.modelVersions
135
+ export { ${en}, ${et}, ${eo}, ${ei}, ${ea}, ${y?"commonAdminInvariants, ":""}${es}, ${er}, ${f}, ${D}, ${E}, ${h}, ${S}${y?", createMapPublishedRevisionDataHandler, createMapPublishedChunkedDataHandler, createDataRowValidatorHandler, createSheetValidatorHandler":", implementActions"} }`};
@@ -1,4 +1,4 @@
1
1
  import type { Invariants } from '../../../../parse-application-files/index.js';
2
2
  import type { CodeImports } from '../../common/index.js';
3
3
  /** Emits the custom-invariant blueprint and factory declarations for one generated domain block. */
4
- export declare const generateInvariantsBlock: (invariants: Invariants, factoryGenerics: string, imports: CodeImports) => string;
4
+ export declare const generateInvariantsBlock: (invariants: Invariants, factoryGenerics: string, contextExtension: string, imports: CodeImports) => string;
@@ -1 +1 @@
1
- import{stringifyMsgMacroCode as t}from"../../../../core/index.js";let i=(i,o)=>"string"==typeof i?JSON.stringify(i):(o.addImport("@lingui/core/macro","msg"),t(i)),o=t=>"static"===t.kind?"boolean":t.violationTypes.map(t=>JSON.stringify(String(t))).join(" | ");export const generateInvariantsBlock=(t,e,n)=>{let{entries:r}=t,s=[" interface CustomInvariantBlueprints {"];for(let[t,i]of Object.entries(r)){for(let[e,n]of(s.push(` ${t}: {`),Object.entries(i)))s.push(` ${e}: ${o(n)}`);s.push(" }")}for(let[t,o]of(s.push(" }"," const staticViolations = {"),Object.entries(r))){let e=Object.values(o).filter(t=>"static"===t.kind);if(0!==e.length){for(let o of(s.push(` ${t}: {`),e)){let t=[`type: ${JSON.stringify(String(o.violationType))}`,`severity: ${JSON.stringify(o.severity)}`,`message: ${i(o.message,n)}`];void 0!==o.controlViolationPriority&&t.push(`controlViolationPriority: ${o.controlViolationPriority}`),s.push(` ${o.name}: { ${t.join(", ")} },`)}s.push(" },")}}return s.push(" } as const",` const implementCustomInvariants = createCustomInvariantFactory<${e}, CustomInvariantBlueprints>()(staticViolations)`),s.join("\n")};
1
+ import{stringifyMsgMacroCode as t}from"../../../../core/index.js";let i=(i,o)=>"string"==typeof i?JSON.stringify(i):(o.addImport("@lingui/core/macro","msg"),t(i)),o=t=>"static"===t.kind?"boolean":t.violationTypes.map(t=>JSON.stringify(String(t))).join(" | ");export const generateInvariantsBlock=(t,e,n,r)=>{let{entries:s}=t,a=[" interface CustomInvariantBlueprints {"];for(let[t,i]of Object.entries(s)){for(let[e,n]of(a.push(` ${t}: {`),Object.entries(i)))a.push(` ${e}: ${o(n)}`);a.push(" }")}for(let[t,o]of(a.push(" }"," const staticViolations = {"),Object.entries(s))){let e=Object.values(o).filter(t=>"static"===t.kind);if(0!==e.length){for(let o of(a.push(` ${t}: {`),e)){let t=[`type: ${JSON.stringify(String(o.violationType))}`,`severity: ${JSON.stringify(o.severity)}`,`message: ${i(o.message,r)}`];void 0!==o.controlViolationPriority&&t.push(`controlViolationPriority: ${o.controlViolationPriority}`),a.push(` ${o.name}: { ${t.join(", ")} },`)}a.push(" },")}}return a.push(" } as const",` const implementCustomInvariants = createCustomInvariantFactory<${e}, CustomInvariantBlueprints, ${n}>()(staticViolations)`),a.join("\n")};
@@ -1,9 +1,9 @@
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,"AssistantManifest"),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 k=r(i.configurator.dataSchemas,u,f),v=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),y=c.generateBindingBlock();return`${a("domain-spec.ts","Domain builders, model schemas, component optics and expression definitions derived from the spec.")}
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
2
  ${u.toString()}${N}
3
3
 
4
4
  // ---- Data schemas ----
5
5
 
6
- ${k}
6
+ ${v}
7
7
 
8
8
  // ---- Admin domain ----
9
9
 
@@ -25,7 +25,7 @@ ${I}
25
25
 
26
26
  // ---- State enums ----
27
27
 
28
- ${v}
28
+ ${k}
29
29
 
30
30
  const $dataSpec: DataSpec = ${p(i.dataSpec.entries)}
31
31
 
@@ -35,4 +35,4 @@ ${n(i.configurator.assistant)}
35
35
  ${B}
36
36
  ${C}
37
37
 
38
- ${y}`};
38
+ ${R}`};
@@ -1,13 +1,13 @@
1
- import{CodeImports as i}from"../common/code-imports.js";import{autoHeader as n}from"../common/file-headers.js";let o=/v(\d+)\.ts$/,t=(i,n)=>i.versionedModels.filter(i=>void 0!==i.migrationFile).map(i=>({version:i.version,file:i.migrationFile,importName:n?`${n}MigrateToV${i.version}`:`migrateToV${i.version}`})),s=i=>i.map(i=>{let n=i.file.replace(o,`v${i.version}.js`),t=`migrateToV${i.version}`,s=i.importName!==t?` as ${i.importName}`:"";return`import { ${t}${s} } from '../${n}'`}).join("\n"),e=(i,n,o,t)=>[`const ${t}Migrations = {`,...i.map(i=>` ${i.version}: ${i.importName},`),"}","",`const ${t} = MigrateFunctionBuilder`,` .fromVersions(${n})`,` .to(${o})`,` .using(${t}Migrations)`," .build()"].join("\n");export const generateApplicationSpecDomainFile=o=>{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(o.configurator.expressions),c=p(o.admin.expressions),u=t(o.configurator.resolvedVersions,""),I=t(o.admin.resolvedVersions,"admin"),g=u.length>0,h=I.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"),(g||h)&&r.addImport("@salsita-ai/sdk/domain","MigrateFunctionBuilder"),g&&r.addImport(a,"modelVersions"),h&&r.addImport(a,"adminModelVersions");let x=[];g&&x.push(s(u)),h&&x.push(s(I));let v=x.length>0?"\n"+x.join("\n")+"\n":"",$=[];g&&$.push(e(u,"modelVersions",o.configurator.schemaVersion,"migrate")),h&&$.push(e(I,"adminModelVersions",o.admin.schemaVersion,"migrateAdmin"));let E=$.length>0?"\n"+$.join("\n\n")+"\n":"",f=["const domainFactory = domainBuilder",l?" .withExpressions(relationExpressions)":null," .withExpressions(invariantBuilder.withInvariants(customInvariants).buildViolationExpressions())"," .withExpressions(customExpressions)"," .withActionImplementations(customActions)",g?" .withMigrate(migrate)":null," .build()"].filter(Boolean).join("\n"),A=["const adminDomainFactory = adminDomainBuilder",c?" .withExpressions(adminRelationExpressions)":null," .withExpressions(adminInvariantBuilder.withInvariants(customAdminInvariants).buildViolationExpressions())"," .withExpressions(customAdminExpressions)",h?" .withMigrate(migrateAdmin)":null," .build()"].filter(Boolean).join("\n");return`${n("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)
10
10
  .withAdminDomainFactory(adminDomainFactory)
11
- .withComponentOptics(componentOptics)
12
- .withAdminComponentOptics(adminComponentOptics)
11
+ .withComponentOptics([{ origin: '.phoenix/domain-spec.ts', exports: componentOptics }])
12
+ .withAdminComponentOptics([{ origin: '.phoenix/domain-spec.ts', exports: adminComponentOptics }])
13
13
  `};
@@ -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,10 +46,6 @@ 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';
@@ -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{generateApplicationSpecWebhookImplementation}from"./webhook-implementation.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),a=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)},s=e=>e.replace(/^[\^~]/,""),n=(t,r)=>{let i={};for(let[e,r]of Object.entries(t))i[e]=s(r);if(r)for(let[e,t]of Object.entries(r))e in i||(i[e]=s(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:s,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",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:^":s,zod:"3.25.76"},a(u.dependencies)),d=n(r,a(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}];
@@ -7,7 +7,7 @@ import{renderAgentSkill as e}from"./agent-skill.js";let i=`Review all current gi
7
7
  - [ ] Relations properly define parent-child ownership (1-N, 0-1)
8
8
  - [ ] Expressions have matching implementations in src/expressions/
9
9
  - [ ] Invariants have matching implementations in src/invariants/
10
- - [ ] Actions declared under actions: have matching implementations in src/actions/ (a missing one fails the type check of the generated barrel)
10
+ - [ ] Actions declared under actions: have matching implementations in src/actions/ (a missing one stops the application at start; it is not a type error)
11
11
  - [ ] Component bindings use correct entity types or aliases
12
12
  - [ ] $read/$write/$bind reference valid properties or expressions
13
13
  - [ ] A model that has been deployed is unchanged under its version: the change is in \`model.latest\`, the deployed model is kept as \`model.v<N>\`, and \`src/migrations/v<N+1>.ts\` migrates saved configurations