@salsita-ai/sdk 0.50.0-develop.ea458ea381 → 0.50.0-develop.f03b563886

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 (933) hide show
  1. package/README.md +20 -12
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  4. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  5. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  6. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  7. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  8. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  9. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  10. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  11. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  12. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  13. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  14. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  15. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  16. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  17. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  18. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  19. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +36 -36
  20. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  21. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  22. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  23. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  24. package/dist/application-spec/generate-application/code/templates/env-example.js +4 -0
  25. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -0
  26. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +1 -1
  28. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  29. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +95 -41
  30. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +39 -16
  31. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +2 -2
  32. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  33. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  34. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  35. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +30 -3
  36. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -5
  37. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  38. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  39. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  40. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  41. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  42. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  43. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  44. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  45. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  46. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  47. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  48. package/dist/client/authorized-client.d.ts +3 -1
  49. package/dist/client/authorized-client.js +1 -1
  50. package/dist/client/contract.d.ts +34 -0
  51. package/dist/client/contract.js +1 -1
  52. package/dist/client/index.d.ts +2 -2
  53. package/dist/client/index.js +1 -1
  54. package/dist/client/local-authorized-client.d.ts +3 -1
  55. package/dist/client/local-authorized-client.js +1 -1
  56. package/dist/client/memory-authorized-client.d.ts +3 -1
  57. package/dist/client/memory-authorized-client.js +1 -1
  58. package/dist/client/phoenix-api.d.ts +271 -30
  59. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  60. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +245 -13
  61. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  62. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  63. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  64. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +8 -3
  65. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  66. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  67. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  68. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +16 -1
  69. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  70. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  71. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  72. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  73. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -0
  74. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  75. package/dist/configurator/common/frontend-analytics.d.ts +21 -21
  76. package/dist/configurator/index.d.ts +0 -1
  77. package/dist/configurator/index.js +1 -1
  78. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  79. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  80. package/dist/configurator/ui/assistant/AssistantChips.d.ts +11 -0
  81. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  82. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  83. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  84. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  85. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  86. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  87. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  88. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  89. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  90. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  91. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  92. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  93. package/dist/configurator/ui/assistant/index.js +1 -0
  94. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  95. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  96. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  97. package/dist/configurator/ui/assistant/theme.js +1 -0
  98. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  99. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  100. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  101. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  102. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  103. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  104. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  105. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  106. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -5
  107. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  108. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  109. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  110. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  111. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  112. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  113. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  114. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  115. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  116. package/dist/docs/index.json +1 -1
  117. package/dist/docs/layouts/custom-price.mdx +14 -16
  118. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  119. package/dist/docs/layouts/toolbar.mdx +6 -0
  120. package/dist/docs/other-features/domain-actions.mdx +1 -1
  121. package/dist/docs/other-features/side-effects.mdx +68 -34
  122. package/dist/docs/other-features/transformers.mdx +1 -1
  123. package/dist/docs/phoenix/admin.mdx +11 -26
  124. package/dist/docs/phoenix/deployments.mdx +1 -1
  125. package/dist/docs/phoenix/expression-context.mdx +11 -3
  126. package/dist/docs/phoenix/finalization.mdx +1 -1
  127. package/dist/docs/phoenix/integration/headless-mode-external.mdx +5 -5
  128. package/dist/docs/phoenix/integration/widget-mode-external.mdx +5 -5
  129. package/dist/docs/phoenix/localization.mdx +3 -22
  130. package/dist/docs/phoenix/phoenix-cli.mdx +159 -39
  131. package/dist/docs/phoenix/project-structure.mdx +10 -3
  132. package/dist/docs/phoenix/sdk-builder-workflow.mdx +13 -11
  133. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  134. package/dist/docs/relations/hierarchy.mdx +13 -2
  135. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  136. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  137. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  138. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  139. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  140. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  141. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  142. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  143. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  144. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +10 -13
  145. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  146. package/dist/domain/admin-domain/index.d.ts +9 -5
  147. package/dist/domain/admin-domain/index.js +1 -1
  148. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  149. package/dist/domain/application/application-config.d.ts +24 -94
  150. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  151. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  152. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  153. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  154. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  155. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  156. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  157. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  158. package/dist/domain/application/assistant/index.d.ts +4 -0
  159. package/dist/domain/application/assistant/index.js +1 -0
  160. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  161. package/dist/domain/application/assistant-mutations.d.ts +3 -5
  162. package/dist/domain/application/assistant-mutations.js +1 -1
  163. package/dist/domain/application/assistant-recipe-groups.d.ts +2 -6
  164. package/dist/domain/application/configurator-builder.d.ts +33 -18
  165. package/dist/domain/application/configurator-builder.js +1 -1
  166. package/dist/domain/application/element-registration.d.ts +5 -0
  167. package/dist/domain/application/element-registration.js +1 -1
  168. package/dist/domain/application/handler-registration.d.ts +5 -0
  169. package/dist/domain/application/handler-registration.js +1 -1
  170. package/dist/domain/application/index.d.ts +6 -5
  171. package/dist/domain/application/index.js +1 -1
  172. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  173. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  174. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  175. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  176. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +2 -2
  177. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  178. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  179. package/dist/domain/application/resolve-imported-transformers.d.ts +12 -2
  180. package/dist/domain/application/resolve-imported-transformers.js +1 -1
  181. package/dist/domain/available-system-components.js +1 -1
  182. package/dist/domain/core/action/action-factory.d.ts +11 -0
  183. package/dist/domain/core/{action.d.ts → action/action.d.ts} +22 -18
  184. package/dist/domain/core/action/index.d.ts +2 -0
  185. package/dist/domain/core/action/index.js +1 -0
  186. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  187. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  188. package/dist/domain/core/component/debug-state-component.js +1 -0
  189. package/dist/domain/{components → core/component}/domain-component-optic.d.ts +36 -39
  190. package/dist/domain/{components → core/component}/domain-component-optic.js +2 -2
  191. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  192. package/dist/domain/core/component/drag-state-component.js +1 -0
  193. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  194. package/dist/domain/core/component/export-state-component.js +1 -0
  195. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  196. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  197. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  198. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  199. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  200. package/dist/domain/core/component/hover-state-component.js +1 -0
  201. package/dist/domain/core/component/index.d.ts +18 -0
  202. package/dist/domain/core/component/index.js +1 -0
  203. package/dist/domain/{components → core/component}/legacy-filter.d.ts +2 -2
  204. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  205. package/dist/domain/core/component/navigation-state-component.js +1 -0
  206. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  207. package/dist/domain/core/component/selection-state-component.js +1 -0
  208. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  209. package/dist/domain/core/component/system-component-builder.js +1 -0
  210. package/dist/domain/{components → core/component}/system-component-filter.d.ts +19 -19
  211. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  212. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  213. package/dist/domain/core/component/tool-state-component.js +1 -0
  214. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  215. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  216. package/dist/domain/core/component/view-state-component.js +1 -0
  217. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  218. package/dist/domain/core/component/viewport-state-component.js +1 -0
  219. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  220. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  221. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  222. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  223. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  224. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  225. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  226. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  227. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  228. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  229. package/dist/domain/core/data-schema/data-schema.js +1 -0
  230. package/dist/domain/core/data-schema/index.d.ts +7 -0
  231. package/dist/domain/core/data-schema/index.js +1 -0
  232. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  233. package/dist/domain/core/decoder/create-decoder.js +1 -0
  234. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  235. package/dist/domain/core/decoder/decoder.js +1 -0
  236. package/dist/domain/core/decoder/index.d.ts +2 -0
  237. package/dist/domain/core/decoder/index.js +1 -0
  238. package/dist/domain/core/domain-factory.d.ts +4 -5
  239. package/dist/domain/core/domain-factory.js +1 -1
  240. package/dist/domain/core/domain.d.ts +4 -5
  241. package/dist/domain/core/domain.js +1 -1
  242. package/dist/domain/core/emission/index.d.ts +8 -0
  243. package/dist/domain/core/emission/index.js +1 -0
  244. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  245. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  246. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  247. package/dist/domain/core/emission/state-emission.js +1 -0
  248. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  249. package/dist/domain/core/emission/state-update-emission.js +1 -0
  250. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  251. package/dist/domain/core/emission/state-validation-result.js +1 -0
  252. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  253. package/dist/domain/core/emission/transformation-log.js +1 -0
  254. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  255. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  256. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  257. package/dist/domain/core/emission/transformer-log.js +1 -0
  258. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  259. package/dist/domain/core/emission/transformer-phase.js +1 -0
  260. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  261. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  262. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +2 -3
  263. package/dist/domain/core/expression/constant-expressions.js +1 -0
  264. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +9 -10
  265. package/dist/domain/core/expression/custom-expression.js +1 -0
  266. package/dist/domain/core/{expression.d.ts → expression/expression.d.ts} +17 -20
  267. package/dist/domain/core/expression/expression.js +1 -0
  268. package/dist/domain/core/expression/index.d.ts +4 -0
  269. package/dist/domain/core/expression/index.js +1 -0
  270. package/dist/domain/core/index.d.ts +13 -17
  271. package/dist/domain/core/index.js +1 -1
  272. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  273. package/dist/domain/{invariants → core/invariant}/custom-invariants.d.ts +7 -8
  274. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  275. package/dist/domain/core/invariant/index.d.ts +5 -0
  276. package/dist/domain/core/invariant/index.js +1 -0
  277. package/dist/domain/core/invariant/invariants.d.ts +13 -0
  278. package/dist/domain/core/invariant/invariants.js +1 -0
  279. package/dist/domain/core/invariant/violation-component.js +1 -0
  280. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  281. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  282. package/dist/domain/core/model/index.d.ts +6 -0
  283. package/dist/domain/core/model/index.js +1 -0
  284. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  285. package/dist/domain/core/model/reflection.js +1 -0
  286. package/dist/domain/core/recipe/index.d.ts +1 -0
  287. package/dist/domain/core/recipe/index.js +1 -0
  288. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  289. package/dist/domain/core/recipe/recipes.js +1 -0
  290. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  291. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  292. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  293. package/dist/domain/core/relation/component-factories.js +1 -0
  294. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  295. package/dist/domain/core/relation/composed-of.js +1 -0
  296. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  297. package/dist/domain/core/relation/index.d.ts +9 -0
  298. package/dist/domain/core/relation/index.js +1 -0
  299. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  300. package/dist/domain/core/relation/indirect-relation.js +1 -0
  301. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  302. package/dist/domain/core/relation/reference-component.js +1 -0
  303. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  304. package/dist/domain/core/relation/reference-field.js +1 -0
  305. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  306. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  307. package/dist/domain/core/relation/relation-implementation.js +1 -0
  308. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  309. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  310. package/dist/domain/core/schema/index.d.ts +3 -0
  311. package/dist/domain/core/schema/index.js +1 -0
  312. package/dist/domain/core/schema/schema-validator.js +1 -0
  313. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  314. package/dist/domain/core/state/id-sequence.js +1 -0
  315. package/dist/domain/core/state/index.d.ts +3 -0
  316. package/dist/domain/core/state/index.js +1 -0
  317. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  318. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  319. package/dist/domain/domain-builder.d.ts +11 -11
  320. package/dist/domain/domain-builder.js +1 -1
  321. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -4
  322. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  323. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  324. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  325. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +1 -2
  326. package/dist/domain/domain-context/domain-context-systems.d.ts +1 -3
  327. package/dist/domain/domain-context/index.d.ts +3 -4
  328. package/dist/domain/domain-context/index.js +1 -1
  329. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +3 -5
  330. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  331. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  332. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  333. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  334. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  335. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -3
  336. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  337. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +1 -1
  338. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  339. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +1 -1
  340. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  341. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +1 -1
  342. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  343. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +1 -1
  344. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  345. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  346. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  347. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  348. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  349. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  350. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  351. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -36
  352. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  353. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -3
  354. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  355. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  356. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  357. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +1 -3
  358. package/dist/domain/domain-context/transformers/chain-builder.d.ts +2 -2
  359. package/dist/domain/domain-context/transformers/context.d.ts +1 -6
  360. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  361. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  362. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  363. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  364. package/dist/domain/domain-context/transformers/when-builder.d.ts +1 -6
  365. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  366. package/dist/domain/domain-context/undo-system.d.ts +1 -2
  367. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  368. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  369. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  370. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  371. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  372. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  373. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  374. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  375. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  376. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +3 -4
  377. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  378. package/dist/domain/domain-runtime/domain-runtime.d.ts +12 -12
  379. package/dist/domain/domain-runtime/spec/index.d.ts +8 -0
  380. package/dist/domain/domain-runtime/spec/index.js +1 -1
  381. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  382. package/dist/domain/{invariants/invariants.d.ts → domain-runtime/spec/invariant-builder.d.ts} +7 -14
  383. package/dist/domain/domain-runtime/spec/invariant-builder.js +1 -0
  384. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  385. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  386. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  387. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  388. package/dist/domain/domain-runtime/spec/resolve-action-modules.d.ts +4 -0
  389. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +1 -0
  390. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.d.ts +4 -0
  391. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +1 -0
  392. package/dist/domain/domain-runtime/spec/resolve-expression-modules.d.ts +15 -0
  393. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +1 -0
  394. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +6 -0
  395. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +1 -0
  396. package/dist/domain/domain-runtime/spec/selectors.d.ts +2 -2
  397. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  398. package/dist/domain/domain-runtime/spec/types.d.ts +4 -5
  399. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  400. package/dist/domain/extensions/angle-indicator.js +1 -0
  401. package/dist/domain/extensions/attribute-switch.js +1 -0
  402. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  403. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  404. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  405. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  406. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  407. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  408. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  409. package/dist/domain/extensions/canvas-config.js +1 -0
  410. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  411. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  412. package/dist/domain/extensions/canvas-padding.js +1 -0
  413. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  414. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  415. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  416. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  417. package/dist/domain/extensions/client-side-image.js +1 -0
  418. package/dist/domain/extensions/color-value.js +1 -0
  419. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  420. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  421. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  422. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  423. package/dist/domain/extensions/common/index.d.ts +4 -0
  424. package/dist/domain/extensions/common/index.js +1 -0
  425. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  426. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  427. package/dist/domain/extensions/custom-price-footer.js +1 -0
  428. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  429. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  430. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  431. package/dist/domain/extensions/dimension-indicator.js +1 -0
  432. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  433. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  434. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  435. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  436. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  437. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  438. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  439. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  440. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  441. package/dist/domain/extensions/entity-header.js +1 -0
  442. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  443. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  444. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  445. package/dist/domain/extensions/finalize-action.js +1 -0
  446. package/dist/domain/extensions/finalize-component.js +1 -0
  447. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  448. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  449. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  450. package/dist/domain/extensions/fixed-header.js +1 -0
  451. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  452. package/dist/domain/extensions/floating-header.js +1 -0
  453. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  454. package/dist/domain/extensions/hidden-header.js +1 -0
  455. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  456. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  457. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  458. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  459. package/dist/domain/extensions/index.d.ts +69 -0
  460. package/dist/domain/extensions/index.js +1 -0
  461. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  462. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  463. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  464. package/dist/domain/extensions/navigation-steps.js +1 -0
  465. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  466. package/dist/domain/extensions/offset-anchors.js +1 -0
  467. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  468. package/dist/domain/extensions/offset-indicator.js +1 -0
  469. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  470. package/dist/domain/extensions/offset.js +1 -0
  471. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  472. package/dist/domain/extensions/other-action.js +1 -0
  473. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  474. package/dist/domain/extensions/property-page.js +1 -0
  475. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  476. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  477. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  478. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  479. package/dist/domain/extensions/rotatable.js +1 -0
  480. package/dist/domain/extensions/rotation-handle.js +1 -0
  481. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  482. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  483. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  484. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  485. package/dist/domain/extensions/scene-entity-control.js +1 -0
  486. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  487. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  488. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  489. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  490. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  491. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  492. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  493. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  494. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  495. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  496. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  497. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  498. package/dist/domain/extensions/selectable-component.js +1 -0
  499. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  500. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  501. package/dist/domain/extensions/simple-summary.js +1 -0
  502. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  503. package/dist/domain/extensions/size.js +1 -0
  504. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  505. package/dist/domain/extensions/sketching-draw.js +1 -0
  506. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  507. package/dist/domain/extensions/sketching-edit.js +1 -0
  508. package/dist/domain/extensions/summary-component.js +1 -0
  509. package/dist/domain/extensions/text-value.js +1 -0
  510. package/dist/domain/extensions/tool-controls.js +1 -0
  511. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  512. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  513. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  514. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  515. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  516. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  517. package/dist/domain/extensions/view-controls.js +1 -0
  518. package/dist/domain/index.d.ts +3 -32
  519. package/dist/domain/index.js +1 -1
  520. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +3 -3
  521. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  522. package/dist/domain/project-modules/index.d.ts +1 -0
  523. package/dist/domain/project-modules/index.js +1 -0
  524. package/dist/domain/project-modules/project-modules.d.ts +25 -0
  525. package/dist/domain/project-modules/project-modules.js +1 -0
  526. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -1
  527. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  528. package/dist/domain/projections/composition-projections.js +1 -1
  529. package/dist/domain/projections/index.d.ts +1 -1
  530. package/dist/domain/projections/projected-entities-projections.d.ts +1 -2
  531. package/dist/domain/projections/snap-matching.d.ts +1 -2
  532. package/dist/domain/projections/snap-utils.d.ts +1 -2
  533. package/dist/domain/projections/validation-projections.d.ts +1 -18
  534. package/dist/domain/projections/validation-projections.js +1 -1
  535. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  536. package/dist/domain/system-components/admin-sidebar.js +1 -1
  537. package/dist/domain/system-components/angle-dimension.js +1 -1
  538. package/dist/domain/system-components/application-config.d.ts +1 -1
  539. package/dist/domain/system-components/application-config.js +1 -1
  540. package/dist/domain/system-components/attribute-selection.js +1 -1
  541. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  542. package/dist/domain/system-components/bounding-box-component.js +1 -1
  543. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  544. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  545. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  546. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  547. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  548. package/dist/domain/system-components/child-entity-selection.js +1 -1
  549. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  550. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  551. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  552. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  553. package/dist/domain/system-components/collision-geometry.js +1 -1
  554. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  555. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  556. package/dist/domain/system-components/common/index.d.ts +0 -4
  557. package/dist/domain/system-components/common/index.js +1 -1
  558. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  559. package/dist/domain/system-components/constraint.d.ts +1 -1
  560. package/dist/domain/system-components/constraint.js +1 -1
  561. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  562. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  563. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  564. package/dist/domain/system-components/detail.js +1 -1
  565. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  566. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  567. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  568. package/dist/domain/system-components/distance-dimension.js +1 -1
  569. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  570. package/dist/domain/system-components/drag-handle.js +1 -1
  571. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  572. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  573. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  574. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  575. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  576. package/dist/domain/system-components/generic-dimension.js +1 -1
  577. package/dist/domain/system-components/hidden-entity.js +1 -1
  578. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  579. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  580. package/dist/domain/system-components/index.d.ts +0 -68
  581. package/dist/domain/system-components/index.js +1 -1
  582. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  583. package/dist/domain/system-components/material-override-transformer.js +1 -1
  584. package/dist/domain/system-components/material-swatch.js +1 -1
  585. package/dist/domain/system-components/navigation-page.js +1 -1
  586. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  587. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  588. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  589. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  590. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  591. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  592. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  593. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  594. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  595. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  596. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  597. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  598. package/dist/domain/system-components/pivot-point.js +1 -1
  599. package/dist/domain/system-components/price.js +1 -1
  600. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  601. package/dist/domain/system-components/projected-entities.js +1 -1
  602. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  603. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  604. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  605. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  606. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  607. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  608. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  609. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  610. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  611. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  612. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  613. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  614. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  615. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  616. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  617. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  618. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  619. package/dist/domain/system-components/scene-entity-object.js +1 -1
  620. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  621. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  622. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  623. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  624. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  625. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  626. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  627. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  628. package/dist/domain/system-components/sketching-line.js +1 -1
  629. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  630. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  631. package/dist/domain/system-components/sketching.d.ts +1 -1
  632. package/dist/domain/system-components/sketching.js +1 -1
  633. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  634. package/dist/domain/system-components/snap-axis.js +1 -1
  635. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  636. package/dist/domain/system-components/snap-edge.js +1 -1
  637. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  638. package/dist/domain/system-components/snap-plane.js +1 -1
  639. package/dist/domain/system-components/snap-point.d.ts +1 -1
  640. package/dist/domain/system-components/snap-point.js +1 -1
  641. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  642. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  643. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  644. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  645. package/dist/domain/utils/eval-cache.d.ts +1 -2
  646. package/dist/domain/utils/memo-eval.d.ts +2 -4
  647. package/dist/editor/Editor.js +1 -1
  648. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  649. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  650. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  651. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  652. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  653. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  654. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  655. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  656. package/dist/editor/variants/variant-preview-styles.js +1 -0
  657. package/dist/i18n/locales/cs/messages.js +1 -1
  658. package/dist/i18n/locales/da/messages.js +1 -1
  659. package/dist/i18n/locales/de/messages.js +1 -1
  660. package/dist/i18n/locales/de-AT/messages.js +1 -1
  661. package/dist/i18n/locales/en/messages.js +1 -1
  662. package/dist/i18n/locales/en-AU/messages.js +1 -1
  663. package/dist/i18n/locales/en-GB/messages.js +1 -1
  664. package/dist/i18n/locales/es/messages.js +1 -1
  665. package/dist/i18n/locales/fr/messages.js +1 -1
  666. package/dist/i18n/locales/hu/messages.js +1 -1
  667. package/dist/i18n/locales/it/messages.js +1 -1
  668. package/dist/i18n/locales/nl/messages.js +1 -1
  669. package/dist/i18n/locales/pl/messages.js +1 -1
  670. package/dist/i18n/locales/pt/messages.js +1 -1
  671. package/dist/i18n/locales/ro/messages.js +1 -1
  672. package/dist/i18n/locales/sk/messages.js +1 -1
  673. package/dist/i18n/locales/tr/messages.js +1 -1
  674. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  675. package/dist/legacy/domain-cli/gen/implementation.js +5 -5
  676. package/dist/legacy/domain-cli/gen/invariants.js +5 -3
  677. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  678. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  679. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +6 -0
  680. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  681. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  682. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  683. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  684. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  685. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  686. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  687. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  688. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  689. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  690. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  691. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  692. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  693. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  694. package/dist/phoenix/cli.js +1 -1
  695. package/dist/phoenix/commands/build.d.ts +5 -0
  696. package/dist/phoenix/commands/build.js +1 -1
  697. package/dist/phoenix/commands/deploy.js +2 -2
  698. package/dist/phoenix/commands/dev.js +5 -5
  699. package/dist/phoenix/commands/feedback.d.ts +2 -1
  700. package/dist/phoenix/commands/feedback.js +1 -1
  701. package/dist/phoenix/commands/index.d.ts +1 -0
  702. package/dist/phoenix/commands/index.js +1 -1
  703. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  704. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  705. package/dist/phoenix/commands/story-dev.js +2 -2
  706. package/dist/phoenix/commands/variants.d.ts +35 -0
  707. package/dist/phoenix/commands/variants.js +1 -0
  708. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  709. package/dist/phoenix/editor-server/commands-router.js +1 -1
  710. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  711. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  712. package/dist/phoenix/editor-server/editor-server.js +1 -1
  713. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  714. package/dist/phoenix/editor-server/spec-router.js +1 -1
  715. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  716. package/dist/phoenix/scripts/build-admin.js +1 -1
  717. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  718. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  719. package/dist/phoenix/services/index.d.ts +5 -0
  720. package/dist/phoenix/services/index.js +1 -1
  721. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  722. package/dist/phoenix/services/phoenix-application.js +1 -0
  723. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  724. package/dist/phoenix/services/phoenix-store.js +1 -0
  725. package/dist/phoenix/services/phx-banner-plugin.d.ts +32 -0
  726. package/dist/phoenix/services/phx-banner-plugin.js +1 -0
  727. package/dist/phoenix/services/phx-licenses-plugin.d.ts +55 -0
  728. package/dist/phoenix/services/phx-licenses-plugin.js +8 -0
  729. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  730. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  731. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  732. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  733. package/dist/phoenix/services/variant-file-session.js +1 -0
  734. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  735. package/dist/phoenix/services/variant-preview-service.js +1 -0
  736. package/dist/phoenix/services/vite-config.d.ts +2 -0
  737. package/dist/phoenix/services/vite-config.js +1 -1
  738. package/dist/phoenix/utils/index.d.ts +1 -0
  739. package/dist/phoenix/utils/index.js +1 -1
  740. package/dist/phoenix/utils/read-git-commit.d.ts +14 -0
  741. package/dist/phoenix/utils/read-git-commit.js +1 -0
  742. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  743. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  744. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  745. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  746. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  747. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  748. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  749. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +4 -4
  750. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  751. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  752. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  753. package/dist/ui-sdk/theme/types.d.ts +4 -0
  754. package/dist/webhook/builders/common.d.ts +8 -0
  755. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  756. package/dist/webhook/builders/webhook-builder.js +1 -1
  757. package/package.json +5 -8
  758. package/schema/domain-spec.json +24 -0
  759. package/dist/configurator/assistant/index.d.ts +0 -1
  760. package/dist/configurator/assistant/index.js +0 -1
  761. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  762. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  763. package/dist/domain/actions/action-factory.d.ts +0 -10
  764. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  765. package/dist/domain/components/debug-state-component.js +0 -1
  766. package/dist/domain/components/drag-state-component.js +0 -1
  767. package/dist/domain/components/export-state-component.js +0 -1
  768. package/dist/domain/components/fullscreen-state-component.js +0 -1
  769. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  770. package/dist/domain/components/hover-state-component.js +0 -1
  771. package/dist/domain/components/index.d.ts +0 -2
  772. package/dist/domain/components/index.js +0 -1
  773. package/dist/domain/components/navigation-state-component.js +0 -1
  774. package/dist/domain/components/selection-state-component.js +0 -1
  775. package/dist/domain/components/system-component-builder.js +0 -1
  776. package/dist/domain/components/system-virtual-entity.js +0 -1
  777. package/dist/domain/components/tool-state-component.js +0 -1
  778. package/dist/domain/components/view-state-component.js +0 -1
  779. package/dist/domain/components/viewport-state-component.js +0 -1
  780. package/dist/domain/core/json-schema.js +0 -1
  781. package/dist/domain/core/reflection.js +0 -1
  782. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  783. package/dist/domain/expressions/constant-expressions.js +0 -1
  784. package/dist/domain/expressions/custom-expression.js +0 -1
  785. package/dist/domain/expressions/index.d.ts +0 -1
  786. package/dist/domain/expressions/index.js +0 -1
  787. package/dist/domain/invariants/custom-invariants.js +0 -1
  788. package/dist/domain/invariants/invariants.js +0 -1
  789. package/dist/domain/invariants/violation-component.js +0 -1
  790. package/dist/domain/relations/all-of-type-relation.js +0 -1
  791. package/dist/domain/relations/component-factories.js +0 -1
  792. package/dist/domain/relations/composed-of.js +0 -1
  793. package/dist/domain/relations/indirect-relation.js +0 -1
  794. package/dist/domain/relations/reference-component.js +0 -1
  795. package/dist/domain/system-components/angle-indicator.js +0 -1
  796. package/dist/domain/system-components/attribute-switch.js +0 -1
  797. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  798. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  799. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  800. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  801. package/dist/domain/system-components/canvas-config.js +0 -1
  802. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  803. package/dist/domain/system-components/canvas-padding.js +0 -1
  804. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  805. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  806. package/dist/domain/system-components/client-side-image.js +0 -1
  807. package/dist/domain/system-components/color-value.js +0 -1
  808. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  809. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  810. package/dist/domain/system-components/custom-price-footer.js +0 -1
  811. package/dist/domain/system-components/dimension-indicator.js +0 -1
  812. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  813. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  814. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  815. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  816. package/dist/domain/system-components/entity-header.js +0 -1
  817. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  818. package/dist/domain/system-components/finalize-action.js +0 -1
  819. package/dist/domain/system-components/finalize-component.js +0 -1
  820. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  821. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  822. package/dist/domain/system-components/fixed-header.js +0 -1
  823. package/dist/domain/system-components/floating-header.js +0 -1
  824. package/dist/domain/system-components/hidden-header.js +0 -1
  825. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  826. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  827. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  828. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  829. package/dist/domain/system-components/navigation-steps.js +0 -1
  830. package/dist/domain/system-components/offset-anchors.js +0 -1
  831. package/dist/domain/system-components/offset-indicator.js +0 -1
  832. package/dist/domain/system-components/offset.js +0 -1
  833. package/dist/domain/system-components/other-action.js +0 -1
  834. package/dist/domain/system-components/property-page.js +0 -1
  835. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  836. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  837. package/dist/domain/system-components/rotatable.js +0 -1
  838. package/dist/domain/system-components/rotation-handle.js +0 -1
  839. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  840. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  841. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  842. package/dist/domain/system-components/scene-entity-control.js +0 -1
  843. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  844. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  845. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  846. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  847. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  848. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  849. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  850. package/dist/domain/system-components/selectable-component.js +0 -1
  851. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  852. package/dist/domain/system-components/simple-summary.js +0 -1
  853. package/dist/domain/system-components/size.js +0 -1
  854. package/dist/domain/system-components/sketching-draw.js +0 -1
  855. package/dist/domain/system-components/sketching-edit.js +0 -1
  856. package/dist/domain/system-components/summary-component.js +0 -1
  857. package/dist/domain/system-components/text-value.js +0 -1
  858. package/dist/domain/system-components/tool-controls.js +0 -1
  859. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  860. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  861. package/dist/domain/system-components/view-controls.js +0 -1
  862. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  863. package/dist/extras/assistant/AssistantChat.js +0 -1
  864. package/dist/extras/assistant/index.d.ts +0 -1
  865. package/dist/extras/assistant/index.js +0 -1
  866. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  867. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  868. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  869. /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  870. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  871. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  872. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  873. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  874. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  875. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  876. /package/dist/domain/{components → core/component}/updates.js +0 -0
  877. /package/dist/domain/core/{schema-validator.js → data-schema/data-cell-value.js} +0 -0
  878. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-schema-array-field.js} +0 -0
  879. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-field-object.js} +0 -0
  880. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  881. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  882. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  883. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  884. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  885. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  886. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  887. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  888. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  889. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  890. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  891. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  892. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  893. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  894. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  895. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  896. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  897. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  898. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  899. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  900. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  901. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  902. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  903. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  904. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  905. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  906. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  907. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  908. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  909. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  910. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  911. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  912. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  913. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  914. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  915. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  916. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  917. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  918. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  919. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  920. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  921. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  922. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  923. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  924. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  925. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  926. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  927. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  928. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  929. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  930. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  931. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  932. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  933. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
package/README.md CHANGED
@@ -42,17 +42,25 @@ Generated code exposes the `phx` global in project files: `phx.domain` for the m
42
42
 
43
43
  Run the CLI through the project's package manager so its version matches the installed SDK.
44
44
 
45
- | Command | What it does |
46
- | ------------------------------ | ---------------------------------------------------------------------------- |
47
- | `phoenix init [folder]` | Starts a project: `package.json` when missing, and a starter spec. |
48
- | `phoenix sync` | Regenerates project files and aligns dependencies and scripts. |
49
- | `phoenix dev` | Development server with hot reload, webhook tunnel and the editor. |
50
- | `phoenix build` | Production build of the frontend and the webhooks. |
51
- | `phoenix check` / `fix` | Type check, lint and format; `fix` applies the automatic fixes. |
52
- | `phoenix login <workspace>` | Signs in through Studio; the token is kept in `~/.phoenix/credentials.json`. |
53
- | `phoenix deploy` | Uploads the project sources for a platform build. |
54
- | `phoenix docs` | Searches and reads the SDK documentation bundled with the package. |
55
- | `phoenix feedback "<message>"` | Sends feedback about the SDK, CLI, documentation or Studio to Salsita. |
45
+ | Command | What it does |
46
+ | ------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
47
+ | `phoenix init [folder]` | Starts a project: `package.json` when missing, and a starter spec. |
48
+ | `phoenix sync` | Regenerates project files and aligns dependencies and scripts. |
49
+ | `phoenix dev` | Development server with hot reload, webhook tunnel and the editor. |
50
+ | `phoenix build` | Production build of the frontend and the webhooks. |
51
+ | `phoenix check` / `fix` | Type check, lint and format; `fix` applies the automatic fixes. |
52
+ | `phoenix login <workspace>` | Signs in through Studio; the token is kept in `~/.phoenix/credentials.json`. |
53
+ | `phoenix deploy` | Uploads the project sources for a platform build. |
54
+ | `phoenix docs` | Searches and reads the SDK documentation bundled with the package. |
55
+ | `phoenix feedback "<message>"` | Sends feedback about the SDK, CLI, documentation or Studio to Salsita; `--file <path>` sends a text file instead. |
56
+
57
+ Every frontend `.js` file `phoenix build` emits starts with a comment naming the application version from `spec/application.yaml`, the git commit when the build runs in a checkout, and the SDK version. `--banner <text>` replaces the application line with your own text. The line is public in every bundle:
58
+
59
+ ```sh
60
+ pnpm phoenix build --banner "Release: ${RELEASE_NAME}; Commit: ${COMMIT_SHA}"
61
+ ```
62
+
63
+ The same build writes `.phoenix/dist/frontend/THIRD-PARTY-LICENSES.txt`, the third-party packages bundled into the frontend with their licence texts. Deploy it together with the bundles.
56
64
 
57
65
  `phoenix dev` works against your own development environment once you are signed in. Alternatively paste the development-environment block of a Studio project (`SERVER_URL`, `PROJECT_SLUG`, `ENVIRONMENT_SLUG`, `DEVELOPMENT_KEY`) into `.env`. Never commit credentials.
58
66
 
@@ -91,7 +99,7 @@ The `package.json` `exports` map is the machine-readable list, and the TypeScrip
91
99
 
92
100
  - `pnpm phoenix docs -s "<topic>"` searches the bundled documentation; `phoenix docs -r <path>` reads a page.
93
101
  - `phoenix sync` generates agent skills into `.claude/skills/` and `.agents/skills/`, so coding agents know the project conventions and the CLI.
94
- - Studio, where you sign in and manage projects, has builder guides for getting started, the CLI and deployments.
102
+ - The builder docs at [docs.salsita.ai](https://docs.salsita.ai) have the guides for getting started and the CLI reference; Studio is where you sign in and manage projects.
95
103
  - `pnpm phoenix feedback "<message>"` reaches the team directly.
96
104
 
97
105
  Existing projects may still call the legacy `domain-cli`, `webhook-cli`, `deployment-cli` and `embedding-cli` binaries, which remain installed for compatibility. New automation uses `phoenix`.
@@ -2,7 +2,7 @@ import type { AdminPagesSpec, DataSpec, DomainComponentOptic, NavigationListItem
2
2
  type AdminPageComponent = DomainComponentOptic<any, any, any, any, any, any, SystemComponentTypeConstraint>;
3
3
  type AdminPageNavigationItem = NavigationListItem | NestedNavigationListItem;
4
4
  export declare const createAdminPagesFromSpec: (spec: AdminPagesSpec, dataSpec?: DataSpec) => {
5
- components: (import("../domain/components/domain-component-optic.js").DomainComponentSimpleOptic<import("#package/domain").AnyDomainEntity, import("#package/domain").Admin, import("../domain/admin-domain/__generated/application-types.js").PublishedData, import("../domain/admin-domain/__generated/application-types.js").SessionData, Record<string, unknown>, import("#package/domain").Admin, import("#package/domain").SystemComponentType<"navigationPanelList", import("#package/domain").NavigationPanelListComponentState, never>> | import("../domain/components/domain-component-optic.js").DomainComponentSimpleOptic<import("#package/domain").AnyDomainEntity, import("#package/domain").Admin, import("../domain/admin-domain/__generated/application-types.js").PublishedData, import("../domain/admin-domain/__generated/application-types.js").SessionData, Record<string, unknown>, import("#package/domain").Preset, import("#package/domain").SystemComponentType<"attributeSelection", import("#package/domain").AttributeSelectionComponentState, "value">> | AdminPageComponent)[];
5
+ components: (import("#package/domain").DomainComponentSimpleOptic<import("#package/domain").AnyDomainEntity, import("#package/domain").Admin, import("../domain/admin-domain/__generated/application-types.js").PublishedData, import("../domain/admin-domain/__generated/application-types.js").SessionData, Record<string, unknown>, import("#package/domain").Admin, import("#package/domain").SystemComponentType<"navigationPanelList", import("#package/domain").NavigationPanelListComponentState, never>, unknown> | import("#package/domain").DomainComponentSimpleOptic<import("#package/domain").AnyDomainEntity, import("#package/domain").Admin, import("../domain/admin-domain/__generated/application-types.js").PublishedData, import("../domain/admin-domain/__generated/application-types.js").SessionData, Record<string, unknown>, import("#package/domain").Preset, import("#package/domain").SystemComponentType<"attributeSelection", import("#package/domain").AttributeSelectionComponentState, "value">, unknown> | AdminPageComponent)[];
6
6
  pages: AdminPageNavigationItem[];
7
7
  };
8
8
  export {};
@@ -3,3 +3,4 @@ export * from './code-imports.js';
3
3
  export * from './exported-type-declarations.js';
4
4
  export * from './env-reader.js';
5
5
  export * from './file-headers.js';
6
+ export * from './project-module-list.js';
@@ -1 +1 @@
1
- export*from"./application-type-imports.js";export*from"./code-imports.js";export*from"./exported-type-declarations.js";export*from"./env-reader.js";export*from"./file-headers.js";
1
+ export*from"./application-type-imports.js";export*from"./code-imports.js";export*from"./exported-type-declarations.js";export*from"./env-reader.js";export*from"./file-headers.js";export*from"./project-module-list.js";
@@ -0,0 +1,8 @@
1
+ /** The default imports of one convention folder's files, as a generated barrel lists them. */
2
+ export declare const generateProjectModuleImports: (files: readonly string[], prefix: string) => readonly string[];
3
+ /**
4
+ * The origin-tagged module list a generated barrel exports for one convention folder. The barrel only
5
+ * pairs each default export with its project path; the SDK validates and merges the exports, so that an
6
+ * invalid file is reported by name and the built app and the editor's hot reload share one implementation.
7
+ */
8
+ export declare const generateProjectModuleList: (files: readonly string[], prefix: string) => string;
@@ -0,0 +1,3 @@
1
+ export const generateProjectModuleImports=(e,t)=>e.map((e,r)=>`import ${t}${r} from '../${e.replace(/\.tsx?$/,".js")}'`);export const generateProjectModuleList=(e,t)=>{if(0===e.length)return"[]";let r=e.map((e,r)=>` { origin: '${e}', exports: ${t}${r} },`);return`[
2
+ ${r.join("\n")}
3
+ ]`};
@@ -1 +1 @@
1
- import{GeneratedApplicationFile as n}from"../../core/index.js";import{createApplicationTypeImportRegistrar as e}from"./common/index.js";import{generateAdminGlobalBindingBlock as i,generateApplicationSpecAdminCode as o,generateApplicationSpecAdminFrontendCode as t,generateApplicationSpecAdminGlobals as a,generateApplicationSpecConfiguratorCode as r,generateApplicationSpecConfiguratorConfig as s,generateApplicationSpecConfiguratorFrontendCode as d,generateApplicationSpecConfiguratorGlobals as c,generateApplicationSpecDomainFile as g,generateApplicationSpecDomainSpecFile as m,generateApplicationSpecGlobals as p,generateApplicationSpecTypesModule as l,generateConfiguratorGlobalBindingBlock as f,generateImportedStateConstants as B,generatePhxExportsBlock as u,generatePhxGlobalsBlock as x,generateStateConstants as h}from"./templates/index.js";import{splitWebhookMembership as k}from"./webhook-safe-files.js";let y=()=>"";export const globalPhxBindingStrategy={generateApplicationTypesFile:(e,i)=>n("globals.d.ts",p(e,i)),generateDomainBindingBlock:x,generateStateConstants:h,generateConfiguratorBindingBlock:f,configuratorBindingDescription:"Creates the configurator interface and sets phx.frontend — must run before any user code imports.",generateAdminBindingBlock:i,adminBindingDescription:"Creates the admin interface and sets phx.frontend.admin — must run before admin user code imports."};export const modulePhxBindingStrategy={applicationTypeImportSource:"./application-types.js",generateApplicationTypesFile:(e,i)=>n("application-types.ts",l(e,i)),generateDomainBindingBlock:u,generateStateConstants:B,generateConfiguratorBindingBlock:y,configuratorBindingDescription:"Creates and exports the configurator interface for a module-scoped phx binding.",generateAdminBindingBlock:y,adminBindingDescription:"Creates and exports the admin interface for a module-scoped phx binding."};let C=n=>n.map(n=>n.file.name);export const generateDomainRuntimeFiles=(i,p)=>{let{applicationSpec:l,categorizedFiles:f,phxDefinitions:B,includeDefaultEnvs:u}=i,x=e(p.applicationTypeImportSource),h=C(f.expressions),y=C(f.actions),b=C(f.handlers),D=C(f.elements),S=C(f.transformers),A=C(f.invariants),F=C(f.adminInvariants),j=C(f.adminExpressions),I=C(f.adminElements),T=k(f.components),w=C(T.webhookIncluded),v=C(T.frontendOnly),E=k(f.adminComponents),O=C(E.webhookIncluded),P=C(E.frontendOnly);return[n("domain-spec.ts",m(l,{generateBindingBlock:p.generateDomainBindingBlock,generateStateConstants:p.generateStateConstants,registerApplicationTypeImports:x})),n("configurator-globals.ts",c(p.generateConfiguratorBindingBlock,p.configuratorBindingDescription)),n("configurator-domain-code.ts",r({expressionFiles:h,actionFiles:y,invariantFiles:A,componentFiles:w},x)),n("configurator-frontend-code.ts",d({transformerFiles:S,handlerFiles:b,elementFiles:D,componentFiles:v},x)),n("admin-domain-code.ts",o({adminExpressionFiles:j,adminInvariantFiles:F,adminComponentFiles:O},x)),n("admin-frontend-code.ts",t({adminElementFiles:I,adminComponentFiles:P},x)),n("domain.ts",g(l)),n("configurator-config.ts",s(l,{includeDefaultEnvs:u})),p.generateApplicationTypesFile(l,B),n("admin-globals.ts",a(p.generateAdminBindingBlock,p.adminBindingDescription))]};
1
+ import{GeneratedApplicationFile as n}from"../../core/index.js";import{createApplicationTypeImportRegistrar as e}from"./common/index.js";import{generateAdminGlobalBindingBlock as i,generateApplicationSpecAdminCode as o,generateApplicationSpecAdminFrontendCode as t,generateApplicationSpecAdminGlobals as a,generateApplicationSpecConfiguratorCode as r,generateApplicationSpecConfiguratorConfig as s,generateApplicationSpecConfiguratorFrontendCode as d,generateApplicationSpecConfiguratorGlobals as c,generateApplicationSpecDomainFile as g,generateApplicationSpecDomainSpecFile as m,generateApplicationSpecGlobals as p,generateApplicationSpecTypesModule as l,generateConfiguratorGlobalBindingBlock as f,generateImportedStateConstants as B,generatePhxExportsBlock as u,generatePhxGlobalsBlock as x,generateStateConstants as h}from"./templates/index.js";import{splitWebhookMembership as k}from"./webhook-safe-files.js";let y=()=>"";export const globalPhxBindingStrategy={generateApplicationTypesFile:(e,i)=>n("globals.d.ts",p(e,i)),generateDomainBindingBlock:x,generateStateConstants:h,generateConfiguratorBindingBlock:f,configuratorBindingDescription:"Creates the configurator interface and sets phx.frontend — must run before any user code imports.",generateAdminBindingBlock:i,adminBindingDescription:"Creates the admin interface and sets phx.frontend.admin — must run before admin user code imports."};export const modulePhxBindingStrategy={applicationTypeImportSource:"./application-types.js",generateApplicationTypesFile:(e,i)=>n("application-types.ts",l(e,i)),generateDomainBindingBlock:u,generateStateConstants:B,generateConfiguratorBindingBlock:y,configuratorBindingDescription:"Creates and exports the configurator interface for a module-scoped phx binding.",generateAdminBindingBlock:y,adminBindingDescription:"Creates and exports the admin interface for a module-scoped phx binding."};let C=n=>n.map(n=>n.file.name);export const generateDomainRuntimeFiles=(i,p)=>{let{applicationSpec:l,categorizedFiles:f,phxDefinitions:B,includeDefaultEnvs:u}=i,x=e(p.applicationTypeImportSource),h=C(f.expressions),y=C(f.actions),b=C(f.handlers),D=C(f.elements),S=C(f.transformers),A=C(f.invariants),F=C(f.adminInvariants),j=C(f.adminExpressions),I=C(f.adminElements),T=k(f.components),w=C(T.webhookIncluded),v=C(T.frontendOnly),E=k(f.adminComponents),O=C(E.webhookIncluded),P=C(E.frontendOnly);return[n("domain-spec.ts",m(l,{generateBindingBlock:p.generateDomainBindingBlock,generateStateConstants:p.generateStateConstants,registerApplicationTypeImports:x})),n("configurator-globals.ts",c(p.generateConfiguratorBindingBlock,p.configuratorBindingDescription)),n("configurator-domain-code.ts",r({expressionFiles:h,actionFiles:y,invariantFiles:A,componentFiles:w})),n("configurator-frontend-code.ts",d({transformerFiles:S,handlerFiles:b,elementFiles:D,componentFiles:v})),n("admin-domain-code.ts",o({adminExpressionFiles:j,adminInvariantFiles:F,adminComponentFiles:O})),n("admin-frontend-code.ts",t({adminElementFiles:I,adminComponentFiles:P})),n("domain.ts",g(l)),n("configurator-config.ts",s(l,{includeDefaultEnvs:u})),p.generateApplicationTypesFile(l,B),n("admin-globals.ts",a(p.generateAdminBindingBlock,p.adminBindingDescription))]};
@@ -1,6 +1,6 @@
1
- import{GeneratedApplicationFile as e}from"../../core/index.js";import{followsCanaryBuilds as t,generateAgentsMd as n,generateApplicationSpecEnvCi as r,generateApplicationSpecEnvExample as o,generateApplicationSpecEslintConfig as i,generateApplicationSpecFavicon as a,generateApplicationSpecGitignore as s,generateApplicationSpecNvmrc as c,generateApplicationSpecPackageJson as l,generateApplicationSpecPrettierConfig as p,generateApplicationSpecPrettierIgnore as m,generateApplicationSpecPrivateAssetsReadme as f,generateApplicationSpecPublicAssetsReadme as d,generateApplicationSpecReadme as g,generateApplicationSpecRobotsTxt as u,generateApplicationSpecTsconfig as x,generateApplicationSpecWebhookImplementation as h,generateLinguiRcFile as v,generatePhoenixCliSkill as j,generatePhoenixCreateConfiguratorSkill as k,generatePhoenixCreateConfiguratorSkillReferences as b,generatePhoenixFeedbackSkill as E,generatePhoenixReviewSkill as F,generatePhoenixSkill as M,stripSdkMarkerContent as P}from"./templates/index.js";export const agentSkillRoots=[".claude/skills",".agents/skills"];let w=[{path:"CLAUDE.md",generatedPrefix:""},{path:".cursor/rules/phoenix.mdc",generatedPrefix:`---
1
+ import{GeneratedApplicationFile as e}from"../../core/index.js";import{followsCanaryBuilds as t,generateAgentsMd as n,generateApplicationSpecEnvCi as r,generateApplicationSpecEnvExample as o,generateApplicationSpecEslintConfig as i,generateApplicationSpecFavicon as a,generateApplicationSpecGitignore as s,generateApplicationSpecNvmrc as c,generateApplicationSpecPackageJson as l,generateApplicationSpecPrettierConfig as p,generateApplicationSpecPrettierIgnore as m,generateApplicationSpecPrivateAssetsReadme as f,generateApplicationSpecPublicAssetsReadme as d,generateApplicationSpecReadme as g,generateApplicationSpecRobotsTxt as u,generateApplicationSpecTsconfig as x,generateApplicationSpecWebhookImplementation as h,generateLinguiRcFile as v,generatePhoenixCliSkill as j,generatePhoenixCreateConfiguratorSkill as k,generatePhoenixCreateConfiguratorSkillReferences as b,generatePhoenixFeedbackSkill as E,generatePhoenixReviewSkill as F,generatePhoenixSkill as M,generatePhoenixVariantsSkill as P,stripSdkMarkerContent as w}from"./templates/index.js";export const agentSkillRoots=[".claude/skills",".agents/skills"];let A=[{path:"CLAUDE.md",generatedPrefix:""},{path:".cursor/rules/phoenix.mdc",generatedPrefix:`---
2
2
  description: Phoenix SDK project rules
3
3
  globs:
4
4
  alwaysApply: true
5
5
  ---
6
- `}],A=[".claude/commands/review.md",".cursor/commands/review.md"],S=(e,t)=>e.projectFiles.find(e=>e.file.name===t)?.file.content;export const generateProjectScaffolding=C=>{let D,{applicationSpec:L,categorizedFiles:R,sdkVersion:$,cliUseWorkspace:y,name:K,description:G}=C,I=S(R,"package.json"),N=S(R,".gitignore"),T=void 0!==y?y:L.appMetadata.workspace,U=(t=>{let n=[],r=[...A];for(let{path:o,generatedPrefix:i}of w){let a=S(t,o);if(void 0===a)continue;let s=P(a,i);void 0===s?r.push(o):s!==a&&n.push(e(o,s,{format:!1}))}return{strippedFiles:n,removedFiles:r}})(R);return{generatedProjectFiles:[e("package.json",l({sdkVersion:$,useWorkspace:T,useClerk:L.appMetadata.useClerk??!1,name:K,description:G,existingContent:I})),e(".nvmrc",c(),{format:!1}),e(".linguirc",v(L.configurator.ui.availableLocales),{format:!1}),e("tsconfig.json",x()),e("eslint.config.js",i()),e(".gitignore",s(N)),...(D=[{name:"phoenix",content:M({checkLatestCanary:t({useWorkspace:T,sdkVersion:$})}),references:[]},{name:"phoenix-cli",content:j(),references:[]},{name:"phoenix-create-configurator",content:k(),references:b()},{name:"phoenix-feedback",content:E(),references:[]},{name:"phoenix-review",content:F(),references:[]}],agentSkillRoots.flatMap(t=>D.flatMap(n=>[e(`${t}/${n.name}/SKILL.md`,n.content),...n.references.map(r=>e(`${t}/${n.name}/${r.path}`,r.content))]))),...U.strippedFiles],initialProjectFiles:[e("README.md",g(K)),e("AGENTS.md",n()),e(".env.ci",r()),e(".env.example",o()),e("public/favicon.ico",a(),{binary:!0}),e("public/robots.txt",u(),{format:!1}),e("assets/public/README.md",d()),e("assets/private/README.md",f()),e("src/webhooks/index.ts",h())],prettierFiles:[e("prettier.config.js",p()),e(".prettierignore",m(),{format:!1})],removedProjectFiles:U.removedFiles}};
6
+ `}],S=[".claude/commands/review.md",".cursor/commands/review.md"],C=(e,t)=>e.projectFiles.find(e=>e.file.name===t)?.file.content;export const generateProjectScaffolding=D=>{let L,{applicationSpec:R,categorizedFiles:$,sdkVersion:y,cliUseWorkspace:K,name:G,description:I}=D,N=C($,"package.json"),T=C($,".gitignore"),U=void 0!==K?K:R.appMetadata.workspace,q=(t=>{let n=[],r=[...S];for(let{path:o,generatedPrefix:i}of A){let a=C(t,o);if(void 0===a)continue;let s=w(a,i);void 0===s?r.push(o):s!==a&&n.push(e(o,s,{format:!1}))}return{strippedFiles:n,removedFiles:r}})($);return{generatedProjectFiles:[e("package.json",l({sdkVersion:y,useWorkspace:U,useClerk:R.appMetadata.useClerk??!1,name:G,description:I,existingContent:N})),e(".nvmrc",c(),{format:!1}),e(".linguirc",v(R.configurator.ui.availableLocales),{format:!1}),e("tsconfig.json",x()),e("eslint.config.js",i()),e(".gitignore",s(T)),...(L=[{name:"phoenix",content:M({checkLatestCanary:t({useWorkspace:U,sdkVersion:y})}),references:[]},{name:"phoenix-cli",content:j(),references:[]},{name:"phoenix-create-configurator",content:k(),references:b()},{name:"phoenix-feedback",content:E(),references:[]},{name:"phoenix-review",content:F(),references:[]},{name:"phoenix-variants",content:P(),references:[]}],agentSkillRoots.flatMap(t=>L.flatMap(n=>[e(`${t}/${n.name}/SKILL.md`,n.content),...n.references.map(r=>e(`${t}/${n.name}/${r.path}`,r.content))]))),...q.strippedFiles],initialProjectFiles:[e("README.md",g(G)),e("AGENTS.md",n()),e(".env.ci",r()),e(".env.example",o()),e("public/favicon.ico",a(),{binary:!0}),e("public/robots.txt",u(),{format:!1}),e("assets/public/README.md",d()),e("assets/private/README.md",f()),e("src/webhooks/index.ts",h())],prettierFiles:[e("prettier.config.js",p()),e(".prettierignore",m(),{format:!1})],removedProjectFiles:q.removedFiles}};
@@ -1,8 +1,7 @@
1
- import { type ApplicationTypeImportRegistrar } from '../common/index.js';
2
1
  interface GenerateAdminCodeOptions {
3
2
  readonly adminExpressionFiles: readonly string[];
4
3
  readonly adminInvariantFiles: readonly string[];
5
4
  readonly adminComponentFiles: readonly string[];
6
5
  }
7
- export declare const generateApplicationSpecAdminCode: (options: GenerateAdminCodeOptions, registerApplicationTypeImports?: ApplicationTypeImportRegistrar) => string;
6
+ export declare const generateApplicationSpecAdminCode: (options: GenerateAdminCodeOptions) => string;
8
7
  export {};
@@ -1,17 +1,9 @@
1
- import{autoHeader as n}from"../common/file-headers.js";import{CodeImports as t,skipApplicationTypeImports as e}from"../common/index.js";let s=(n,t)=>n.map((n,e)=>{let s=`../${n.replace(/\.tsx?$/,".js")}`;return`import ${t}${e} from '${s}'`}),i=(n,t="\n")=>n.length>0?"\n"+n.join(t)+"\n":"";export const generateApplicationSpecAdminCode=(o,a=e)=>{let{adminExpressionFiles:r,adminInvariantFiles:m,adminComponentFiles:d}=o,p=new t;for(let n of["AliasedExpressions","AliasedInvariants","DomainComponentOptic","SystemComponentTypeConstraint"])p.addTypeImport("@salsita-ai/sdk/domain",n);a(p,["Admin","FrontendData","PublishedData","SessionData"]);let c=[...s(r,"adminExpressions"),...s(m,"adminInvariants"),...s(d,"adminComponents")],A=r.map((n,t)=>`for (const [type, exprs] of Object.entries(adminExpressions${t})) {
2
- mergedExpressions[type] = { ...mergedExpressions[type], ...exprs }
3
- }`),y=m.map((n,t)=>`for (const [type, invs] of Object.entries(adminInvariants${t})) {
4
- mergedInvariants[type] = [...(mergedInvariants[type] ?? []), ...invs]
5
- }`),l=d.map((n,t)=>`adminComponents${t}`);return`${n("admin-domain-code.ts","Barrel file for user-authored admin domain code — expressions, invariants and components.")}
6
- ${p.toString()}
7
- ${i(c)}
8
- const mergedExpressions: Record<string, Record<string, unknown>> = {}
9
- ${i(A,"\n\n")}
10
- export const customAdminExpressions = mergedExpressions as AliasedExpressions<Admin.AnyDomainEntity, Admin.RootEntity, PublishedData, SessionData, FrontendData, Admin.Aliases>
1
+ import{autoHeader as n}from"../common/file-headers.js";import{CodeImports as o,generateProjectModuleImports as e,generateProjectModuleList as t}from"../common/index.js";export const generateApplicationSpecAdminCode=i=>{let{adminExpressionFiles:s,adminInvariantFiles:r,adminComponentFiles:a}=i,d=new o;d.addTypeImport("@salsita-ai/sdk/domain","ProjectModule");let m=[...e(s,"adminExpressions"),...e(r,"adminInvariants"),...e(a,"adminComponents")];return`${n("admin-domain-code.ts","Barrel file for user-authored admin domain code — expressions, invariants and components.")}
2
+ ${d.toString()}
3
+ ${m.length>0?"\n"+m.join("\n")+"\n":""}
4
+ export const customAdminExpressions: readonly ProjectModule[] = ${t(s,"adminExpressions")}
11
5
 
12
- const mergedInvariants: Record<string, ReadonlyArray<unknown>> = {}
13
- ${i(y,"\n\n")}
14
- export const customAdminInvariants = mergedInvariants as AliasedInvariants<Admin.AnyDomainEntity, Admin.RootEntity, PublishedData, SessionData, FrontendData, Admin.Aliases, string>
6
+ export const customAdminInvariants: readonly ProjectModule[] = ${t(r,"adminInvariants")}
15
7
 
16
- export const customAdminComponentOptics: ReadonlyArray<DomainComponentOptic<Admin.AnyDomainEntity, Admin.RootEntity, PublishedData, SessionData, FrontendData, Admin.AnyDomainEntity, SystemComponentTypeConstraint>> = [${l.join(", ")}].flat()
8
+ export const customAdminComponentOptics: readonly ProjectModule[] = ${t(a,"adminComponents")}
17
9
  `};
@@ -1,7 +1,6 @@
1
- import { type ApplicationTypeImportRegistrar } from '../common/index.js';
2
1
  interface GenerateAdminFrontendCodeOptions {
3
2
  readonly adminElementFiles: readonly string[];
4
3
  readonly adminComponentFiles: readonly string[];
5
4
  }
6
- export declare const generateApplicationSpecAdminFrontendCode: (options: GenerateAdminFrontendCodeOptions, registerApplicationTypeImports?: ApplicationTypeImportRegistrar) => string;
5
+ export declare const generateApplicationSpecAdminFrontendCode: (options: GenerateAdminFrontendCodeOptions) => string;
7
6
  export {};
@@ -1,9 +1,9 @@
1
- import{autoHeader as n}from"../common/file-headers.js";import{CodeImports as t,skipApplicationTypeImports as e}from"../common/index.js";let o=(n,t)=>n.map((n,e)=>{let o=`../${n.replace(/\.tsx?$/,".js")}`;return`import ${t}${e} from '${o}'`});export const generateApplicationSpecAdminFrontendCode=(m,i=e)=>{let{adminElementFiles:a,adminComponentFiles:r}=m,d=new t;for(let n of["DomainComponentOptic","ElementRegistration","SystemComponentTypeConstraint"])d.addTypeImport("@salsita-ai/sdk/domain",n);i(d,["Admin","FrontendData","PublishedData","SessionData"]);let s=[...o(a,"adminElements"),...o(r,"frontendAdminComponents")],p=a.map((n,t)=>`adminElements${t}`),l=r.map((n,t)=>`frontendAdminComponents${t}`);return`${n("admin-frontend-code.ts","Barrel file for user-authored admin frontend code — elements and frontend-only components. Needs phx.frontend.admin.")}
2
- ${d.toString()}
1
+ import{autoHeader as n}from"../common/file-headers.js";import{CodeImports as e,generateProjectModuleImports as o,generateProjectModuleList as t}from"../common/index.js";export const generateApplicationSpecAdminFrontendCode=d=>{let{adminElementFiles:m,adminComponentFiles:r}=d,i=new e;i.addTypeImport("@salsita-ai/sdk/domain","ProjectModule");let s=[...o(m,"adminElements"),...o(r,"frontendAdminComponents")];return`${n("admin-frontend-code.ts","Barrel file for user-authored admin frontend code — elements and frontend-only components. Needs phx.frontend.admin.")}
2
+ ${i.toString()}
3
3
 
4
4
  import './admin-globals.js'
5
5
  ${s.length>0?"\n"+s.join("\n")+"\n":""}
6
- export const customAdminElements: readonly ElementRegistration[] = [${p.join(", ")}].flat()
6
+ export const customAdminElements: readonly ProjectModule[] = ${t(m,"adminElements")}
7
7
 
8
- export const customFrontendAdminComponentOptics: ReadonlyArray<DomainComponentOptic<Admin.AnyDomainEntity, Admin.RootEntity, PublishedData, SessionData, FrontendData, Admin.AnyDomainEntity, SystemComponentTypeConstraint>> = [${l.join(", ")}].flat()
8
+ export const customFrontendAdminComponentOptics: readonly ProjectModule[] = ${t(r,"frontendAdminComponents")}
9
9
  `};
@@ -1,9 +1,8 @@
1
- import { type ApplicationTypeImportRegistrar } from '../common/index.js';
2
1
  interface GenerateConfiguratorCodeOptions {
3
2
  readonly expressionFiles: readonly string[];
4
3
  readonly actionFiles: readonly string[];
5
4
  readonly invariantFiles: readonly string[];
6
5
  readonly componentFiles: readonly string[];
7
6
  }
8
- export declare const generateApplicationSpecConfiguratorCode: (options: GenerateConfiguratorCodeOptions, registerApplicationTypeImports?: ApplicationTypeImportRegistrar) => string;
7
+ export declare const generateApplicationSpecConfiguratorCode: (options: GenerateConfiguratorCodeOptions) => string;
9
8
  export {};
@@ -1,20 +1,11 @@
1
- import{autoHeader as t}from"../common/file-headers.js";import{CodeImports as n,skipApplicationTypeImports as e}from"../common/index.js";let o=(t,n)=>t.map((t,e)=>{let o=`../${t.replace(/\.tsx?$/,".js")}`;return`import ${n}${e} from '${o}'`}),a=(t,n="\n")=>t.length>0?"\n"+t.join(n)+"\n":"";export const generateApplicationSpecConfiguratorCode=(i,s=e)=>{let{expressionFiles:r,actionFiles:p,invariantFiles:m,componentFiles:d}=i,c=new n;for(let t of["ActionImplementations","AliasedExpressions","AliasedInvariants","DomainComponentOptic","SystemComponentTypeConstraint"])c.addTypeImport("@salsita-ai/sdk/domain",t);s(c,["$Map","ActionTypes","Aliases","AnyDomainEntity","ExportState","FrontendData","NavigationState","PublishedData","RootEntity","SessionData","ToolState","ViewState"]);let l=[...o(r,"expressions"),...o(p,"actions"),...o(m,"invariants"),...o(d,"components")],y=p.map((t,n)=>`...actions${n}`),D=r.map((t,n)=>`for (const [type, exprs] of Object.entries(expressions${n})) {
2
- mergedExpressions[type] = { ...mergedExpressions[type], ...exprs }
3
- }`),x=m.map((t,n)=>`for (const [type, invs] of Object.entries(invariants${n})) {
4
- mergedInvariants[type] = [...(mergedInvariants[type] ?? []), ...invs]
5
- }`),A=d.map((t,n)=>`components${n}`);return`${t("configurator-domain-code.ts","Barrel file for user-authored domain code — expressions, actions, invariants and components. Needs only phx.domain.")}
6
- ${c.toString()}
7
- ${a(l)}
8
- const mergedExpressions: Record<string, Record<string, unknown>> = {}
9
- ${a(D,"\n\n")}
10
- export const customExpressions = mergedExpressions as AliasedExpressions<AnyDomainEntity, RootEntity, PublishedData, SessionData, FrontendData, Aliases>
1
+ import{autoHeader as o}from"../common/file-headers.js";import{CodeImports as n,generateProjectModuleImports as e,generateProjectModuleList as t}from"../common/index.js";export const generateApplicationSpecConfiguratorCode=s=>{let{expressionFiles:r,actionFiles:i,invariantFiles:a,componentFiles:c}=s,d=new n;d.addTypeImport("@salsita-ai/sdk/domain","ProjectModule");let p=[...e(r,"expressions"),...e(i,"actions"),...e(a,"invariants"),...e(c,"components")];return`${o("configurator-domain-code.ts","Barrel file for user-authored domain code — expressions, actions, invariants and components. Needs only phx.domain.")}
2
+ ${d.toString()}
3
+ ${p.length>0?"\n"+p.join("\n")+"\n":""}
4
+ export const customExpressions: readonly ProjectModule[] = ${t(r,"expressions")}
11
5
 
12
- // A declared action without an implementation fails here; an implementation of an undeclared action fails in its own file.
13
- export const customActions: ActionImplementations<AnyDomainEntity, RootEntity, $Map, PublishedData, SessionData, FrontendData, NavigationState, ViewState, ToolState, ExportState, ActionTypes> = { ${y.join(", ")} }
6
+ export const customActions: readonly ProjectModule[] = ${t(i,"actions")}
14
7
 
15
- const mergedInvariants: Record<string, ReadonlyArray<unknown>> = {}
16
- ${a(x,"\n\n")}
17
- export const customInvariants = mergedInvariants as AliasedInvariants<AnyDomainEntity, RootEntity, PublishedData, SessionData, FrontendData, Aliases, string>
8
+ export const customInvariants: readonly ProjectModule[] = ${t(a,"invariants")}
18
9
 
19
- export const customComponentOptics: ReadonlyArray<DomainComponentOptic<AnyDomainEntity, RootEntity, PublishedData, SessionData, FrontendData, AnyDomainEntity, SystemComponentTypeConstraint>> = [${A.join(", ")}].flat()
10
+ export const customComponentOptics: readonly ProjectModule[] = ${t(c,"components")}
20
11
  `};
@@ -1,9 +1,8 @@
1
- import { type ApplicationTypeImportRegistrar } from '../common/index.js';
2
1
  interface GenerateConfiguratorFrontendCodeOptions {
3
2
  readonly transformerFiles: readonly string[];
4
3
  readonly handlerFiles: readonly string[];
5
4
  readonly elementFiles: readonly string[];
6
5
  readonly componentFiles: readonly string[];
7
6
  }
8
- export declare const generateApplicationSpecConfiguratorFrontendCode: (options: GenerateConfiguratorFrontendCodeOptions, registerApplicationTypeImports?: ApplicationTypeImportRegistrar) => string;
7
+ export declare const generateApplicationSpecConfiguratorFrontendCode: (options: GenerateConfiguratorFrontendCodeOptions) => string;
9
8
  export {};
@@ -1,15 +1,13 @@
1
- import{autoHeader as t}from"../common/file-headers.js";import{CodeImports as n,skipApplicationTypeImports as o}from"../common/index.js";let e=(t,n)=>t.map((t,o)=>{let e=`../${t.replace(/\.tsx?$/,".js")}`;return`import ${n}${o} from '${e}'`});export const generateApplicationSpecConfiguratorFrontendCode=(r,a=o)=>{let{transformerFiles:s,handlerFiles:i,elementFiles:m,componentFiles:p}=r,l=new n;for(let t of["DomainComponentOptic","ElementRegistration","HandlerRegistration","ImportedTransformer","SystemComponentTypeConstraint"])l.addTypeImport("@salsita-ai/sdk/domain",t);a(l,["$Map","AnyDomainEntity","ExportState","FrontendData","NavigationState","PublishedData","RootEntity","SessionData","ToolState","ViewState"]);let d=[...e(s,"transformers"),...e(i,"handlers"),...e(m,"elements"),...e(p,"frontendComponents")],f=s.map((t,n)=>{let o=t.replace(/^.*\//,"").replace(/\.tsx?$/,"");return` { name: '${o}', transformer: transformers${n} }`}),y=i.map((t,n)=>`handlers${n}`),c=m.map((t,n)=>`elements${n}`),$=p.map((t,n)=>`frontendComponents${n}`);return`${t("configurator-frontend-code.ts","Barrel file for user-authored frontend code — transformers, handlers, elements and frontend-only components. Needs phx.frontend.")}
2
- ${l.toString()}
1
+ import{autoHeader as o}from"../common/file-headers.js";import{CodeImports as e,generateProjectModuleImports as n,generateProjectModuleList as r}from"../common/index.js";export const generateApplicationSpecConfiguratorFrontendCode=t=>{let{transformerFiles:s,handlerFiles:d,elementFiles:l,componentFiles:a}=t,m=new e;m.addTypeImport("@salsita-ai/sdk/domain","ProjectModule");let c=[...n(s,"transformers"),...n(d,"handlers"),...n(l,"elements"),...n(a,"frontendComponents")];return`${o("configurator-frontend-code.ts","Barrel file for user-authored frontend code — transformers, handlers, elements and frontend-only components. Needs phx.frontend.")}
2
+ ${m.toString()}
3
3
 
4
4
  import './configurator-globals.js'
5
- ${d.length>0?"\n"+d.join("\n")+"\n":""}
6
- export const customTransformers: ReadonlyArray<ImportedTransformer<AnyDomainEntity, RootEntity, $Map, NavigationState, ViewState, ToolState, ExportState>> = [
7
- ${f.join(",\n")}
8
- ]
5
+ ${c.length>0?"\n"+c.join("\n")+"\n":""}
6
+ export const customTransformers: readonly ProjectModule[] = ${r(s,"transformers")}
9
7
 
10
- export const customHandlers: ReadonlyArray<HandlerRegistration<any, any>> = [${y.join(", ")}].flat()
8
+ export const customHandlers: readonly ProjectModule[] = ${r(d,"handlers")}
11
9
 
12
- export const customElements: readonly ElementRegistration[] = [${c.join(", ")}].flat()
10
+ export const customElements: readonly ProjectModule[] = ${r(l,"elements")}
13
11
 
14
- export const customFrontendComponentOptics: ReadonlyArray<DomainComponentOptic<AnyDomainEntity, RootEntity, PublishedData, SessionData, FrontendData, AnyDomainEntity, SystemComponentTypeConstraint>> = [${$.join(", ")}].flat()
12
+ export const customFrontendComponentOptics: readonly ProjectModule[] = ${r(a,"frontendComponents")}
15
13
  `};
@@ -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,7 +1,7 @@
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 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: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,"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,"RuntimeExpressionContext"),R.addTypeImport(r,"SchemaOfObject"),c&&(R.addImport(r,"createActionFactory"),R.addTypeImport(r,"ActionDefinition"),R.addTypeImport(r,"DomainContextSystems"));let{entityTypes:x,entitySchemas:v}=$.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`{
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")}
3
+ }`},k=v.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],T=H.map(([e])=>String(e)),V=I.versionedModels.filter(e=>!e.isLatest).map(e=>`${u}${e.version}`);g(R,[...y?["Admin",...V]:[...x.map(String),...j,...T,...x.map(e=>`$${String(e)}`),...j.map(e=>`$${e}`),"Aliases","$Map",...V,...c?["ActionTypes","NavigationState","ViewState","ToolState","ExportState"]:[]],"PublishedData","SessionData","FrontendData",...y?[]:["BackendData"]]);let O=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=T.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`),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=x.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=[...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
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}: (() => {
6
6
  ${t}
7
7
  return {
@@ -9,34 +9,34 @@ ${a}
9
9
  } as const
10
10
  })(),`),ee.push(` readonly ${e.version}: {
11
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?`
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=`RuntimeExpressionContext<${w}AnyDomainEntity>`,eu=`<${ep}, ${ed}>`,ey=`DomainContextSystems<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, NavigationState, ViewState, ToolState, ExportState>`,eh=i(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 = ${a($.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})),ev=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}>()`:"",eA=`
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}>`),...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"),eC=`{
25
+ ${ej}
26
+ }`,eI=[...x.map(e=>` readonly $${String(e)}: ${b("$DomainEntityReflection",String(e))}`),...j.map(e=>` readonly $${e}: ${b("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}
33
+ ${eg}
34
34
 
35
35
  ${k.join("\n")}
36
36
 
37
37
  ${F.join("\n")}
38
38
 
39
- ${T.join("\n")}
39
+ ${O.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
+ ${ev}${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
77
 
78
- ${ed}
78
+ ${eh}
79
79
  const invariantBuilder = new InvariantBuilder${ec}(aliases)${y?"\n .withInvariants(implementCustomInvariants(commonAdminViolationExpressions))":""}
80
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
+ ${eA}
85
85
 
86
86
  return {
87
87
  domainBuilder: DomainBuilder.from${ec}(
@@ -113,21 +113,21 @@ ${eg}
113
113
  })()
114
114
 
115
115
  const {
116
- ${eu("domainBuilder",en)},
117
- ${eu("attachComponent",et)},
118
- ${eu("implementCustomExpressions",ei)},
119
- ${eu("implementCustomInvariants",ea)},
120
- ${eu("invariantBuilder",eo)},${y?`
116
+ ${ef("domainBuilder",en)},
117
+ ${ef("attachComponent",et)},
118
+ ${ef("implementCustomExpressions",ei)},
119
+ ${ef("implementCustomInvariants",ea)},
120
+ ${ef("invariantBuilder",eo)},${y?`
121
121
  createMapPublishedRevisionDataHandler,
122
122
  createMapPublishedChunkedDataHandler,`:`
123
123
  implementActions,`}
124
- ${eu("relationExpressions",f)},
125
- ${eu("valueExpressions",E)},
126
- ${eu("componentOptics",D)},
127
- ${eu("createRecipe",S)},
124
+ ${ef("relationExpressions",f)},
125
+ ${ef("valueExpressions",D)},
126
+ ${ef("componentOptics",E)},
127
+ ${ef("createRecipe",S)},
128
128
  } = ${el}
129
129
 
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"} }`};
130
+ const ${es}: ${eC} = ${el}.model
131
+ const ${er}: ${eM} = ${el}.enhancedModel
132
+ const ${h}: ${ew} = ${el}.modelVersions
133
+ export { ${en}, ${et}, ${ei}, ${ea}, ${eo}, ${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,4 +1,4 @@
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.")}
1
+ import{CodeImports as i}from"../common/code-imports.js";import{autoHeader as o}from"../common/file-headers.js";let n=/v(\d+)\.ts$/,t=(i,o)=>i.versionedModels.filter(i=>void 0!==i.migrationFile).map(i=>({version:i.version,file:i.migrationFile,importName:o?`${o}MigrateToV${i.version}`:`migrateToV${i.version}`})),s=i=>i.map(i=>{let o=i.file.replace(n,`v${i.version}.js`),t=`migrateToV${i.version}`,s=i.importName!==t?` as ${i.importName}`:"";return`import { ${t}${s} } from '../${o}'`}).join("\n"),e=(i,o,n,t)=>[`const ${t}Migrations = {`,...i.map(i=>` ${i.version}: ${i.importName},`),"}","",`const ${t} = MigrateFunctionBuilder`,` .fromVersions(${o})`,` .to(${n})`,` .using(${t}Migrations)`," .build()"].join("\n");export const generateApplicationSpecDomainFile=n=>{let r=new i,a="./domain-spec.js",m="./configurator-domain-code.js",d="./admin-domain-code.js",p=i=>[...i.expressions.values()].some(i=>[...i.values()].some(i=>"relation"===i.implementation.kind)),l=p(n.configurator.expressions),c=p(n.admin.expressions),u=t(n.configurator.resolvedVersions,""),g=t(n.admin.resolvedVersions,"admin"),h=u.length>0,I=g.length>0;r.addImport(a,"baseConfiguratorBuilder"),r.addImport(a,"domainBuilder"),r.addImport(a,"adminDomainBuilder"),r.addImport(a,"attachComponent"),r.addImport(a,"attachAdminComponent"),r.addImport(a,"implementCustomExpressions"),r.addImport(a,"implementAdminCustomExpressions"),r.addImport(a,"createI18n"),r.addImport(a,"componentOptics"),r.addImport(a,"adminComponentOptics"),r.addImport(a,"invariantBuilder"),r.addImport(a,"adminInvariantBuilder"),r.addImport(m,"customExpressions"),r.addImport(m,"customInvariants"),r.addImport(m,"customActions"),r.addImport(d,"customAdminExpressions"),r.addImport(d,"customAdminInvariants"),l&&r.addImport(a,"relationExpressions"),c&&r.addImport(a,"adminRelationExpressions"),(h||I)&&r.addImport("@salsita-ai/sdk/domain","MigrateFunctionBuilder"),h&&r.addImport(a,"modelVersions"),I&&r.addImport(a,"adminModelVersions");let x=[];h&&x.push(s(u)),I&&x.push(s(g));let v=x.length>0?"\n"+x.join("\n")+"\n":"",$=[];h&&$.push(e(u,"modelVersions",n.configurator.schemaVersion,"migrate")),I&&$.push(e(g,"adminModelVersions",n.admin.schemaVersion,"migrateAdmin"));let E=$.length>0?"\n"+$.join("\n\n")+"\n":"",f=["const domainFactory = domainBuilder",l?" .withExpressions(relationExpressions)":null," .withExpressions(invariantBuilder.withInvariantModules(customInvariants).buildViolationExpressions())"," .withExpressionModules(customExpressions)"," .withActionModules(customActions)",h?" .withMigrate(migrate)":null," .build()"].filter(Boolean).join("\n"),A=["const adminDomainFactory = adminDomainBuilder",c?" .withExpressions(adminRelationExpressions)":null," .withExpressions(adminInvariantBuilder.withInvariantModules(customAdminInvariants).buildViolationExpressions())"," .withExpressionModules(customAdminExpressions)",I?" .withMigrate(migrateAdmin)":null," .build()"].filter(Boolean).join("\n");return`${o("domain.ts","Assembles domain and admin domain factories from builders, migrations, expressions and invariants.")}
2
2
  ${r.toString()}
3
3
  ${v}export { attachComponent, attachAdminComponent, implementCustomExpressions, implementAdminCustomExpressions, createI18n }
4
4
  ${E}
@@ -8,6 +8,6 @@ ${A}
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
  `};
@@ -39,6 +39,10 @@ export const generateApplicationSpecEnvExample=()=>`# This file documents develo
39
39
  # FORCE_REBUILD=false
40
40
  # USE_APPLICATION_SPEC=true
41
41
  # IS_DEV=true
42
+ # A development environment keeps the assistant thread when the assistant setup
43
+ # (manifest, instructions, AI settings) changes. Set to true to lock the thread
44
+ # on a setup change, as every other environment does.
45
+ # ASSISTANT_STRICT_THREADS=false
42
46
  #
43
47
  # Persistence mode controls how configurator state is stored.
44
48
  # Options: 'server' (default), 'local-storage', 'memory'
@@ -47,6 +47,7 @@ export { generatePhoenixCreateConfiguratorSkill, generatePhoenixCreateConfigurat
47
47
  export { generatePhoenixFeedbackSkill } from './skills/phoenix-feedback-skill.js';
48
48
  export { generatePhoenixReviewSkill } from './skills/phoenix-review-skill.js';
49
49
  export { type PhoenixSkillOptions, followsCanaryBuilds, generatePhoenixSkill } from './skills/phoenix-skill.js';
50
+ export { generatePhoenixVariantsSkill } from './skills/phoenix-variants-skill.js';
50
51
  export { generateApplicationSpecPrettierConfig } from './prettier-config.js';
51
52
  export { generateApplicationSpecPrettierIgnore } from './prettier-ignore.js';
52
53
  export { generateApplicationSpecPrivateAssetsReadme } from './private-assets-readme.js';