@salsita-ai/sdk 0.49.0 → 0.50.0-develop.016963b09e

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 (1127) 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/errors/diagnostic-codes.d.ts +10 -0
  4. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  5. package/dist/application-spec/errors/diagnostic-messages.d.ts +10 -0
  6. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  7. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  8. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  9. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  10. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  11. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  12. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +8 -1
  13. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  14. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  15. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  16. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  17. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  18. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  19. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +2 -2
  20. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -13
  21. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  22. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  23. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  24. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  25. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  26. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.d.ts +3 -1
  27. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +71 -68
  28. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  29. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  30. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  31. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  32. package/dist/application-spec/generate-application/code/templates/domain-spec.js +7 -7
  33. package/dist/application-spec/generate-application/code/templates/domain.js +4 -4
  34. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.d.ts +11 -0
  35. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +8 -0
  36. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  37. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  38. package/dist/application-spec/generate-application/code/templates/globals.js +1 -0
  39. package/dist/application-spec/generate-application/code/templates/index.d.ts +6 -12
  40. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  41. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  42. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -0
  43. package/dist/application-spec/generate-application/code/templates/{phoenix-create-configurator-skill.d.ts → skills/phoenix-create-configurator-skill.d.ts} +1 -1
  44. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +166 -0
  45. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +54 -0
  46. package/dist/application-spec/generate-application/code/templates/{phoenix-review-skill.js → skills/phoenix-review-skill.js} +7 -5
  47. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -0
  48. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  49. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  50. package/dist/application-spec/generate-application/code/templates/{common → skills}/sdk-content.d.ts +60 -12
  51. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +79 -0
  52. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  53. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  54. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +1 -3
  55. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +3 -3
  56. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  57. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +14 -0
  58. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.js +1 -0
  59. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  60. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  61. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  62. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  63. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +1 -0
  64. package/dist/application-spec/generate-application/runtime/sections/index.js +1 -1
  65. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  66. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +3 -1
  67. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  68. package/dist/application-spec/parse-application-files/merge/index.d.ts +1 -0
  69. package/dist/application-spec/parse-application-files/merge/index.js +1 -1
  70. package/dist/application-spec/parse-application-files/merge/merged-actions.d.ts +11 -0
  71. package/dist/application-spec/parse-application-files/merge/merged-actions.js +1 -0
  72. package/dist/application-spec/parse-application-files/merge/merged-spec.d.ts +2 -0
  73. package/dist/application-spec/parse-application-files/merge/merged-spec.js +1 -1
  74. package/dist/application-spec/parse-application-files/raw-spec/index.d.ts +1 -0
  75. package/dist/application-spec/parse-application-files/raw-spec/index.js +1 -1
  76. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.d.ts +18 -0
  77. package/dist/application-spec/parse-application-files/raw-spec/raw-actions.js +1 -0
  78. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +14 -2
  79. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  80. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.d.ts +2 -0
  81. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  82. package/dist/application-spec/parse-application-files/resolve/resolve-import-modules.js +1 -1
  83. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  84. package/dist/application-spec/parse-application-files/spec/application/application-spec.js +1 -1
  85. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.d.ts +4 -2
  86. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  87. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  88. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  89. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.d.ts +23 -0
  90. package/dist/application-spec/parse-application-files/spec/common/schema-ref-resolver.js +1 -0
  91. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  92. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  93. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +10 -0
  94. package/dist/application-spec/parse-application-files/spec/model/names/action-name.js +1 -0
  95. package/dist/application-spec/parse-application-files/spec/model/names/index.d.ts +1 -0
  96. package/dist/application-spec/parse-application-files/spec/model/names/index.js +1 -1
  97. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  98. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  99. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  100. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  101. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  102. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  103. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +35 -0
  104. package/dist/application-spec/parse-application-files/spec/sections/actions.js +1 -0
  105. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +5 -21
  106. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  107. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +14 -39
  108. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  109. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  110. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -19
  111. package/dist/application-spec/parse-application-files/spec/sections/index.d.ts +1 -0
  112. package/dist/application-spec/parse-application-files/spec/sections/index.js +1 -1
  113. package/dist/client/authorized-client.d.ts +3 -1
  114. package/dist/client/authorized-client.js +1 -1
  115. package/dist/client/contract.d.ts +34 -0
  116. package/dist/client/contract.js +1 -1
  117. package/dist/client/index.d.ts +2 -2
  118. package/dist/client/index.js +1 -1
  119. package/dist/client/local-authorized-client.d.ts +3 -1
  120. package/dist/client/local-authorized-client.js +1 -1
  121. package/dist/client/memory-authorized-client.d.ts +3 -1
  122. package/dist/client/memory-authorized-client.js +1 -1
  123. package/dist/client/phoenix-api.d.ts +276 -31
  124. package/dist/configurator/application-runtime/extensions/configurator-extension-systems.d.ts +2 -1
  125. package/dist/configurator/application-runtime/extensions/configurator-extension-systems.js +1 -1
  126. package/dist/configurator/application-runtime/extensions/selectors.d.ts +2 -1
  127. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  128. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +267 -0
  129. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -0
  130. package/dist/configurator/{assistant → application-runtime/extensions/systems/assistant-system}/browser-details.d.ts +1 -1
  131. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +1 -0
  132. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  133. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  134. package/dist/configurator/{assistant → application-runtime/extensions/systems/assistant-system}/graphql-tools.d.ts +20 -16
  135. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -0
  136. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  137. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  138. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +16 -1
  139. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  140. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  141. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  142. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -0
  143. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  144. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -0
  145. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  146. package/dist/configurator/common/frontend-analytics.d.ts +21 -21
  147. package/dist/configurator/index.d.ts +0 -1
  148. package/dist/configurator/index.js +1 -1
  149. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  150. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  151. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  152. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  153. package/dist/configurator/ui/assistant/AssistantChips.d.ts +11 -0
  154. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  155. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  156. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  157. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  158. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  159. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  160. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  161. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  162. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  163. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  164. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  165. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  166. package/dist/configurator/ui/assistant/index.js +1 -0
  167. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  168. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  169. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  170. package/dist/configurator/ui/assistant/theme.js +1 -0
  171. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  172. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  173. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  174. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  175. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  176. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  177. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  178. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  179. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +9 -9
  180. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  181. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  182. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +3 -3
  183. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  184. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  185. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  186. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  187. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  188. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  189. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  190. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  191. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  192. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  193. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +100 -117
  194. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  195. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  196. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  197. package/dist/docs/index.json +12 -2
  198. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  199. package/dist/docs/layouts/custom-price.mdx +14 -16
  200. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  201. package/dist/docs/layouts/toolbar.mdx +6 -0
  202. package/dist/docs/other-features/domain-actions.mdx +418 -0
  203. package/dist/docs/other-features/side-effects.mdx +76 -45
  204. package/dist/docs/other-features/transformers.mdx +1 -1
  205. package/dist/docs/other-features/violation-messages.mdx +52 -56
  206. package/dist/docs/phoenix/admin.mdx +11 -26
  207. package/dist/docs/phoenix/best-practices.mdx +1 -0
  208. package/dist/docs/phoenix/configurator-interface.mdx +100 -65
  209. package/dist/docs/phoenix/deployments.mdx +1 -1
  210. package/dist/docs/phoenix/domain-model.mdx +4 -0
  211. package/dist/docs/phoenix/expression-context.mdx +11 -3
  212. package/dist/docs/phoenix/finalization.mdx +1 -1
  213. package/dist/docs/phoenix/getting-started.mdx +1 -1
  214. package/dist/docs/phoenix/integration/headless-mode-external.mdx +5 -5
  215. package/dist/docs/phoenix/integration/widget-mode-external.mdx +5 -5
  216. package/dist/docs/phoenix/localization.mdx +3 -22
  217. package/dist/docs/phoenix/migrations.mdx +45 -5
  218. package/dist/docs/phoenix/phoenix-cli.mdx +181 -66
  219. package/dist/docs/phoenix/project-structure.mdx +28 -12
  220. package/dist/docs/phoenix/quickstart.mdx +2 -2
  221. package/dist/docs/phoenix/sdk-builder-workflow.mdx +20 -16
  222. package/dist/docs/phoenix/state-management.mdx +1 -1
  223. package/dist/docs/phoenix/webhooks.mdx +1 -1
  224. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  225. package/dist/docs/relations/hierarchy.mdx +13 -2
  226. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  227. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  228. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  229. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  230. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  231. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  232. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  233. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  234. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  235. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -14
  236. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  237. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  238. package/dist/domain/admin-domain/index.d.ts +9 -5
  239. package/dist/domain/admin-domain/index.js +1 -1
  240. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  241. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  242. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  243. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  244. package/dist/domain/application/application-config.d.ts +28 -95
  245. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  246. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  247. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  248. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  249. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  250. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  251. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  252. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  253. package/dist/domain/application/assistant/index.d.ts +4 -0
  254. package/dist/domain/application/assistant/index.js +1 -0
  255. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  256. package/dist/domain/application/assistant-mutations.d.ts +16 -17
  257. package/dist/domain/application/assistant-mutations.js +1 -1
  258. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -7
  259. package/dist/domain/application/configurator-builder.d.ts +33 -18
  260. package/dist/domain/application/configurator-builder.js +1 -1
  261. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  262. package/dist/domain/application/index.d.ts +3 -5
  263. package/dist/domain/application/index.js +1 -1
  264. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  265. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  266. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  267. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  268. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  269. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  270. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  271. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  272. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  273. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  274. package/dist/domain/application/published-data/map-published-data.d.ts +7 -4
  275. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  276. package/dist/domain/available-system-components.js +1 -1
  277. package/dist/domain/core/action/action-factory.d.ts +11 -0
  278. package/dist/domain/core/action/action-factory.js +1 -0
  279. package/dist/domain/core/action/action.d.ts +71 -0
  280. package/dist/domain/core/action/index.d.ts +2 -0
  281. package/dist/domain/core/action/index.js +1 -0
  282. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  283. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  284. package/dist/domain/core/component/debug-state-component.js +1 -0
  285. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  286. package/dist/domain/core/component/domain-component-optic.js +16 -0
  287. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  288. package/dist/domain/core/component/drag-state-component.js +1 -0
  289. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  290. package/dist/domain/core/component/export-state-component.js +1 -0
  291. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  292. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  293. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  294. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  295. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  296. package/dist/domain/core/component/hover-state-component.js +1 -0
  297. package/dist/domain/core/component/index.d.ts +18 -0
  298. package/dist/domain/core/component/index.js +1 -0
  299. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -19
  300. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  301. package/dist/domain/core/component/navigation-state-component.js +1 -0
  302. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  303. package/dist/domain/core/component/selection-state-component.js +1 -0
  304. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  305. package/dist/domain/core/component/system-component-builder.js +1 -0
  306. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -20
  307. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  308. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  309. package/dist/domain/core/component/tool-state-component.js +1 -0
  310. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  311. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  312. package/dist/domain/core/component/view-state-component.js +1 -0
  313. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  314. package/dist/domain/core/component/viewport-state-component.js +1 -0
  315. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  316. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  317. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  318. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  319. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  320. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  321. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  322. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  323. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  324. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  325. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  326. package/dist/domain/core/data-schema/data-schema.js +1 -0
  327. package/dist/domain/core/data-schema/index.d.ts +7 -0
  328. package/dist/domain/core/data-schema/index.js +1 -0
  329. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  330. package/dist/domain/core/decoder/create-decoder.js +1 -0
  331. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  332. package/dist/domain/core/decoder/decoder.js +1 -0
  333. package/dist/domain/core/decoder/index.d.ts +2 -0
  334. package/dist/domain/core/decoder/index.js +1 -0
  335. package/dist/domain/core/domain-factory.d.ts +7 -4
  336. package/dist/domain/core/domain-factory.js +1 -1
  337. package/dist/domain/core/domain.d.ts +4 -5
  338. package/dist/domain/core/domain.js +1 -1
  339. package/dist/domain/core/emission/index.d.ts +8 -0
  340. package/dist/domain/core/emission/index.js +1 -0
  341. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  342. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  343. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  344. package/dist/domain/core/emission/state-emission.js +1 -0
  345. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  346. package/dist/domain/core/emission/state-update-emission.js +1 -0
  347. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  348. package/dist/domain/core/emission/state-validation-result.js +1 -0
  349. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  350. package/dist/domain/core/emission/transformation-log.js +1 -0
  351. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  352. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  353. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  354. package/dist/domain/core/emission/transformer-log.js +1 -0
  355. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  356. package/dist/domain/core/emission/transformer-phase.js +1 -0
  357. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  358. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  359. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +3 -4
  360. package/dist/domain/core/expression/constant-expressions.js +1 -0
  361. package/dist/domain/core/expression/custom-expression.d.ts +25 -0
  362. package/dist/domain/core/expression/custom-expression.js +1 -0
  363. package/dist/domain/core/expression/expression.d.ts +46 -0
  364. package/dist/domain/core/expression/expression.js +1 -0
  365. package/dist/domain/core/expression/index.d.ts +4 -0
  366. package/dist/domain/core/expression/index.js +1 -0
  367. package/dist/domain/core/index.d.ts +13 -16
  368. package/dist/domain/core/index.js +1 -1
  369. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  370. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  371. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  372. package/dist/domain/core/invariant/index.d.ts +5 -0
  373. package/dist/domain/core/invariant/index.js +1 -0
  374. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  375. package/dist/domain/core/invariant/invariants.js +1 -0
  376. package/dist/domain/core/invariant/violation-component.js +1 -0
  377. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  378. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  379. package/dist/domain/core/model/index.d.ts +6 -0
  380. package/dist/domain/core/model/index.js +1 -0
  381. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  382. package/dist/domain/core/model/reflection.js +1 -0
  383. package/dist/domain/core/recipe/index.d.ts +1 -0
  384. package/dist/domain/core/recipe/index.js +1 -0
  385. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  386. package/dist/domain/core/recipe/recipes.js +1 -0
  387. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  388. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  389. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  390. package/dist/domain/core/relation/component-factories.js +1 -0
  391. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  392. package/dist/domain/core/relation/composed-of.js +1 -0
  393. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  394. package/dist/domain/core/relation/index.d.ts +8 -0
  395. package/dist/domain/core/relation/index.js +1 -0
  396. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  397. package/dist/domain/core/relation/indirect-relation.js +1 -0
  398. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  399. package/dist/domain/core/relation/reference-component.js +1 -0
  400. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  401. package/dist/domain/core/relation/reference-field.js +1 -0
  402. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  403. package/dist/domain/core/relation/relation-factory.js +1 -0
  404. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  405. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  406. package/dist/domain/core/schema/index.d.ts +3 -0
  407. package/dist/domain/core/schema/index.js +1 -0
  408. package/dist/domain/core/schema/schema-validator.js +1 -0
  409. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  410. package/dist/domain/core/state/id-sequence.js +1 -0
  411. package/dist/domain/core/state/index.d.ts +3 -0
  412. package/dist/domain/core/state/index.js +1 -0
  413. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +15 -47
  414. package/dist/domain/core/state/migrations.js +1 -0
  415. package/dist/domain/core/{state.d.ts → state/state.d.ts} +2 -3
  416. package/dist/domain/domain-builder.d.ts +16 -9
  417. package/dist/domain/domain-builder.js +1 -1
  418. package/dist/domain/domain-context/action-system/action-system.d.ts +38 -0
  419. package/dist/domain/domain-context/action-system/action-system.js +1 -0
  420. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  421. package/dist/domain/domain-context/action-system/index.js +1 -0
  422. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  423. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  424. package/dist/domain/domain-context/create-transformer.d.ts +2 -2
  425. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  426. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  427. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  428. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  429. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  430. package/dist/domain/domain-context/domain-context-systems.d.ts +11 -10
  431. package/dist/domain/domain-context/index.d.ts +8 -17
  432. package/dist/domain/domain-context/index.js +1 -1
  433. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  434. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  435. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -8
  436. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  437. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  438. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  439. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +2 -2
  440. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  441. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  442. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  443. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  444. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  445. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +3 -3
  446. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  447. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  448. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  449. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  450. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  451. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  452. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  453. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  454. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  455. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  456. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  457. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  458. package/dist/domain/domain-context/store-system/index.js +1 -0
  459. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  460. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  461. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  462. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  463. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -39
  464. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  465. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -4
  466. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  467. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  468. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  469. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -10
  470. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  471. package/dist/domain/domain-context/transformers/chain-builder.d.ts +3 -3
  472. package/dist/domain/domain-context/transformers/context.d.ts +2 -7
  473. package/dist/domain/domain-context/transformers/context.js +1 -1
  474. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  475. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  476. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  477. package/dist/domain/domain-context/transformers/index.js +1 -1
  478. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  479. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  480. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -9
  481. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  482. package/dist/domain/domain-context/undo-system.d.ts +2 -3
  483. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  484. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  485. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  486. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  487. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  488. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  489. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  490. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  491. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  492. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  493. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +22 -24
  494. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  495. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -72
  496. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  497. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  498. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  499. package/dist/domain/domain-runtime/spec/index.js +1 -1
  500. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  501. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  502. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +6 -1
  503. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  504. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +5 -0
  505. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  506. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  507. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  508. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +25 -0
  509. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  510. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  511. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  512. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  513. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  514. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  515. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  516. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  517. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  518. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  519. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  520. package/dist/domain/domain-runtime/spec/prepare-action-implementations.d.ts +15 -0
  521. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  522. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  523. package/dist/domain/domain-runtime/spec/selectors.d.ts +7 -8
  524. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  525. package/dist/domain/domain-runtime/spec/types.d.ts +20 -6
  526. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  527. package/dist/domain/extensions/angle-indicator.js +1 -0
  528. package/dist/domain/extensions/attribute-switch.js +1 -0
  529. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  530. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  531. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  532. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  533. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  534. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  535. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  536. package/dist/domain/extensions/canvas-config.js +1 -0
  537. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  538. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  539. package/dist/domain/extensions/canvas-padding.js +1 -0
  540. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  541. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  542. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  543. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  544. package/dist/domain/extensions/client-side-image.js +1 -0
  545. package/dist/domain/extensions/color-value.js +1 -0
  546. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  547. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  548. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  549. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  550. package/dist/domain/extensions/common/index.d.ts +4 -0
  551. package/dist/domain/extensions/common/index.js +1 -0
  552. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  553. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  554. package/dist/domain/extensions/custom-price-footer.js +1 -0
  555. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  556. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  557. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  558. package/dist/domain/extensions/dimension-indicator.js +1 -0
  559. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  560. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  561. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  562. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  563. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  564. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  565. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  566. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  567. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  568. package/dist/domain/extensions/entity-header.js +1 -0
  569. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  570. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  571. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  572. package/dist/domain/extensions/finalize-action.js +1 -0
  573. package/dist/domain/extensions/finalize-component.js +1 -0
  574. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  575. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  576. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  577. package/dist/domain/extensions/fixed-header.js +1 -0
  578. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  579. package/dist/domain/extensions/floating-header.js +1 -0
  580. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  581. package/dist/domain/extensions/hidden-header.js +1 -0
  582. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  583. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  584. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  585. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  586. package/dist/domain/extensions/index.d.ts +69 -0
  587. package/dist/domain/extensions/index.js +1 -0
  588. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  589. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  590. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  591. package/dist/domain/extensions/navigation-steps.js +1 -0
  592. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  593. package/dist/domain/extensions/offset-anchors.js +1 -0
  594. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  595. package/dist/domain/extensions/offset-indicator.js +1 -0
  596. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  597. package/dist/domain/extensions/offset.js +1 -0
  598. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  599. package/dist/domain/extensions/other-action.js +1 -0
  600. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  601. package/dist/domain/extensions/property-page.js +1 -0
  602. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  603. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  604. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  605. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  606. package/dist/domain/extensions/rotatable.js +1 -0
  607. package/dist/domain/extensions/rotation-handle.js +1 -0
  608. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  609. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  610. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  611. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  612. package/dist/domain/extensions/scene-entity-control.js +1 -0
  613. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  614. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  615. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  616. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  617. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  618. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  619. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  620. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  621. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  622. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  623. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  624. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  625. package/dist/domain/extensions/selectable-component.js +1 -0
  626. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  627. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  628. package/dist/domain/extensions/simple-summary.js +1 -0
  629. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  630. package/dist/domain/extensions/size.js +1 -0
  631. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  632. package/dist/domain/extensions/sketching-draw.js +1 -0
  633. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  634. package/dist/domain/extensions/sketching-edit.js +1 -0
  635. package/dist/domain/extensions/summary-component.js +1 -0
  636. package/dist/domain/extensions/text-value.js +1 -0
  637. package/dist/domain/extensions/tool-controls.js +1 -0
  638. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  639. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  640. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  641. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  642. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  643. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  644. package/dist/domain/extensions/view-controls.js +1 -0
  645. package/dist/domain/index.d.ts +2 -30
  646. package/dist/domain/index.js +1 -1
  647. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  648. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  649. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +27 -21
  650. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  651. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  652. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  653. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  654. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  655. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  656. package/dist/domain/projections/collision-projections.d.ts +1 -1
  657. package/dist/domain/projections/composition-projections.d.ts +1 -1
  658. package/dist/domain/projections/composition-projections.js +1 -1
  659. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  660. package/dist/domain/projections/index.d.ts +1 -1
  661. package/dist/domain/projections/position-projections.d.ts +1 -1
  662. package/dist/domain/projections/projected-entities-projections.d.ts +2 -3
  663. package/dist/domain/projections/snap-matching.d.ts +1 -2
  664. package/dist/domain/projections/snap-utils.d.ts +1 -2
  665. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  666. package/dist/domain/projections/validation-projections.d.ts +3 -20
  667. package/dist/domain/projections/validation-projections.js +1 -1
  668. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  669. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  670. package/dist/domain/system-components/admin-sidebar.js +1 -1
  671. package/dist/domain/system-components/angle-dimension.js +1 -1
  672. package/dist/domain/system-components/application-config.d.ts +1 -1
  673. package/dist/domain/system-components/application-config.js +1 -1
  674. package/dist/domain/system-components/attribute-selection.js +1 -1
  675. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  676. package/dist/domain/system-components/bounding-box-component.js +1 -1
  677. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  678. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  679. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  680. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  681. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  682. package/dist/domain/system-components/child-entity-selection.js +1 -1
  683. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  684. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  685. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  686. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  687. package/dist/domain/system-components/collision-geometry.js +1 -1
  688. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  689. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  690. package/dist/domain/system-components/common/index.d.ts +0 -4
  691. package/dist/domain/system-components/common/index.js +1 -1
  692. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  693. package/dist/domain/system-components/constraint.d.ts +1 -1
  694. package/dist/domain/system-components/constraint.js +1 -1
  695. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  696. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  697. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  698. package/dist/domain/system-components/detail.js +1 -1
  699. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  700. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  701. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  702. package/dist/domain/system-components/distance-dimension.js +1 -1
  703. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  704. package/dist/domain/system-components/drag-handle.js +1 -1
  705. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  706. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  707. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  708. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  709. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  710. package/dist/domain/system-components/generic-dimension.js +1 -1
  711. package/dist/domain/system-components/hidden-entity.js +1 -1
  712. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  713. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  714. package/dist/domain/system-components/index.d.ts +0 -68
  715. package/dist/domain/system-components/index.js +1 -1
  716. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  717. package/dist/domain/system-components/material-override-transformer.js +1 -1
  718. package/dist/domain/system-components/material-swatch.js +1 -1
  719. package/dist/domain/system-components/navigation-page.js +1 -1
  720. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  721. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  722. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  723. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  724. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  725. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  726. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  727. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  728. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  729. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  730. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  731. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  732. package/dist/domain/system-components/pivot-point.js +1 -1
  733. package/dist/domain/system-components/price.js +1 -1
  734. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  735. package/dist/domain/system-components/projected-entities.js +1 -1
  736. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  737. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  738. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  739. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  740. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  741. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  742. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  743. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  744. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  745. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  746. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  747. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  748. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  749. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  750. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  751. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  752. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  753. package/dist/domain/system-components/scene-entity-object.js +1 -1
  754. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  755. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  756. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  757. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  758. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  759. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  760. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  761. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  762. package/dist/domain/system-components/sketching-line.js +1 -1
  763. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  764. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  765. package/dist/domain/system-components/sketching.d.ts +1 -1
  766. package/dist/domain/system-components/sketching.js +1 -1
  767. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  768. package/dist/domain/system-components/snap-axis.js +1 -1
  769. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  770. package/dist/domain/system-components/snap-edge.js +1 -1
  771. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  772. package/dist/domain/system-components/snap-plane.js +1 -1
  773. package/dist/domain/system-components/snap-point.d.ts +1 -1
  774. package/dist/domain/system-components/snap-point.js +1 -1
  775. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  776. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  777. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  778. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  779. package/dist/domain/utils/eval-cache.d.ts +2 -3
  780. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  781. package/dist/domain/utils/memo-eval.d.ts +2 -4
  782. package/dist/editor/Editor.js +1 -1
  783. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  784. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  785. package/dist/editor/domain-editors/use-implementation-files.d.ts +12 -8
  786. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  787. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  788. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  789. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  790. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  791. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  792. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  793. package/dist/editor/variants/variant-preview-styles.js +1 -0
  794. package/dist/i18n/locales/cs/messages.js +1 -1
  795. package/dist/i18n/locales/da/messages.js +1 -1
  796. package/dist/i18n/locales/de/messages.js +1 -1
  797. package/dist/i18n/locales/de-AT/messages.js +1 -1
  798. package/dist/i18n/locales/en/messages.js +1 -1
  799. package/dist/i18n/locales/en-AU/messages.js +1 -1
  800. package/dist/i18n/locales/en-GB/messages.js +1 -1
  801. package/dist/i18n/locales/es/messages.js +1 -1
  802. package/dist/i18n/locales/fr/messages.js +1 -1
  803. package/dist/i18n/locales/hu/messages.js +1 -1
  804. package/dist/i18n/locales/it/messages.js +1 -1
  805. package/dist/i18n/locales/nl/messages.js +1 -1
  806. package/dist/i18n/locales/pl/messages.js +1 -1
  807. package/dist/i18n/locales/pt/messages.js +1 -1
  808. package/dist/i18n/locales/ro/messages.js +1 -1
  809. package/dist/i18n/locales/sk/messages.js +1 -1
  810. package/dist/i18n/locales/tr/messages.js +1 -1
  811. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  812. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  813. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  814. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  815. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  816. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  817. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  818. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  819. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +6 -0
  820. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  821. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  822. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  823. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +1 -0
  824. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  825. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  826. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  827. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  828. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  829. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  830. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  831. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  832. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  833. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  834. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  835. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  836. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  837. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  838. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  839. package/dist/phoenix/cli.js +1 -1
  840. package/dist/phoenix/commands/build.d.ts +5 -0
  841. package/dist/phoenix/commands/build.js +1 -1
  842. package/dist/phoenix/commands/deploy.js +2 -2
  843. package/dist/phoenix/commands/dev.js +5 -5
  844. package/dist/phoenix/commands/feedback.d.ts +2 -1
  845. package/dist/phoenix/commands/feedback.js +1 -1
  846. package/dist/phoenix/commands/index.d.ts +1 -0
  847. package/dist/phoenix/commands/index.js +1 -1
  848. package/dist/phoenix/commands/init.d.ts +4 -4
  849. package/dist/phoenix/commands/init.js +1 -1
  850. package/dist/phoenix/commands/login.d.ts +24 -6
  851. package/dist/phoenix/commands/login.js +2 -2
  852. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  853. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  854. package/dist/phoenix/commands/prettier.js +1 -1
  855. package/dist/phoenix/commands/story-dev.js +2 -2
  856. package/dist/phoenix/commands/variants.d.ts +35 -0
  857. package/dist/phoenix/commands/variants.js +1 -0
  858. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  859. package/dist/phoenix/editor-server/commands-router.js +1 -1
  860. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  861. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  862. package/dist/phoenix/editor-server/editor-server.js +1 -1
  863. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  864. package/dist/phoenix/editor-server/spec-router.js +1 -1
  865. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  866. package/dist/phoenix/scripts/build-admin.js +1 -1
  867. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  868. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  869. package/dist/phoenix/services/index.d.ts +5 -0
  870. package/dist/phoenix/services/index.js +1 -1
  871. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  872. package/dist/phoenix/services/phoenix-application.js +1 -0
  873. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  874. package/dist/phoenix/services/phoenix-store.js +1 -0
  875. package/dist/phoenix/services/phx-banner-plugin.d.ts +32 -0
  876. package/dist/phoenix/services/phx-banner-plugin.js +1 -0
  877. package/dist/phoenix/services/phx-licenses-plugin.d.ts +55 -0
  878. package/dist/phoenix/services/phx-licenses-plugin.js +8 -0
  879. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  880. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  881. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  882. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  883. package/dist/phoenix/services/variant-file-session.js +1 -0
  884. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  885. package/dist/phoenix/services/variant-preview-service.js +1 -0
  886. package/dist/phoenix/services/vite-config.d.ts +2 -0
  887. package/dist/phoenix/services/vite-config.js +1 -1
  888. package/dist/phoenix/utils/git/index.d.ts +1 -0
  889. package/dist/phoenix/utils/git/index.js +1 -0
  890. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  891. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  892. package/dist/phoenix/utils/index.d.ts +2 -0
  893. package/dist/phoenix/utils/index.js +1 -1
  894. package/dist/phoenix/utils/read-git-commit.d.ts +14 -0
  895. package/dist/phoenix/utils/read-git-commit.js +1 -0
  896. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  897. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  898. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  899. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  900. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  901. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  902. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  903. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +52 -40
  904. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +12 -9
  905. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  906. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  907. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  908. package/dist/ui-sdk/theme/types.d.ts +4 -0
  909. package/dist/webhook/builders/common.d.ts +8 -0
  910. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  911. package/dist/webhook/builders/webhook-builder.js +1 -1
  912. package/package.json +5 -8
  913. package/schema/domain-spec.json +24 -0
  914. package/dist/application-spec/generate-application/code/templates/agents-md.d.ts +0 -1
  915. package/dist/application-spec/generate-application/code/templates/agents-md.js +0 -2
  916. package/dist/application-spec/generate-application/code/templates/common/sdk-content.js +0 -67
  917. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  918. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  919. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  920. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  921. package/dist/application-spec/generate-application/code/templates/phoenix-cli-skill.js +0 -1
  922. package/dist/application-spec/generate-application/code/templates/phoenix-create-configurator-skill.js +0 -112
  923. package/dist/application-spec/generate-application/code/templates/phoenix-feedback-skill.js +0 -31
  924. package/dist/application-spec/generate-application/code/templates/phoenix-skill.js +0 -1
  925. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  926. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  927. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  928. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  929. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  930. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  931. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  932. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  933. package/dist/configurator/assistant/browser-details.js +0 -1
  934. package/dist/configurator/assistant/graphql-tools.js +0 -1
  935. package/dist/configurator/assistant/index.d.ts +0 -1
  936. package/dist/configurator/assistant/index.js +0 -1
  937. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  938. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  939. package/dist/domain/application/element-registration.js +0 -1
  940. package/dist/domain/application/handler-registration.js +0 -1
  941. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -13
  942. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  943. package/dist/domain/components/debug-state-component.js +0 -1
  944. package/dist/domain/components/domain-component-optic.d.ts +0 -76
  945. package/dist/domain/components/domain-component-optic.js +0 -16
  946. package/dist/domain/components/drag-state-component.js +0 -1
  947. package/dist/domain/components/export-state-component.js +0 -1
  948. package/dist/domain/components/fullscreen-state-component.js +0 -1
  949. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  950. package/dist/domain/components/hover-state-component.js +0 -1
  951. package/dist/domain/components/index.d.ts +0 -2
  952. package/dist/domain/components/index.js +0 -1
  953. package/dist/domain/components/navigation-state-component.js +0 -1
  954. package/dist/domain/components/selection-state-component.js +0 -1
  955. package/dist/domain/components/system-component-builder.js +0 -1
  956. package/dist/domain/components/system-virtual-entity.js +0 -1
  957. package/dist/domain/components/tool-state-component.js +0 -1
  958. package/dist/domain/components/view-state-component.js +0 -1
  959. package/dist/domain/components/viewport-state-component.js +0 -1
  960. package/dist/domain/core/expression.d.ts +0 -50
  961. package/dist/domain/core/json-schema.js +0 -1
  962. package/dist/domain/core/migrations.js +0 -1
  963. package/dist/domain/core/reflection.js +0 -1
  964. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -57
  965. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  966. package/dist/domain/expressions/constant-expressions.js +0 -1
  967. package/dist/domain/expressions/custom-expression.d.ts +0 -13
  968. package/dist/domain/expressions/custom-expression.js +0 -1
  969. package/dist/domain/expressions/index.d.ts +0 -1
  970. package/dist/domain/expressions/index.js +0 -1
  971. package/dist/domain/invariants/custom-invariants.d.ts +0 -22
  972. package/dist/domain/invariants/custom-invariants.js +0 -1
  973. package/dist/domain/invariants/invariants.d.ts +0 -68
  974. package/dist/domain/invariants/invariants.js +0 -1
  975. package/dist/domain/invariants/violation-component.js +0 -1
  976. package/dist/domain/relations/all-of-type-relation.d.ts +0 -33
  977. package/dist/domain/relations/all-of-type-relation.js +0 -1
  978. package/dist/domain/relations/component-factories.js +0 -1
  979. package/dist/domain/relations/composed-of.js +0 -1
  980. package/dist/domain/relations/direct-relation.d.ts +0 -29
  981. package/dist/domain/relations/indirect-relation.d.ts +0 -81
  982. package/dist/domain/relations/indirect-relation.js +0 -1
  983. package/dist/domain/relations/reference-component.js +0 -1
  984. package/dist/domain/relations/relation-factory.d.ts +0 -19
  985. package/dist/domain/relations/relation-factory.js +0 -1
  986. package/dist/domain/relations/relation-implementation.d.ts +0 -8
  987. package/dist/domain/system-components/angle-indicator.js +0 -1
  988. package/dist/domain/system-components/attribute-switch.js +0 -1
  989. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  990. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  991. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  992. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  993. package/dist/domain/system-components/canvas-config.js +0 -1
  994. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  995. package/dist/domain/system-components/canvas-padding.js +0 -1
  996. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  997. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  998. package/dist/domain/system-components/client-side-image.js +0 -1
  999. package/dist/domain/system-components/color-value.js +0 -1
  1000. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1001. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  1002. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1003. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1004. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1005. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1006. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1007. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1008. package/dist/domain/system-components/entity-header.js +0 -1
  1009. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1010. package/dist/domain/system-components/finalize-action.js +0 -1
  1011. package/dist/domain/system-components/finalize-component.js +0 -1
  1012. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1013. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1014. package/dist/domain/system-components/fixed-header.js +0 -1
  1015. package/dist/domain/system-components/floating-header.js +0 -1
  1016. package/dist/domain/system-components/hidden-header.js +0 -1
  1017. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1018. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1019. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1020. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1021. package/dist/domain/system-components/navigation-steps.js +0 -1
  1022. package/dist/domain/system-components/offset-anchors.js +0 -1
  1023. package/dist/domain/system-components/offset-indicator.js +0 -1
  1024. package/dist/domain/system-components/offset.js +0 -1
  1025. package/dist/domain/system-components/other-action.js +0 -1
  1026. package/dist/domain/system-components/property-page.js +0 -1
  1027. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1028. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1029. package/dist/domain/system-components/rotatable.js +0 -1
  1030. package/dist/domain/system-components/rotation-handle.js +0 -1
  1031. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1032. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1033. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1034. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1035. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1036. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1037. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1038. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1039. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1040. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1041. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1042. package/dist/domain/system-components/selectable-component.js +0 -1
  1043. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1044. package/dist/domain/system-components/simple-summary.js +0 -1
  1045. package/dist/domain/system-components/size.js +0 -1
  1046. package/dist/domain/system-components/sketching-draw.js +0 -1
  1047. package/dist/domain/system-components/sketching-edit.js +0 -1
  1048. package/dist/domain/system-components/summary-component.js +0 -1
  1049. package/dist/domain/system-components/text-value.js +0 -1
  1050. package/dist/domain/system-components/tool-controls.js +0 -1
  1051. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1052. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1053. package/dist/domain/system-components/view-controls.js +0 -1
  1054. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  1055. package/dist/extras/assistant/AssistantChat.js +0 -1
  1056. package/dist/extras/assistant/index.d.ts +0 -1
  1057. package/dist/extras/assistant/index.js +0 -1
  1058. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  1059. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  1060. /package/dist/application-spec/generate-application/code/templates/{common → skills}/agent-skill.d.ts +0 -0
  1061. /package/dist/application-spec/generate-application/code/templates/{common → skills}/agent-skill.js +0 -0
  1062. /package/dist/application-spec/generate-application/code/templates/{phoenix-cli-skill.d.ts → skills/phoenix-cli-skill.d.ts} +0 -0
  1063. /package/dist/application-spec/generate-application/code/templates/{phoenix-feedback-skill.d.ts → skills/phoenix-feedback-skill.d.ts} +0 -0
  1064. /package/dist/application-spec/generate-application/code/templates/{phoenix-review-skill.d.ts → skills/phoenix-review-skill.d.ts} +0 -0
  1065. /package/dist/application-spec/generate-application/code/templates/{phoenix-skill.d.ts → skills/phoenix-skill.d.ts} +0 -0
  1066. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  1067. /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  1068. /package/dist/domain/core/{expression.js → action/action.js} +0 -0
  1069. /package/dist/domain/core/{schema-validator.js → component/component-reader-types.js} +0 -0
  1070. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1071. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1072. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1073. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1074. /package/dist/domain/{relations/reference-field.js → core/data-schema/data-cell-value.js} +0 -0
  1075. /package/dist/domain/{relations/relation-implementation.js → core/data-schema/data-schema-array-field.js} +0 -0
  1076. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1077. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1078. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  1079. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  1080. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  1081. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  1082. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  1083. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  1084. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  1085. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  1086. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  1087. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  1088. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1089. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  1090. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  1091. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  1092. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  1093. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  1094. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  1095. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  1096. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  1097. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  1098. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1099. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  1100. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1101. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1102. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1103. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  1104. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1105. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1106. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1107. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1108. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1109. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1110. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1111. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1112. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1113. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1114. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  1115. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1116. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  1117. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  1118. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1119. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1120. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1121. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1122. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1123. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1124. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1125. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1126. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1127. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,8 +1,8 @@
1
- import { type ApplicationTypeImportRegistrar } from '../common/index.js';
2
1
  interface GenerateConfiguratorCodeOptions {
3
2
  readonly expressionFiles: readonly string[];
3
+ readonly actionFiles: readonly string[];
4
4
  readonly invariantFiles: readonly string[];
5
5
  readonly componentFiles: readonly string[];
6
6
  }
7
- export declare const generateApplicationSpecConfiguratorCode: (options: GenerateConfiguratorCodeOptions, registerApplicationTypeImports?: ApplicationTypeImportRegistrar) => string;
7
+ export declare const generateApplicationSpecConfiguratorCode: (options: GenerateConfiguratorCodeOptions) => string;
8
8
  export {};
@@ -1,17 +1,11 @@
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}'`}),s=(n,t="\n")=>n.length>0?"\n"+n.join(t)+"\n":"";export const generateApplicationSpecConfiguratorCode=(a,i=e)=>{let{expressionFiles:r,invariantFiles:p,componentFiles:m}=a,d=new t;for(let n of["AliasedExpressions","AliasedInvariants","DomainComponentOptic","SystemComponentTypeConstraint"])d.addTypeImport("@salsita-ai/sdk/domain",n);i(d,["Aliases","AnyDomainEntity","FrontendData","PublishedData","RootEntity","SessionData"]);let c=[...o(r,"expressions"),...o(p,"invariants"),...o(m,"components")],y=r.map((n,t)=>`for (const [type, exprs] of Object.entries(expressions${t})) {
2
- mergedExpressions[type] = { ...mergedExpressions[type], ...exprs }
3
- }`),l=p.map((n,t)=>`for (const [type, invs] of Object.entries(invariants${t})) {
4
- mergedInvariants[type] = [...(mergedInvariants[type] ?? []), ...invs]
5
- }`),x=m.map((n,t)=>`components${t}`);return`${n("configurator-domain-code.ts","Barrel file for user-authored domain code — expressions, invariants and components. Needs only phx.domain.")}
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.")}
6
2
  ${d.toString()}
7
- ${s(c)}
8
- const mergedExpressions: Record<string, Record<string, unknown>> = {}
9
- ${s(y,"\n\n")}
10
- export const customExpressions = mergedExpressions as AliasedExpressions<AnyDomainEntity, RootEntity, PublishedData, SessionData, FrontendData, Aliases>
3
+ ${p.length>0?"\n"+p.join("\n")+"\n":""}
4
+ export const customExpressions: readonly ProjectModule[] = ${t(r,"expressions")}
11
5
 
12
- const mergedInvariants: Record<string, ReadonlyArray<unknown>> = {}
13
- ${s(l,"\n\n")}
14
- export const customInvariants = mergedInvariants as AliasedInvariants<AnyDomainEntity, RootEntity, PublishedData, SessionData, FrontendData, Aliases, string>
6
+ export const customActions: readonly ProjectModule[] = ${t(i,"actions")}
15
7
 
16
- export const customComponentOptics: ReadonlyArray<DomainComponentOptic<AnyDomainEntity, RootEntity, PublishedData, SessionData, FrontendData, AnyDomainEntity, SystemComponentTypeConstraint>> = [${x.join(", ")}].flat()
8
+ export const customInvariants: readonly ProjectModule[] = ${t(a,"invariants")}
9
+
10
+ export const customComponentOptics: readonly ProjectModule[] = ${t(c,"components")}
17
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)}`;
@@ -7,7 +7,9 @@ import type { CodeImports } from '../../common/index.js';
7
7
  * `$msg`; rejects `$eval` since defaults are static).
8
8
  *
9
9
  * **Deprecated feature.** Kept for legacy parity; prefer `$data` for new specs.
10
- * The `as const` assertion preserves literal types so `RecipeFactoryBuilder
11
- * .withDefaults(defaults)` can type-check the defaults against entity shapes.
10
+ * The declaration is the third argument of `createRecipeFactory`, which validates
11
+ * each entry against the entity's schema when the generated module loads. The
12
+ * compiler does not check the entries: the spec parser reports a wrong or
13
+ * incomplete entry at its key under `defaults:`.
12
14
  */
13
15
  export declare const generateDefaultsBlock: (defaults: Defaults, imports: CodeImports) => string;
@@ -1,4 +1,4 @@
1
- import type { Components, Defaults, Expressions, Invariants, ModelVersion, Presets, ResolvedVersions } from '../../../../parse-application-files/index.js';
1
+ import type { Actions, Components, Defaults, Expressions, Invariants, ModelVersion, Presets, ResolvedVersions } from '../../../../parse-application-files/index.js';
2
2
  import type { ApplicationTypeImportRegistrar, CodeImports } from '../../common/index.js';
3
3
  interface DomainBlockSpec {
4
4
  readonly components: Components;
@@ -11,6 +11,8 @@ interface DomainBlockSpec {
11
11
  export interface DomainBlockOptions {
12
12
  readonly domainSpec: DomainBlockSpec;
13
13
  readonly invariants: Invariants;
14
+ /** The declared actions of the configurator domain; `undefined` for the admin domain, which has none. */
15
+ readonly actions: Actions | undefined;
14
16
  readonly typePrefix: string;
15
17
  readonly versionNsPrefix: string;
16
18
  readonly isAdmin: boolean;
@@ -1,87 +1,87 @@
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 a}from"./generate-invariants.js";import{generateRelationExpressionsCode as i}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",l=(e,n,t)=>{let a=[],i=[];for(let o of e.modelVersion.entitySchemas){let e=JSON.stringify(o.shapeSchema,null,2);a.push(`${t}const ${o.entityType} = new DomainEntityReflection<${n}${o.entityType}>('${o.entityType}', [${e}])`),i.push(String(o.entityType))}return{entityDecls:a.join("\n"),entityNames:i}};export const generateDomainBlock=m=>{let{domainSpec:$,invariants:p,typePrefix:d,versionNsPrefix:c,isAdmin:u,modelVersionsExportName:y,relationExpressionsExportName:h,componentOpticsExportName:f,valueExpressionsExportName:E,createRecipeExportName:D,imports:R,registerApplicationTypeImports:g=e}=m;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"),u&&(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");let{entityTypes:S,entitySchemas:v}=$.latestModel,x=[...$.latestModel.aliases],j=x.map(([e])=>String(e)),C=j.includes("RootEntity")?"RootEntity":"AnyDomainEntity",{resolvedVersions:I}=$,M=I.latestVersion,A=d?`${d}.`:"",B=new Map([...$.expressions.constants].map(([e,n])=>[String(e),n])),w=(e,n)=>{let t=[...B.get(n)?.keys()??[]],a=t.length>0?`, ${t.map(e=>`'${e}'`).join(" | ")}`:"";return`${e}<${A}$${n}${a}>`},b=e=>{let n=B.get(e);if(!n)return"{}";let t=[...n].map(([e,n])=>{let t=o(n,R).replaceAll("\n","\n ");return` ${e}: ${t},`});return`{
1
+ import{skipApplicationTypeImports as e}from"../../common/index.js";import{generateComponentOpticsCode as n}from"./generate-component-optics.js";import{generateDefaultsBlock as t}from"./generate-defaults.js";import{generateInvariantsBlock as o}from"./generate-invariants.js";import{generateRelationExpressionsCode as a}from"./generate-relation-expressions.js";import{generateStaticValueCode as i}from"./generate-static-value-code.js";import{generateValueExpressionsCode as s}from"./generate-value-expressions.js";let r="@salsita-ai/sdk/domain",m=(e,n,t)=>{let o=[],a=[];for(let i of e.modelVersion.entitySchemas){let e=JSON.stringify(i.shapeSchema,null,2);o.push(`${t}const ${i.entityType} = new DomainEntityReflection<${n}${i.entityType}>('${i.entityType}', [${e}])`),a.push(String(i.entityType))}return{entityDecls:o.join("\n"),entityNames:a}};export const generateDomainBlock=$=>{let{domainSpec:l,invariants:p,actions:c,typePrefix:d,versionNsPrefix:y,isAdmin:u,modelVersionsExportName:h,relationExpressionsExportName:f,componentOpticsExportName:E,valueExpressionsExportName:D,createRecipeExportName:S,imports:R,registerApplicationTypeImports:g=e}=$;R.addImport(r,"$DomainEntityReflection"),R.addImport(r,"DomainBuilder"),R.addImport(r,"DomainComponentOpticBuilder"),R.addImport(r,"DomainEntityReflection"),R.addImport(r,"EnhancedAliasReflection"),R.addImport(r,"RawAliasReflection"),R.addImport(r,"SchemaReflection"),R.addImport(r,"createCustomExpressionFactory"),R.addImport(r,"createCustomInvariantFactory"),u&&(R.addImport(r,"commonAdminCustomExpressions"),R.addImport(r,"commonAdminViolationExpressions"),R.addImport(r,"createMapPublishedRevisionDataHandlerFactory"),R.addImport(r,"createMapPublishedChunkedDataHandlerFactory"),R.addImport(r,"createDataRowValidatorHandler"),R.addImport(r,"createSheetValidatorHandler")),R.addTypeImport(r,"RuntimeExpressionContext"),R.addTypeImport(r,"SchemaOfObject"),c&&(R.addImport(r,"createActionFactory"),R.addTypeImport(r,"ActionDefinition"),R.addTypeImport(r,"DomainContextSystems"));let{entityTypes:x,entitySchemas:A}=l.latestModel,v=[...l.latestModel.aliases],j=v.map(([e])=>String(e)),C=j.includes("RootEntity")?"RootEntity":"AnyDomainEntity",{resolvedVersions:I}=l,M=I.latestVersion,w=d?`${d}.`:"",P=new Map([...l.expressions.constants].map(([e,n])=>[String(e),n])),b=(e,n)=>{let t=[...P.get(n)?.keys()??[]],o=t.length>0?`, ${t.map(e=>`'${e}'`).join(" | ")}`:"";return`${e}<${w}$${n}${o}>`},k=e=>{let n=P.get(e);if(!n)return"{}";let t=[...n].map(([e,n])=>{let t=i(n,R).replaceAll("\n","\n ");return` ${e}: ${t},`});return`{
2
2
  ${t.join("\n")}
3
- }`},P=v.map(e=>{let n=JSON.stringify(e.shapeSchema,null,2);return` const ${e.entityType} = new DomainEntityReflection<${A}${e.entityType}>('${e.entityType}', [${n}])`}),k=x.map(([e,n])=>{let t=n.map(String).join(", ");return` const ${e} = new RawAliasReflection<${A}${e}>('${e}', [${t}])`}),H=[...$.latestModel.commonTypes],F=H.map(([e])=>String(e)),O=I.versionedModels.filter(e=>!e.isLatest).map(e=>`${c}${e.version}`);g(R,[...u?["Admin",...O]:[...S.map(String),...j,...F,...S.map(e=>`$${String(e)}`),...j.map(e=>`$${e}`),"Aliases","$Map",...O],"PublishedData","SessionData","FrontendData",...u?[]:["BackendData"]]);let V=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<${A}${e}> = new EnumReflection('${e}', ${t}) as EnumLike<${A}${e}>`:` const ${e}: SchemaReflection<${A}${e}> = new SchemaReflection('${e}', ${t})`}),T=[...$.latestModel.shapes],J=T.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return` const ${e}Shape = new SchemaReflection('${e}Shape', ${t})`}),N=T.map(([e])=>`${e}Shape`),L=j.map(e=>` ${e}: ${e}.types,`).join("\n"),_=j.map(e=>` ${e},`).join("\n"),z=F.map(e=>` ${e},`).join("\n"),G=N.map(e=>` ${e},`).join("\n"),q=S.map(e=>` ${e},`).join("\n"),K=[];for(let[e,n]of $.expressions.expressions)n.size>0&&K.push(` const ${e}Expressions = ${JSON.stringify([...n.keys()])}`);let Q=S.map(e=>{let n=$.expressions.entityExpressions.get(e),t=(n?.shapeGroups??[]).map(e=>`${e}Expressions`),a=t.length>0?t.map(e=>`...${e}`).join(", "):"",i=w("$DomainEntityReflection",String(e));return` const $${e}: ${i} = new ${i}('${e}', [${a}], ${b(String(e))})`}).join("\n"),U=S.map(e=>` ${e}: $${e},`).join("\n"),W=x.map(([e,n])=>{let t=n.map(e=>JSON.stringify(String(e))).join(", "),a=w("EnhancedAliasReflection",String(e));return` const $${e}: ${a} = new ${a}('$${e}', [${t}], ${b(String(e))})`}).join("\n"),X=[...S.map(String),...j].map(e=>` $${e},`).join("\n"),Y=[],Z=[];for(let e of I.versionedModels)if(e.isLatest)Y.push(` ${e.version}: entities,`),Z.push(` readonly ${e.version}: {
4
- ${S.map(e=>` readonly ${String(e)}: DomainEntityReflection<${A}${String(e)}>`).join("\n")}
5
- }`);else{let n=`${c}${e.version}.`,{entityDecls:t,entityNames:a}=l(e,n," "),i=a.map(e=>` ${e},`).join("\n");Y.push(` ${e.version}: (() => {
3
+ }`},F=A.map(e=>{let n=JSON.stringify(e.shapeSchema,null,2);return` const ${e.entityType} = new DomainEntityReflection<${w}${e.entityType}>('${e.entityType}', [${n}])`}),H=v.map(([e,n])=>{let t=n.map(String).join(", ");return` const ${e} = new RawAliasReflection<${w}${e}>('${e}', [${t}])`}),T=[...l.latestModel.commonTypes],V=T.map(([e])=>String(e)),O=I.versionedModels.filter(e=>!e.isLatest).map(e=>`${y}${e.version}`);g(R,[...u?["Admin",...O]:[...x.map(String),...j,...V,...x.map(e=>`$${String(e)}`),...j.map(e=>`$${e}`),"Aliases","$Map",...O,...c?["ActionTypes","NavigationState","ViewState","ToolState","ExportState"]:[]],"PublishedData","SessionData","FrontendData",...u?[]:["BackendData"]]);let B=T.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?` const ${e}: EnumLike<${w}${e}> = new EnumReflection('${e}', ${t}) as EnumLike<${w}${e}>`:` const ${e}: SchemaReflection<${w}${e}> = new SchemaReflection('${e}', ${t})`}),N=[...l.latestModel.shapes],J=N.map(([e,n])=>{let t=JSON.stringify(n.runtimeSchema,null,2);return` const ${e}Shape = new SchemaReflection('${e}Shape', ${t})`}),L=N.map(([e])=>`${e}Shape`),_=j.map(e=>` ${e}: ${e}.types,`).join("\n"),z=j.map(e=>` ${e},`).join("\n"),G=V.map(e=>` ${e},`).join("\n"),q=L.map(e=>` ${e},`).join("\n"),K=x.map(e=>` ${e},`).join("\n"),Q=[];for(let[e,n]of l.expressions.expressions)n.size>0&&Q.push(` const ${e}Expressions = ${JSON.stringify([...n.keys()])}`);let U=x.map(e=>{let n=l.expressions.entityExpressions.get(e),t=(n?.shapeGroups??[]).map(e=>`${e}Expressions`),o=t.length>0?t.map(e=>`...${e}`).join(", "):"",a=b("$DomainEntityReflection",String(e));return` const $${e}: ${a} = new ${a}('${e}', [${o}], ${k(String(e))})`}).join("\n"),W=x.map(e=>` ${e}: $${e},`).join("\n"),X=v.map(([e,n])=>{let t=n.map(e=>JSON.stringify(String(e))).join(", "),o=b("EnhancedAliasReflection",String(e));return` const $${e}: ${o} = new ${o}('$${e}', [${t}], ${k(String(e))})`}).join("\n"),Y=[...x.map(String),...j].map(e=>` $${e},`).join("\n"),Z=[],ee=[];for(let e of I.versionedModels)if(e.isLatest)Z.push(` ${e.version}: entities,`),ee.push(` readonly ${e.version}: {
4
+ ${x.map(e=>` readonly ${String(e)}: DomainEntityReflection<${w}${String(e)}>`).join("\n")}
5
+ }`);else{let n=`${y}${e.version}.`,{entityDecls:t,entityNames:o}=m(e,n," "),a=o.map(e=>` ${e},`).join("\n");Z.push(` ${e.version}: (() => {
6
6
  ${t}
7
7
  return {
8
- ${i}
8
+ ${a}
9
9
  } as const
10
- })(),`),Z.push(` readonly ${e.version}: {
11
- ${a.map(e=>` readonly ${e}: DomainEntityReflection<${n}${e}>`).join("\n")}
12
- }`)}let ee=u?"adminDomainBuilder":"domainBuilder",en=u?"attachAdminComponent":"attachComponent",et=u?"implementAdminCustomExpressions":"implementCustomExpressions",ea=u?"implementCustomAdminInvariants":"implementCustomInvariants",ei=u?"adminInvariantBuilder":"invariantBuilder",eo=u?"adminModel":"model",es=u?"adminEnhancedModel":"enhancedModel",er=u?"implementAdminRelation":"implementRelation",el=u?"__adminDomain":"__configuratorDomain",em=`${A}AnyDomainEntity, ${A}RootEntity, ${A}$Map, PublishedData, SessionData, FrontendData, ${A}Aliases`,e$=`<${em}>`,ep=a(p,em,R),ed=(e,n)=>e===n?e:`${e}: ${n}`,ec=[...$.expressions.expressions.values()].some(e=>[...e.values()].some(e=>"relation"===e.implementation.kind));ec&&R.addImport(r,"createRelationFactory");let eu=ec?`
13
- const ${er} = createRelationFactory${e$}(aliases)
14
-
15
- const relationExpressions = ${i($.expressions,er)}`:"\n const relationExpressions = {} as const",ey=`
16
- const componentOptics = ${n($.components,R)}`,eh=`
17
- const valueExpressions = ${s($.expressions,R,"implementCustomExpressions",u?{PresetCategory:"commonAdminCustomExpressions.PresetCategory"}:{})}`;R.addImport(r,"RecipeFactoryBuilder");let ef=t($.defaults,R),eE=`
18
- const createRecipe = RecipeFactoryBuilder.forAliases<${A}AnyDomainEntity, ${A}Aliases>(aliases)
19
- .forEntities(AnyDomainEntity.reflections)
20
- .withDefaults(defaults)
21
- .build()`,eD=[...S.map(e=>` readonly ${String(e)}: DomainEntityReflection<${A}${String(e)}>`),...j.map(e=>` readonly ${e}: RawAliasReflection<${A}${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}<${A}${e}>`}),...N.map(e=>` readonly ${e}: SchemaReflection<unknown>`)].join("\n"),eR=`{
22
- ${eD}
23
- }`,eg=[...S.map(e=>` readonly $${String(e)}: ${w("$DomainEntityReflection",String(e))}`),...j.map(e=>` readonly $${e}: ${w("EnhancedAliasReflection",e)}`)].join("\n"),eS=`{
24
- ${eg}
25
- }`,ev=`{
26
- ${Z.join("\n")}
27
- }`;return`const ${el} = (() => {
10
+ })(),`),ee.push(` readonly ${e.version}: {
11
+ ${o.map(e=>` readonly ${e}: DomainEntityReflection<${n}${e}>`).join("\n")}
12
+ }`)}let en=u?"adminDomainBuilder":"domainBuilder",et=u?"attachAdminComponent":"attachComponent",eo=u?"implementAdminCustomExpressions":"implementCustomExpressions",ea=u?"implementCustomAdminInvariants":"implementCustomInvariants",ei=u?"adminAliases":"aliases",es=u?"adminModel":"model",er=u?"adminEnhancedModel":"enhancedModel",em=u?"implementAdminRelation":"implementRelation",e$=u?"__adminDomain":"__configuratorDomain",el="PublishedData, SessionData, FrontendData",ep=`${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, ${el}, ${w}Aliases`,ec=`<${ep}>`,ed=`RuntimeExpressionContext<${w}AnyDomainEntity>`,ey=`<${ep}, ${ed}>`,eu=`DomainContextSystems<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, NavigationState, ViewState, ToolState, ExportState>`,eh=o(p,ep,ed,R),ef=(e,n)=>e===n?e:`${e}: ${n}`,eE=[...l.expressions.expressions.values()].some(e=>[...e.values()].some(e=>"relation"===e.implementation.kind));eE&&R.addImport(r,"createRelationFactory");let eD=eE?`
13
+ const ${em} = createRelationFactory(aliases)
14
+
15
+ const relationExpressions = ${a(l.expressions,em)}`:"\n const relationExpressions = {} as const",eS=`
16
+ const componentOptics = ${n(l.components,R)}`,eR=`
17
+ const valueExpressions = ${s(l.expressions,R,"implementCustomExpressions",u?{PresetCategory:"commonAdminCustomExpressions.PresetCategory"}:{})}`;R.addImport(r,"createRecipeFactory");let eg=t(l.defaults,R),ex=[...c?.values()??[]].map(e=>({name:String(e.name),...void 0===e.description?{}:{description:e.description},params:e.paramsSchema})),eA=c?`
18
+ const actionDefinitions: readonly ActionDefinition[] = ${JSON.stringify(ex,null,2).replaceAll("\n","\n ")}
19
+
20
+ const implementActions = createActionFactory<${w}AnyDomainEntity, ${w}RootEntity, ${el}, ActionTypes, ${ed}, ${eu}>()`:"",ev=`
21
+ const createRecipe = createRecipeFactory<${w}AnyDomainEntity>(aliases, AnyDomainEntity.reflections, defaults)`,ej=[...x.map(e=>` readonly ${String(e)}: DomainEntityReflection<${w}${String(e)}>`),...j.map(e=>` readonly ${e}: RawAliasReflection<${w}${e}>`),...T.map(([e,n])=>{let t=n.schema.enum?.length&&n.schema.enum.every(e=>"string"==typeof e)?"EnumLike":"SchemaReflection";return` readonly ${e}: ${t}<${w}${e}>`}),...L.map(e=>` readonly ${e}: SchemaReflection<unknown>`)].join("\n"),eC=`{
22
+ ${ej}
23
+ }`,eI=[...x.map(e=>` readonly $${String(e)}: ${b("$DomainEntityReflection",String(e))}`),...j.map(e=>` readonly $${e}: ${b("EnhancedAliasReflection",e)}`)].join("\n"),eM=`{
24
+ ${eI}
25
+ }`,ew=`{
26
+ ${ee.join("\n")}
27
+ }`;return`const ${e$} = (() => {
28
28
  const modelVersion = ${M}
29
29
 
30
- ${ef}
30
+ ${eg}
31
31
 
32
- ${P.join("\n")}
32
+ ${F.join("\n")}
33
33
 
34
- ${k.join("\n")}
34
+ ${H.join("\n")}
35
35
 
36
- ${V.join("\n")}
36
+ ${B.join("\n")}
37
37
 
38
38
  ${J.join("\n")}
39
39
 
40
40
  const aliases = {
41
- ${L}
41
+ ${_}
42
42
  } as const
43
43
 
44
44
  const entities = {
45
- ${q}
45
+ ${K}
46
46
  } as const
47
47
 
48
48
  const model = {
49
- ${q}
50
- ${_}
49
+ ${K}
51
50
  ${z}
52
51
  ${G}
52
+ ${q}
53
53
  } as const
54
54
 
55
- ${K.length>0?K.join("\n")+"\n":""}
56
- ${Q}
57
- ${W}
58
- const $entityReflections = {
55
+ ${Q.length>0?Q.join("\n")+"\n":""}
59
56
  ${U}
57
+ ${X}
58
+ const $entityReflections = {
59
+ ${W}
60
60
  }
61
61
 
62
62
  const enhancedModel = {
63
- ${X}
63
+ ${Y}
64
64
  } as const
65
65
 
66
- const implementCustomExpressions = createCustomExpressionFactory${e$}({})
67
- ${eu}
68
- ${eh}
66
+ const implementCustomExpressions = createCustomExpressionFactory${ey}()
67
+ ${eA}${eD}
68
+ ${eR}
69
69
 
70
70
  const modelVersions = {
71
- ${Y.join("\n")}
71
+ ${Z.join("\n")}
72
72
  } as const
73
- const attachComponent = DomainComponentOpticBuilder.from${e$}(aliases)
73
+ const attachComponent = DomainComponentOpticBuilder.from${ey}(aliases)
74
+
75
+ ${eh}
76
+ ${u?` const commonInvariants = implementCustomInvariants(commonAdminViolationExpressions)
74
77
 
75
- ${ep}
76
- const invariantBuilder = new InvariantBuilder${e$}(aliases)${u?"\n .withInvariants(implementCustomInvariants(commonAdminViolationExpressions))":""}
77
- ${u?`
78
- const createMapPublishedRevisionDataHandler = createMapPublishedRevisionDataHandlerFactory<${A}AnyDomainEntity, ${A}RootEntity, ${A}$Map, PublishedData>()
79
- const createMapPublishedChunkedDataHandler = createMapPublishedChunkedDataHandlerFactory<${A}AnyDomainEntity, ${A}RootEntity, ${A}$Map>()
80
- `:""}${ey}
81
- ${eE}
78
+ const createMapPublishedRevisionDataHandler = createMapPublishedRevisionDataHandlerFactory<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map, PublishedData>()
79
+ const createMapPublishedChunkedDataHandler = createMapPublishedChunkedDataHandlerFactory<${w}AnyDomainEntity, ${w}RootEntity, ${w}$Map>()
80
+ `:""}${eS}
81
+ ${ev}
82
82
 
83
83
  return {
84
- domainBuilder: DomainBuilder.from${e$}(
84
+ domainBuilder: DomainBuilder.from${ec}(
85
85
  entities,
86
86
  aliases,
87
87
  $entityReflections,
@@ -92,11 +92,12 @@ ${eE}
92
92
  FrontendData,
93
93
  ${u?"undefined":"BackendData"},
94
94
  ${u}
95
- ).withExpressions(valueExpressions),
96
- attachComponent,
95
+ ).withExpressions(valueExpressions)${c?".withActions(actionDefinitions)":""},
96
+ attachComponent,${c?"\n implementActions,":""}
97
97
  implementCustomExpressions,
98
98
  implementCustomInvariants,
99
- invariantBuilder,${u?`
99
+ aliases,${u?`
100
+ commonInvariants,
100
101
  createMapPublishedRevisionDataHandler,
101
102
  createMapPublishedChunkedDataHandler,`:""}
102
103
  model,
@@ -110,20 +111,22 @@ ${eE}
110
111
  })()
111
112
 
112
113
  const {
113
- ${ed("domainBuilder",ee)},
114
- ${ed("attachComponent",en)},
115
- ${ed("implementCustomExpressions",et)},
116
- ${ed("implementCustomInvariants",ea)},
117
- ${ed("invariantBuilder",ei)},${u?`
114
+ ${ef("domainBuilder",en)},
115
+ ${ef("attachComponent",et)},
116
+ ${ef("implementCustomExpressions",eo)},
117
+ ${ef("implementCustomInvariants",ea)},
118
+ ${ef("aliases",ei)},${u?`
119
+ commonInvariants: commonAdminInvariants,
118
120
  createMapPublishedRevisionDataHandler,
119
- createMapPublishedChunkedDataHandler,`:""}
120
- ${ed("relationExpressions",h)},
121
- ${ed("valueExpressions",E)},
122
- ${ed("componentOptics",f)},
123
- ${ed("createRecipe",D)},
124
- } = ${el}
125
-
126
- const ${eo}: ${eR} = ${el}.model
127
- const ${es}: ${eS} = ${el}.enhancedModel
128
- const ${y}: ${ev} = ${el}.modelVersions
129
- export { ${ee}, ${en}, ${et}, ${ea}, ${ei}, ${eo}, ${es}, ${h}, ${E}, ${f}, ${y}, ${D}${u?", createMapPublishedRevisionDataHandler, createMapPublishedChunkedDataHandler, createDataRowValidatorHandler, createSheetValidatorHandler":""} }`};
121
+ createMapPublishedChunkedDataHandler,`:`
122
+ implementActions,`}
123
+ ${ef("relationExpressions",f)},
124
+ ${ef("valueExpressions",D)},
125
+ ${ef("componentOptics",E)},
126
+ ${ef("createRecipe",S)},
127
+ } = ${e$}
128
+
129
+ const ${es}: ${eC} = ${e$}.model
130
+ const ${er}: ${eM} = ${e$}.enhancedModel
131
+ const ${h}: ${ew} = ${e$}.modelVersions
132
+ export { ${en}, ${et}, ${eo}, ${ea}, ${ei}, ${u?"commonAdminInvariants, ":""}${es}, ${er}, ${f}, ${D}, ${E}, ${h}, ${S}${u?", 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")};
@@ -10,6 +10,7 @@ globalThis.phx.domain = {
10
10
  enhancedModel,
11
11
  implementCustomExpressions,
12
12
  implementCustomInvariants,
13
+ implementActions,
13
14
  attachComponent,
14
15
  createRecipe,
15
16
 
@@ -50,6 +51,7 @@ globalThis.phx.applicationTypes = {
50
51
  readonly enhancedModel: typeof enhancedModel
51
52
  readonly implementCustomExpressions: typeof implementCustomExpressions
52
53
  readonly implementCustomInvariants: typeof implementCustomInvariants
54
+ readonly implementActions: typeof implementActions
53
55
  readonly attachComponent: typeof attachComponent
54
56
  readonly createRecipe: typeof createRecipe
55
57
  readonly admin: {
@@ -69,6 +71,7 @@ globalThis.phx.applicationTypes = {
69
71
  enhancedModel,
70
72
  implementCustomExpressions,
71
73
  implementCustomInvariants,
74
+ implementActions,
72
75
  attachComponent,
73
76
  createRecipe,
74
77
 
@@ -1,4 +1,4 @@
1
- export const generateRelationExpressionsCode=(e,n)=>{let t=new Map;for(let[n,o]of e.expressions)for(let[,e]of o){if("relation"!==e.implementation.kind)continue;let o=String(n);t.has(o)||t.set(o,[]);let[r]=e.implementation.params;t.get(o).push({relName:String(e.name),rawRelation:r})}if(0===t.size)return"{} as const";let o=[];for(let[e,r]of t){let t=r.map(({relName:t,rawRelation:o})=>{let{target:r}=o,i=JSON.stringify(o,null,2).replace(/\n/g,"\n ");return` ${t}: ${n}<'${e}', '${r}'>(${i}),`});o.push(` ${e}: {
1
+ export const generateRelationExpressionsCode=(e,n)=>{let t=new Map;for(let[n,o]of e.expressions)for(let[,e]of o){if("relation"!==e.implementation.kind)continue;let o=String(n);t.has(o)||t.set(o,[]);let[r]=e.implementation.params;t.get(o).push({relName:String(e.name),rawRelation:r})}if(0===t.size)return"{} as const";let o=[];for(let[e,r]of t){let t=r.map(({relName:e,rawRelation:t})=>{let o=JSON.stringify(t,null,2).replace(/\n/g,"\n ");return` ${e}: ${n}(${o}),`});o.push(` ${e}: {
2
2
  ${t.join("\n")}
3
3
  },`)}return`{
4
4
  ${o.join("\n")}
@@ -1,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 x}from"./domain-spec/index.js";let u="@salsita-ai/sdk/domain",g="@salsita-ai/sdk/i18n";export const globalDomainSpecPhxBinding={generateBindingBlock:c,generateStateConstants:x,registerApplicationTypeImports:i};export const generateApplicationSpecDomainSpecFile=(i,c=globalDomainSpecPhxBinding)=>{let x=new e,{registerApplicationTypeImports:E}=c,f=m({domainSpec:i.configurator,invariants:i.configurator.invariants,typePrefix:"",versionNsPrefix:"ModelV",isAdmin:!1,modelVersionsExportName:"modelVersions",relationExpressionsExportName:"relationExpressions",componentOpticsExportName:"componentOptics",valueExpressionsExportName:"valueExpressions",createRecipeExportName:"createRecipe",imports:x,registerApplicationTypeImports:E}),S=m({domainSpec:i.admin,invariants:i.admin.invariants,typePrefix:"Admin",versionNsPrefix:"AdminV",isAdmin:!0,modelVersionsExportName:"adminModelVersions",relationExpressionsExportName:"adminRelationExpressions",componentOpticsExportName:"adminComponentOptics",valueExpressionsExportName:"adminValueExpressions",createRecipeExportName:"createAdminRecipe",imports:x,registerApplicationTypeImports:E}),{hasResources:$}=l(i);x.addImport(u,"ConfiguratorBuilder"),x.addImport(u,"EnumReflection"),x.addTypeImport(u,"AssistantManifest"),x.addTypeImport(u,"ChunksSpec"),x.addTypeImport(u,"DataSpec"),x.addTypeImport(u,"EnumLike"),$&&x.addImport(u,"ResourceBuilder"),x.addImport(g,"mergeCatalogs"),x.addImport(g,"sdkCatalog"),x.addImport("@lingui/core","setupI18n");let k=r(i.configurator.dataSchemas,x,E),I=c.generateStateConstants({configuratorStates:i.configurator.states,adminStates:i.admin.states},x,E),N=o(i),{importBlock:v,catalogBlock:h,createI18nExport:A}=d(i.configurator.ui.availableLocales),{preBlock:B,builderBlock:C}=t(i,x,E),y=c.generateBindingBlock();return`${a("domain-spec.ts","Domain builders, model schemas, component optics and expression definitions derived from the spec.")}
2
- ${x.toString()}${v}
1
+ import{CodeImports as e,autoHeader as a,skipApplicationTypeImports as i}from"../common/index.js";import{generateApplicationMetadataBlock as o,generateAssistantBlock as n,generateBaseConfiguratorBuilder as t,generateChunksSpec as s,generateDataSchemaConstants as r,generateDataSpec as p,generateDomainBlock as m,generateLocaleCodegen as d,generatePhxGlobalsBlock as c,generateResourcesCodegen as l,generateStateConstants as u}from"./domain-spec/index.js";let x="@salsita-ai/sdk/domain",g="@salsita-ai/sdk/i18n";export const globalDomainSpecPhxBinding={generateBindingBlock:c,generateStateConstants:u,registerApplicationTypeImports:i};export const generateApplicationSpecDomainSpecFile=(i,c=globalDomainSpecPhxBinding)=>{let u=new e,{registerApplicationTypeImports:f}=c,E=m({domainSpec:i.configurator,invariants:i.configurator.invariants,actions:i.configurator.actions,typePrefix:"",versionNsPrefix:"ModelV",isAdmin:!1,modelVersionsExportName:"modelVersions",relationExpressionsExportName:"relationExpressions",componentOpticsExportName:"componentOptics",valueExpressionsExportName:"valueExpressions",createRecipeExportName:"createRecipe",imports:u,registerApplicationTypeImports:f}),S=m({domainSpec:i.admin,invariants:i.admin.invariants,actions:void 0,typePrefix:"Admin",versionNsPrefix:"AdminV",isAdmin:!0,modelVersionsExportName:"adminModelVersions",relationExpressionsExportName:"adminRelationExpressions",componentOpticsExportName:"adminComponentOptics",valueExpressionsExportName:"adminValueExpressions",createRecipeExportName:"createAdminRecipe",imports:u,registerApplicationTypeImports:f}),{hasResources:$}=l(i);u.addImport(x,"ConfiguratorBuilder"),u.addImport(x,"EnumReflection"),u.addTypeImport(x,"AssistantResolvedManifest"),u.addTypeImport(x,"ChunksSpec"),u.addTypeImport(x,"DataSpec"),u.addTypeImport(x,"EnumLike"),$&&u.addImport(x,"ResourceBuilder"),u.addImport(g,"mergeCatalogs"),u.addImport(g,"sdkCatalog"),u.addImport("@lingui/core","setupI18n");let v=r(i.configurator.dataSchemas,u,f),k=c.generateStateConstants({configuratorStates:i.configurator.states,adminStates:i.admin.states},u,f),I=o(i),{importBlock:N,catalogBlock:h,createI18nExport:A}=d(i.configurator.ui.availableLocales),{preBlock:B,builderBlock:C}=t(i,u,f),R=c.generateBindingBlock();return`${a("domain-spec.ts","Domain builders, model schemas, component optics and expression definitions derived from the spec.")}
2
+ ${u.toString()}${N}
3
3
 
4
4
  // ---- Data schemas ----
5
5
 
6
- ${k}
6
+ ${v}
7
7
 
8
8
  // ---- Admin domain ----
9
9
 
@@ -11,7 +11,7 @@ ${S}
11
11
 
12
12
  // ---- Configurator domain ----
13
13
 
14
- ${f}
14
+ ${E}
15
15
 
16
16
  // ---- i18n ----
17
17
 
@@ -21,11 +21,11 @@ ${A}
21
21
 
22
22
  // ---- Application metadata ----
23
23
 
24
- ${N}
24
+ ${I}
25
25
 
26
26
  // ---- State enums ----
27
27
 
28
- ${I}
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,5 +1,5 @@
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(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)",g?" .withMigrate(migrate)":null," .build()"].filter(Boolean).join("\n"),w=["const adminDomainFactory = adminDomainBuilder",c?" .withExpressions(adminRelationExpressions)":null," .withExpressions(adminInvariantBuilder.withInvariants(customAdminInvariants).buildViolationExpressions())"," .withExpressions(customAdminExpressions)",h?" .withMigrate(migrateAdmin)":null," .build()"].filter(Boolean).join("\n");return`${n("domain.ts","Assembles domain and admin domain factories from builders, migrations, expressions and invariants.")}
2
- ${r.toString()}
1
+ import{CodeImports as o}from"../common/code-imports.js";import{autoHeader as i}from"../common/file-headers.js";let n=/v(\d+)\.ts$/,s=(o,i)=>o.versionedModels.filter(o=>void 0!==o.migrationFile).map(o=>({version:o.version,file:o.migrationFile,importName:i?`${i}MigrateToV${o.version}`:`migrateToV${o.version}`})),t=o=>o.map(o=>{let i=o.file.replace(n,`v${o.version}.js`),s=`migrateToV${o.version}`,t=o.importName!==s?` as ${o.importName}`:"";return`import { ${s}${t} } from '../${i}'`}).join("\n"),e=(o,i,n,s)=>[`const ${s}Migrations = {`,...o.map(o=>` ${o.version}: ${o.importName},`),"}","",`const ${s} = createMigrateFunction(${i}, ${n}, ${s}Migrations)`].join("\n");export const generateApplicationSpecDomainFile=n=>{let a=new o,r="./domain-spec.js",m="./configurator-domain-code.js",d="./admin-domain-code.js",p="@salsita-ai/sdk/domain",l=o=>[...o.expressions.values()].some(o=>[...o.values()].some(o=>"relation"===o.implementation.kind)),c=l(n.configurator.expressions),u=l(n.admin.expressions),x=s(n.configurator.resolvedVersions,""),I=s(n.admin.resolvedVersions,"admin"),g=x.length>0,h=I.length>0;a.addImport(r,"baseConfiguratorBuilder"),a.addImport(r,"domainBuilder"),a.addImport(r,"adminDomainBuilder"),a.addImport(r,"attachComponent"),a.addImport(r,"attachAdminComponent"),a.addImport(r,"implementCustomExpressions"),a.addImport(r,"implementAdminCustomExpressions"),a.addImport(r,"createI18n"),a.addImport(r,"componentOptics"),a.addImport(r,"adminComponentOptics"),a.addImport(r,"aliases"),a.addImport(r,"adminAliases"),a.addImport(r,"commonAdminInvariants"),a.addImport(p,"createViolationExpressions"),a.addImport(m,"customExpressions"),a.addImport(m,"customInvariants"),a.addImport(m,"customActions"),a.addImport(d,"customAdminExpressions"),a.addImport(d,"customAdminInvariants"),c&&a.addImport(r,"relationExpressions"),u&&a.addImport(r,"adminRelationExpressions"),(g||h)&&a.addImport(p,"createMigrateFunction"),g&&a.addImport(r,"modelVersions"),h&&a.addImport(r,"adminModelVersions");let $=[];g&&$.push(t(x)),h&&$.push(t(I));let v=$.length>0?"\n"+$.join("\n")+"\n":"",A=[];g&&A.push(e(x,"modelVersions",n.configurator.schemaVersion,"migrate")),h&&A.push(e(I,"adminModelVersions",n.admin.schemaVersion,"migrateAdmin"));let E=A.length>0?"\n"+A.join("\n\n")+"\n":"",f=["const domainFactory = domainBuilder",c?" .withExpressions(relationExpressions)":null," .withExpressions(createViolationExpressions(aliases, customInvariants))"," .withExpressionModules(customExpressions)"," .withActionModules(customActions)",g?" .withMigrate(migrate)":null," .build()"].filter(Boolean).join("\n"),w=["const adminDomainFactory = adminDomainBuilder",u?" .withExpressions(adminRelationExpressions)":null," .withExpressions(createViolationExpressions(adminAliases, customAdminInvariants, commonAdminInvariants))"," .withExpressionModules(customAdminExpressions)",h?" .withMigrate(migrateAdmin)":null," .build()"].filter(Boolean).join("\n");return`${i("domain.ts","Assembles domain and admin domain factories from builders, migrations, expressions and invariants.")}
2
+ ${a.toString()}
3
3
  ${v}export { attachComponent, attachAdminComponent, implementCustomExpressions, implementAdminCustomExpressions, createI18n }
4
4
  ${E}
5
5
  ${f}
@@ -8,6 +8,6 @@ ${w}
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
  `};
@@ -0,0 +1,11 @@
1
+ import type { PhoenixDefinitions } from '../../../../core/phoenix-definitions.js';
2
+ import type { Actions, ModelVersion } from '../../../../parse-application-files/index.js';
3
+ import type { CodeImports } from '../../common/code-imports.js';
4
+ /**
5
+ * Generates the `ActionTypes` map of the declared actions (name → `{ params, result }`) and the
6
+ * `ActionName`, `ActionParams<NAME>` and `ActionResult<NAME>` types derived from it. A nullable
7
+ * param is optional. The `description` of an action, a param and a result member becomes the doc
8
+ * comment of its property, so it shows wherever the types are used. Without actions the map is
9
+ * empty, so `ActionName` is `never`.
10
+ */
11
+ export declare const generateActionTypeDecls: (actions: Actions, model: ModelVersion, phxDefinitions: PhoenixDefinitions, imports: CodeImports, indent: number, typeOnlyImports?: boolean) => string;
@@ -0,0 +1,8 @@
1
+ import{schemaToTypeString as e}from"../common/schema-to-type-string.js";let t=(e,t)=>{let n=(e??"").trim().replaceAll("*/","*\\/").split("\n").map(e=>e.trim());return""===n[0]||void 0===n[0]?[]:1===n.length?[`${t}/** ${n[0]} */`]:[`${t}/**`,...n.map(e=>`${t} * ${e}`.trimEnd()),`${t} */`]};export const generateActionTypeDecls=(n,r,o,a,p,s=!1)=>{let i=" ".repeat(p),$=" ".repeat(p+2),c=" ".repeat(p+4),l=" ".repeat(p+6),m={phxDefinitions:o,commonTypeNames:new Set(r.commonTypes.keys()),imports:a,typeOnlyImports:s},y=[...n.values()].map(n=>{let r=Object.entries(n.params).flatMap(([n,{schema:r,required:o}])=>[...t(r.description,l),`${l}readonly ${n}${o?"":"?"}: ${e(r,m)}`]),o=Object.entries(n.result).flatMap(([n,r])=>[...t(r.description,l),`${l}readonly ${n}: ${e(r,m)}`]),a=e=>e.length>0?`{
2
+ ${e.join("\n")}
3
+ ${c}}`:"Record<string, never>";return[...t(n.description,$),`${$}readonly ${n.name}: {`,`${c}readonly params: ${a(r)}`,`${c}readonly result: ${a(o)}`,`${$}}`].join("\n")}),A=y.length>0?`{
4
+ ${y.join("\n")}
5
+ ${i}}`:"Record<never, never>";return`${i}type ActionTypes = ${A}
6
+ ${i}type ActionName = keyof ActionTypes
7
+ ${i}type ActionParams<NAME extends ActionName> = ActionTypes[NAME]['params']
8
+ ${i}type ActionResult<NAME extends ActionName> = ActionTypes[NAME]['result']`};
@@ -1,3 +1,4 @@
1
+ export { generateActionTypeDecls } from './generate-action-types.js';
1
2
  export { generateModelTypeDecls } from './generate-model-types.js';
2
3
  export { generateExpressionTypeDecls, generateEntityExpressionComposites } from './generate-expression-types.js';
3
4
  export { generateDataSchemaTypeDecls } from './generate-data-schema-types.js';
@@ -1 +1 @@
1
- export{generateModelTypeDecls}from"./generate-model-types.js";export{generateExpressionTypeDecls,generateEntityExpressionComposites}from"./generate-expression-types.js";export{generateDataSchemaTypeDecls}from"./generate-data-schema-types.js";
1
+ export{generateActionTypeDecls}from"./generate-action-types.js";export{generateModelTypeDecls}from"./generate-model-types.js";export{generateExpressionTypeDecls,generateEntityExpressionComposites}from"./generate-expression-types.js";export{generateDataSchemaTypeDecls}from"./generate-data-schema-types.js";
@@ -73,6 +73,7 @@ ${h}
73
73
  readonly enhancedModel: typeof import('./domain-spec.js').enhancedModel
74
74
  readonly implementCustomExpressions: typeof import('./domain-spec.js').implementCustomExpressions
75
75
  readonly implementCustomInvariants: typeof import('./domain-spec.js').implementCustomInvariants
76
+ readonly implementActions: typeof import('./domain-spec.js').implementActions
76
77
  readonly attachComponent: typeof import('./domain-spec.js').attachComponent
77
78
  readonly createRecipe: typeof import('./domain-spec.js').createRecipe
78
79
 
@@ -12,7 +12,6 @@
12
12
  * @module
13
13
  */
14
14
  export { stripSdkMarkerContent } from './common/strip-sdk-marker-content.js';
15
- export { generateAgentsMd } from './agents-md.js';
16
15
  export { generateApplicationSpecAdminConfig } from './admin-config.js';
17
16
  export { generateApplicationSpecAdminCode } from './admin-domain-code.js';
18
17
  export { generateApplicationSpecAdminFrontendCode } from './admin-frontend-code.js';
@@ -30,8 +29,6 @@ export { generateApplicationSpecDomainFile } from './domain.js';
30
29
  export { generateApplicationSpecEditorFile } from './editor.js';
31
30
  export { generateApplicationSpecEmbeddedAdmin } from './embedded-admin.js';
32
31
  export { generateApplicationSpecEmbeddedConfigurator } from './embedded-configurator.js';
33
- export { generateApplicationSpecEnvCi } from './env-ci.js';
34
- export { generateApplicationSpecEnvExample } from './env-example.js';
35
32
  export { generateApplicationSpecEslintConfig } from './eslint-config.js';
36
33
  export { generateApplicationSpecFavicon } from './favicon.js';
37
34
  export { generateApplicationSpecFrontendConfig } from './frontend-config.js';
@@ -42,16 +39,13 @@ export { generateApplicationSpecHtmlIndex } from './html-index.js';
42
39
  export { generateLinguiRcFile } from './lingui-rc.js';
43
40
  export { generateApplicationSpecNvmrc } from './nvmrc.js';
44
41
  export { generateApplicationSpecPackageJson } from './package-json.js';
45
- export { generatePhoenixCliSkill } from './phoenix-cli-skill.js';
46
- export { generatePhoenixCreateConfiguratorSkill, generatePhoenixCreateConfiguratorSkillReferences, } from './phoenix-create-configurator-skill.js';
47
- export { generatePhoenixFeedbackSkill } from './phoenix-feedback-skill.js';
48
- export { generatePhoenixReviewSkill } from './phoenix-review-skill.js';
49
- export { type PhoenixSkillOptions, followsCanaryBuilds, generatePhoenixSkill } from './phoenix-skill.js';
42
+ export { generatePhoenixCliSkill } from './skills/phoenix-cli-skill.js';
43
+ export { generatePhoenixCreateConfiguratorSkill, generatePhoenixCreateConfiguratorSkillReferences, } from './skills/phoenix-create-configurator-skill.js';
44
+ export { generatePhoenixFeedbackSkill } from './skills/phoenix-feedback-skill.js';
45
+ export { generatePhoenixReviewSkill } from './skills/phoenix-review-skill.js';
46
+ export { type PhoenixSkillOptions, followsCanaryBuilds, generatePhoenixSkill } from './skills/phoenix-skill.js';
47
+ export { generatePhoenixVariantsSkill } from './skills/phoenix-variants-skill.js';
50
48
  export { generateApplicationSpecPrettierConfig } from './prettier-config.js';
51
- export { generateApplicationSpecPrettierIgnore } from './prettier-ignore.js';
52
- export { generateApplicationSpecPrivateAssetsReadme } from './private-assets-readme.js';
53
- export { generateApplicationSpecPublicAssetsReadme } from './public-assets-readme.js';
54
- export { generateApplicationSpecReadme } from './readme.js';
55
49
  export { generateApplicationSpecRobotsTxt } from './robots-txt.js';
56
50
  export { generateApplicationSpecStoryDevDeclaration, generateApplicationSpecStoryPhxModule, generateApplicationSpecStoryRawProjectFiles, generateApplicationSpecStoryWrapper, } from './story/index.js';
57
51
  export { generateApplicationSpecTsconfig } from './tsconfig.js';